Nokia Could Make Linux Top Embedded OS
prostoalex writes "Nokia's experiment with N770 prototype device and its own Linux-based dev platform got the folks from ARCchart thinking - Is Nokia ready to jump the Symbian ship and switch to Linux? TechWeb chimes in: "Such a switch by Symbian would make Linux, in one fell swoop, the leading mobile device platform. It already is riding a wave with PalmSource's decision to port the Palm OS to Linux and a defection by Nokia would seal the deal.""
Today's employment section in Bangalore "Times of India" calls for software developers with experience in Symbian/Series 60/Linux developers. Read what you want into this development :-).
Remember to check http://www.maemo.org/ it's development platform for 770.
Yes but as they own half of Symbian, half of the $140m still belongs to them. In fact Symbian is not really and independent business so much as an outsourced R & D facility for mobile phone companies - which is why Psion, the only shareholder who was interested in making money out of it, sold their stake.
All Nokia's "smart" phones run two operating systems on a dual core TI OMAP processor. The DSP core runs the GSM kernel which does all of the hard real time work managing the signal processing and calls. The ARM core runs Symbian which manages the UI, apps, tcp/ip stack, etc. The GSM kernel sees Symbian as a kernel thread. This dual OS combination is what Nokia refer to as their Series 60 (T9 interface), 80 (Pen/Stylus interface), or 90 (Keyboard) platforms.
The low level GSM kernel has enough facilities to run a basic phone UI, simple apps and a java runtime environment - Nokia refer to it as the System 40 platform, it runs on a lower cost single core cpu and is what all of their entry level phones have used since 1999. That is what you are talking about and that is not Symbian.
I am responsible for some C++ components that build on Symbian, Solaris and Linux as well as some purely Symbian bits. Symbian has rich functionality in areas such as communications (obviously) and multimedia.
There are many wonderful ideas in it, such as the way it is based on a microkernel, the asynchronous IO mechanism (Active Objects) and ECOM which is rather like COM on windows. The fact that everything is in C++ is a boon too.
It is quite a mature system because it's simply the evolution of EPOC32 from the Psion series of PDAs. The Size and depth of the APIs is amazing.
There are some huge problems:
1) The base operating system is standard across phones but there are "environments" which consist of a GUI and various essential libraries (Series 60 or UIQ). The handset manufacturer has also, up till version 8, been free not to implement some of the Telephony APIs. It is hard, therefore to run exactly the same software on all phones. The situatio is probably still more standardised than Linux in that sense that it has only 2 GUIs and the multimedia stuff is completely standard.
2) It is built with GCC 2.92 where the support for exceptions was not good. They had to implement their own exception handling and a mechanism called the CleanupStack for freeing dynamically allocated memory in the event of an exception. It is unavoidably complex to use, non portable and the biggest bane to a Symbian C++ developer's existence.
3) The source is only open to those who pay a fortune for it and even then they get the base Symbian OS without the drivers for the phone models they use or the "Series 60" environment. This has hurt my company because we needed to understand certain aspects of the sound drivers - nobody could tell us and we couldn't look at the code ourselves because even though we have the base operating system source we haven't got the "Series 60" source.
4) Java on the phones is so crippled (e.g. not being able to open a file) due to their security fears that it is useful only for games and trivial applications.
Symbian 9 which is coming out with the latest N90 phone from Nokia fixes most things:
1) They have "bitten the bullet" and broken ABI compatibility to use the standard ARM ABI so now one can compile with GCC 3.4 with all it's great improvements. It is not clear whether the infamous CleanupStack and home-made exception mechanism has gone but I am hoping so.
2) As I mentioned, support for various Telephony APIs is now a requirement on the handset manufacturer.
3) Nokia Ported Python to Series 60 and unlike Java it's not crippled w.r.t. access to fundamental APIs.
4) There is a new security model which controls access to sensitive APIs. To get a public key certificate which allows access to the lowest level ones requires a payment which is annoying but at least it is now possible without buying access to the source at a huge cost.
Symbian was designed for much more constrained machines and with an inferior C++ compiler but the underlying design is very modern.
As another poster has said, it has an "ecosystem" across several manufacturers. To compete, Linux would have to be available in a standard version across a lot of handsets too. Destroying this ecosystem would eliminate a lot of development investment by third-party software vendors so I think that Nokia would be unwise to do that overnight.
Regards,
Tim
This is all just my personal opinion.
The Arc-chart article is factually wrong and assumptions made based on these 'facts' are very close to being rediculous.
I don't really have the time to dispell all errors in the article but I must address a few.
First, porting Series 60 user interface, and especially Nokia's base applications to linux is implausible - more likely scenario in that case is a complete rewrite due to heavy use of Symbian specific features such as comm/file/... servers, active objects, IPC and finally security.
Java VM sold as part of Series 60 is Sun's CLDC HI ported and maintained by Symbian, not 'written by Nokia' as the article claims. In addition to core MIDP2 features, most other major features such as PIM and file access (JSR-075), multimedia, bluetooth (JSR-82), location API, access to SMS and MMS are all developed and maintained by Symbian. Nokia does have a considerable Java resource but to my knowledge most of them work on integration, future (possibly CDC) and of course Series 40 (Nokia's non-symbian OS and UI).
Nokia has put in £50 million over it's licensing fees in 2004 to help Symbian and that was at the time of the Psion sale. The suggestion that Symbian license fees are something troubling Nokia is really really out of place because a) Nokia owns close to 50% of the company b) Nokia has ~$20 billion idle in the bank.
Symbian phones constitute 10% of Nokia's sales - Nokia has a large set of non-symbian technologies such as Series 40 - for their mainstream phones. This explains why has Nokia licensed ActiveSync and Window Media DRM directly, rather than through Symbian - so they can actually use it in non-Symbian phones.
Finally, using the announcement of 770 to draw conclusions about N-S relationship will not lead us very far. Following the same logic, if hotmail was using freebsd (at some point at least) would that mean that Microsoft is ditching Windows?