Platform Compatibility

symbian.gifOne of the lesser promoted features of Symbian 9 based development is that Symbian, Nokia and UIQ have committed to backward binary and source code compatibility of new phones. What does this mean? Well, if you are a S60 end user and you purchase a third party application, it should also work on future Symbian 9.x (Series 60 3rd Edition) phones.

For the developer this means you don’t have to supply a new version of your application when a new phone ships. It also means you should be able to compile your code under future S60 3rd Edition SDKs. However, this does NOT necessarily mean you can run applications created by newer SDKs on older 9.x based phones. This means that although Nokia have released S60 3rd Feature Pack 1 and UIQ have released 3.1, you should consider using the older S60 3rd and UIQ 3.0 SDKs to maximise compatibility. This is obviously unless the newer SDK provides new features that you must have in your application - in which case you will only be compatible with the later phones.

The backward compatibility of new phones isn’t just a convenience for end users and developers. It can also aid (and in other cases hinder) development of the OS itself. It’s a very important part of what distiguishes a ‘platform’ from a proprietary implementation and is something that can be difficult to achieve. Going forwards, backward compatibility is something the iPhone and various Mobile Linux implementations will have to tackle if they wish to be considered a programable platform.

Coincidentally, Fabrizio Errante has recently asked why Symbian doesn’t become open source.  I suspect this would eventually break backward compatibility and fragment the platform. Without tight control, the OS would probably evolve variants that wouldn’t be backward (or even sideways) binary or source compatible.

Gabor Torok has also asked why every Symbian API can’t be made public. I think exposing APIs that aren’t going to be backward compatible would allow developers to create applications that break when a new phone is released.

Comments are closed.