Cast your mind back (if you are old enough) to the late 90s and early 2000s, when mobile phones were still just for making phone calls and sending text messages. The T-Mobile Sidekick was about to be released, but for most of us mobile phones were shaped like candybars and we tapped out text messages using T9 input>) on a 9-button phone keypad.

Around 2002 or so, I bought myself a Nokia 3410, initially with no special plans for it other than to replace a chunky Motorola brick that had been my first mobile phone but was getting very long in the tooth.

Not long after I bought this phone I was poking around in the settings and in its manual and saw talk about Java applications and was intriegued as to what that meant. I had only shallow experience with Java at that point, but the idea of running my own code on a phone seemed exciting enough to dig in and learn more.

It turns out I had unknowningly bought Nokia's first phone supporting the Mobile Edition profile of the Java runtime, at that point nicknamed J2ME. After some further research, I found that Nokia had an SDK and emulator for the device available for free, along with a number of simple code samples, and that got me to a simple "Hello World" in the emulator.

Hello, Phone!

Getting that application onto the phone itself was not straightforward, though. Like most phones of the time, the 3410 didn't have a USB port. If memory serves, there was a proprietary cable to connect it to a PC for synchronization purposes, but I didn't have that cable and so I had to get creative.

At this point I learned about WAP, which is a now long-forgotten standard that brought a strange subset of the web to early mobile phones that didn't have the compute power to render HTML. With WAP as the primary use-case, phones of this era tended to support connecting to the internet via either analog or ISDN dial-up over the GSM protocol.

I happened to still have several dial-up ISP accounts at this time, due to the strange late-90s trend in Britain of offering subscription-free ISP services funded by the telephone company doing a little profit-sharing with the recipient of calls to special 0845-prefixed telephone numbers. One of them happened to support ISDN, and though I was not wealthy enough to ever actually have an ISDN line I was able to manually configure my 3410 to "dial up" to this ISP's ISDN number and log in, after which the WAP browser on my phone could access the tiny subset of sites that had WAP support.

With that working, I set up some WAP pages on my own website with the primary purpose of linking to the package file containing my "Hello World" J2ME program, and was finally able to download it (very slowly!) and run it on my real hardware.

It's difficult now to understand the excitement I felt at that point, since programmable hardware is so prevalent today, but this was essentially my first experience of running software I wrote on anything other than a general purpose computer, and (much as with my early steps in programming on a computer) my mind was enthralled with the potential of writing software that I could enjoy wherever I was, rather than only at my desk. (I wouldn't get a laptop computer until a few years later!)

Mobile Blogging

During this time I was using and contributing to LiveJournal. I think this period represented my peak usage of LiveJournal, with me posting daily records of what I was doing or feeling. Due to the limitations of the day, this would usually come in the form of a review of what I'd been doing while away from the computer.

My next project was obvious, then: I would write a program for my phone so I could post entries to my LiveJournal from anywhere I had phone service. Again it's hard to understand the excitement about this in retrospect, since posting to social sites from mobile phones is so common as to be boring, but at that time I'd never heard of anyone doing such a thing. I felt like I was entering uncharted territory.

I wrote a really simple J2ME program that was fashioned after the very minimalist design of the first desktop LiveJournal client: just a single text box. This was all I could fit on the 96 by 65 pixel display anyway, and I couldn't really imagine myself writing more than a few sentences with T9 text entry.

I have lost the source code of this program at some point over the years, and I no longer have the phone itself, and so I can't post a screenshot of it, except for a tiny emulator screenshot I used to annotate the entries I posted from my phone.

I think in the end I didn't make more than ten LiveJournal entries total from my phone, since the flakiness of GSM data combined with the inefficiency of T9 text entry made it a frustrating experience, but it is fun to think back to how exciting this prospect was to me in a time when even wifi wasn't widely deployed.


I'm sure this trip down memory lane is not interesting to anyone other than me, but I enjoyed digging up information from over a decade ago about technology long forgotten. The most mind-blowing thing to me is having lived through the rapid evolution of mobile computing technology to have felt so much excitement about what we now take for granted.

By the time the iPhone launched in 2007 I had upgraded to a Nokia N73 that could still run my J2ME LiveJournal client, which I used occasionally, but iPhone ended the novelty of on-the-go connectivity and brought it to the mainstream.