Tuesday, January 18, 2011

Phrasebook Map Intents: Redux

Maps 5.0 at 1024x600 (click)
Zoomed all the way out at z=2
As part of a review of some of our applications we've created as part of articles, we revisited the Phrasebook app found on Google Code. Written with Android 2.2 in mind, the application still runs fine on both Android 2.3 and with Tablet displays (e.g. 1024x600).

However, one strange issue did come up: the geo URLs for the addition of launching maps from Android SDK Quick Tip: Launching Maps In-App don't all work as expected with Maps 5.0. The default one, the world link, used:

geo:0,180?z=1

Sending this actually causes Maps 5.0 to crash. It works fine in Maps 4.2 and 4.7 (available in Emulator 2.2 and 2.3, respectively). The fix? Change z to 2. This is odd, because 1 is documented by Google to show the whole world. (Though, there is a note that the geo URI is still under development. The linked-to document is from 2007, though.) We clearly see in the above screenshot that there are no levels of zoom farther out now.

Next, we wanted to test the rest of the queries to see if any others were affected. Here they are, and the results:

"geo:0,0?q=Belgium": Success
"google.streetview:cbll=46.813812,-71.207378&cbp=1,99.56,,1,-5.27&mz=21": Success
"geo:0,0?q=Matterhorn&z=8": Success
"geo:0,0?q=Coffee Shops near Paris, France":Success

So, it's reasonable to expect the only thing to now avoid are zoom levels of 1. The fix has been pushed up to the repository.

This experience is a great example of the sort of maintenance applications can take. Not only should they be tested on devices with new firmware and SDK versions, but any other applications that they rely on also need to be updated and tested against. Maps 5.0 is not yet found within an emulator, so this testing requires a handset with Maps 5.0 on it.

No comments: