I’ve written before about the iPhone’s potential and drawbacks as a bike computer. And there are a lot of bike-computer apps available for it right now. Let’s take a look at them.
I’ve gone on a bit of a kick lately and tried out four different ones. There are one or two others that I haven’t gotten around to yet. I hope to eventually, and will report on them in this space when I do.
Executive summary: Rubitrack for iPhone and Cyclemeter are clearly oriented towards performance cyclists; right now I’d give the nod to Cyclemeter. GPSies seems almost like a toy, but might be of use to hikers. Motion-X is for GPS otaku.
A “track” is a recording of a ride (or run, or drive). It is a series of “trackpoints,” or location snapshots, taken at frequent intervals. Speed and distance can be worked out as derived values from these data.
A “route” is like a track, but without time data attached to each trackpoint. It’s a line on a map.
“Waypoints” and “points of interest” are pretty much what they sound like: spots of note on the map.
KML and KMZ files are used for storing waypoint data. GPX and TCX files are used for storing tracks and routes, but can also be used for storing waypoints.
This has been widely touted as the best GPS tracking app for the iPhone. Having tried it, I can’t understand why. Motion-X GPS seemingly is trying to be all things to all people, but succeeds only at being a counterintuitive mess.
There is nothing about it that feels like an iPhone app. Apparently the company behind Motion-X GPS was started by Philippe Kahn, formerly of Borland Software. Perhaps the guy who designed the interface for Sidekick designed this thing too. Let’s go to the screenshots.
In the first view we see the default Map view. Note that this is not what you load into when you launch the app—that takes you to a dashboard view that lets you start/pause/end a track and show your current stats. But this strikes me as more interesting…if by “interesting,” I mean “pathological.” Let’s try to list some of the issues. There’s the distracting scrolling status text along the top. That red globe shows your GPS lock. (Did I mention? It spins.)
The bottom of the screen has a lock button (which seems to put the app into pocket mode, but I’m not sure), a preferences button, a waypoint dropper, a destination-setter, and tab-left/right buttons. Yes, rather than using the selection list or bottom tabs that damn near every other app uses, Motion-X has us iterate through tabs one at a time. Slowly. The screen is very unresponsive.
The map, bezainted as it is with an elaborate compass rose, other gewgaws, and two logos, is a marvel that manages to almost but not entirely obscure where the hell you are. Although the map does respond to standard pinch/spread actions, it also has zoom in/out buttons.
That caliper icon actually hides a hierarchical popup menu unlike anything I’ve ever seen on an iPhone.
The diagonal arrows unclutter the screen. Except that they don’t. They push the top and bottom almost to the edges, almost. Truly, it is a dizzying feature.
If that’s not enough, you can tab forward to the “track” tab which shows your progress over the ground. Sort of like the “map” tab. Unlike the map tab that threatens to confuse you with features like “roads”, this has sleek, informative lat/lon lines. I can’t tell you how often I’ve been riding my bike and wondered whether that was 30.28611°N up ahead or just 30.28833°N.
Motion-X does have an astonishing panoply of features, some of which I haven’t found in other nav apps. As far as I can tell, it’s the only one that lets you import a KML file, although it has a limit of 12 waypoints per file, so putting the entire warmshowers.org database in there would be a tedious prospect. All import/export is via e-mail which works OK but strikes me as a bit inelegant. Motion-X has the facebook and the twitter and the ipod and the camera all built in there. It has a compass view that might be useful to…I don’t know, people who are trying to read a paper map and don’t have a freaking iPhone with GPS. In addition to its dashboard tab, it has a tab showing your lat/lon/elevation and other stats. Along with ads and tips. And finally a sort of file-management tab that lets you deal with your tracks and waypoints and cached maps—that’s an interesting but confusing feature all on its own. It seems like a nice idea to be able to cache maps before setting out, as this would let you see where you were even without a cellular connection. In practice, the caching process is astonishingly slow, and the interface is confusing.
This is a companion to a desktop app for the Mac, also called Rubitrack. It’s the most expensive of these apps, but it has a lightweight free alternative called Rubitrack Recorder.
Although RT4i is meant to hold up as a standalone app, both it and the free app are really best used in conjunction with the desktop app. The desktop app is nice but not cheap; as far as I can see, if you get the desktop app, RT4i doesn’t have enough going for it to make it worth the money: it’s not a bad app, but between the free alternative and desktop app, it’s not bringing anything new to the table. It is under active development, and so I wouldn’t be surprised if it sees major feature improvements.
Both RT4i and RTR let you record a track and then sync it to the desktop app; indeed, that is the only way information gets in or out of these apps. It’s slick and convenient, but it does tie one’s hands somewhat.
RT4i has a dashboard display that can show your position on a map and two other nuggets of data at a time. Tapping in the data area cycles through altitude+speed, calories+pace, duration+distance. This view strikes me as showing less information at once than it could, and it is bogged down with a counterintuitive lock/unlock action where a few other functions are visible (but obscure the map) or invisible. One of those functions, “Map,” toggles what kind of map is being displayed. That could be relegated to a preference, and the rest of the buttons could be boiled down to just two: start/stop and lap (“Lap” as RT4i uses it is really more like a breakpoint for measuring performance over a course segment).
To be clear, this map only shows where you are. It doesn’t let you scroll around.
RT4i lets you view each of your previously recorded tracks, including speed and elevation profiles, the course on a map, and all the various stats. It can show graphs of your average speed, cumulative distance, etc, over various time intervals. It’s these features that set it apart from the simpler RTR, but the desktop app has these features in spades. RT4i has no support for social networking, music playback, or photos. It does have “pocket mode,” where the screen goes black as soon as the proximity sensor detects that you’ve put it away. This conserves battery power and is a fundamental feature.
Battery life so far is a mixed bag. One 2-hour ride left me with more than 50% remaining. Another shorter ride, where I made a point of turning off wifi and 3G to save power, left me below 20%.
This is by far the simplest of the apps that I’ve used, with a clean interface. It also gets the best battery life—I found the battery was at roughly 75% even after a ride lasting 2:40.
The app does record and show your track, but it doesn’t overlay it on a map: the track is disembodied, floating in space. The fact that it’s not downloading map tiles probably goes a long way towards explaining the good battery life I’ve gotten with it. It can also show an elevation profile, but not a speed profile. The basic view is a split between dashboard data and either the track or elevation profile (swipe left/right to switch between them). The interface is sleek and simple, with only one button you really need to concern yourself with: tap to start/stop/resume. It does give access to a track-management view by tapping a minuscule icon on the lower-left; this lets you upload tracks to the GPSies.com website.
GPSies has an inexplicable, huge shortcoming: it doesn’t give you any way to track your speed. The app does know when you start and finish every track, and is logging trackpoints every couple of seconds (the interval is user-selectable), so the data is there. But the GPSies.com website also will not show your speed profile. And while it will let you download your track in a wide variety of formats, it inexplicably normalizes your speed in the process. I’ve tried playing with a GPX file downloaded from GPSies to recover this data, to no avail. There might be a way, but I haven’t found it. This is all the more frustrating because the GPSies website offers a genuinely useful feature: elevation correction. GPS devices are generally pretty bad at recording altitude. This can be corrected using an altimeter, or by referencing trackpoints against a topographic database (which is apparently what GPSies does). It has cleaned up the elevation profile on a sample track I uploaded to it, but at the cost of destroying the speed data.
GPSies does not have any way to import data, although its integration with GPSies.com leads me to think something like that might appear eventually. It has no social networking, music control, or camera. It does use pocket mode.
This app is impressive in its ambition, focus, and polish, and strikes me as the best of these four apps for a fitness-oriented cyclist by a wide margin. It’s really designed to be completely self-contained, and to let you see your progress over time.
The default view is a dashboard display where you select route and activity, and which shows all your key stats. It also has a map view and graph view that you can display simply by rotating into landscape view one way or the other. It has a calendar tab, routes tab, and another with a selector list of features.
One of the impressive aspects of this phone is that it tries to make pocket mode a first-class way of using the app: it announces the rider’s current status over the headphones at user-selectable intervals, and uses the mic button on the standard iPhone headset to start/pause track recording and to trigger announcements as desired. There are a few problems with this, although they’re outside of Cyclemeter’s control: 1. having an earbud in does impair hearing a little; 2. the earbud will not stay put (in my ear) very well; 3. the earbud gets uncomfortable after a while. But it’s a smart feature, nicely implemented.
Another key feature is ghost racing. As it is implemented in Cyclemeter, if you are riding over a route you’ve ridden before, the app can show or tell you how your current progress measures up against your best/average/worst performance over that route in the past. I don’t have enough time logged with this app to have seen it play out, but it’s a great idea. It would be nice to be able to download a friend’s track over the same route and ghost-race that friend.
Route identification is a key to making ghost racing work, and unfortunately it’s difficult to name a route after the fact. Not impossible, but not obvious, either.
Cyclemeter has extensive Twitter support. It can automatically tweet your progress during a ride, or on certain triggers, although annoyingly it doesn’t let you edit the tweet-template (tweetplate?) to remove their name from it. More impressively, it will use speech synthesis to read incoming tweets, optionally only @replies and optionally only from a list of people you designate. It would be nice if it handled direct messages also.
Cyclemeter has no camera support, no facebook, no music controls, and no import ability. It exports via e-mail, either sending a track as a file attachment or sending a URL to a downloadable track. It also automatically e-mails a summary of every ride (if wanted).
Battery capacity after a two-hour ride was about 50%, with wifi and 3G turned off and the phone dark in my pocket the whole time, except a couple of momentary checks.
I encountered a serious glitch in my first outing: I exported the track to Rubitrack on the desktop, where it showed my speed as reaching 421 mph on some segments. This is unrealistic. Interestingly, the graph inside Cyclemeter did not reveal anything like that. I don’t know if the glitch can be attributed to a hardware or OS-level problem, or if it’s something in Cyclemeter, or even something in Rubitrack on the desktop. Obviously the best interface and features won’t make up for fundamentally inaccurate data logging, so I’ll hope that was a one-time thing.
Right now there’s nothing that seems to cater to bike tourists: Something that would combine photography, blogging, GPS tracking, and most critically, a way to get routes and waypoints into the app—it would be useful to a bike tourist to have a map showing every bike shop, cheap hotel, campground, etc along a route.
Update: 29 Mar 2010
I’ve recently played around a little with a couple of other apps.
I can only describe this as the Time Cube of GPS apps. In terms of purported features, it is lavish, prodigal even. It supposedly can import GPX tracks via HTTP (the only app I know of that can do this), it can handle ghost racing, marking waypoints, segments, laps, etc. In practice, the interface is so confusing that I think you could get into a wreck using it on a stationary bike, with many small buttons, identical except for cryptic text labels, all lined up under four tabs. One of these tabs, Pro, seemingly exists only to taunt you, since none of the buttons there actually respond to input. The most prominent button on the first tab is one that lets you cycle through color schemes. Really? Yeah. I also could not figure out how to get it to display any telemetry like speed, distance, or time. Amazing. I ragged on Motion-X earlier, but that’s a model of clarity and utility compared to this. The only reason to download this app is to use it as a negative example and marvel at its idiosyncrasy. The splash screen touts it as “made by real riders.” I would prefer one made by real programmers, for real riders.
OutFront is a considerably more polished app. It presents you with a splash screen where you choose between recording a new activity, reviewing old ones, joining a mass event, and editing settings. The event-recording view has very nice art, with only one big honking button to start/stop recording that you really need to worry about. It does have a few other controls that let you hide most of the chrome and concentrate on the map, to switch the map between north-up or forward-up view (nice) or between normal overhead view or a perspective “3D” view (gimmicky). It always shows elapsed time in huge numbers, with two smaller wells that can show other data; you can cycle those wells carousel-style to show speed, distance, etc.
One quirk of the map display is that it doesn’t show a breadcrumb-track of where you’ve been. It also uses a very large spot showing your current location (with an icon representing the type of activity) that could obscure relevant features when the map is zoomed out. The telemetry gives excessive prominence to elapsed time, as well as some other information of secondary importance such as GPS accuracy and the event title, and not enough to telemetry readings like speed and distance. The GPS accuracy thing is particularly weird: the radius of confidence required for a “good” signal is a user setting, which can be set in 10-m increments, but in fact, the iPhone’s GPS subsystem reports its radius of confidence in only a few notches: 17 m, 47 m, 76 m, and so on. So if you set your radius of confidence to 10 m, you would never get a “good” signal.
OutFront also deals with joining tracks as a user preference: it’s not designed for manually pausing and resuming a track, or continuing an interrupted track, on an ad-hoc basis.
The track-management view lets you sort your recorded tracks in a few ways. It will show an elevation profile but no speed profile, and a thorough recap on the overall data. It will even play back a movie simulating your progress over the map—at 1:1 time. In fairness, you can scrub forward/backward, but I can’t imagine spending even 2 minutes playing back a 2-hour ride, and question the utility of this feature.
The track-management view also has an interesting social feature that lets you view tracks created by others, and even save them locally. This would be a fantastic way to set up ghost-racing or import routes to follow as cue-sheets, but as far as I can tell, the app doesn’t support that. You can only view a saved track the same as one of your own. This is unquestionably the nicest route-sharing implementation I’ve seen in an iPhone bike app, but once you’ve downloaded a route, you can’t do anything practical with it.
OutFront can optionally “phone home” at regular intervals so that your progress is updated on the company’s servers (if you turn this on and make your track public, others can see it in the track-management view mentioned above). I did not play around with this feature, and imagine it would be a bit of a battery sucker. Another feature that builds on this is the ability to join events. In principle, this sounds nifty: an event would be assigned an event code; you’d type that in when you started the event, and be able to see the progress of friends who are also in that event (and using OutFront) on your phone. In practice, this depends on a critical mass of OutFront users, and my opinion is that any feature like this would need to be platform-agnostic to really catch on.
More closing thoughts
I’ve been using Cyclemeter as my bike computer for most of my rides lately, and the more I use it, the better I like it. I’ve found that audio feedback at regular intervals is more informative than glancing at a conventional bike computer whenever I remember to, and that ghost racing (especially in conjunction with the periodic audio feedback) is a powerful motivator. Hearing every 10 minutes how much I’m up or down on my average for that route really lights a fire under me.
As a historical record of my rides, however, I feel that a desktop (or perhaps web-based) approach makes more sense. It’s nice being able to carry that information around with me, but an iPhone can’t easily afford all the controls one would need to slice and dice data with nearly the thoroughness of something like the Rubitrack desktop app. The impending release of the iPad would allow for a single app that can run in a focused recording mode on the iPhone and a more expansive analytic mode on the iPad. It’ll be interesting to see if anyone takes up that challenge.