codename nevis the hill identifier app

Sun, Aug 18, 2013

A while ago I asked on twitter if anyone had good ideas for an iPhone app for use outdoors and an idea came in for an app that can identify hills.

It’s always an awful choice to have to make. Go to the hills or work on something to do with the hills. However, with lots of bad weather providing an excuse I’ve found the time to develop an app, codename ‘Nevis’, that does just that. Identifies hills.

How on earth does it do that? That’s what I asked myself at first but after lots of research I found an online database of British hills with their latitude, longitude, height and gazillions of other interesting information and the owner granted me permission to use it. Then it was a simple case of getting the position information from the phone (GPS), the direction it was looking (compass) and a little easy maths to work out the direction and distance to the hills the phone was being pointed at.

The app is ‘alpha’ at the moment and not available on the App Store yet. Looks a mess but the internals are done. I tried a tabbed app at first but I much preferred the latest mobile app navigation paradigm where you swipe right to reveal a navigation panel, ala Facebook etc. Doing so lets you customise various settings such as, do you want the results in metres, feet, miles or kilometres. You can also narrow the results based on distance and height:

nevis-settings

Yes, it’s pretty raw at the moment!

As the phone doesn’t have a rangefinder it’s up to the user to decide how far the hill might be from where they’re standing. So say you’re on top of Blaven and pointing the phone due east (more or less) at a hill on the horizon. If you reckon it’s about 15 miles away and looks pretty big, then you can home in on that distance and restrict it to only find Munros. How? Set the minimum height to 914.4m. Set the maximum height to, maybe 1200m. That should take care of the coastal Munros visible from Blaven. Point the phone and hit the Identify button:

nevis-identify

If there’s nothing in that distance/height range it’ll say so, otherwise it’ll show you what it thinks you’re looking at:

nevis-hills

I’m also working on a search screen where you can enter the name of a hill and the app will guide you to it based on your location and bearing. i.e. it will tell you which way to turn until the red line bisects the summit.

I had a chat with Phil from Social Hiking about possible integration such as ‘who is on the summit?’ and he had some good API ideas. I think it would be really groovy to identify a hill and see if anyone is on the top, if they’ve checked in on Social Hiking.

At the moment it’s raw, rough and ready but I’ll be working on the styling next. The new Flat UI design paradigm is looking like it should make it easier to do that without having to hire a design guru!

Until then, I’m off up a hill to test it out. I’ve already had tons of fun setting the maximum distance to 0 which means go as far as the database allows. I had no idea Allermuir was over that way!

Due to the licensing of the hills database and various Objective-C libraries I’ve used, the app will be free when it comes out on the App Store. I’ll also release the source when it’s suitable to do so.