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.""
Nokia to move off Symbian? Unlikely
ARCchart do allow that the porting process would be possible if technically not an easy feat. This rather understates the difficulty involved. The strength of Symbian is and always has been the fact it has been designed as a mobile OS from the beginning of its life. From release 6 onwards it has been designed with mobile telephony at the heart of the OS. As a result the Symbian OS is structured is some fundamentally different ways to other OSs. Power and performance management are key considerations in design from the kernel upwards. As a result the Symbian OS is the most powerful mobile OS available. It would require fundamental changes in Linuxs core to achieve similar specifications.
WASTE - The Secure P2P
Hmmm.... the ability to PERL script my phone into calling me every 5 minutes when I'm down at the pub is going to make me look popular....
*wakes up, gets back to work*
READY.
PRINT ""+-0
I know everybody here would love the idea of Nokia switching to linux, but let's not get carried away. What would Nokia benefit from that:
1) Since Nokia owns 48% of it, Symbian is "as open and free as necessary" from Nokia's point of view. They get to decide how the OS evolves and get their share of the profits.
2) Symbian is stable and has functionality made specifically for mobile phones. A new Linux platform does not offer this. There are no short terms benefits of switching.
3) Licensing Series 60 is a business for Nokia and something they have huge investments in. They can't switch unless it doesn't affect this.
4) The reason Symbian exists, is that Nokia doesn't wan't to spend resources to development of an OS.
The only way I see Nokia switching would be that Symbian would do it. And why would they?
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?