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
 

Symbian DevZone Book Review... Symbian OS Communications Programming

by Richard Bloor, July 05, 2002

The increased presence of Symbian OS in Smartphones is echoed in the accelerating availability of books from the Symbian Press. The latest title "Symbian OS Communications Programming" was published in the UK last month and will be available in the US at the end of July. This week Richard reviews the book and talks to the author.


Symbian OS Communications Programming is the second title from the Symbian Press. Written by Michael Jipping, an Associate Professor of Computer Science at Hope College in Holland, Michigan, it breaks new ground in being the first book about a single aspect of the Symbian OS, the first from an author outside Symbian and the first from an American author.




The book is targeted at the C++ programmer (Java programmers interested in Communications programming should take a look at Wireless Java for Symbian Devices also from Symbian Press). It does not assume that the reader already has a knowledge of communications programming in other environments. It starts with a clear and detailed introduction to the communication methods available in the Symbian OS and how they are implemented. In addition to the pure communications there is also an introduction to the supported presentation standards, such as WAP and HTML, messaging and security issues.

This introduction takes up about a third of the book before we get to the programming. This is kicked off looking at the Symbian development process and how Visual C++ is used with various Symbian tools. While these tools are being superceded by those from Metrowerks and Borland this section is still relevant to a wide range of potential developers and will over time serve to illustrate how the development process is being improved.

Michael then proceeds to thoroughly review the code required for all the communications, messaging and presentation methods covered in the introduction. Generally only code fragments are presented (the full source code is available on the books supporting web site) but the supporting text is lucid and clear.

The book concludes with a review of PLP (which incidentally is being replaced with an IP based solution for the 7650, P800 and future OS releases) SyncML and the communications database. Finally there is a look into the future, prefaced with a few choice quotes illustrating the dangers of trying to predict the future.

Overall Symbian OS Communications is a well thought out and informative book, an invaluable reference for anyone embarking on communications programming for the Symbian OS. To get a little more insight into the book and communications programming I took the opportunity to talk to Mike shortly before its publication.



WDN: Mike thank you for finding time to talk to WirelessDevNet. Can I start by asking how you become interested in the Symbian OS given that it has not had much of a presence in the US until recently?

Mike: My involvement goes back to the early 90's when I became interested in handheld computers. Back then there was very little on the market, just a few machines like those from Sharp which held your address book and diary and did little more. Then I discovered, on the Internet, this really enthusiastic support community for the Psion Series 3a. I followed some of the news groups and thought this sounded like a great little machine. So I found where I could order one in the US, picked one up and ever since I've been hooked.

It ran SIBO, which as you know evolved into EPOC and eventually Symbian OS. SIBO was a nice operating system and I started developing software for it right away. It had OPL, a great little language to play with, I remember writing programs on the 3a that would run right there. I wrote an email client program for the Series 3 and continued developing for the 3c and then the 5mx.

So it all started because I was looking for a good handheld computer on the Internet.

WDN: It was presumably this interest that lead to the book but why specifically communications?

Mike: There were a couple of motivations. Desktop computing has been around for 20 years in the same form, keyboard, big monitor, big CPU and I think that the next wave of exciting computing will be in the handheld world. Its also my research area here at Hope where I'm looking at the parallel programming of handheld machines over networks.

So coupling communications with handheld machines suddenly opens up a whole new area. Communications is going to be handheld computer’s biggest advantage and it’s where we will see a lot of new applications.

Finally Symbian truthfully is at the forefront of integrating all this together on a handset for a phone. They have always been ahead, the Psion Netbook had a lot of capabilities before Microsoft came around with Pocket PC.

Ultimately I find it extremely interesting and its where the technology is heading.

WDN: You have mention that you see the Symbian OS as being ahead of its competion in the area of communications. How well do you believe it compares with rival systems?

Mike: Well I think that there are a lot of advantages when compared to Pocket PC. In Symbian you have a clean, well-built, object orientated interface built on specific application models and patterns that are adhered to throughout the design. Now you go look at Microsoft and they layer API on API and then when it suits them they will discard a model and adopt a new one. So with Symbian you basically only have to learn a couple of models and a few patterns to get a handle on how they do things. Its a very clean, lean, uncluttered design yet it is very effective. By comparison, Microsoft is heavy and clunky. A group of students from one of my classes were writing some applications for the Pocket PC. They had 5 months to build them. They did not finish because the learning curve was so very steep.

So I think the clean modeling in the Symbian OS means that it wins hands down compared to Microsoft. Palm on the other hand is to restricted, its improving, Palm OS V5 is completely redesigned and looking ahead to include communications but it’s got a way to go yet.

The new devices that run LINUX are very interesting and I think those have promise. Symbian OS is based on Unix kernel design so LINUX and Symbian OS have a lot in common.

WDN: Given the clean consistent design in Symbian, is it straightforward for newcomers or are there other challenges?

Mike: Yes I would say there are some challenges. First, I think there is a common learning curve with all handheld platforms as the design of these operating systems is quite a bit different from the desktop environment most developers are used to.

With the Symbian OS the learning curve is less than other systems but you do have to learn the Symbian way. Concepts like the active objects and the client server model are very appropriate and very effective, but they are different from what developers are used to in a desktop setting.

I have also found that learning to program in Symbian OS is like learning a whole new language. The Symbian OS has a whole naming convention that weaves its way consistently through the APIs, but it’s different and it takes a little getting used to.

I think the biggest problem is learning to cope with errors. Even on the emulators things will just crash and it takes a bit of experience to figure out that an error code means, "I did not deallocate memory" or "I guess that buffer was empty". Ultimately that comes with the territory of handheld computers and it takes some getting used to.

WDN: Why do you think this is the case, because you should be doing some of those things on the desktop?

Mike: I think it is because you develop certain sloppy habits programming on a desktop environment. Things like not cleaning up properly in a program or not following up on all your error codes because the system can cope on a large computer. When you are programming on a handheld not deallocating memory is a fatal flaw and your program could crash.

WDN: The Symbian OS documentation has been criticized for sometime for being incomplete, is this part of the issue?

Mike: Yes a lot of this is about documentation. There are times when I have run into errors or problems in programming and I try to go back to the manual and look it up and it just was not there. It is improving but still needs some work, even now with the new SDKs there are calls that appear in the APIs but they are not in the documentation. That's hard and sometimes it takes a degree of determination for a newcomer. However it’s worth it for the results that can be achieved.

WDN: Finally Mike, the book gives the impression that you enjoyed writing it.

Mike: Yes, the book was a riot and great fun to write, I think when you get the chance to write on something like software development in this kind of environment its really enjoyable. Symbian supported me really well and that just made the whole writing process a lot of fun.

You can obtain "Symbian OS Communications Programming" through Amazon in the US for $45 or in the UK for £27.96.


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