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."
Big news for Symbian developers! (Score:5, Insightful)
Re: (Score:2)
Mod parent up. Symbian is a truly horrible OS to develop for. 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.
My guess is that Nokia see Android and even the iPhone (which is, at least, much easier to develop for) and fear that in a few years time everyone will have moved away from Symbian. Windows Mobile has it's own problems, but now phones are getting more powerful ev
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:5, Interesting)
Re: (Score:2)
Did you misread my post - or not read it at all? It sounds like the latter.
I didn't make any comment on the quality of Download![1] No, all I said was that it is something they could use to make the Ovi Store accessible to the existing installed base.
Doesn't the prospect of getting your app in front of hundreds of millions of users even interest you? It does me. ...and, again, you're talking about Symbian C++ and the 'standard' to which you refer didn't exist when it came into being. Also, you can use other
Mis-read post (Score:2)
All is good, C++ sans exceptions + longjump and a manual destroy stack is OK?
You can write in Python, Ruby
Re: (Score:2)
You're putting words into my mouth, again, and conveniently ignoring what I did say. I'd like to know what part of what I said that ws factually incorrect.
No, it's you who sound irrational, biased and closed-minded. Choice is bad....rrriiiighhhtt. You can use Open C, Open C++ (not only Symbian C++), and Java - that covers all the languages available for both iPhone OS and Android.
I've only use Symbian C++ though[1] so I can't comment on the other ones apart from to observe that they're available.
If I'm fact
Re: (Score:2)
> . the platform sucks to code for. It's a totally non-standard (no exceptions, what?) platform
Oh, and I forgot to mention that Android uses a non-standard version of Java too[1], and at least the standard exists for Java already, so there's less excuse than Symbian C++ has.
[1] I'm not sure how to compare non-standardness, and I don't have much experience of Java, or even Android/Google Java or whatever it's called, so it's difficult for me to comment apart from non-standard is non-standard.
Symbian signed is *the* probelm (Score:3, Informative)
Well, go to iPhone than (Score:2)
Why not mention the other option? Have a guy/gal along with bunch of PR and lawyer people to review your application, decide it is not a threat to vendor and decide whether it will create (financial) armageddon for their cell network partners or not.
Dare to say ''Jailbreak''? Come on! What is the percentage? What is the guarantee that people happily cracked their phone OS will pay for yours?
Self signed apps have limitations, they are apps equivalent to desktop apps which can happily run from ''home dir'' (i
Re: (Score:2)
Can't argue with that. However, I think we'll have to see what happens with the Ovi store...it's not open yet.
IMO, they're going to have to have a cheap solution for the 'poor' developers. They used to have it such that a company would test and sign freeware apps at no cost, but I heard that effort fell-by-the-wayside in recent years. Maybe something like that could be made to work again...
Re: (Score:1)
Calling them 'mostly binary and source incompatible' is just rubbish and plainly FUD.
No, they were binary incompatible, there is not even a "mostly" about it.
Re: (Score:2)
Funny how I can install the same binaries on many S60 3rd edition phones....or am I misunderstanding what 'binary incompatible' means?
I know S60 2nd and 3rd needed different binaries, but the S60 3rd editions could all use the same binaries.
Re: (Score:2)
See here [nokia.com] for evidence of binary compatibility across S60 3rd edition releases. Specifically, post number 9 [nokia.com] confirms what I say.
Heck, on AllAboutSymbian [allaboutsymbian.com] they claim you can even install S60 3rd edition binaries on devices running S60 5th edition (only the Nokia 5800 at the moment, IINM) - here's one such quote, which is in a discussion [allaboutsymbian.com] about freeware for the Nokia 5800 :
"
Use this install file, the version for S60 3rd Edition FP1 phones, until such time as Nokia get round to doing a formal S60 5th Edition rele
Re: (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 S
Hopeless (Score:3, Insightful)
Qt would compile
gdb would work
You dont begin to get it. All these 'decisions' were driven by the wish to develop a proprietary lock-in product that actually failed in the business sense. Symbian and most other vendors in the embedded space do
Re: (Score:2)
Funny, because it's FOSS that's always re-implementing proprietary software features, poorly.
FOSS has its place, but it's in areas where you need a large number of not so highly skilled people all contributing and collaborating a little bit. Where
Re: (Score:2)
> All these 'decisions' were driven by the wish to develop a proprietary lock-in product that actually failed in the business sense.
Evidence, please.
As an aside, I have to laugh a little at someone saying, in the current world situation, that the free market actually works. The free market world seems to be falling apart, thanks largely to greed and lies. Contrary to what you say, it's the 'directed economies' that seem to be holding it all together (despite over reliance on exported to free markets). ..
Re: (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 edit
Re: (Score:1, Interesting)
Re: (Score:2)
Yes, descriptors take a while to get used to, but perhaps you should read up about why they are there in the first place before writing them off?
Descriptors are there because Symbian wanted to provide a string class with bounds checking and unicode support.
Woohey. It wouldn't have been necessary to make them suck so much.
Google for the different types of ROM memory phones use and the performance characteristics of each.
Care to enlighten us how these things are related in any way to Symbian OS?
Re: (Score:1)
Re: (Score:2)
...er, because it's only just been announced? In other words, it wasn't known before just recently, but now it is, so it's news.
Python (Score:1)
Why not convert the phone stack to python equivalents, and when everything is ready, change the kernel.
Re: (Score:2)
Re: (Score:1)
Yes they could make a transplantable layer first then move it to such technology.
Android (Score:4, Insightful)
Sounds like a response to Android, but a little late.
Other than install base for phones, what advantage does an opensourced Symbian have over Android?
There were rumors of Android and Symbian merging for a while, but it seems as though Symbian has taken to cheap heckling [zdnet.co.uk].
Re: (Score:3, Insightful)
...and a massive installed base, massive distribution channels, and clearly a huge number of phones planned to run it from several different manufacturers.
Actually, it might be more appropriate to ask what Android has over Symbian...the only thing I can think of is the development environment, but that's not so clear cut, in my mind at least.
Re: (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.
Re: (Score:2)
Lets not forget the technical users are getting pretty sick of Google's big brother tactics, their lame ''ooops, mistake'' tricks, their ignorance of the true king of phones (it is J2ME) and so on.
These days, the only EULAs I read in super paranoid mode comes with Google software since I am one of guys who doesn't buy ''we are good guys'' type of childish promises.
I used harsh words on purpose. It seems Google fan developer scene has no clue about how mad people (including non technical users) have become b
Re: (Score:1)
Do I want Google OS on my phone? No, not. Is it open source? I don't care.
then you seem to be the biggest dumbass there is. open source means google can't wrestle in their own interests at the cost of users. being open source is the biggest incentive for android, you can be sure that no company will undermine the users' or developers' interests.
Re: (Score:2)
How do you figure that? Google is a massive company with enormous wealth and the capacity to share some of that wealth with other companies who cooperate with them. If Google decides the next version of Android will have user behaviour snooping as a built-in feature, you really think the phone manufacturers are going to get together and fork their own version of Android and lose the marketing support of Google out of the goodness of their hearts?
Didn't Google recently shut down production of a phone because
Re: (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'
Re:Android (Score:4, Interesting)
Simple. We talked about, how people like what they are used to, in earlier news.
Well, I must say, judging the user-interface alone, I liked Symbian. Here in Germany, Nokia phones (with Symbian on them) pretty much dominated the market for a decade. Only recently have the SonyEricsson models taken over.
I know, that the programming interface of Symbian is a horrible horrible joke, that lets the Microsoft Internet Explorer pale in comparison.
So open-sourcing might make it possible to re-implement the horrible part, while leaving the user-interface intact, and hopefully also allowing backwards-compatibility.
We all wanted to program cool stuff for the Symbian platform... until we read about the API quirks. ;)
So maybe now we can.
But do we still want? ...With Android and others out there? We will only know, when we see it happen.
Re: (Score:2)
So open-sourcing might make it possible to re-implement the horrible part, while leaving the user-interface intact, and hopefully also allowing backwards-compatibility.
This is what Nokia is doing with Qt for S60.
Re:Android (Score:5, Funny)
Re: (Score:1)
Yeah, what he said. ie, mod him up
Re: (Score:1)
As much as I like Linux, and in time it may shoehorn nicely into portable devices it's hard to beat an OS designed for the task.
The advantages for Symbian are:
1. It was designed for portable/mobile devices
2. Made for resource limited hardware
3. Robustness
4. Single CPU operation
5. History/maturity
Now you can argue most of these points are derive from point #1. But what's the typical complaint about the G1? Battery life so short the device isn't use to many people. This is a major problem in a portable dev
Re: (Score:3, Interesting)
Symbian does very well in running on small device. It gives the program features to keep their application using small amounts of systems resources and tries to keep them robust.
Too bad these "features" actually make Symbian heavier than other operating systems. CleanupStack leads to bigger binaries than auto_ptr, you need write of code to do anything related to UI, you need heavyweight client / server architecture for many simple things (lots of context switchs), active objects are much heavier weight (and more error prone) than normal callbacks, ...
The fact is that Symbian's relative success has been mostly due to financial, rather than technical reasons.
And it's not like there h
Re: (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
Re: (Score:2)
(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)
I admit, I can't be assed to do the homework, so I wonder if you'd be so kind and share the numbers with us :D
Re: (Score:2)
I wasn't very clear about it -- I was implying that it was jumping on the opensource bandwagon, much as Mac OS X tried to ride the increasing interest in opensource technologies without the pesky problems of having to actually contribute much back, hence their choice of a BSD licensed operating system on which to base their code.
I've seen a bunch of other people talking
Re: (Score:2)
> I was implying that it was jumping on the opensource bandwagon,
Sure. Well, almost...actually, Android releasing a free$ OS meant that Symbian were at a distinct disadvantage since they were not free. I imagine that the license fees paid by Nokia for Symbian made it worth their while to make the purchase and then 'give it away' - ie open it up.
This is a good thing.
It was one of the primary reasons I saw that Google would do such a thing - now they can work on the platform much more easily; but that's ju
Re: (Score:2)
It is almost tragicomic that people who lives in Googleland can't figure the true size of Symbian or even Windows Mobile.
They are NOT struggling to compete with Android, they are setting their OS to open and free. You know, the OS which is installed to 100M+ devices.
We are speaking about World leader smart phone OS having a road map declared.
Re: (Score:2)
Re: (Score:2)
It's pronounced "Symbian, up yours too!"
Can I install it on my phone? (Score:3, Interesting)
I have a Symbian-based phone made by Nokia. What apparently happens with these is that eventually a new version of Symbian comes out, new phones ship with it, but the people with older phones are stuck with the old Symbian version. New applications will only be written for the latest Symbian version, and thus the older phones become pretty much useless over time - no matter how much potential they have hardware-wise. From what I've understood this is pretty much what happened for example with the move from S60 2nd edition to S60 3rd edition.
My phone is S60 3rd FP1 (Symbian 9.2), and there already exists S60 3rd FP2 (Symbian 9.3) and S60 5th edition (Symbian 9.4). So I guess my phone will become useless soon.
Will this Open Sourcing in any way help me with getting a longer lifetime for my phone? Or do I need to keep buying new phones just to get the latest Symbian version?
Re: (Score:1, Informative)
Re: (Score:2)
> Will this Open Sourcing in any way help me with getting a longer lifetime for my phone? Or do I need to keep buying new phones just to get the latest Symbian version?
I'm guessing - "not much". If it's open source, then you can probably do the work yourself (eventually, when it becomes properly open source), though I guess that depends on licenses and things.
Did you expect someone else to do all the hard and expensive work?
Re: (Score:1)
Open Source os that is designed for low power (Score:2)
Wouldn't that be the perfect os for the next version of the XO? They already have lots of apps for the arm platform. And Nokia could be a big sponsor for the XO.
Re: (Score:1)
Wouldn't that be the perfect os for the next version of the XO? They already have lots of apps for the arm platform. And Nokia could be a big sponsor for the XO.
Is it a coincidence that Nokia has announced plans to sell laptops? http://news.cnet.com/Nokia-considering-entering-laptop-industry/2100-1044_3-6249114.html?tag=mncol [cnet.com]
Symbian development (Score:5, Interesting)
If anyone here's interested in coding for an embedded operating system, I'd strongly recommend running the hell away from Symbian. It's awful.
Let us gloss over the lousy documentation (in which it's impossible to find anything, and where there are no links between chapters --- so, e.g., you can't follow a superclass chain up through the S60 chapter into the Symbian core chapter). Let us also gloss over the lousy build system (a horrible maze of crappy perl scripts, which, apart from being so hideously slow that our project takes the best part of ten minutes to build even if no source files have changed, doesn't allow you to have two source files in the same project with the same name. Even if they're in different directories). Let us also pass quickly over the debugger, trying not to make eye contact, that's unreliable, will only let you debug one task at a time, and which tends to crash if you do the wrong thing.
No, let's talk about the language.
You program for Symbian in C++. Good, you might think. No. This is C++ with all the good bits taken out and replaced by badly designed bits.
Let's take exceptions. There are no C++ exceptions. What there are instead are Leave codes; a macro-and-longjmp framework that replaces exceptions which allows you to throw an integer value and then catch it further up the call stack. Unfortunately because this is implemented without compiler assistance it doesn't unwind the stack frame, so destructors of locals aren't called! All is not lost, though: there's a complicated and easy-to-get-wrong manual cleanup stack on which you can push stuff that you want the system to free for you in such situations. God help you if you forget to push something, or pop something at the wrong point...
Let's take strings. There's no standard string class, of course. What there are are an even dozen different classes for storing strings in different ways: on the heap, on the stack, constant strings owned by someone else, etc. There are some superclasses that will allow you to pass references to these things around without having to worry about the implementation.
Except... it doesn't actually work. The various different string superclasses are incompatible. You can cast a TDes (mutable abstract string) to a TDesC (immutable abstract string). You can't cast a TPtr (mutable pointer to mutable string data) to a TPtrC (mutable pointer to immutable string data). Some of their system functions require you to pass in a reference to a concrete string type, so god help you if want to use a different implementation. You can't use certain implementations in certain contexts. The result is that for some operations you have to allocate a fixed-size buffer on the stack, call a system function to populate it, then copy the buffer into another buffer on the heap, because the buffer-on-heap object is immutable! Despite being resizeable and assignable!
Things get even worse when you want to store multiple strings. There's a labyrinthine maze of string array classes: arrays of fixed sized strings, arrays of descriptors, arrays of pointers to strings, arrays of pointer strings (which are different)... add this to Symbian's bizarre convention where a data storage class allocates memory in its constructor but does not free it in its destructor (which means the user must manually Close() method on all member variables) and simply figuring out who's responsible for freeing a particular object becomes non-trivial. I once spent three days trying to find out how to store an array of strings without leaking them. I kid you not.
(To be fair, they have been trying to fix this with OpenC++, a new programming environment based on, like, standards. It doesn't actually work. The interface to Symbian C++ code is patchy and poorly specced which means it's only really useful for running chunks of third-party code in a sandbox --- you still need to write your actual application in Symbian C++.)
Now lets move on to the OS proper. Like the languag
Remember ESR's Cathederal and Bazar (Score:2)
Most people havn't a clue how bad Symbian is, they just gave up at the sight, for contrast uxix/linux are mostly OK, mature and reasonably minimalist, and for any common
Re: (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-suo [nokia.com]
Re: (Score:2)
Mod parent up. The AC manage to point the responses to the major myths regarding Symbian.
Also, the carbide IDE is now free.
So we have a platform that is open (Symbian), will soon use Qt (that Nokia now is releasing as LGPL), has openC (that allows one to program in regular C if needed), has openC++ and boost integrated (allowing, among other things, one to program in regular C++ and use one of the most powerful open libraries available), and has a free Eclipse-based IDE.
I do develop for it and I like the pl
Re: (Score:3, Interesting)
Sorry for replying to my own post, but I forgot to mention something.
Nokia also has Maemo, that is a linux based platform. It is only natural that the two somehow "integrate". So maybe this could also be an advantage.
Re: (Score:1)
Re: (Score:2)
Mod parent up please. It's fairly well balance and reasoned, with references to back it up.
Should be at least 3/informative, IMO.
Re: (Score:2)
Sure, the current build system is a crappy maze of perl scripts but that will change (already has for some people) with the foundation to SBSv2 which is very, very fast and designed to exploit multiple cores.
This is something I've been wondering about - why does it take ages to implement something that could have been done with a bit of SCons tweaking?
Howard Stern will be happy (Score:1)
Howard Stern will be so happy. Wait, what?
prolonging the agony (Score:2)
I had hoped that Symbian would just go away quietly: it's awful to program, and its user interface is even worse. Open sourcing it is just prolonging the agony.