martes, 13 de marzo de 2012

The History of Symbian's Secret Fragmentation

Ancient History

EPOC, the operating system that would become Symbian, began life in the mid-nineties, powering devices such as the Psion Series 3, 3a, 3c, and 3mx; as well Oregon Scientific's Osaris PDA. The next release of EPOC would be called EPOC32 – targeted at 32 bit ARM processors, and the original version was retroactively named EPOC16. EPOC32 would power devices like the Psion Series 5, 5mx, and Series 7.


The Psion Series 3a

All of these devices were personal digital assistants (PDAs), and at this time mobile phones were in their infancy. However, if you ask any old timer (e.g. the AAS team), they'll tell you that many smartphones still struggle to do things that these old PDAs did with ease. Some even had replaceable batteries, running on AA or AAA batteries that lasted for weeks and you could buy replacements from just about anywhere for a few pounds. They also had far superior physical keyboards to anything that we have today.


The Psion Series 5mx keyboard putting the E7 to shame!

Time moved on and in 1998 Psion's software business was spun off into Symbian Ltd – a joint venture with Nokia, Ericsson, and Motorola; and EPOC32 was renamed Symbian OS (version 6.0). The days of the British made palmtop computers by Psion were coming to an end, and the torch was eventually handed to Nokia.

As its first offering to the Psion faithful, Nokia produced the 9210 Communicator, though it took a step back by omitting the touchscreen elements of the UI that had been introduced with the Psion Series 5. They say hindsight is 20/20, and the decision to omit a touch interface arguably set Nokia years behind the competition that it would one day face – namely iOS and Android.


The Nokia 9210 Communicator
Image credit: JPK 

By 2003, Symbian had advanced to version 7.0 and we had several different user interfaces. Sony Ericsson produced the P800 which was the first commercial release of the UIQ front-end, which would go on to be used in many other smartphone devices, such as the P800i, P900, plus devices from Motorola and BenQ. Meanwhile, Nokia were sporting Series 60 (also used by Siemens, Panasonic, Sendo, and Samsung), Series 80 (on its Communicator range), and (the touch-based, but severely underdeveloped) Series 90.

The S60 Era

By 2005, Symbian 9.1 was released and Nokia standardised to Series 60 3rd Edition, rebranding the platform as "S60 3rd Edition". This was one of Symbian's biggest periods of fragmentation, with a very necessary (for 'Platform security') "binary break", making applications written for Series 60 2nd Edition (and before) incompatible with the new operating system. However, while moves between earlier versions had needed some migration, the intention with S60 3rd Edition (onwards) was that there would always be backward compatibility, as shown in the chart below. However, the unforseen introduction of touch interfaces would make this roadmap somewhat out of date.

The history of Symbian's development

The compatibility roadmap for S60.
Image credit: Nokia Developer 

There would be several more upgrades to S60 3rd Edition, all having landmark devices. Feature Pack 1 brought us the seminal N95 and venerable E71; Feature Pack 2 powered the N86 and E72 – all devices that I'm sure have a special place in the hearts of our readers. While having sequential upgrades to the S60 line, backward compatibility for applications (to the start of S60 3rd Edition, at least) ensured there was no fragmentation.


The Nokia E90, the first S60-powered Communicator.

By 2007, the iPhone had suddenly made touch interfaces cool again. Nokia had to be seen to be keeping up, even though it was having a massive hit with the N95. So, the Nokia 5800 with S60 5th Edition was rushed out as soon as the next point release (9.4) of Symbian was ready. It increased the screen resolution from 240x320 (QVGA) to 360x640 (nHD) and added touch control, which instantly created a two tiered platform. Further to this, as Sony Ericsson and Samsung dabbled in the Symbian world, a world familiar to Android users temporarily emerged, with S60 5th Edition devices being produced by manufacturers trying to differentiate via different UI layers, none of which provided a coherent user experience.

Symbian^3, Anna and Belle

As of 2010, Symbian^3 (SymbianOS 9.5) was released, and the S60 brand was officially terminated. While touch was deemed the way forward, there was a still a massive user base of non-touch devices for developers to market to. Plus, not all S60 5th Edition applications would work on Symbian^3, but these were in the minority and developers quickly caught up. This was partly thanks to Symbian's support for scalable UIs which, if properly used by developers, meant that minimal migration was needed for the few devices that had a non-standard screen resolution; i.e. the E6 and E90.


The original four Symbian^3 phones (left to right): N8-00, E7-00, C6-01, C7-00.

During periods in 2005 and 2011, the Symbian line was fairly well consolidated. However, development has always brought with it several branches to support. It wasn't long after the original Symbian^3 devices had been on the market that the next major operating system update, Symbian Anna, was announced. This introduced several features; most visible was the split-screen keyboard, which some applications still do not support (at the time of writing in 2012).

Also, Nokia began announcing new Symbian devices which were from different hardware families than the N8, C7, E7, and C6-01. For example, the Nokia 500 sported a much faster CPU than previous models (1 GHz) but lacked the graphics acceleration chip that was featured in the original Symbian^3 devices. This meant that certain applications, mainly 3D games, were not compatible.

The Nokia 500 – Its 1GHz CPU compensated for its lack of GPU.

Similarly, as Nokia Belle (Symbian 10.1) arrives on Symbian devices, we have another avenue of incompatibility for applications. The overall effect of Belle incompatibility has been minimised, thanks to Nokia's adoption of the Qt framework. Nokia gave developers an extremely long lead-in time to get their applications rewritten into Qt and for Qt libraries to be added to Symbian^3 and Symbian Anna devices (which didn't always go smoothly). Also, Nokia announced the design style guide for Belle well in advance of its release. Overall, compatibility issues are limited to slight changes in the platform's APIs, which only require modest code adjustment - this should be constrasted to the massive binary break made when Nokia switched to S60 3rd Edition.


Nokia Belle.

By transitioning users to the Nokia Store for finding their applications – rather than side-loading from third parties – the compatibility gaps have been papered over quite well. The Nokia Store website and device client both filter available apps for the user's device. However, this has been an imperfect system as developers do not always set the right (or enough) device flags and thus many applications that would work on a given device are nowhere to be found in the Store.

Closing thoughts

When Symbian has had more than one version of its UI on sale at the same time, it certainly hasn't helped. However, it has escaped the criticism that Android has received because in most cases the UI differences were clearly a mark of the host device – such as touch versus non-touch. In other cases, such as S60 3rd Edition feature packs, the overall user experience was not sufficiently different, nor were there incompatible applications, and so end-users were largely unaffected.

Looking forward, future fragmentation should be kept to a minimum thanks to standardisation from Qt and obfuscation from the Nokia Store.

What do you think? Has Symbian been noticeably fragmented? Have you had issues with application compatibility? Tell us your stories in the comments.

David Gilson, 12th March 2012.

No hay comentarios:

Publicar un comentario