iPAQ kicking the iPhone's ass

I thought I’d go for a provocative title, but let’s say from the outset that the iPhone is clearly better in many, many ways than the device I’m about to ‘ramble’ about…

My girlfriend, Birgit, has an iPhone. What’s more, she has a contract where you can pay €30 once, and you get a second SIM card. A second sim card, with unlimited data plan!? Now this seems like too good an opportunity to miss. My original motivation for this was receiving a new laptop that had a sim card slot, for mobile internet (my workplace is not quite so kind as to put something in it…). Part of the motivation too was the length of time it took to get internet in my apartment (its hard when there’s no telephone socket…). At first I put the sim card in and had a lot of fun. A little too much fun: T-Mobile SMS’d Birgit to say her usage was unreasonable and they were reducing her bandwidth.

Of course, seeing this iPhone all the time got me thinking… in America I could use a little bit of free WAP from T-Mobile, but I’d inherited Birgit’s old American Nokia which claimed to do real web browsing. Also, knowing a tiny bit about phones, I knew there were these things called data cables and that maybe I could get mobile phone internet and mobile laptop internet all at once. This had the slight disadvantage that I had to use another phone/sim card to actually phone, otherwise I’d be calling on Birgit’s number. I’ll spare you the fun of how this all worked out, suffice to say:

  • The Nokia web browser was unbelievably slow
  • It was missing the radio band that T-Mobile use outside of cities… so it wasn’t much good for my frequent train journeys
  • Don’t underestimate how capable your old phone might be with a data cable and a data plan – if it hadn’t have been for this band issue I might have been happy

At the same time, Birgit didn’t need her old iPaq anymore – after all she had an iPhone now (but actually I’d used it long before she had the iPhone, she is someone who firmly believes that everything should be in one device instead of two, so the idea of carrying a phone and a PDA didn’t appeal).

Now, this iPaq is quite old – no wifi, no sim card slot, no camera, and the Bluetooth profiles don’t support connecting to the internet over an access point, but they do over a connection to another phone. But… the Nokia didn’t have Bluetooth. One can browse the internet if you use activesync over bluetooth… but that isn’t exactly mobile. There were initially two options I considered. One was to build a cable to match the serial ports (lots of signal conversion that has to be done), and the second was to buy an extension pack to take a sim card and turn the iPaq into a phone. The former was complicated (though I didn’t rule it out) and the second was difficult because the packs are few and far between: to buy them new/refurbished was approaching $299, and the Ebay opportunities usually involved buying an iPaq with them, which seemed a bit silly!

So, after realizing I really liked the Windows Mobile platform, some more pondering and automated ebay searching, I picked up a much newer iPaq (Windows Mobile 2003 instead of 2002) for around €50. This particular model (an hw6510) was usually selling for much more than that, and the one I got was in a real state – dirty, and the screen doesn’t show green. After some cleaning it was a lot less disgusting, although the green was still missing(!) Apart from that it worked great, as a modem, as a note taker (it has a built in keyboard, with real keys), a radio listener, and as I recently discovered, a GPS-powered Google Maps navigator, just like an iPhone!

The main subject of this post is about getting Java working on the phone, not because that’s the most interesting thing necessarily, but because it involved so much googling that I felt I should archive the steps and useful info somewhere so I don’t forget them. It’s also a vaguely interesting issue in general for mobile technology, because Java ‘MIDlet’ packages were a really good way for services to provide cross-platform applications for phones. However, the future now looks quite bleak. Microsoft never supported them explicitly, the iPhone doesn’t support them, and the Blackberry provides extra classes so that the system still works as a delivery mechanism, but only for a Blackberry. The big supporter of MIDlets is Nokia.

So, my iPAQ didn’t want anything to do with MIDlets. The previous one had come with a 3rd party JVM called Jeode, but my new iPaq didn’t come with a CD, and the internet suggested the CD that would have come with it did not contain the wealth of goodies that the old one possessed (for example, a Sega Game Gear emulator!). And alas, the old software would not run on the new iPAQ.

For a good overview of what the options are, I refer to this pretty comprehensive post. The conclusion is that most available JVMs have some defficiencies, but that Esmertec Jbed is the best, but only if you have Windows Mobile 5 or better. Next one down, and basically the only option for me, is the IBM J9. Jeode appear to have disappeared completely off the radar.

Obtaining J9 is a little tricky, unless you’re willing to part with $25 (or possibly $5.99, I can’t tell which version I’m supposed to buy) and hope that it works (again, I can’t tell which one I’m supposed to buy…!). I’m not sure if IBM have removed it completely or if its just for people outside of the US (I believe its the former), but it was never designed to be free as such. IBM gave it away as part of a 30 day trial of a larger development package which included software for mobile device deployment, WebSphere Everyplace Micro Environment MIDP 2.0. Some might already call it a grey area, but out of curiousity and fear that it wouldn’t work, I searched for provision of the necessary files elsewhere. Eventually I was successful (that part I won’t link to here… ) and after a lot of pain with a .cab file that wouldn’t work (I had to expand the files and add the registry keys manually), it worked!

So… why!? I thought I’d leave this part to last. There is one main reason people try to get this working on their phones: Opera Mini. As opposed to Opera Mobile, which is also a great browser, it is free, and the webpages are compressed and formatted via Opera, so it runs very fast. Of course in some cases you might not want pages to be squished into one column, but there are many cases where you might, and for pages already formatted that way, all you see is a speed/phone bill advantage. So far I also found a few other cool MIDlet apps: GMail, Mobile GMaps and RMV2Go (which will only be of interest if you live in Frankfurt). The links for GMail are below, as they don’t tend to direct you to it anymore:

http://gmail.com/app/v1.0.0/en/gmail-g.jar

http://gmail.com/app/v1.0.0/en/gm-Generic-Advanced_MIDP2.jad

A little tip: with the IBM software, it will accept .jar files directly aswell as .jad, and if you want to installed directly from the phone (which is sometimes easier), use file:/// (with 3 slashes!) then the path on the phone. Markus Brosch’s blog gives a nice background/history using the J9 software, and also gives some example of how to create a link in the Programs menu to launch a particular app directly. I’m still seriously considering buying a copy, if I knew exactly what I should buy – the Handango links below all claim the software isn’t compatible with my device:

http://www.handango.com/catalog/ProductDetails.jsp?storeId=2218&productId=140968

http://www.handango.com/catalog/ProductDetails.jsp?storeId=2218&productId=140997

http://www.handango.com/catalog/SearchResults.jsp?storeId=2218&Ntt=ibm

So in conclusion, why does the iPAQ kick the iPhone’s ass? Well, it doesn’t really, but here’s a few advantages I’ve found so far:

  • The main topic of this post: I can run software, any software that someone cares to write, such as a JVM. It sounds like SUN have a JVM ready for the iPhone, but they are prohibited from releasing it.
  • Apps run in the background automatically, so I can tune in to the radio on Windows Media Player and then go do something else
  • Syncing with Outlook is easy
  • Tethering is easy, in fact it will now be prohibited on Birgit’s phone on iPhone OS 3.1, even though she is one of the early customers who are actually allowed to do it (and getting it working on OS 3.0 wasn’t easy either)
  • I can access any part of the file system
  • I can insert SD cards
  • I can access Bluetooth access points (though this is hardly an advantage when you consider I can’t access wifi access points without a plug in card…!)
  • I have a REAL keyboard as well as a touchscreen (though not multitouch, of course)!

I think I’m still finding this last one the biggest difference. As for the coolest thing, I’m still finding the GPS incredible, its one of those things I never thought I’d need, but it makes finding things in a city I don’t well very easy…