Programming for symbian may be a hassle, but it's kind of cool to write apps on this device. The smartphone is really a completely new platform, with new possibilities never really achieved on any other device. I mean, if you were writing for a vertical market, you could conceive of doing something like this on a PDA before but the number of net-connected was never very high. Whereas there are maybe 10 million smartphones with cameras already sold, and the number should continue to skyrocket.

The smartphone, I want to say camera phone, but I've discovered that there really is a need to distinguish between the two. There are an awful lot (100 million or more?) of camera phones out there, which take crappy small pictures and have a very limited operating system and developer platform on board. Even the Nokia Series 40 range, while it runs Symbian, is not open for C++ development. You can use the j2me API, but then you discover just how small the memory is, and of course the APIs are limited, probably don't implement MMAPI on those phones, etc., etc. Whereas the smartphone is a different beast. They still cost at least hundreds of dollars, but they are smart in part because they come with a development platform that's worth paying attention to.

Will all phones be smartphones at some point? It seems likely. As the technology gets older it will get so cheap that the makers can throw it into all their phones, as they are now doing with colour screens.

Meanwhile, there's enough of them out there, they are cheap enough, and they work in enough places (basically everywhere in the developed world has GPRS) that it's a good enough platform to write apps for. With Symbian specifically, it's geared towards open access so that the phone users can download any programs they want. That's a big contrast to the "walled garden" approach that I think will eventually fall by the wayside.

Meanwhile, although the Symbian API is a beast, it does pretty much work. You can more or less do whatever you want to be able to do. That's a big difference compared to Java at the present stage. But I fully expect java to surge forward as the implementations get better and the phones have enough memory and processor power to easily runs those apps. Right now it's marginal, but in a few years that will be a different situation.

It's pretty much a cutting edge platform. Similar to the early days of PCs and the web, when a lot of the software that gets written is a first.