Comment: I scream, you scream, we all scream for software!

Published by at

Yes I'm back with the men in white coats at my heels, but I've stopped by long enough to post a rant on the state of software and developers in the EPOC scene. We all want software.... but where is it?


The Nokia 9210 has been out on the market over a year, hell it even has a successor in the shape of the 9210i, yet how many apps exist for it? Generous estimations put the figure at about 180-200 apps. "Cor thats quite a few." you may be thinking but to put things into perspective: the Palm has over 7000 apps and hell there are over 2000 apps for the old Psion Series 3. Where the hell are our apps?

Developers, this is out main problem, developers or rather a lack of them. How can you code apps for the 9210, well we have Java which you either love or hate as a language, I spent 2 years learning it myself at university and absolutely hated it. The second option is to use C++ but this involves the Symbian C++ SDK (not the best I've seen) and forces use of the HIDEOUS and expensive Micro$oft Visual C++ (although I'm trying to think up workarounds for that). Finally there's OPL which is in beta at the moment and the speed of development makes it look like it'll stay in beta forever.

Lets look at the pros and cons of these Languages:

First Java.
Pros: It's free, many coding resources available, object orientation (can be either a pro or a con), knowledge of Java means apps can be coded fast due to immense reusability of code, low porting costs.
Cons: It's slow, it's awkward to program in, it's very hard for the beginner to learn let alone master, does not lend itself well to under-resourced mobile apps, cannot develop on the device.

Second C++.
Pros: The SDK is free, object orientation, power, speed, freedom with app development.
Cons: Needs the cost of M$ VC++, nasty for the beginner to learn at times, cannot develop on the device.

Finally OPL,
Pros: Basic like simplicity so easy to pick up for beginners, can develop on device, many resources and existing apps for similar devices available for reference, free.
Cons: Unfinished, not as fast and powerfull as C++ but better than Java, some interfaces with the device may require extensions coded in C++.

Now the majority of apps on the old Psion PDAs (of which the 9210 is a direct relative) were coded by hobby developers, people like you and me who thought "this would be a good app/game/waste of time". To the hobby developer you have those choices now: learn Java which is off putting mainly due to it's complexity to learn, learn C++ which is also complex but by use of VC++ very expensive and not worth the costs, or learn OPL which is simple free and can be developed on the device but is yet to be finished. Many hobby developers are taking option 4 which is to not bother.

For the hobby developers that are bothering they are using either C++ (because they knew it before), or OPL (as they knew it before or are porting old apps). How many hobby apps do we see released? Very few. How many commercial apps are released pretty much all coded in C++? A lot (relatively).

I've been mucking around and programming since I was 9 years old all the way back in 1990 and I am yet to bother putting finger to keyboard for a 9210 app as I can't find a nice way to code any of my ideas. I'm personally amazed that we are unable to code in C++ and compile directly on the device, even if I could afford M$ VC++ to start developing could I be bothered to keep shipping my apps to the 9210 to test (ok there's the emulator but it's not the same), I think not. Java I would not touch for coding with a bargepole, at first I thought it was a good language, but the more I used it the more I hated it and still do. OPL sounds basic and crude to me and probably not up to the tasks I want to achieve (much in the same way I feel Java isn't) but has added bonuses for coding simple apps that you can do the whole lot on the device. I've ruled out Java from the word go, but choosing between OPL and C++ is a pain, they both have advantages and disadvatages that are annoying.

Looking back though history most apps on the old Psions coded by hobby developers were written in OPL as it was easy to pick up and use. I remember my friends at school who had Psion Series 3s killing time tapping away at some OPL or showing my yet another game they got hold of. For some reason Symbian have decided to stop producing the language that has kept apps being produced for their devices in hundreds. Unfortunately they don't seem to have thought of where we are going to get apps from in the future. Look at the series60 and UIQ devices, the only apps for them are going to be generic midlets and specific C++ apps, which need programming knowledge and money to make. Symbian have seemed to have asked hobby developers not to produce for their devices in future by taking away their easiest method of app production.

Symbian devices will get a good foothold in the market fairly fast as they are the only people to have a good polished product available for shipping. Unfortunately when Palm and M$ get their acts together Symbian can see their foothold dissappear due to lack of apps. They don't seem to have thought the whole situation through and unless they act soon it's gonna get a hold of them by the throats.

I'm asking Symbian to give us one or other of these options maybe both: An ability to code C++/ASM on the device or at least on a computer without M$ VC++, or full OPL support on the 9210, series60, and UIQ systems. Without these being carried out the glut of freeware enjoyed by Psion owners will not appear on the future Symbian devices and they may find themselves losing market share due to lack of third party software. I'm sure most people using this site have an idea for an app they'd like, and probably would make it themselves if they knew how to, but at present are unable to.

Come on Symbian get your act together, we want software, but we wont get it unless you give us sensible development tools to make that software with. Either that or 2 years down the line we leave you for another OS that will provide tools to make apps. It's a hard line and it's a firm statement, but it's true and I hope someone at Symbian actually reads this site and takes notice of this post.