DSmaps is currently in alpha, with only a modicum of error handling and just the bare minimum functionality. Here’s a rough outline, in no particular order, of what I’m going to add over the coming weeks and months:
- Copyright acknowledgement – the app needs to overlay some text along the bottom of the map acknowledging the rightful owner of whatever set of map tiles is being displayed.
- Scale, zoom level indicator, centre point, etc. – as described, just useful stuff to be overlaid on the map (though I’ve tried out the centre point and it looks a bit naff – herself reckons it looks like it’s denoting the location of a church!).
- Proper UI on lower screen – adding many of the features described below will necessitate this anyway.
- Automatic pre-fetch – have the app automatically pre-fetch the tiles that are adjacent to the current viewing area so that panning does not result in a download.
- Manual pre-fetch for offline viewing – allow the user to designate a certain area to be available for offline viewing by pre-fetching all the tiles within (down to a specified zoom level). This would obviously need to work in a responsible way, e.g. it would need to advise the user of roughly how much image data will be downloaded, how long it will take, etc. And it would most likely want to stop them doing something stupid like starting from a view of the World and fetching right down to maximum zoom level.
- Sounds – will make the thing a bit more interesting to use and some feedback that a button was properly pressed, etc.
- Navigation by stylus – I’m not convinced about this one and would like some suggestions. I don’t see the point in doing it just because I can. I think the app will look best when it displays lists, buttons, menus, dialogs, etc. on the bottom screen and the map proper on the top screen. But the problem then is that the top screen isn’t a touchscreen. One idea is to put a thumbnail map (one or two zoom levels out) somewhere on the bottom screen showing the wider context of where you are, and allow the stylus to be used on this. This would slow the app up however as it would have to fetch tiles for the thumnnail map too (being at a different zoom level).
- Better Wi-Fi management – allow configuration of an access point from within DSmaps, without having to go into another application, such as the Nintendo WFC Settings in Mario Kart. Also, it would be nice to allow automatic binding to any public access points that don’t require a WEP key.
- Cache control – at the moment, the cache directives coming back from the keyhole server are ignored so map tiles remain valid forever. That said, they always seem to say “this is good for a year” so perhaps this isn’t such a big deal.
- Bookmarks/Favourites – allow users to save favourite locations. Does anyone know if somebody has a trademark on the word ‘placemark’?
- Portrait orientation – allow the app to be rotated to the portrait screen orientation, as used by Brain Training (Brain Age in the US).
- Dual screen mode – provide a viewing mode in which the map would span both screens. And I suppose this would also answer the ‘what can I do with the stylus?’ question.
- Geocoding – just like Google Maps and numerous other popular mapping applications, allow the user to type a location in plain English and have DSmaps jump to that location (or ask the user to choose between alternatives if the location is ambiguous).
- Automatic location determination – initially, this would just use one of the many web services that return a rough location in the World based on IP address. The holy grail however would be to have something like iPod Touch, where it works out exact location by getting the SSIDs of local Wi-Fi access points, and passing them to a web service that returns geographic coordinates. That would be very cool.
- Localisation – so that we can have DSmaps as Gaeilge 🙂
Please let me know what you think I should prioritise, what I’ve missed, etc. I’ll then update this page in situ without necessarily acknowledging each comment.