Nokia, Symbian, Open Source

I don’t really have time to write anything proper, but I just wanted to weigh in quick on the whole Nokia-buying-Symbian-and-open-sourcing-it discussion. It’s stupid, Nokia should have gone with the Maemo platform as the future. Here’s why:

  • Symbian is THE MOST developer hostile system I have ever worked with. I’ve done plenty of embedded systems development, down to 8051 firmware work when the need called for it. And nothing has ever made me more frustrated and confounded than trying to develop for Symbian. When compared to systems like the iPhone and now Android, doing “mobile development” by programming for Symbian feels like doing “web development” by programming CGI scripts in OS/360 assembly. Symbian is an old clunker of a platform compared to what’s out there now, and like it or not, having sexy tools and a cool image attracts developers. Open sourcing Symbian will help out a bit in terms of the image, but not nearly enough.
  • They’re already helping out Google by validating the whole “open source mobile platform” idea (and in the process turning themselves from market leader into follower by the way, nice job there!), why not benefit from an open source platform that already exists? The reason open source rocks is that you have tons of developers spending lots of time combing through the code and fixing things, making them better, grokking and sharing. Symbian has what? A bunch of existing developers, many of whom have already thrown up their hands in disgust and fled the platform. And…. nothing. Linux brings a whole set of good tools. Compilers and code analysis tools (compilers that might actually support using exceptions in C++ even!), emulators (some that you might actually be able to use to access the internet from an emulated session with, and not even need a loopback serial cable to do it), existing libraries, developers familiar with the internals, etc.
  • They already have a great developer base behind Maemo, especially considering the fact that they haven’t put the hardware that everyone keeps asking for in it (cellular interface), developers keep churning out great stuff for the platform. If they were just to ignite the existing interest and open up the possibilities for the existing developers by bringing Maemo to more devices they would be way further ahead the curve than opening up Symbian puts them.
This entry was posted in Community, Open Source, ThisIsMobility. Bookmark the permalink.

17 Responses to Nokia, Symbian, Open Source

  1. Pingback: Nokia Daily News 06/30/07 | Nokia Daily News

  2. I’ve come to accept that nokia is floundering in the same way IBM did and MS are. They essentially reached their goal and didn’t have a goal B to aim at. I think I first noticed it when they released their range of Jewellery with screens on them for you to put your mobile taken pics on – WTF??

  3. David Wood says:

    Hi Mike,

    Don’t you think you might be somewhat hasty in condemning Nokia out-and-out as “stupid” for their carefully considered move to buy Symbian and then outsourcing the combination of SyOS+S60?

    You see problems with the Symbian OS APIs, exception handling system, tools, emulator, etc. You don’t seem to see any significant problems with the maemo system, despite many people from Nokia stating publicly that maemo is far from being suited for cellular telephony.

    Again, you seem to imagine that it will be relatively easy to add in the cellular telephony support to maemo. You don’t seem prepared to consider that Symbian and Nokia S60 are making a whole series of improvements, step by step, to the aspects that you’ve found objectionable. Changes that are worth mentioning include PIPS and OpenC, support for native exception handling, a new simulator instead of an emulator, alternative APIs where there’s been lots of criticism of the old ones, new code analysis tools, etc etc. Some of these changes have already been released, others have been announced and not yet released, and others are happening behind the scenes.

    So when you blithly say that Symbian bring “A bunch of existing developers, many of whom have already thrown up their hands in disgust and fled the platform. And…. nothing”, I think you are closing your mind to lots more that’s happening.

    // David Wood, Symbian

  4. miker says:

    Hey David, I don’t think I’m being hasty at all. My comments are based on working in mobile for the last few years, and working with entrepreneurs and developers in particular. I have considered many of the points you make, however, I disagree.

    - Mike

  5. George says:

    It’s always good to hear what Miker has to say…..

    I have to agree with Miker here. While my experience with Symbian was brief (mainly worked with developers on the front end UI stuff for about 1.5 year in SVG), it was a pretty tough environment to work with – from device certification, getting the right emulator up and running, to getting someone on the phone so we can borrow handsets for testing…

    The support is virtually not there if you are US based. (Sorry about being US centric here, maybe folks in EU have better experience)…

    To me, the OpenSource of Symbian is really a bail-out. It also means the old Licensing model is not work so they have to try something new.

    Enough Symbian bashing from me… :) IMHO, watch for Trolltech (Nokia’s new purchase early this year). We will probably hear more about it now the Symbian issue is being deal with….

  6. “Symbian is THE MOST developer hostile system”

    agreed. a very hard and time consuming platform to develop against.

  7. Pingback: Prophet King Governance Press » links for 2008-07-02

  8. Todd Hinskins says:

    I would like to pull out three quotes and add one of my own:

    “Symbian is THE MOST developer hostile system”

    “despite many people from Nokia stating publicly that maemo is far from being suited for cellular telephony”

    “watch for Trolltech (Nokia’s new purchase early this year)”

    Nokia ships currently 4 platforms….

  9. tony says:

    I’m always curious why support for exceptions was considered a real negative for the Symbian OS C++ environment, especially considering so many developers eschew the use of them in order to maintain simplicity. Perhaps if you’re porting some of your code that relies on exceptions it might be a problem, but afaik the latest version of RVCT would support exceptions anyhow.

    The only problem for Symbian as an environment is it’s esoteric or perhaps better described ‘alien’ nature, I like to compare it to Windows APIs (which are all over the place) except that Windows has the benefit of being ubiquitous whereas Symbian is not and will never probably be so.

    Starting to get scripting languages as first class citizens in the environment, and making APIs as straight POSIX/C like as possible would be a step in the right direction. Oh and deprecating the abomination of descriptors would be a good idea too.

  10. Hetal says:

    “Symbian is THE MOST developer hostile system”
    Yet there are thousands of applications, 4 million developers and many language options supported (PIPS, Python, Java, Flash, .NET etc).

    “many of whom have already thrown up their hands in disgust and fled the platform.”
    Really? Then I wonder who’s been writing the great apps I’ve installed recently on my N95. Apps that let me use my phone as a wifi hotspot, track & log my cycling routes (which I can overlay Google Earth), use motion gestures to not only control the UI but also perform certain functions such as answering calls, launching specific apps etc

    “Linux brings a whole set of good tools.”
    Ok…but where are the phones? As a developer I want to be able to target a large number of devices. Today Symbian is the only one to really offer that with 200+ million devices.

    The move towards open source is a great one which will open up opportunites for countless more developers and really push innovation. It’s shame the spirit and vision of this move has been missed here.

  11. Sander van der Wal says:

    While I am not completely happy with Symbian either, I think the main problems are not there because of the C++ subset that’s being used or the sometimes lacking tools. I don’t see much semantic difference between a User::Leave() and a throw(), and descriptors are not harder to get your head around than Standard C++ strings. IMHO, of course.

    The main problem with Symbian is that it operates in the mobile space, which is completely different from the PC/Internet space. In the mobile space, the user of the device is of little importance, it is the operators calling the shots. Symbian Signed is there because of the operators.

    Making Symbian Open Source is not going to change much (apart from being able to see the C++ source in the debugger), because it doesn’t change the power structure. Using Linux instead of Symbian OS doesn’t matter either, again because the power structure doesn’t change.

  12. miker says:

    I’m not saying that Nokia doesn’t have market share, I’m saying they don’t have developer mindshare and they haven’t captured the attention of new entrants. How often do you hear about people “fooling around with developing for Symbian” just for fun in their free time? I’ve attended developer focused events in a number of different areas and I’ve heard that very infrequently. Compare that to the number of times you run across people fooling around with iPhone or Android SDKs (or even Maemo for that matter). I’m filtering out all the Silicon Valley events cause we’re weird over here. But even of events in others areas – developers area paying way more attention to the other platforms. You can argue that all you want but it won’t go away, I’m just telling you what I hear. Do with it what you want. If you wan to deny it though, you’ve already lost really.

  13. Miker,

    You’re last comment got me… I have messed around with developing Python apps on my Nokia N95 for fun. And I dislike programming! I wrote an app to divide up our electric bill, figure out the rent which fluctuates based on the electric bill, and SMSes out the two amounts to my roommates.

    Python is easy enough, and looking through the includes list, it seems that you can access almost everything on the device through Python. Sure there’s python “hacker” versions for iPhone and others, but an official port from Nokia is golden. Too bad the documentation sucks, and is scattered over the blog, the wiki, and the forums…

    I disagree that Maemo would make a good choice for a phone, mostly based on the dependencies for the installer app. This is not a new issue for linux users, of course. But would a normal mobile user take the trouble to fix it?

    Looking at Android, they had something like 1800 entrants to the coding contest not long after the SDK came out. Those numbers would suggest that the developers are most interested in Android and the iPhone (jailbroken or not). Nokia will need a big outreach to developers to keep up, IMHO.

  14. Hetal says:

    Thanks for the response Mike, I certaintly don’t deny what you are saying about recent developer interest but I do want to temper that with the facts and the ”global” picture. In my experience, outside of the US there is still a lot of developer activity & interest on Symbian OS.

    As with any new platform you will no doubt see a buzz around them and throw into that mix the large brand names we’re seeing and it comes as no big surprise that developers would want to pick it up and ‘fool around with it’.

    Native Symbian development won’t come naturally to those used to desktop development or high level languages. Stick with it and you will see the rewards as many developers and organisations around the world have already found out. But targetting Symbian OS doesn’t just mean you have to stick to native development only. As mentioned before there are a wide range of development languanges and runtimes supported….which to me says ‘developer friendly’.

    Linux/Standard C developers? Can use PIPS/OpenC
    Java developers? Can use the built in J2ME environment
    MS developers? Can use NET60 by Red Five Labs
    Palm developers? Can use StyleTaps solution
    etc etc…

  15. matt flowers says:

    I have been developing mobile software for the last 8 years and I would agree that developing for Symbian is hard. There is however an upside to this, that is, developing for a tough platform makes you a better developer. It also means that when you need to develop for other mobile platforms such as Windows Mobile or J2ME it suddenly seems so easy.

  16. gigi kent says:

    Let me add this:

    having programmed for J2ME and Android, Windows and Linux C++, perl and tcl, and php, and then reading here and there bits of Symbian code, I have sworn I would never take on Symbian. IDE + emulator are cumbersome and full of bugs even to this day, APIs are so damn poorly documented, there is no such thing as write for S60 3rd, expect to the same behaviour on S60 3rd FP1, ease of working with all the tools is pure fiction – thanks God I found a way to put my GIF as application icon (via MBM) because googling firstly revealed the SVG madness. Not to mention all these “Golden partner” and such programs carefully planted so that key APIs and tools for making decent applications were hidden from you – however the marketplace (firstly Android, then iPhone, the snowball reached Nokia eventually) pushed Nokia to release one by one these APIs and tools (on device debugging for instance, CTelephony for instance) .. Symbian signing junk is yet another cash cow that took me about a whole day to figure out how to use (the online signing form would be very difficult to seek on the domain again.. good thing I have bookmarked it). The damn UI would not draw a simple CEikLabel on a CAknForm unless I have overriden 3 (three) functions and made the UI framework consider my label as a ‘custom control’, The only way to put it on a form is to tell the framework that it is something like ‘EEikSliderDerived’… outrageous. Oh, And you should not expect it to resize itself no matter how nice you ask for it. And many and many countless issues !!!

    ok I am loosing it already :)

    So, although I have sworn not to cut my desire to enjoy life (as programmer) here I stand, just another frustrated programmer between the other 4 millions, trying to make a buck.

    And no, I am not a fanatic. Active Objects are easy to understand and also helpful. I like them. I also like descriptors – but these are hard to understand at first. Traps are a complete proof of elitism / snobism / whatever. Why were they introduced ? because the RV compiler was that crappy ?? Bad influences… Oh and I have never got around to fully understanding how to use RFile in conjunction with stream objects ..oh wait, I am starting over again!

    Much more to wine about, enough for today. Enjoy your abld!

  17. Pingback: An inside (personal) view of the Symbian deal – Nokia Conversations : the official Nokia blog

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">