There may be no such thing as a free lunch, but with Symbian OS v9.5 there are free third-party application performance improvements, along with a host of new features. Richard Bloor talks exclusively to Symbian about the latest incarnation of its operating system.
Richard: How do you see the performance improvements delivered in Symbian OS v9.5 benefiting developers?
Jorgen Behrens, EVP marketing: The performance improvements we are delivering will mean that applications run faster. Importantly for developers many of these improvements are available without having to change a single line of code.
For example, many applications, particularly those which have been designed to run on multiple operating systems, use large DLLs. These are inevitably slow to load because the entire DLL needs to be in RAM before an application can start using it. Developers can overcome this issue by breaking their DLLs down into small units. However, this inevitably involves significant effort. With demand paging the operating system effectively breaks the DLL into small units for the developer, giving in instant performance improvement with no coding effort.
We believe we have created a particularly efficient implementation of demand paging. On our test boards we have seen large applications, such as web browsers, starting almost before the user can release the select key.
Similarly, file system caching will have a big impact on application performance, particularly for data intensive applications. Again developers don't have to change any code to take advantage of this. However, they can programmatically enable and disable caching to achieve the right balance between performance and data integrity.
These changes will have a big impact on application performance, but importantly third-party developers can take advantage of them without any need to optimize their applications.
Richard: What was the motivation behind introducing a SQL database?
Bruce Carney, director of developer programs and services: The main reason we decided to introduce a SQL database is because it's a very well understood paradigm within the industry. This means, in much the same way as P.I.P.S does, it eliminates barriers to existing solutions being ported to Symbian OS. It does this because it reduces the learning curve for developers wanting to build database centric applications for Symbian phones.
I should point out that this does not mean we are replacing the existing Symbian DBMS, rather providing an alternative technology. Existing DBMS support will remain in the operating system so developers won't need to port their applications if the DBMS remains the best implementation option. For developers who want to port, there is a compatibility layer on top of the SQL database to help the process. To take full advantage of SQL however, applications will have to use the new API.
Richard: So which database will be the best one to use?
Jorgen: The performance characteristics of the two databases are quite different. We expect that there will be cases where applications are better off using SQL and others where using the existing DBMS will be most appropriate. For example, for applications that rely heavily on searching a database, the SQL database will probably be the best option. This is because the SQL database provides features such as indexing, which improve search performance.
One interesting thing we confirmed in implementing the SQL database was that our DBMS is very fast, because it's highly optimized. Equally, the SQL database is not a general purpose database; it has been modified for embedded use. Based on the open source SQLite, it is very robust and performs well on battery operated devices. We have also undertaken a number of optimizations to make it suitable to Symbian OS, for example by implementing platform security. In making these changes we worked closely with the SQLite project team. We certainly believe it's going to be popular, particularly for applications with high levels of cardinality within their data.
Ian Hutton, v9.5 product manager: The SQL database will also be important for developers bringing desktop and server-based applications to Symbian OS. The SQL database extends the opportunity provided by P.I.P.S by allowing desktop developers to work with technology they know. Being able to work in this familiar environment will be of particular benefit to enterprise developers, although the SQL database will undoubtedly be useful to many other developers wanting to build Symbian OS applications.
Richard: Does the new bearer mobility functionality require application changes or does it handle network switching automatically for applications?
Bruce: It is not available to applications by default. Developers will need to make some changes to their application to use this feature. However, the changes are not significant and we have been able to migrate our own internal code quite easily.
Richard: When can developers expect to see the features of Symbian OS v9.5 on shipping phones?
Jorgen: We expect to see the first phones based on Symbian OS v9.5 to start shipping sometime in 2008. However, it's entirely possible that some v9.5 features will be delivered into v9.3 or v9.4. It's not been uncommon for us to release features in earlier versions once they've been verified in their target release.
Richard: What new applications do you see these new features enabling when phones come to market in 2008?
Jorgen: We expect to see new applications in the area of real-time multimedia, such as voice over IP, streaming audio, streaming video, and TV. These applications will benefit from the changes we've made in the IP networking subsystem. These changes mean real-time applications can guarantee their network quality of service. For example, if a user is making a voice over IP call it won't be interrupted if their push e-mail system tries to deliver an e-mail. As users gain familiarity with the capabilities of their smartphones we expect to see them commonly using multiple applications at the same time. Maybe listening to music while answering their e-mail. Improvements in the IP subsystem and memory performance will be key for enabling these use cases.
We also feel that P.I.P.S. and the SQL database will stimulate desktop developers, particularly in the enterprise space, to more heavily target Symbian OS. There are literally tens of thousands of projects that could be brought over.
Ian: From my point of view the location-based services subsystem is perhaps the most interesting. I can see location information becoming pervasive in third-party applications. I'm sure that some of the best and most interesting uses of this technology have not been thought of yet. So this new subsystem will open up a whole new area where third-party developers will be able to start playing.
Bruce: I read a blog entry recently that was asking whether Web 2.0 is really Mobile 2.0. If you look at what is happening in the mobile space, it's all about connected applications. But unlike the desktop, mobile devices have the added dimension of location. As Ian said, when developers combine connection with location we will start seeing some really interesting applications coming out.
The key thing about this release is that it is not necessarily one particular technology that will make the difference, but the opportunity that developers gain to use multiple technologies. It's making the connections between these different technologies that is going to deliver truly innovative applications to mobile users.
Richard: You have described v9.5 as a significant release. In the past significant has also meant compatibility issues with software developed for earlier releases, are there any such issues in v9.5?
Jorgen: Despite the fact that this is a significant release, with many new features, it retains full backward binary compatibility for public APIs with earlier v9 releases. So developers should not need to recompile or repackage applications they have already released for S60 3rd Edition or UIQ 3.
While it won't affect most third-party developers, some of the APIs available to hardware manufacturers and licensees maintain source compatibility only. However, as these APIs provide services for device drivers and the like, the affected code is commonly recompiled for each new device anyway, so the lack of binary compatibility is unlikely to be an issue.
Richard: Are users going to see real performance improvements, or is performance simply compensating for the additional features?
Jorgen: We feel that users will see a significant performance improvement. These changes are doing much more than simply keeping up with advances in functionality.
Richard: What about device manufacturers, will improvements in RAM handling simply compensate for a larger ROM?
Jorgen: We impose a limit on ourselves in terms of code growth to around a megabyte a year; this is not an awful lot. In addition, many of the new features are configurable, so if a device doesn't include the hardware to utilize a particular piece of operating system code it can be omitted from the phone. Fortunately, the operating system is very modular from this point of view.
We often get asked whether we may one day release a Symbian OS Lite. We don't see the need to do this because good engineering allows us to add functionality or renew whole subsystems, like the IP networking stack, without growing the hardware requirements. In fact, features such as demand paging potentially reduce the hardware required.
For example, despite the additional functionality delivered in v9.5 when it is booted up on a reference board there is more free memory than with v9.1 or v9.2 because of demand paging. This means device manufacturers have options to deliver phones with less memory, but similar performance to today's devices; deliver the same memory as we are seeing in today's devices, but let the user do more; or add more memory and allow the user to do even more.
Richard: This may seem like a silly question, but what happened to v9.4?
Jorgen: There is in fact a v9.4, but we did not publicly announce it as it is a fairly minor release. Most of its features are under-the-hood. These features are important to our licensees, but have little or no direct impact on developers and end-users.
Richard: What is the significance of this release in maintaining the competitive advantage of Symbian OS?
Jorgen: This is a very important released to us and quite big in comparison with other recent v9 updates. The performance, battery life, and memory improvements all help take the hardware requirements for Symbian OS phones down a notch. This means our licensees can create lower-cost devices.
One problem we have in measuring a competitive advantage is finding operating systems to compare Symbian OS to. Take Microsoft Mobile, this operating system is very enterprise centric, which means you can make competitive analysis against RIM for example. However, it's hard to compare Microsoft Mobile with Symbian OS because Symbian OS does so much more. Similarly there is really no Linux based platform we can compare with, because they don't provide the same breadth of features.
To judge our competitive performance we break Symbian OS into around 25 functional areas, such as the kernel, user interface, graphics, audio, and video. Then we look for the best performance in each of these functional areas on competing operating systems to create an imaginary competitor, which delivers the breadth of features seen in Symbian OS. We then compare Symbian OS to this hypothetical competitor.
When we do this, we see that with Symbian OS v9.5 we are making some significant steps to extend our lead. Take battery life for example. This is clearly critical for intensively used mobile devices. We have undertaken benchmarks comparing Symbian OS phones with Microsoft phones and these show that (based on batteries with similar capacity) Symbian OS phones have one and a half times the battery life of Microsoft Mobile devices. This is a big difference and we are doing everything to make sure we maintain this difference.
No other operating system offers a true combination of productivity for enterprise users and excitement for consumers. With Symbian OS v9.5 we are taking this capability further.
Read more about the features of Symbian OS v9.5 here. |