I have added a new meta-tag to the PubCrawler webapp. This allows the PubCrawler icon to be used when adding a home screen shortcut to it on Android and iOS devices. This is something I should have done ages ago really!
- Automatic display of controls based on device. For example zoom buttons are displayed on Android devices but not on the iPhone (because it has multitouch built in). This means that I have done away with the buttons below the map.
- Built in map type buttons (Map, Hybrid, Satellite, Terrain) so I got rid of the button to do this at the top
- Speed: it uses less data and therefore loads maps faster. They built it with mobile devices in mind.
There’s more but Google themselves can explain it better than I can. PubCrawler running on Maps API V2 (or PubCrawler Classic as it might become known) is still available here. I actually started this process of migration to V3 not long after it was announced. However, at first the full feature set wasn’t there so I parked it for a while. I’m not sure when the API became complete enough for PubCrawler’s needs but everything is there now.
Revisiting PubCrawler after such a long break means that the iPhone-esque look and feel is starting to look a little dated to me. At some point its going to need revising to something more unique and suited to the application’s purpose.
I have noticed something not mentioned much elsewhere when testing the PubCrawler on various devices. It is how much screen space is devoted to a web page. This is not a simply dependent on screen size as these screenshots show:
|iPod Touch/iPhone 3.0||HTC Dream/T-mobile G1 Android 1.5||HTC Hero|
All the devices have the same resolution at 320×480 but the iPhone has the larger screen at 3.5 inches. The other two have 3.2 inch screens. It is obvious that the iPhone is showing less of the page, chopping off the bottom of the map. This is an important thing to remember for a single page web app like PubCrawler. The map should resize dynamically for each device which is something I might look into. Luckily the iPhone does not need the controls at the bottom thanks to multitouch pinch and zoom. The reason for the lack of browser room is the absence of physical buttons on the iPhone. This means it has to show more buttons on the screen which take up valuable space. Some people have wandered why there are so many physical buttons on Android devices but they are there for a reason: freeing up screen space and providing more options.
As mentioned before the Hero turns the entire screen over to the browser window forsaking even the notification bar. This leaves a big gap between the map and the controls at the bottom. Space for an ad perhaps? Maybe but you wouldn’t see that ad on the other devices!
I have updated PubCrawler to use HTML 5 client side storage. This is supported by iPhones and iPod Touches with firmware 2.0 and above. It means that these devices can now save crawls. For Android phones a Google Gears database is still used.
It took me a while to get the HTML 5 DB working properly. The fact that it works asynchronously (rather than synchronously like Gears) made it difficult to implement all the functionality. Also the created tables don’t have a built in ROWID column (like Gears) so I had to create my own. I’ll probably revisit it later to tidy up the code.
Coming soon: HTML5 database to save crawls on iPhone (instead of Google Gears DB which Android uses).
My first mobile web app is PubCrawler. It finds pubs in your location automatically and can show you a route around them. Navigate from pub to pub and save the number of pints drunk in each. Crawls are saved for viewing later.
- Android phones like the T-mobile G1
- Windows Mobile 6 with Opera Mobile 9.5 technology preview build (go to gears.google.com in the browser to install Gears)
- Firefox 3 with Google Gears installed (although the CSS 3.0 elements won’t look right)
- Google Chrome
On first visit a prompt will pop-up asking you if you trust the site to use Gears. If you don’t click the accept button it won’t work.