Mobile Technology

Prior to my current day job I spent just over a year working at one of Nokia’s outsourced call centres, first doing general support (how to use the phone and explaining that only the network can get it unlocked) and then technical support (mostly supporting Nokia PC sync software, and some other horrors).

I’m interested in most forms of technology, but this job gave me a specific interest in mobile phone technology. In recent months that’s kind of been fading in favour of a new shiny (virtualisation), but a couple of weeks ago I picked up an iPhone 3G and it’s been interesting to really interact with mobile technology again.

My previous phone was a T-Mobile branded Windows Mobile thing. It was very good, as far as Windows Mobile things go, but it was in no way pleasant to use. I bought it mostly because it wasn’t a Nokia (at the time I had the use of a Nokia through work) and because I’m a sucker for a sliding QWERTY keyboard.

The poor user interface on the Windows Mobile device really put me off using it for anything fun. On my really old Sony Ericsson phone I was regularly SSH’ing to places and playing around with it. It was good fun. For some reason SSH on Windows Mobile was always a chore. A superior keyboard and display resulted in an inferior user experience.

The iPhone does not officially support SSH (at least not yet in the UK – I’ve heard rumours of a port of PuTTY being made available in the US), but I jailbroke mine within 24 hours of buying it. The Mobile Terminal app isn’t awesome, although a recent update fixed some bugs. It’s not really practical for any sort of significant use – but it seems fun to use. I want it to get better so that I can use it more. Even on a third-party Hack, the iPhone has a great user experience.

There’s a lot more to this than just the shiny, shiny user interface, though. Nokia’s S60 handsets had a relatively low barrier to entry for development, in the form of a port of Python. Python’s a good solid scripting language that’s easy to pick up and enforces good coding style. There’s some hoops to jump through to make apps with it for S60, but it’s a hell of a lot easier than developing a full-blown C/C++ application if you’re not already familiar with C. It also provides a more cross-platform solution – Python’s been ported to pretty much everything.

The iPhone’s native development environment is ObjectiveC and Cocoa which if you’re going to develop in C is probably the most pleasing way to do it. I’ve been watching John Dow‘s experiencing in learning Cocoa and it doesn’t seem evil at all. Even a really nice set of frameworks doesn’t make iPhone development anything special – there’s frameworks (of varying quality) for every platform.

When the iPhone was first released, Apple didn’t want to allow native applications at all. They said that you could do pretty much everything most apps want using Safari and web apps. Mobile Safari is by far and away the best mobile browser on any platform. I’ve used Nokia’s S60 browser with MiniMap (which is based on the WebKit rendering engine), PocketIE, and Opera, and none of them render as well as Safari and none are as easy to use to navigate real-world web sites. Cocoa is nice and all, but Safari is the iPhone’s real strength, and that’s where my interest in development for the iPhone is.

After doing end-user support for mobile phones and then suffering with Windows Mobile for another year the joy had gone out of mobile technology for me. At the start of the year an Eee PC helped to rekindle it, but the Eee PC really is just a small laptop and not what I think of when I think of ‘mobile technology’.

The iPhone has brought the joy back. I want to make things for this little device. Mine’s jailbroken and I can install lightttpd and ruby on it if I want. I can SSH into the phone, as well as from it. It’s like when I got my first Mac OS X machine and I realised that all the GUI joy of Mac OS 9 was still there, but it had been joined by the command-line joy of unix. (And that’s when I stopped dual-booting Linux – I’d pick a jailbroken iPhone over a Linux Google Android or OpenMoko phone any day.) Most importantly, I can develop for it without learning ObjectiveC by just relying on that wonderful, wonderful rendering in Safari and producing a normal web application (with, maybe, some iPhone-specific UI tweaks using iUI).

The iPhone won’t change the world, it won’t even change the total phone market. It might change the smartphone sector, but probably not. It’s too pretty and too trendy, and that puts off the suits who order 50,000 phones for big corporations, and that’s where the big money is in the smartphone market. It won’t even dominate the consumer smartphone market because all of Nokia’s best general-purpose phones are smartphones and Nokia’s devices have much wider availability.

But it’s going to make my life a bit nicer, and it’s brought a little technojoy back into one area that I thought had had all the joy squeezed out.

Comments 1

  1. GlennH wrote:

    You’re right, it’s just sooo nice to use.

    Posted 10 Aug 2008 at 10:14 pm

Post a Comment

Your email is never published nor shared. Required fields are marked *