Symbian^4, Orbit and the compatibility break

Published by at

In the last few days there has been considerable comment, in various media channels, on some of the changes that are set to be introduced with the Symbian^4 release, including the breaking of backwards compatibility due to the retirement of AVKON and introduction of Orbit, which we first reported on back in May. With Symbian starting the process of communicating the changes to developers, and with renewed discussion online, it is worth revisiting the subject. Read on for further details.

In short, Symbian^4 will see the introduction of a new UI, which will result in a compatibility break. The first devices with Symbian^4 will ship in early 2011. This has generally been received as good news for consumers, but bad news for developers. However, this summary ignores some significant nuances.

Qt, Orbit and Direct UI

When we last wrote about Symbian^4, it had three key proposals associated with it: Qt, Orbit and Direct UI. These have now been voted on and accepted by the Symbian Foundation's Feature and Roadmap Council.

Qt is an application and graphics framework and is already widely used on a variety of other platforms. It can be thought of as the engine on which the moble specific Orbit and touch-specific Direct UI run. Together, the three components will make up the new application framework and UI layer from Symbian^4 onwards, replacing AVKON. Qt is at the heart of Nokia's platform strategy - not only it used in its desktop applications, it is the base application framework for Maemo 6. A cross platform application framework brings obvious advantages to the savvy developer.

Orbit is an extension library for Qt which includes more than 50 UI widgets designed for mobile devices. Orbit can potentially be used on both touch and non-touch devices. Effectively, Orbit provides Qt with UI extensions that are optimised for use on mobile devices. The Orbit widgets are the 'elements' you see on the screen (e.g. the status bar) that make up the UI and they will replace the current AVKON widgets. The key advantages of Orbit are that it will allow for better use of screen real estate, it will have a flatter (design) structure and it will have a more directly visible command structure (i.e. less things 'hidden' under an 'Options' menu).

Direct UI encapsulates interaction and navigation logic, together with finger/touch-optimised screen layouts. It describes how the Orbit widgets are combined together to create the UI and how the elements interact with each other. Currently the Direct UI proposal only covers touch and hybrid (touch + hardware keys) devices. It does not cover non-touch devices, although it is understoodNokia may make a proposal for these for Symbian^5. This means that the current discussion and comments around the break in backwards compatibility currently only applies to touch devices (for example, those which currently run S60 5th Edition).

Symbian 4

Source: Symbian Platform Plan


Compatibility break

The compatibility break is caused by the addition of Orbit, not Qt itself. Qt is already available as a runtime for the platform (Symbian^1) and will continue to be so for Symbian^2 and Symbian^3 (where it will start shipping with the platform).

The break in compatibility applies to APIs that impact on the UI (AVKON); these will be replaced by equivalent APIs for the new UI (Qt/Orbit/Direct UI). Developers will therefore be required to re-write the UI elements of their applications. The large majority ofSymbian APIs are not related to AVKON and therefore will not be effected; they will continue to be available as before. With this said, the severity of the compatibility break should not be underestimated. All native applications will have to be, at least partially, rewritten forSymbian^4.

It is, however, worth noting that the compatibility break only applies to native applications. Developers using runtimes such as WRT and Flash will not be effected. While these runtimes will continue to be updated to provide additional functionality, they will be fully backwardly compatible. This means that, for example, you could write a WRT widget today and it should run unmodified on aSymbian^4 device.

Any compatibility break is bad new for developers, but the necessity for an evolution of Symbian's UI layer is hard to question. AVKON was originally designed for candybar style non-touch screen phones (an area where it still excels), but it also expanded into other areas. Its flexibility has been impressive (consider the range of devices it encompasses), but not perfect; UI issues were seen in the E90 and became more apparent with the S60 5th Edition touch devices. Competing devices and platforms, such as the iPhone and Android, have also played a role in shaping relative opinions. Similarly, over time, device functionality has grown at an ever increasing pace, taking AVKON beyond what the originally designers might have envisioned.

The advantages of maintaining backwards compatibility are self evident. However, there comes a time when the value gained from maintaining a 'legacy' overhead is outweighed by its disadvantages. Where exactly that point falls is open to debate (generally consumers want faster changes, whereas developers, who have made code investments in the platform, want continuity). This is an issue that all software platforms inevitably face, especially those that seek to cover multiple market segments and operate in a fast moving industry.


AVKON = the Dodo? Not so fast!

So AVKON is dead? No, not really - not yet. The Symbian Foundation is now beginning its efforts to reach out to developers to explain the changes that will be happening in the future. The firstSymbian^4 devices will likely hit the market in early 2011. Even at this point, non-touch devices will continue to use AVKON. It is likely that AVKON will be phased out for non-touch devices at some point in the future (Symbian^5 or Symbian^6), but this has yet to be determined.

In the intervening time period (and for the product life cycle period afterwards), AVKON-based devices (Symbian^1, Symbian^2 and Symbian^3) will continue to ship. A rough estimate (17.4 million last quarter) suggests that this could be in the 100's of millions. With the existing installed base (225 million or so) that's a very substantial market opportunity. Futhermore, AVKON will continue to evolve in the intervening time period. Symbian^2, amongst many other things, includes location triggering (application and UI events dictated by the user's physical location) and a widget-based homescreen as standard; Symbian^3 includes graphics support for advanced layering and effects (previously known as ScreenPlay).

It is important not to get too far ahead, though. The reason we are hearing about this now is because of the Symbian Foundation's openness and its desire to communicate and discuss the forthcoming changes, allowing developers to plan accordingly for the future. This is in definite contrast to the binary compatibility break of Symbian OS 9, where there was less communication and only a year between the OS's announcement and the shipping of the Nokia 3250.


Further reading

You can see an overview of Symbian's platform plans in the Symbian Platform Plan document (follow the platform plan [PDF] link), which is being regularly updated (current version here).

More information is available on the Symbian Developer website and the Symbian Foundation Blogs.

If, as an interested party (e.g. a developer), you are concerned about these changes and want to voice your opinion, we would recommend you join the discussions that are taking place in the Symbian Foundation Developer Forums.

Here's a video in which Ian Hutton, Chair of the Symbian Foundation's Feature and Roadmap Council, gives an update on the roadmap including the Qt, Orbit and Direct UI proposals.