This document serves as an introduction to the available development tools and User Interface (UI) platforms. After setting up our development environment we can test our setup and build a helloworld application for both the emulator and a real device in the Overview of the Carbide.c++ IDE guide. Symbian C++ application development is commonly considered a difficult discipline; the goal of this document is to provide the new developer with the tool framework needed to get started. Please note that the focus in this document is on the 2nd Edition S60 platform from Nokia.
Setting up the Environment
In order to get started we need a couple of tools installed on our PC, these include an Integrated Development Environment (IDE) for building our applications and a suitable Software Development Kit (SDK). The SDK contains Application Programming Interface (API) documentation, example code, and a number of development tools, including an emulator for testing and debugging our application before actually deploying it on the target phone.
The recommended IDE by Symbian and Nokia are currently the Eclipse based Carbide.c++. The Carbide.c++ IDE is available in three different versions:
- Carbide.c++ Express – Free version for non-commercial developers
- Carbide.c++ Developer – Additional capabilities for commercial developers
- Carbide.c++ Pro – For advanced commercial developers
In the following we will be using the free Carbide.c++ Express IDE as it provides all the basic functionalities we need in order to get started. It is recommended that you have a fairly fast development PC. For running the Carbide.c++ Express edition, the following configuration is recommended: Windows XP (SP2) or Windows 2000 (SP4), 1800MHz processor, 1024 MB RAM, and enough free hard drive space for the IDE and a SDK - typically around 650 MB (additional installs such as Java Runtime Environment and Perl are not included in the 650MB, but commonly required).
The choice of SDK to install depends on the target device. As you may have noticed, the UI and input capabilities of Symbian OS based devices can vary from phone to phone. Some phones provide pen-based input while others are designed for one-hand use with a numeric keypad. This flexibility means that we have to use the SDK matching the UI capabilities of our target device. Currently the majority of Symbian phones use the S60 UI. S60 is available in a number of revisions; these are shown in the list below.
- S60 3rd Edition – Symbian OS v9.1
- S60 2nd Edition Feature Pack 3 – Symbian OS v8.1
- S60 2nd Edition Feature Pack 2 – Symbian OS v8.0a
- S60 2nd Edition Feature Pack 1 – Symbian OS v7.0s enhanced
- S60 2nd Edition – Symbian OS v7.0s
- S60 1st Edition – Symbian OS v6.1
Symbian maintains a list of phones using each version of the Series 60 SDKs.
As mentioned previously, we will be using the S60 2nd Edition Feature Pack 3. As seen on the list from Symbian our application will be targeting the following phones: Nokia N70 and Nokia N90. However, there is a large chance that our application will also run on other phones within the S60 2nd Edition category.
In addition to the S60 UI platform, other Symbian based phones use the UIQ UI. UIQ is also available in a number of revisions:
- UIQ 2.0 – Symbian OS v7.0
- UIQ 2.1 – Symbian OS v7.0
- UIQ 3.0 – Symbian OS v9.1
Similarly to S60, Symbian also maintains a list of phones using the UIQ SDKs.
Finally, a number of SDKs exist for phones not using the two above-mentioned UI SDKs:
- Series 80 platform 2.0 – Symbian OS v7.0s
- Nokia 7710 SDK – Symbian OS v7.0
Series 80 phones list for the Series 80 SDK.
Depending on your target device you should now have a pretty good idea of which SDK you need to download.
Installing the IDE
In order to download the IDE you need a Forum Nokia account. If you are not yet a registered member go to registration to create an account first. You will also need to register the SDK so if you do not have an account, now is a good time to get one. In addition to allowing you to register the IDE and SDK for free, you will also be able to use the development-related community forums at Forum Nokia.
After installing the IDE let us quickly move on and install a SDK.
Installing the SDK
The different Symbian SDKs can be found on Forum Nokia's C++ SDK and UIQ's C++ SDK pages. Be careful to download an SDK compatible with Carbide.c++. Currently the Carbide.c++ IDEs only support the CodeWarrior compiler when building for the emulator. This means that you can currently choose between the following SDKs:
Series 80 Platform SDKs
In our case we will download the 2nd Edition FP 3 (download local copy).
Additional installations required:
You also need to install Perl as several of the build scripts in the SDK rely on this.
In order to utilize the phone emulator fully, you also need a working installation of Java Runtime Environment.
A final tool that will come in handy is the PC Suite from Nokia. Installing the PC Suite will enable us to easily transfer our application to the actual phone.
Nokia PC Suite (www.nokia.com)
This completes the installation of IDE and SDK - we are now ready to put our tool to use and start creating Symbian C++ applications, but before we start developing the next killer app lets check that our environment is running properly by creating a helloworld application.