Friday, May 28, 2010

Google IO 2010 Some Observations

This was a well staged event, with good honest technical presentations of the type you would expect from Google. I went there primarily in the hope of finding other people considering Android for the field service type applications that are Momote's bread and butter. This to help inform our current work of extending the MX Platform to include Android. In that respect I failed because the Android developers that I met were all concerned either with developing games, quirky utilities or mobile extensions to existing web apps.

On the other hand, I did learn quite a lot to improve my amateurish experiments in Android development. As well as some important dos and donts for efficient and responsive applications. I discovered that my approach to the relationship between fetching data and presenting it was rather out of date.

Let me explain. Momote's MX Platform for mobile solutions distinguishes between resilient requests (fetching data from web services on a separate thread) and blocking requests. The distinction for us was that, if you were signing in you would block and wait, but when sending status updates, you would just push them off onto the 'resiliency queue'. Fetching bulk data could happen in the background, but you would not try and display it until you had got it all back.

This could lead to the situation where you arrive at a sync point in the application and get nothing but an hour glass until data has finished loading or times out. Users often interpret as 'its crashed' and soft reset the device.

The better approach and something that is very iPhone / Android is to just render the list and let the data start to appear as it becomes available. That way the user has a much finer level of granularity visible to them. So no more having to trust the 'something is happening, be patient message'.

Stepping back a level, its good to see Apple being given a bit of competition, although I have to say that there were a lot of iPhones and iPads in use by the delegates.

So, come on manufacturers, where's my g-pad!

No comments: