I was writing up a longish email about my thoughts on Symbian development, when I came to a very clear thought in my head that I haven't really articulated online yet. Symbian needs a runtime! When I say runtime, what I'm talking about is a programmable scripting runtime like VB, Python, Perl, Ruby or maybe a beefed up OPL. I'm not talking about something as complex as a virtual machine like the JVM or CLR, I'm just thinking about a basic scripting interpreter that will allow development to happen without the sandbox of J2ME or the complexity of Symbian C++.
The problem with Symbian development, as I've whinged about in the past, is that it's too damn hard. First I don't know C++ well enough to even get Hello World working, but beyond that, the Symbian API even if you understand C++ is super difficult to grok. Add to this the complexity of different UIs that Symbian phones have, and it's just about impossible to develop for that platform unless you're a really amazing mobile coder. This just isn't going to cut it, both in the hobby space or in the corporate space. Developers like me need to have something that is quicker and easier to use. I need to be able to get Hello World up and running on my device in 5 minutes, tops, or I move on to something else.
J2ME isn't a solution here. First it's sandboxed, so if I want to check my phone's calendar events or my address book, I can't do it. Secondly, I've noticed that long-running Java apps on my phone tend to die (in painful and ugly ways). What Symbian needs is that middle ground of development. They need to provide a scripting environment with a freely distributable runtime so that all of us hacks can start cranking out apps for Symbian. It's the Visual Basic model of development, and it worked like a charm for Windows early on. Symbian needs to take a page out of the MS playbook.
Symbian is already somewhat supporting the work of an open source version of OPL - the original Organizer Programming Language from the Psion days - but there's a lot not to like about that language. It's not object oriented for one, and it's support even among Psion afficionados is sketchy.
What Symbian needs is a more robust scripting language that is *officially* supported by Symbian itself, not fobbed off to Open Source developers. It needs to be decent enough to get some real work done and support real commercial development. Python would be a great candidate, actually. There's even an old Python for EPOC project out there that hasn't been updated since 1999. How much serious developer goodwill would Symbian garner by making Python its official scripting language? Would that rule or what?
Or if not Python - since it's pretty unknown in the corporate world, I can forsee some resistance to that idea - then Symbian needs to license something like the AppForge Visual Basic runtime and offer that on its website (along with some free development tools as the AppForge IDE costs well over $800). Hell, Symbian needs to just buy AppForge outright. Not that I'm all eager to do VB programming again, but it would definitely solve the problem quickly.
This is the sort of thing that Symbian needs yesterday. Now that they have several million of their devices out in the marketplace, more and more developers are getting interested in hacking on their new gadgets. Many are getting disappointed with the experience (I hear it from them on #mobitopia).
Maybe they have this sort of plan in the works... it'd be nice to see. Maybe a sort of surprise announcement during one of their Dev Days? That would be nice (though most likely a dream).