InfoWorld’s Tom Yager speculates on the road ahead for Symbian now that Nokia has established the Symbian Foundation to lead the OS into its open source era. The Foundation — which includes five Symbian licensees, three major wireless carriers, and two embedded semiconductor manufacturers — is certainly a motley crew, yet, as Yager writes, ‘If Foundation members could agree on a set of objectives, it might be able to drive a new device from concept to wireless network deployment in a fraction of the time it takes today.’
Symbian is probably the best mobile OS out there. Ir is well-designed, versatile and stable across a whole range of device classes from featurephones to super-PDAs/subnotebooks (of which the Nokia E90 is basically the last example)
It’s also completely doomed if it stays closed source. On the low end of its functionality, Java-based phones now offer the same level of functionality. At the high end, Linux has practically taken over the market. In the mid-range, Blackberry and Windows Mobile are dominating, and a whole host of Linux-based solutions are within 3-6 months of coming on the market too.
An open-source Symbian. while possibly not able to fight the Blackberry and Microsoft juggernauts, might at least be able to compete against Linux in the “laptop-replacement” market. Left as is, however, I see nothing good.
What ? Did you ever try to program anything in Symbian ? I did. It’s broken, badly designed, suffering from premature optimization and many basic design flaws. It’s rotten. It’s memory management, silly 8kB stack size along with all workarounds trying to cover those deficiencies (bitmap server crap along with its block-moving heap) are driving me nuts. Its badly implemented Active Object idea, abused everywhere makes simple things hard (like, say, decompressing JPEG image – requires you to implement a new Active Object class along with some state-automata like code). It’s error handlig is horrid (those exotic leaves are both broken but also not used where they should be – forcing programmer to deal with panics far too often). Constantly changing and badly designed APIs are often useless – too often using crappy APIs and adhering to badly designed conventions make your code longer, less robust and hard to test (let alone unit testing) than reimplementing it (and thus reinventing wheel). Even their code formatting convention is hard to read and thus useless.
Too many things do not work as expected and you end up snorting forums for possible workarounds. Platform security is a kind of silly – actually, except for limiting most functionalities only to signed apps there is NO security. Platform itself is stable only if application behaves well. For example, starting and stopping an application which doea not close network connections will hang up network handling system process and force you to reboot your phone in order to get network connectivity work again.
Developing in this environment is troublesome, laborous and expensive. Going back to plain POSIX (be it Linux, iPhone or anything else) feels like fresh air.
PS. Please do NOT ramble that “you’re just not good enough to develop on Symbian” – a platform should be error-resistant at minimum, not error prone. DOS/Windows 3.1 times are long gone and even on small mobile devices we should expect a decent platform, not a bunch of random hacks called a “platform”.
Many of those issues aren’t issues with the core OS, but rather with layers of crap that have been thrown on top of that core. If, for Symbian 10, Nokia and co were to go back to the EPOCr5 codebase and re-implement the advanced features in a coherent, logical fashion, I suspect the advantages of the core OS would show through better.
I believe that you can program using posix compatible libc libraries now. Or are they just saying it is?