Proceed to WirelessDevNet Home Page
Publications, e-books, and more! Community Tutorials Store Downloads, tools, & Freebies! IT Career Center News Home
newnav.gif

Newsletters
EMail Address:



   Content
  - Articles
  - Columns
  - Training
  - Library
  - Glossary
 
   Career Center
  - Career Center Home
  - View Jobs
  - Post A Job
  - Resumes/CVs
  - Resource Center
 
   Marketplace
  - Marketplace Home
  - Software Products
  - Wireless Market Data
  - Technical Books
 
   News
  - Daily News
  - Submit News
  - Events Calendar
  - Unsubscribe
  - Delivery Options
 
   Community
  - Discussion Boards
  - Mailing List
  - Mailing List Archives
 
   About Us
  - About WirelessDevNet
  - Wireless Source Disks
  - Partners
  - About MindSites Group
  - Advertising Information
 

The WDN Symbian DevZone... Richard Examines Offerings From Metrowerks

by Richard Bloor, June 24, 2002

Until the release of Symbian OS 7 software development was highly reliant on Microsoft tools across the entire development lifecycle from OS to third party applications. Alternative tools are now becoming available and in this first of a two part article we take a look at the offerings from Metrowerks.


When Psion redeveloped their SIBO operating system and created EPOC, the core of the current Symbian OS, in 1997, they chose Microsoft Visual C++ as their primary development tool (although ARM tools are now also used for some hardware work). At the time this choice was made because of Visual C++’s powerful debugger but over time it has become something of a hindrance to Symbian, for two reasons.

The first reason is fairly obvious. Microsoft is a direct competitor to Symbian with the Pocket PC Phone Edition and Smartphone 2002 versions of the Windows operating system. So using Microsoft tools in the device creation process opens the opportunity for Microsoft to interact with Symbian Licensees more than Symbian would like.





The second reason is not apparent unless you have undertaken development for Symbian in Java or C++. The process of developing an application using the Microsoft tools, or a Java IDE, required the developer to switch between the IDE, emulator and the command prompt to write, test, debug and package the application. While it is not a difficult process to learn it was time consuming and, as with any command line process, tended to be tedious particularly when debugging on the device.

It was almost certainly with these issues in mind that Symbian approached Metrowerks to discuss building an alternative tool to support OS, device and third party development.

The first products resulting from this work appeared this year. CodeWarrior Development Tools for Symbian OS Professional Edition, Version 1 provides for C++ and PersonalJava development on OS version 7. It is currently available bundled with the Beta UIQ SDK for the SonyEricsson P800 through Ericsson Mobility World. This tool is prices at $995 and requires basic support to be purchased at $500 per year from Ericsson. While the tool can be purchased without an SDK, as there are no stand-alone version 7 SDKs available at the moment it is not a practical purchase.

Two other tools are available CodeWarrior Wireless Studio, Nokia 9200 Communicator Series Edition, V1 (which includes the 9200 series SDK) and CodeWarrior Development Tools for Symbian OS with PersonalJava Technology, V1 (which does not include the SDK), both of which are targeted at development for the 9210/9290. Both tools are available for $99. None of the Symbian tools includes the Java RAD features. With the Wireless Studio products this is because of its price. While the absence of the RAD tool from the Professional Edition reflects that tools long term focus on native C++ development.



Each version integrates the development with all the tools to code, compile, test and debug the applications being driven from CodeWarrior. However some command line work is still needed to define program icons and build installation files with only the resource compiler and AIF (application information file) tool in the current versions. Symbian are developing plug- ins to address these holes and CodeWarrior Professional V2 is expected to include support for building resource files, creating icon bitmaps, editing AIF files, and creating installation packages (SIS files). Support for the menu builder and help files may come in a later release.

In addition to the integration of the main Symbian development tools CodeWarrior offers the developer several other advantages over competitive IDEs. It has the capability to allow development for a range of languages, target operating systems or embedded processor families within the one tool. This meaning there is no need to learn a different UI when embracing new technologies. This consistency is also preserved across the range of operating systems that CodeWarrior runs on, including Windows, Macintosh, Solaris or Unix (although a limitation of the Symbian Emulators is that it only runs on Windows). CodeWarrior is also extensible with the ability to plug in additional tools for specific development tasks, which in addition to the Symbian tools already mentioned, includes integration with Source Code management tools such as Rational ClearCase or Microsoft Visual SourceSafe. CodeWarrior organizes work in terms of projects that are created from predefined stationery. This stationery includes all the information required to define the tools and procedures to compile, link, debug and run the software being developed. The Symbian tool includes basic stationary for Java and C++ development. In addition when a specific SDK is selected from those installed SDK specific target parameters are set up. This gets a developer new to Symbian up and running faster because they don’t have to spend time configuring their tools.

For C++ projects which were started in Visual C++ there is also an import feature that brings in existing C++ makmake files. The importer automatically configures the internal source path and library dependencies within the project, eliminating the need to configuration the project manually. The CodeWarrior IDE is very powerful. The editor includes functionality such as key word highlighting, the ability to check for balanced punctuation and powerful search and replace. A visual compare feature allows both code and directories to be checked for changes. It has tools to identify and strip dead code as well as optimize code.

For Java developers, who are likely to be undertaking cross platform development, the full version of CodeWarrior Wireless Studio, Metrowerk’s flagship wireless J2ME toolsuite is the tool of choice. It supports development in PersonalJava, J2ME and J2SE and so covers both Symbian’s current PersonalJava implementations as well as future J2ME developments.

Wireless Studio gives the developer access host of Java goodies. These include a RAD (Rapid Application Development) tool that allows screens to be defined visually and underlying code easily accessed with the component editor. There is also an obfuscater, a tool that replaced meaningful variable names with shorter meaningless names in the final code (providing some protection from reverse engineering) that, importantly for Wireless developers, can also result in more compact code. Wireless Studio can be used for development on the Nokia 9200 series communicators now and will fully support the SonyEricsson P800 when the final SDK arrives.

As you would expect the Metrowerks Symbian tools are under active development. The next version of the Symbian tool, parts of which were previewed at the Developer Expo in April, is due out late August 2002. The two significant advances for the next release are the inclusion of Metro TRK (Target Reference Kernel), pronounced Metroterk, that will allow on-device debugging to be performed inside the CodeWarrior graphical debugger. This will be a significant improvement in the debugging functionality which currently can only be performed via GDB, a command-line tool. Debugging will be possible across both Serial and TCP/IP links. The other main area is in descriptor support which D’Arcy Salsman Metrowerks Product Manager for Wireless Software Development Tools noted as “the single biggest complaint I have heard from developers working with Symbian". In collaboration with Symbian Metrowerks has addressed this complaint in the next version with what D'Arcy describes as "pretty generous feature set".

The future roadmap for Symbian support within CodeWarrior sees three main variants of the tools:
  • Pre-Platform tools, which include a “stop-mode” debug tool that allows bugs in the operating system kernel to be traced
  • Platform tools which are low-level board-aware tools with the TRK debugger, for those who want to get the OS running on a hardware board, build device drivers to talk to input and output devices and basically build a hardware device.
  • Post Platform or ISV tools with application level debugging. The Platform tools are expected to be available before the end of the year possibly coinciding with the release of Symbian OS V8, code-named Jetstream. In fact the next version of the OS will have been built entirely with the CodeWarrior toolset.

The recent announcement to integrate the Beatnik audio engine into the CodeWarrior for Symbian tools, possible in version 2, also hints at another area where the Symbian tools are likely to be developed.

One interesting area for Symbian tools is the Nokia Series 60. With the exception of the Java tool for the Nokia 9200 series, the Metrowerks tools have been built to move forward with the OS from version 7. However Series 60 is built on Version 6 and there do not appear to be any significant moves by Nokia to transition to V7 in the short term. This creates an issue for Nokia (and Symbian) as V6 uses the Microsoft toolchain and the prolonged life of V6 in Series 60 also prolongs the exposure of Series 60 licensees to Microsoft. I understand that this will be addressed by a new range of Metrowerks tools, for both platform and ISV development of the Series 60, due later in the year. I’ve also heard via the grapevine that Nokia are using the CodeWarrior tools for Version 7 but it is unclear whether this is for a replacement of the current 9200 series, which several sources have reported as being actively underway, or other new devices. It could be both considering Nokia has previously stated that by 2004 half their G3 phones will be based on the Symbian OS.

Next week we take a hands on look at the CodeWarrior Symbian tool by building a simple Java application. In the meanwhile you can get more information on the Symbian CodeWarrior tools on Metrowerks web site at www.metrowerks.com.


About the "WDN Symbian Guy" Richard Bloor:
Richard Bloor has 16 years experience in the IT industry. His earlier work was largely in design and development of commercial and manufacturing systems but more recently has focused on development and test management of government systems.

Richard Bloor is the Mobile Applications champion at System Architecture consultancy Equinox of Wellington, New Zealand.

Richard can be reached at rbloor@wirelessdevnet.com.

Symbian DevZone Home
Sponsors

Search

Eliminate irrelevant hits with our industry-specific search engine!









Wireless Developer Network - A MindSites Group Trade Community
Copyright© 2000-2010 MindSites Group / Privacy Policy
Send Comments to:
feedback@wirelessdevnet.com