The Symbian Expo is the annual gathering of the Symbian economy. It becomes slightly bigger every year (a little bit more than 4000 visitors registered to this year's edition). This first report focuses on the developer tools (IDEs, test tools,....):
IDE
The CodeWarrior IDE Pro Edition has been recently upgraded to v2.8 (the personnal version remains to 2.5). The main feature is the suport for Symbian OS v8.0/v8.1a and several minor UI enhancements.
The OEM and PRO version will be upgraded to v3.0 before the end of the year. This version will add support for the Symbian OS 8.1b and the move to the new ARM EABI standard.
The support of on-target debugging for the Series 60 platform should be added within the next 12 months (but for Series 60 v3.x based phones only). Unfortunately Series 80 / Series 90 will not take benefit of this as this feature as a lower priority on these platforms.
The recent acquisiotion by Nokia of the Symbian OS Tools team and IP from Metrowerks might be profitable for all developers. As the matter of fact, Nokia can inject a lot more of cash for the development of these tools (the development team has already doubled and is still growing) and does not expect to make big money from their sales as they are just "enablers" for the mobile and service sales. Nokia also claims that every UI environment will be threated equally, so Codewarrior will continue to support UIQ development (and possibly other environment like the Japanese UI used by Fujitsu when required).
Borland was presenting its C++BuilderX v1.5. The orientation toward enterprise application developer is clear. And the combination of the Together UML modelling tool with the integrated RAD tool for Series 60 makes a powerful tool. A new v1.8 version is being sampled to beta-tester but we cannot get informations regarding the new features.
A good news is the presentation of a new Eclipse plug-in on the Symbian booth. This Eclipse solution was created through an Academic Outreach project involving UCL students during their summer vacation. The plug-ins, which work with the free Microsoft tool chain, enable developers to manage, build and run Symbian OS C++ projects. This plugin should be slightly mode advanced than the one released by Mikolajz Zalewski but still not have any debugging support. However, this may be solved in the future.
Test Tools
With DRM solutions and UI personnalisation, Test tools were highly represented on the Expo. The first tool is Code Scanner by Mobile Innovation is a static software analysis tool, somewhat similar to PC-Lint. This software analyses each C++ source file, MMP files, resources and documents ti find defects, glitches and inconsistencies. Common errors like misuse of cleanup stack or descriptors can then be identified. The tools ifs however a bit too strict and will raise an error for a simple:
TBuf<5> myDesc;
It is true that numeric constant are not the best way to write good but maybe a warning would have been enough. This is just a detail of course and if you like these kind of tools - I do - CodeScanner looks promising. The tool is available in several flavour:
as a Visual C++ plugin (available)
as a Codewarrior plugin (to be released in 2005)
or as a command line tool.
The plugin version is reasonnably priced (400 US$) while the command line version is only for big companies that needs to integrate it in custom build script (35,000 US$ for 20 licenses).
From Mobile Innovation as well, Try is a script based software tool that enables Symbian OS applications to be tested automatically. You can read a short presentation of the tool here. The price of the solution is around 35,000 US$.
Digia has launched and demonstrated a new version of Digia Quality tool family at Symbian Expo 2004. Digia Quality Kit is a set of three products for test creation, execution and management especially designed for the Symbian smartphone environment:
EUnit SDK for Unit, Module and Integration testing
AppTest SDK for Integration, functional, and system testing
a manager for the integration of the two products above.
This tool is the "less expensive" test scripting tool. But with a cost of 5,000 Euros, it is difficult to say that it is affordable. EUnit and AppTest are available separatly if you don't need or can't affor the whole package (between 2,000 and 3,000 Euros each).
Digia and Metrowerks have also announced plans to collaborate on providing tighter integration between Digia QualityKit and Metrowerks CodeTEST code analysis tools.
Metrowerks was of course demonstrating its CodeTEST solution. CodeTEST is a dynamic software analysis tools that is made of the following modules:
CodeTEST Performance, a profiling tool to help you identify bottlenecks in your code.
CodeTEST Trace, to tracks in detail the execution history of a program at the RTOS level, control-flow and source levels, making it easier and faster to determine the root and triggering consequence of particular issues.
CodeTEST Memory, a memory checking tool to identify leaks and memory consumption.
CodeTEST Advanced Coverage to ensure that each decision in the program has been taken on all possible outcomes at least once and get a detailed overview of which part of your code has been tested or not.
Strategic Test Solutions is another new player in the Symbian economy. As their name indicate, they specialize in verification and test services. There is currently no product ready and they can only present testing service. However, they were presenting an internal tool - which will probably be rolled out as a standard product in 2005. The "plus" in their solution is the integration of a optical character recognition engine: as a result of a test, the application is able to convert into plain text specified areas of the mobile screen. You don't need to rely upon bitmap comparison to check whether the test result is OK or not. Their tool will be however quite expensive (~14,000 Euros).
The last contender in this area is TestQuest. No demo was running at the Expo. This is however an expensive solution mostly targeted at hardware manufacturers.
Other tools
IMHO, the greatest tool of the show was Peroon's S2U. This tool is an add-on to the standard UIQ v2.1 SDKs which enables Nokia Series 60 v1.x applications to be built, and executed as native UIQ v2.0/2.1 applications using the standard UIQ build
procedure. This is made possible by using S2U header files and link libraries as well as installing the S2U DLL with the target application. The ultimate result is that a developer can use a single application code base on both the Nokia Series 60 and UIQ platforms. The tool is really impressive: I had a small Series 60 game recompiled and running for UIQ in less then 10 minutes (and most of this time was spent reading the S2U user manual...). Get ready for a review of this tool very soon!