The basic question of any app is what its its purpose and how it relates to the human being. For years smart phone were rather complex and clumsy for the average user and then along happened Apple. A company that prides itself on the human engineering side. Suddenly smart phones took off with the masses and a few lawsuits later the Apple interface or Apple inspired interface won out in the market.
Lets assume that the goal of an app is to build a bushwalking app rather than something else. One starting point would be to build an interface that could give as much information as possible in the most readable form. Sure this is a trade off hence Garmin allows user definable field sizes and data. An iPhone app that did this and heavens forbids the designer thought outside the square and enabled the torch function of the iPhone would allow a bushwalker in a dim forest to see the paper map and the co-ordinates in 66/94 and Lat/Long format plus the elevation, estimated accuracy of the position and take a bearing from the compass to follow while checking the time of day and when sunset is. For most users this is perfection. And something that even the most basic bushwalking Garmin can do except for the light bit. Sure you have to set up profiles and work through numerous menus but Garmin does not consider human engineering as much as Apple. Chuck in the datums for various countries and you have a bushwalking app that simply does not exist in the iPhone App world. You have earned the right to charge a whole ninety-nine cents, maybe even a whole dollar. In fact for five bucks more than a few would signup as such a thing beats the living daylights out of Garmin for ease of use.
Next step is maps on the device. Frankly on line maps are not suitable for bushwalking as the Tasmanian Police went to great pains to point out. So you need maps on the device to charge a premium. Where does your map source come from?
Given the excellent screen display of the iPhone and even more so on the bigger smart phones you can use government maps like Tasmap. O'dear Tasmap is asleep in the nice warm office and wants to charge you over a $1,000 for the maps plus sign a contract that would take a team of lawyers to read through. Also, their scanned raster maps might not be the current version and also be so poorly scanned that you can not see much detail. So despite a very logic idea you crash and burn in the bureaucratic mess that is Tasmania.
One option is to build an app that allows your users to bend copyright and scan printed maps in. Welcome to pain city as your users suddenly stop being consumers of prepackaged solutions and need to be familiar with mapping terminology and computer technology to with access to large scanners. For the technophiles, programs like Bit Map and its replacement Maps and Trax promise to do this. Locked uploads requiring the App to be uninstalled and re-installed, and memory crashes aside. No I am not familiar with the latest releases as too many frustrating hours have been spent in the past that I could be mapping Tassie. Far, far better thing would be the app designer to do this. In steps Memory Map, and that does that with the previously mentioned issues. In fact if Memory Map would stop the confusion it created to avoid Apple's App Store commission and could wrangle the like of Tasmap to release updated map sets scanned well then they already have the app.
Riding in on the white horse is OSM. This is a worldwide mapping project by, wait for it, volunteers. Um? so the capitalist app designer needs to stoop to using freeware. Being freeware there are library routines around that enable you to highjack the overloaded map servers, intended to help mappers, and to take raster imagine tiles. Trouble is the download overhead is huge. Sthughes suggested a number like 16 GBs, yeap GB not MB, for Tassie so hands up those that have data plans to handle that volume? Sure you can complicate your app by asking the embattled user to select co-ordinates and mapping levels but hey folks as an OSM mapper I can tell you maps should be downloaded before each walk as OSM is constantly improving. A year ago the Walls area was blank except for a few big lakes scanned from Landsat and most were not named. It is better now but still a long way to go. Look at the UK and the data is impressive in both its completeness and detail. Frankly, this issue is faced by all app designers and Mud Map 2 decided on vector maps, and so did Maps with Me. Maps with Me has by far the most impressive vector map to picture map conversion that I have seen.
So you decide on vector maps. A quick look at fellow walkers that actually use mapping GPSs, and even a visit to Google, will reveal that most trekkers' bug bear is maps are designed generally for road users. So as you zoom out the minor roads disappear then the secondary and finally only the main highways remain. For a road users this makes perfect sense but zoom out to see the track from New Pelion to Windermere and your track has long disappeared. Also you key reference that are mountains have disappeared along with huts and campsites. Mud Maps 2 faced this issue and in a stroke of clever thinking they thought why not give the user the choice of up to three points of interest that they can lock in to show at all zoom levels. Sadly they forgot about enabling this for tracks but as mentioned still very much an alpha development. Sadly Maps with Me did not do this probably as its market is travelers in cities. Their deluxe version has a searchable point of interest database. Oh, if they could do this then they have achieved near perfection for OSM maps. They are so close that it hurts that they have not gone this step. Also they could easily enable contours. O'boy I wish they did.
Ok, next step is satellite imagery. What blows my data allowance is mapping in OSM using Bing and the maxim level detail photographs. Some very impressive quality exists in some areas where trees and tracks along with cars are very easily seen. Trouble this is tile data by nature so you have the issue of huge download requirements. As structures and landscapes change slowly a download would be good for many years. Your app will need to become complicated to select areas to download as very few have the data allowance to do this in one hit. Sadly there is no way out of this. But again as an OSM mapper one of the joys and frustrations is Bing (to chose one provider) will randomly change the satellite picture. The Walls area went from cloud and poor photographs to impressive imagines. But the photos over the Traveller range went south. My understanding is Bing, Google and Apple do not allow bulk downloads of their maps apart from limited caching. Also check out Apple's view of Temple Mount at the moment and unless your thing is clouds then not much chop. Every app I have seen uses online imagery and they all have this issue. Commercial grade cloud free maps exists but as typified by Garmin Birdeye they are fee for use. Fair enough if you are keen on that thing but Garmin's poor screen mean it is a fizzier in the real world. Saying such maps exist for an iPhone and not examining them and commenting on them is rather cute for any app designer. Show us them.
So you have a path that an app designer can follow and the dysfunction consequences that can result from design decisions. As expected not one app is perfect but probably for the OSM community Maps with Me is a thing of beauty. For Tasmap fans then Memory Map (pre stupidity to avoid paying commission to Apple) was "expensive" but the best implementation and with a simple update of maps with improved scanning it there.
I have not covered tracking as that with an iPhone is not terribly practical due to battery life issues plus the hardware compromise on the GPS antenna. As I found out app design can result in a huge variance in performance of the accuracy and battery life. For some battery life can be as short as three hours and for others accuracy rather poor but for others quite impressive.
Cheers