Sharing GPS tracks from tangoGPS on Google Maps

Now that GPS is working on the FreeRunner I made a track log of my commute to test it out. It's pretty easy to get log data off of the FreeRunner and plot it on the web in a Google Map:

  1. First, install tangoGPS. The latest tangoGPS packages for the FreeRunner, and instructions for installing them, are available from this page. It usually takes my FreeRunner a couple of minutes to get its first fix. If you are having problems, OpenMoko's AGPS program may be able to give some debugging information.
  2. TangoGPS will appear as an application called "GPS & Map". To record tracks, go to the "Track" tab and click "Start" (and then "Stop", obviously, when you're done).
  3. TangoGPS will save the track log in /tmp (by default, but it's configurable) in a file with the extension .log and named after the current date/time. When you get back to a computer, scp that file over.
  4. GPX is a commonly used format for representing GPS track data. You will need to convert your log data to GPX using, a script provided by TangoGPS. Download it, make it executable, and use it like so: ./ inputlogfile.log > outputfile.gpx.
  5. There are some web sites which will let you upload a GPX file and then plot it on a Google Map. is one of them. It will give your map a semi-persistent URL so you can show it to your friends for a short time.

Towards using the FreeRunner as my primary phone

Having had some time to play around with the FreeRunner's software (see my previous post), I can make a few more remarks about it now. By the way, if you are planning to get a FreeRunner (or if you have one), you should know that the wiki, as well as the community and support mailing lists, are invaluable resources for figuring how to get things working or the best way to do something.

First of all, having a phone that you can SSH into and do all the usual Linux-y stuff on is very, very, cool. When you plug the phone into your GNU/Linux computer it appears as a device on the other end of a new network interface usb0. An SSH server is configured and works out of the box. You need to do a small amount of configuration to let your FreeRunner use your computer's connection to get to the internet.

The FreeRunner also comes with a package manager (opkg) and a set of repositories from which you can easily install new software. The packages are changing fast and getting new fixes all the time. Software upgrading is as easy as: opkg update; opkg upgrade. It's a snap to install new packages, too. I was delighted to be able to run Python on my phone.

(Now, if only someone would port Emacs and develop an on-screen keyboard layout suitable for using it.)

I installed a PDF reader and downloaded a couple of e-books to the phone. Astonishingly I can (pretty comfortably) read pages formatted for printed books on the FreeRunner's screen.

If you have been following the FreeRunner news you know that there are a bunch of software distributions you can choose from (at least three "official" ones as of this writing). This may seem worrisome but it's really not. My understanding is that all of the software distributions use the same repositories, merely installing different packages by default (e.g. the base apps and the launcher). From the standpoint of a software developer, you don't have to worry about painting yourself into a corner by choosing the "wrong" distribution: most apps should more or less run under all distributions. And from the standpoint of a user, reflashing your device is not difficult at all, if it turns out that a different distribution attains a critical mass. As long as you back up the good stuff (probably your home directory and parts of /etc), you should be able to change distributions relatively painlessly.

So, which distribution to choose? I've tried the 2007.2 image (the factory-installed software) and the ASU (a port of Qtopia to X11). The ASU will become the preferred distribution in the long term, and OpenMoko's attention is going there now. At this time, though, it feels a lot less slick in most places than the 2007.2 image. I can't make or receive phone calls with ASU and my current SIM card, which worked fine on 2007.2. The apps are more designed for a stylus rather than fingers. There is no terminal app, but that is expected to be addressed soon.

If I can't find a quick resolution for the phone call problem, then I will probably go back to 2007.2. In either case, I plan to start using the FreeRunner as my primary phone. I'll also start to investigate options for writing quick apps to run on the phone. The more I play with the FreeRunner, the more I think about how those who can write code for the phone could modify or completely reinvent their workflows. Imagine having the adeptness of an Emacs whiz while working on your phone. That would make a general-purpose programmable phone an awesome device indeed.

Update: the PDF reader I'm using is epdfview

FreeRunner first impressions

OpenMoko's FreeRunner went on sale on July 3. I ordered early that day and my FreeRunner arrived today.

This is the only product I've ever felt compelled to take unboxing photos of:

Click for FreeRunner unboxing photos

First of all, this thing is a lot tinier than I was expecting. It is not significantly larger or heavier than my current phone, a Razr. I suppose I should not be surprised because the last smaller-than-laptop device I purchased was a PDA back in the year 2001 or so. (I've never insisted on being at the cutting edge of mobile technology.)

The texture is a lot like that on the outside of a Thinkpad.

I haven't had much time to play with it except for charging it up and making a phone call (which worked, well). The screen is amazing, by the way— higher resolution than that of pretty much any other phone-like or PDA-like device you can buy today.

The software utilities that come with the phone are still in a state of churn, and it is not yet in a state where it can exercise all parts of the hardware reliably (GPS, etc.). As far as I am concerned, none of these things are deal-breakers. If you want to make the phone the best thing it can be, you had better start by removing all the man-made problems so people can work on solving real problems. I wanted a phone with freedom, and that's what I am getting.

One of my favorite things about OpenMoko is the people and the community spirit. You can really tell that this is not only a different kind of phone but also a different kind of company. Witness this exchange from the last week:

Michael <simarillion>: can somebody tell me if I will lose my warranty when I open my Freerunner.
Sean Moss-Pultz <>: [...] Do you really think we could get away with that kind of policy?! This is Openmoko. If you don't open your Neo, you should probably have your warranty voided ;-)