Archive for the 'Technology' Category

JAX08: Where am I? Location Based Services

Wednesday, March 26th, 2008

Its official, I will now be presenting at the JAX08 Conference with a presentation entitled:

Where am I? Location Based Services
Location Based Services stellen einen der großen Benefits mobiler Devices dar, der weit über die Bestimmung der eigenen Position hinausgeht. Im Java-ME-Umfeld werden derartige Services u.a. mittels Location API (JSR 179) realisierbar. Die Session zeigt die Möglichkeiten und Grenzen Java-ME-basierter Location Based Services und führt sowohl in die theoretischen Grundlagen als auch in die praktische Verwendung der Location API ein. Darüber hinaus wird anhand einer auf der Androids-Plattform basierenden Beispielanwendung eine Alternative zum klassischen LBS-Ansatz aufgezeigt. (click)

I will be co-presenting with my CEO - Lars Roewekamp of OpenKnowledge GMBH.

Mark Brady Openknowledge
A very exciting time to be in mobile development and location based services in general.
I will also slip in something on Snowball and demo a few Android proofs of concept applications.

Mobile Portfolio

Saturday, February 2nd, 2008

A new year and a good opportunity to look at all the mobile related stuff in my portfolio since:

2004

  • EdiMap (MSc Edinburgh University)
    Tourist map of Edinburgh, with downloadable POI.
  • NotPacMan (Self training)
    The familiar PacMan game.

2006 (Starting at OpenKnowledge)

  • original4.gif
    Barometer, Horoskop and Lovecheck (AirMotion)
    Fun and games, and a lot of device testing.
  • MiniMove (BMW via BBDO)
    Rotate the BMW mini on your mobile.

2007

  • original3.gif
    MobileAct (Sony Ericsson via AirMotion)
    Weekly magazine content to go with the Channel 4 series.
  • original2.gif
    MiniMove China (BMW via BBDO China)
    Rotate the BMW mini on your mobile in Chinese.
  • original1.gif
    original.gif
    Mitch&Co Blackbox (Tchibo via MINICK)
    Explore the latest Mitch&Co fashon range on either male of female models.
  • NowHere (Burda Wireless)
    Photograph where you are and upload as a NowHere POI.

2008…

  • Ads by a [big mobile network operator]*
    Important stuff
  • Google Android
    Self training on the new mobile OS from Google
  • Snowball - The Mobile Location Based Search API
    My world beating business idea.

* To comply with my company’s code of conduct for blogs, I have removed all references to customers and projects currently in progress.

How to combine multiple PDF documents

Wednesday, January 16th, 2008

Use either the hideously overpriced Adobe Acrobat, which is currently available on a one month free trial with annoying popups that manage to appear even when you are not using the software.

…Or use CutePDF Professional, cheaper and also available on trial.

How To Find Directories That Are Taking Up Space On Your Hard Disk

Saturday, January 12th, 2008

Follow the windows tip of using diruse. click

Turns out a hidden folder called C:\WINDOWS\Installer contained 21GB of data, used for uninstalling and repairing installed programs. Most of this data appears to be either duplicated or from software that didnt unstall correctly. It is not safe to delete this data, so I downloaded the Windows Installer CleanUp Utility tool as recomended.

It turns out that the tool itself dosn’t help, but comes bundled with an unsupported command line utility called MsiZap.exe which can remove orphaned files.

Usage
C:\Programme\Windows Installer Clean Up\MsiZap.exe G

This deleted 99% of the data without affecting anything else. I now have around 400mb of data in the installer directory which shounds about right.

Google Android: How to kill a perfectly good platform

Sunday, November 18th, 2007


From what I can tell so far, Android seems to be a well thought out architecture that can seamlessly join lightweight application components today and scale well to better hardware in the future. Personally, I hope it will blow away J2ME (or JavaME?) including the long awaited MIDP 3.0 platform, by offering multi-process control and application interconnectivity out of the box.

At the time of writing, Google have released an SDK containing an early implementation of most API’s and have asked for feedback. We are told that any final implementations and the first actual devices are as much as a year away.

Going through the published material, it seems that not much detail is being given about the security implementation, which perhaps should scare me a little.

If you hire a room full of security experts, ask them to review your platform (much like in the early Java days) and make recommendations, they will provide you with a list of security requirements that will lock up the platform and kill off a lot of potential innovation.

As Security requirements tend to be overriding, the functionality is locked down now and only rolled back later under intense pressure (if ever?).

This post is an appeal for balance.

An open platform
What is an open platform when it is installed on a preparatory hardware device, distributed by network operators (with a financial interest in maintaining control over their customer’s behaviour) and integrated into pre-existing content controls and enterprise requirements?

Will we see open content?
I have no idea how DRM can be implemented within an open source environment, but right now most phones that I’ve encountered prevent the user from sharing content in a way they would expect to share files on their PC.

Most ‘non-smart’ phones will refuse to forward media, e.g. receive a picture and then send it to a friend’s phone via Bluetooth. Nokia phones will refuse to forward or save JAR files. Samsung phones (the worst offender I have seen) will refuse to run any Java application that has not been downloaded via OTA. As a developer I can tell you that this is a real pain.

I don’t agree with the limiting mechanisms, but many companies have made a good living supplying ring tones, wallpapers, games, etc via OTA downloads. As a developer who has made advertising content intended to be distributed for free, it breaks my heart to see my target audience of teenagers perhaps paying €3 to download a Bluetooth application they have already seen installed on a friend’s phone.

It just illustrates that the current system is so bad you can’t even give stuff away.

Will we see open APIs?
Say I want to write a client application that seeks out other phones over Bluetooth, finds a phone with a similar client, and then quietly shares content over a peer-to-peer connection. Updating content in the background throughout the day and giving it to the user upon request.

In J2ME this can’t be done, period.
Not because the hardware can’t support it, not because of a failure of the API (JSR-82 implemented this functionality quire well), but because the security people decided that it was a security threat.

That means that the users would have to approve every peer-to-peer connection (making the application pointless), or the application would have to be signed. Signed applications will only install on the phone within a specified time period (a certificate might last one year) and if the correct code signing certificate is already installed on the phone (good luck with that one). Just to make things more interesting, it’s considered a security threat to let the user install new certificates on their own devices.

Don’t you just love security consultants?

The current system seems to benefit few outside of Veresign, who have somehow managed to get their certificates installed on most devices that I’ve tested. A Veresign (or handful of other company’s) code signing certificate is a heavy upfront investment for a university/garage based project prototype (the sort that make history) and the fallback functionality of the application refusing to install is pretty ugly.

I don’t know how to best control API permissions.
Nokia (the first to implement this API on a mass market phone, the 6600), assumed that the user was too stupid to know whether to approve this functionality or not (is this a fair assumption?). Other manufactures differ slightly, but tend not to document permissions implementations which can vary between firmware versions.

Perhaps Google don’t need my advice, but as they haven’t released their Bluetooth API implementations yet I can only guess what kinds of things they are negotiating with interested parties while I write this.

More on the evil world of crippleware.

Android security permissions

Wednesday, November 14th, 2007

“A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more tags declaring the permissions that your application needs.

At application install time, permissions requested by the application are granted to it by the package installer, based on checks with trusted authorities and interaction with the user. No checks with the user are done while an application is running: it either was granted a particular permission when installed, and can use that feature as desired, or the permission was not granted and any attempt to use the feature will fail without prompting the user.” source

I wonder if Google will do as bad a job as Sun when it comes to letting normal programmers access important API’s?

How to delete an “undeletable” file in Windows XP

Wednesday, October 31st, 2007

A quick guide click
Unlocker, a freeware took click

Microsoft PowerToys for Windows XP

Wednesday, October 31st, 2007

PowerToys contains Tweak UI, allowing customisation of the XP user interface including menu speed, window animation and other settings. click

Things to buy: TomTom GO 720 With European Mapping

Sunday, October 14th, 2007

Unlinke Germany (GO 720T) the UK version (GO 720) dosn’t automatically come with TMC, a service that costs in the UK but can be free in Germany. Odd.

Amazon.co.uk (current cost £272.49)
Product info
Apparently TomTom are having major problems with their TMC implementations. click
Price drop to £229.99 (November 2007) - seems it pays to wait.

How to convert an OTF file to TTF

Tuesday, July 24th, 2007

Java doesn’t currently support Adobe-flavoured CFF Opentype fonts (check for the string “OTTO” at the head of the file). So, if like me you have to integrate a fancy font into a Windows/Java based image processor then consider converting them to True Type format.

Do this quickly, using the excellent FontCreator 5.5 which is currently free for a 30 day trial, or if you plan on using it to convert more than just one file - $79 to purchase.

People with more time can use open source FontForge and this scripting tutorial.

Oh Graphic designers and their love of weird and wonderful fonts.


Geo Visitors Map