REVIEW - Symbian OS C++ for Mobile Phones


Symbian OS C++ for Mobile Phones


Richard Harrison



Wiley (2003)




Francis Glassborow


June 2003



This book is about programming for mobile phones that use the Symbian OS. However you do not initially need such an instrument because it comes equipped with an emulator. This is an essential tool for this kind of development and the reader will need to take time out familiarising themselves with it.

It also has a 30-day trial version of the Metroworks CodeWarrior C++ cross-compiler (hosted on a Windows platform and targeting the Symbian OS). Sadly I think such a 30-day trial version is inadequate to the needs of the book. I think that most readers will need to take longer than 30 days reading the book (particularly as many will also need to familiarise themselves with the other tools such as the emulator). That means that they either have to fork out the cost $399 for the personal edition or cheat by re-installing the trial version (no I have not tested to see how easy that might be). I would have preferred to see a 90-day trial version that should be adequate for a reader to determine if they wish to do real development for the Symbian OS.

The book starts with three chapters that introduce you to the emulator, the hardware and OS and to the specifics of C++ for this use.

It may not be immediately clear that this version of C++ has to define its own C++ fundamental types that map to C++ fundamental types. This is because the design is based on C++ circa 1995 and so needs to do such things to handle backward compatibility issues. It is things like this that make this book ill suited to those who are not already competent, fluent and confident C++ programmers. There is no need to understand modern advanced C++ but you do need to have a firm foundation. That means that the claims made about the potential readership in the 'About this book' section are over stated.

The next part of the book (chapters 4 to 8) introduces you to the basics (classes., resources and APIs) that you will need in order to program simple GUI applications for this platform.

The third part (chapters 9 to 15) tackles the entire process of developing an application from design to delivery to the end user. Even if you already have a firm general grasp of this process there is value in having it laid out for this specific platform and market.

The book concludes with five chapters dealing with a range of system level programming issues that the serious developer of mobile phone applications will need to know.

This book is very much targeted at developers for a specific market. At this stage it is hard to know the long-term viability of skills gained in developing for the Symbian OS. My gut reaction is that despite the excellent quality of the contents of this book you would be unwise to invest time in reading it unless you either have time to spend indulging in curiosity or have a job that makes it worth studying.

Perhaps, if you have a job interview lined up for a company developing in this area a crash read of this book might give you enough understanding of the specifics to improve your interview chances. However that would only be the case if you were already a competent C++ programmer (I mean really competent, not just capable of throwing together a few lines of C++ based on using the STL, or a few lines of C to be compiled as C++).

If you are in a position to develop for the Symbian OS, this book is close to a 'must read' even though the quality of the C++ source code is not always up to my standards. Otherwise this book is too target specific to be worth investing professional time in studying it.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.