If the three most important things to Symbian are "developers, developers, developers" then the next three must be "tools, tools, tools". The Smartphone Show certainly brought some interesting developments in this area.
Perhaps the most inevitable of the announcements was the launch, as a technology preview, of Qt for S60. A result of Nokia's acquisition of Trolltech (now rebranded Qt Software) Qt allows C/C++ developers to create applications that run across multiple platforms, both desktop and mobile. It's not a write-once-run-everywhere holy-grail. While Qt offers developers the most common functions as part of the portable packages, specific platform or device features require developers to dive back into native APIs. This issue can be avoided by simply sticking to the available Qt APIs. Less avoidable, however, is the UI issue: what fits on a PC screen does not necessarily fit on the screen of a mobile device. In addition, the preview demonstrations seemed to show another issue, screens composed of conventional UI components (text boxes, radio buttons etc.) simply don't look like S60, when running on S60. Benoit Schillings, Qt Software's Chief Technologist, pointed out that Qt can skin applications, but was vague about support for the S60 UI style. This issue won't be a real concern for enterprise developers, but it is a potential restraint on adoption for mass market applications.
A similar UI issue exists with the other runtime announcement at the show, that of support for .NET 2.0 in S60.NET. Dušan Babich was more open about the native UI issue, pointing out that constraints exist because .NET includes UI components, such as the data grid, that have no analogy in S60. With these exceptions Red Five Labs long term goal is to present the UI in native S60 where possible. S60.NET now also includes a managed name space for specific S60 features, such as image capture through the camera or access to information from the accelerometers on Nokia and Samsung devices.
On the more pure tools front, Symbian announced the Symbian Analysis Workbench (SAW) and, in conjunction with ARM, the ARM Profiler for Symbian. At first sight these seem very similar products, however they are differentiated by target market (as well as features). The SAW is a free tool that plugs into Carbide.c++ and targets third-party developers, while ARM Profiler is clearly designed for the OEM market. Demonstrations of both products showed access to a wealth of information that will assist developers in identifying the more esoteric application issues associated with performance and power consumption. Both tools show clearly that the headline issues in developing for Symbian have moved from simply getting code onto Symbian to optimizing that code: An indication of a transition to a more mature software development market place.
Another approach to these issues is being explored by Coverity.Its tools performs static code analysis to identify coding defects. The company is looking at using the same tools to identify potential issues that could affect power and performance, particularly in the SMP environment.
Finally, a mention of Electric Cloud. Its primary tool is a managed build environment that has been able to reduce build times on complex systems by 20 fold.. Very much an OEM and platform oriented tool, although probably applicable to developers of larger S60 applications particularly those managing cross platform builds. For device OEMs it seems to offer some significant productivity improvements by reducing the time engineers have to wait for their changes to be ready for testing.
Overall the tools story for native Symbian C++ developers seems to be improving greatly. Watch out for more in depth coverage of these tools in the coming months.
|