Revealed: “Next Exit”

Two months ago, in Bringing Your Own Maps, I went off on an atypical excursion into the realms of location-based applications and how an iPhone developer would need to license data from providers to develop apps that provide turn-by-turn directions or other routing and location-based search functionality.

That was your hint that I was up to something.

Today, spurred by the AppsFire App Star awards and its requirement of a public YouTube demo, I’m revealing the project I’ve been working on for the past two months: Next Exit.

As I’ve been blurbing it:

Next Exit is the safe, sane way to find gas, food, and lodging along US highways, with a no-fuss, one-thumb interface

Allow me to explain further:

Why Do I Need a Special-Purpose Map App?

To pin down why I wrote this app, I’ll go back to a Summer trip to California with the family. We were driving back from Disneyland to San Diego and needed to get something for the insanely picky kids to eat. As it turns out, California doesn’t have those blue “services at the next exit” signs that are common elsewhere in the country (well, in every state between Michigan and Florida, at least). I-5 also had no billboards in this stretch. So, short of actually managing to see the elusive Taco Bell itself before passing the exit, there was no practical way to figure out where to get off.

So, yeah, I did the obvious thing and searched the Maps application for “Taco Bell”. While driving. Not smart.

Screenshot 2009.11.29 14.25.05

This sucks for a couple of reasons… the most obvious being the driver distraction and the vastly increased likelihood you’ll crash into someone or something while fussing with the phone. But even if you do manage to send off a search, the results are sub-optimal: it will search where you are, not where you’re going, meaning it’s just as likely that you’ll get results five miles off your current route, or even behind you, as it is likely to find results that you can actually use.

Most people on long freeway drives want services that are right there on the highway. This means a search needs to be a lot smarter:

  • Figure out what road the user is on and what way he or she is going
  • Figure out where that road goes
  • Find exits along that road
  • Find services of certain types within a certain distance of those exits

Next Exit is the app that provides that kind of search.

Let’s Watch the Video

At this point, let me point you to the video demo that I prepared for the App Star contest. They wanted something around 30 seconds, which I submitted as the short version, but this longer version is still under a minute and shows off more stuff:


Gee, That Doesn’t Look So Hard

This is an app that looks simple but is actually quite complex underneath. If you read the original “Bringing Your Own Maps” post, you’ll recall that the iPhone OS’ “Map Kit” provides visuals for maps, but doesn’t actually have any location data behind it. A diagonal line marked “Market St.” is just that – a bunch of pixels, and nothing more. To have any concept of streets, you need to go to third-party map services. On the iPhone, this is compounded by the fact that your code needs to be in C/Obj-C, while most of the mapping APIs are written for the popular server-side scripting languages, or JavaScript (which speaks to the larger point that the mapping companies see their developer audience as web developers, not embedded or desktop developers). The only thing that’s really practical on the iPhone is a webservice or other network-oriented API that can be called from Cocoa Touch’s networking classes. The downside: lots of XML parsing on the receiving end.

Then there’s an even deeper question of how you even solve this problem. The mapping APIs are largely written from the point of view of “given a starting point and a destination, find a route.” But the question posed by this app is “given a starting point and a direction, find potential destinations.” My initial version searched ahead for exits, drawing lines between the furthest ones to account for turns in the road, but could get thrown off when the current highway meets another, as the other highway’s exits onto the current highway ended up in the search results and weren’t practical to remove. In the end, I developed a complex but more reliable system of finding road segments for the current freeway, arranging them to create a path, and then searching this path for exits. I’ll be writing more about this geo-logic in future updates.

Oh, and remember: I don’t have the luxury of doing these searches on a local database. This is all back-and-forth with MapQuest’s web server, swapping and parsing XML.

MapQuest? Really?

The location data is provided by MapQuest, under a commercial license. Why them? It helps that they replied to my initial request for licensing terms (unlike some of the other companies in this space). But perhaps more importantly, MapQuest’s entire API is accessible via their web-based XML protocol, which is slowly being supplanted by a set of equally powerful web services. By comparison, a lot of the good stuff in Google Maps is only practical with JavaScript — they have an HTTP API, but it has big holes — which perhaps suits their web-centric view of the world, but doesn’t help the embedded developer.

Also, MapQuest seems eager to work with developers and to understand the iPhone App Store market. They brought an engineer to a sales call with me, and he helped me figure out the find-and-arrange-segments logic that cured the early prototypes’ tendency to turn off onto unrelated interstates. So far, I’m really liking working with them.

So When Does It Go On Sale?

I have one more major task to account for: in-app purchase. Since the use of the MapQuest service will create an ongoing cost for however long copies of the app remain in use, a free or one-time payment model is not going to work. A subscription model is more appropriate: pay as you go, stop paying if you stop using it.

The elaborate, turn-by-turn, singing-and-dancing apps like Tom Tom and Navigon are going for $100. Next Exit does a lot less – by design – and therefore should cost less. So I’m keeping it impulse-worthy:

  • $1.99 for the app and three months of service
  • $4.99 for each 12 months of service thereafter

Folks, that’s less than the cost of an upsized value meal… and with Next Exit, you’ll be able to find the road-side restaurants with the value meals you like, not the ones you’ll just settle for!

Anyways, with hopes of finishing in-app purchase (and an audit-trail server on my end… groan), finalizing things with MapQuest, and getting things through the App Store review process in the next few weeks, I’ve got a fighting chance of getting this out before people hit the roads for the holiday travel season. Or, if it comes out after Christmas, there’ll just be that many more new iPhones in play, looking for useful apps.

More, much more, to follow. For now, fingers are crossed that the Apps Star jury will like what they see. The prize in their contest is free publicity… exactly what a new app needs!

Previous Post

Comments (2)

  1. I just read your blog post describing Next Exit, which sounds like a great application. I’ve definitely been in the situation that you describe, where I don’t know what my options are at the next couple of exits but I want to get off the highway and get something good. Unfortunately, I’m kind of a food snob, and my problem is never finding a Taco Bell or McDonald’s – it’s finding those delis, pizzerias, sub shops, hot dog stands, and other non-chain food stops that are just off the highway but can’t afford highway signage. I’m curious where your application pulls its list of businesses from. I do realize that a business that isn’t found by the search engines doesn’t exist as far as apps like this are concerned, but I was curious if you’re doing some kind of filtering to big name chains (esp since your demo shows the ability to set “Favorites”, which I can only assume is a finite list of known brands).

    At only $1.99 to try it out for 3 months, I’m going to buy it before my next road trip regardless of the answer, but I figured I’d ask you about this anyway.

  2. Great questions. Thanks for writing…

    The services come from searching MapQuest’s point-of-interest database (POIs) for certain types. In their API, these include road segments, exits, bodies of water, buildings, municipal boundaries, etc. Businesses have a set of types that can be used in a search: restaurants are display type 1773, gas stations are 1776, and hotels are 1772.

    The data comes from Navteq, which also supplies Google Maps and a number of other companies in this field. It’s a live search, so if a given restaurant — big or small — is in the Navteq data, then we’ll find it. The key in this case is that the business needs to be within a set distance of the exit: 1 mile by default, optionally 0.5 or 2 miles. The nature of interstate travel tends towards chain-y by exits, but that doesn’t preclude finding something interesting… looking at one of my test points along I-5 near San Clemente, CA, I get sushi, mom & pop cafes, and a lot more.

    In talking with MapQuest, they said I could also license some premium business data, which they get from InfoUSA. Instead of 1.5 million businesses, it has like 10 million. I couldn’t tell if the premium data provided anything really germane to this application — I don’t really need contact info for managers at these roadside businesses — but if it turns up results that Navteq misses, then it might be well worth licensing. When you get your hands on the app, if you know of a non-chain business that should be in the search results, let me know: that might be exactly the kind of thing that only shows up in the premium data.

    As for favorites, 1.0 will just include canned data for the favorites (about 20-30 of the top brands in each category… plus regional favorites like In-N-Out for the West, Culver’s in the Midwest, Waffle House in the South), but my plan for 1.1 is to let you make anything a favorite, by putting a “make favorite” button on the bottom of the page with the map.

    Thanks for your interest! At some point, I’m going to add to the web page with a few pages of tricks, tips, and my own to-dos. BTW, name change coming soon… trademark trouble.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.