2.1 What Do You Need to Get Started?
The following are needed for developing Symbian OS smartphone software:
• A PC running Windows XP, 2000, or Vista (at least 1.5 GHz, 512MB
RAM, and 2 GB free disk space is recommended).
• The C++ SDK for your smartphone model.
• A Windows development package (Win32 development tools with
an Integrated Development Environment (IDE); Carbide.c++ is recommended).
• A Symbian OS smartphone.
• The PC suite used for communication between the PC and the
2.1.1 Build Tools Overview
Figure 2.1 shows the basic development pieces. Symbian OS software is
developed and built on a host PC. You can build your software to run on the Symbian OS PC-based emulator that comes with the SDK, or you can
build for the smartphone itself and load your program to the phone via
the PC suite through USB, IR, or Bluetooth technology.
Once your application is completed, it’s deployed to users as an
installation file, known as a SIS file. The user can download this SIS file
from a PC to a smartphone using their PC connection suite. Alternatively,
they can retrieve it to the smartphone itself by downloading it from
a WAP site or a website, or receiving it as an email attachment or
Bluetooth message, or saving it to a removable memory card, using a PC
with appropriate card writer, then putting the card into the phone and
installing from there.
2.1.2 What is the Symbian OS Emulator?
The emulator is a Windows application that simulates a smartphone
entirely on the PC – complete with functional buttons and small screen
display. This allows you to run and debug Symbian OS software on your
PC as opposed to running on a real device. Why do this?
• You avoid having to upload your code to the smartphone for each
• You can take advantage of the debugging support available from the
Windows IDE, which includes single stepping and watch points.
• You can experiment with smartphone development on various platforms
without having to buy or borrow the smartphones for those
The emulator simulates the actual smartphone fairly well, with some
differences that I will discuss in more detail in Chapter 5. Each SDK has
its own emulator to mimic the smartphone type that it is targeted for.
You can even change the display resolution and orientation to match the
various display modes of the target device so you can test your software
in each of these modes.