Symbian Introduces Open Source Release Plan 92
volume4 brings news that David Wood of the Symbian Foundation has made a post detailing their plans for a release schedule, with new versions due out every six months. We discussed Nokia's acquisition of Symbian for the purpose of open sourcing the popular mobile OS last year. Quoting:
"There's a lot of activity underway, throughout the software development teams for all the different packages that make up the Symbian Platform. These packages are finding their way into platform releases. The plan is that there will be two platform releases each year. ... Symbian^2, which is based on S60 5.1, reaches a functionally complete state at the middle of this year, and should be hardened by the end of the year. This means that the first devices based on Symbian^2 could be reaching the market any time around the end of this year — depending on the integration plans, the level of customisation, and the design choices made by manufacturers. Symbian^3 follows on six months later — reaching a functionally complete state at the end of this year, and should be hardened by the middle of 2010."
Re:Big news for Symbian developers! (Score:5, Informative)
> Not only that, but there are many different versions (V9, V9.1, S60 3rd Ed, S60 FP1, S60 FP2, 9.4, 9.5 and that's just the recent ones) and they are mostly binary and source incompatible.
That's balony. I (helped) develop an S60 application, and the differences were significant between S60 2nd and 3rd editions (there was a big OS-break then - akin to OS9/OSX), but otherwise there were very few OS version specific changes needed to the source. The main things I remember were that the 2nd edition phones and the first few of the 3rd edition phones had a WAP browser; and the newer ones have the webkit ones (yes, before the iPhone). The other difference that came to mind was that S60 3rd edition came with an OpenGL driver, while for 2nd edition, we had to package one with our app.
Actually, our code base was common for both S60 2nd edition and S60 3rd edition...the differences there were for SDK differences (like having to get things signed/etc/etc).
In the end, we had just two versions for users to install - one for 2nd edition, and one for 3rd edition. From the user's point of view, it didn't matter which of the 2nd edition or 3rd edition phones they had...and a web/wap page could easily tell from the user-agent which one to provide for the user to install.
Really, not rocket science at all.
Calling them 'mostly binary and source incompatible' is just rubbish and plainly FUD.
Also, what's wrong with having different versions? Even something like the iPhone OS has two (soon to be three) versions. It's mostly a symptom of having a successful platform and many different target phones. Perhaps when there are many different iPhones and Android phones, then they will have the same issues.
Yes, the development platform is not so much fun to use, but that's a different thing to the target OSes being different. I even got the SDK working on Linux [martin.st] the other day and plan to do some applications in my spare time, in the hope that I can sell stuff on the soon-to-open Ovi Store [ovi.com]. It seems like the SDKs will even work on OSX for all you Apple guys. Personally, I find it kind of refreshing to actually understand what's going on, instead of have a GUI 'protect' me from it all.
I think the Ovi Store could well be very significant. The prospect of having access to such a large user base has to turn some heads, surely. It *is* huge, especially if they can enable it on existing phones too. I guess they could do that by using the Download! application somehow - the Download! application is what might be called the 'app store' that's been around for many years (yes, way before iPhone even was a twinkle in any Jobs' eye) on S60 phones - since it's already on probably well over a hundred million phones already.
We'll see, I guess.
Re:Big news for Symbian developers! (Score:3, Informative)
Note that most people here are talking about Symbian C++, which is the way it is because it came into being when C++ was very new and didn't regular C++ had various features is has now. If you spend the time to learn (eg training) how it solves the various problems inherent in early C++, then it is quite easy to appreciate it - in my opinion anyway. The problem is that it's similar to regular C++ in many ways, which makes the differences very annoying and sometimes surprising.
Also note, you can develop on S60 using many different languages - Open C, Open C++, Python, Java, various web languages, and those are just the ones that come to mind. So, you don't even have to suffer Symbian C++, if you don't want to. I've no experience of those though.
I guess Qt [qtsoftware.com] for S60 will be available in due course. That's a platform/toolkit people usually think well of...even on slashdot.
Re:Android (Score:3, Informative)
disc: I work for a company that supports Symbian. In fact, Nokia is our main customer, which is a secret to no one.
The main advantage of Symbian is that it is a known quantity on the market. Major manufacturers know it and its internals. Nokia (of course), but also Sony Ericsson, LG, Motorola have experience making Symbian phones.
Symbian is huge [symbian.com]. 228 Million cumulative phones by June 2008, on 250 different models. iPhone: 2 models (EDGE and UMTS). Android: 1 model: G1. (I couldn't find precise sales numbers, sadly. Although the iPhone did hit 4 Million by mid-January 2008.)
Symbian is an established player, and Nokia is keeping it on the edge by open-sourcing it.
It is certainly not a too-late response to Android, but rather rather trying to cut off its market before it gains too much of a foothold. Though I'd like to trumpet Linux, I doubt it'll really challenge Symbian before 5 years from now. (exercise: count the Android phones on the market since it was announced in Nov 2007. Count the announced Android phones. Do the same for Symbian over the same time frame)
Another vital point to note is the main motivation with open-source Android and Symbian is not to please the geeks (hah!), but to provide a cheap OS through which Google and Nokia can sell their services. That is their business strategy, and don't forget it.
Re:Big news for Symbian developers! (Score:1, Informative)
Mod parent up. Symbian is a truly horrible OS to develop for.
True, but if you don't like its core c++ api, you can develop applications for it in Python [nokia.com] or (soon) Qt [qtsoftware.com] both of which have a much nicer api.
And there's the PIPS API [symbian.com] allowing you to port POSIX C apps and libraries to Symbian (most recent S60 apps use it).
Starting with 5th edition, you can also use Flash Lite. And, of course, there's still Java, too.
Not only that, but there are many different versions (V9, V9.1, S60 3rd Ed, S60 FP1, S60 FP2, 9.4, 9.5 and that's just the recent ones) and they are mostly binary and source incompatible.
You're making confusion between Symbian and S60.
As a developer, you only care about the S60 version. Since 2004, we've seen only two major S60 releases, 3rd edition and 5th edition.
Software written for plain S60 3rd edition should work on any 3rd edition device. Feature packs add, well, new features, so if you want to take advantage of these features, of course you'll be able to do so only on those devices which provide them.
Re:Android (Score:3, Informative)
And it doesn't give you choice of language. My company has an app that runs on Windows Mobile, Symbian, and several proprietary phone OSes. We can't run on Android because there's no C or C++ SDK for it. And we looked into it too, we wanted to do it.
Symbian signed is *the* probelm (Score:3, Informative)
Re:Can I install it on my phone? (Score:1, Informative)
Re:Symbian development (Score:3, Informative)
The good old symbian myths:
- No c++ exceptions, below the rebuttal:
http://developer.symbian.com/main/downloads/papers/Exception_Handling_in_Symbian_OS-v1.02.pdf [symbian.com]
- Descriptors: yes, they are weird, but they do make sense:
http://descriptors.blogspot.com/ [blogspot.com]
- Standards: Open C, pips (posix compliancy), S60Python. Is hard to build an OS on a language which was not standard when it was being designed.
- there are more runtimes than symbian c++ (if that is too hard for you):
http://blogs.forum.nokia.com/blog/hartti-suomelas-forum-nokia-blog/2007/05/17/slides-for-the-s60-runtimes-presentation-on-svsig [nokia.com]
plus: QT for s60 is around the corner and will remove some of the pain for developers.
http://www.qtsoftware.com/developer/technical-preview-qt-for-s60 [qtsoftware.com]
about the debugger: I still don't see the problem with carbide.c++ 2.0 and trk to debug symbian phones. You can also go fancy an use lauterbach or any other ICE that you like. Also you can use the emulator for 90% of app developement, so unless you are making something tied to the HW your target debugging should be a breeze (if you know what you are doing).
and about android: Please go on an read the code, run a grep for "fixme", then another for "??" and another for "hack". I specially like the TI AT command workarounds in the their telephony RIL reference implementation. This guys have put it together with gum and tape, product quality my ass.
Yes, they have good ideas, they are not reinventing the wheel and is easier to use (sometimes), but feature wise, production quality wise, android is not just there...yet.
Re:Android (Score:3, Informative)
Let me remind you that the structure of the droid licensing is very clear: linux kernel, then apache/bsd all the way up from there (With a dollop of lgpl). You don't need googles permission to ship an android based device. There are some apps (maps comes to mind) that you do need googles permission to ship, but those are closed anyhow.
Chris