
Symbian Developer Network interviewed Iain Campbell, the Lead Author for Symbian OS Communications Programming - Second Edition.
SDN: Why did you choose to re-write “Symbian OS Communications Programming” ?
Iain: Having read the original version of the book, we found it to be very much targeted at Symbian OS v5 (or the Psion Series 5) comms architecture - it’s an old book. We thought that since comms and Symbian OS have changed quite a lot since then, to a single box model, and given all the phones that Symbian has shipped, we should probably update the book to reflect the changes. A lot of new features have been added since the original book was published. W ith this re-write we want to give those features more exposure, and to highlight the common features that third-party application developers will want to use.
SDN: Who is the book’s target audience?
Iain: The main audience for this book is third-party application developers, with the aim of explaining how they can use Symbian OS and, specifically the communications part of Symbian OS. At the same time we obviously realised there are a lot of developers that work within direct licensees of Symbian OS, who do a very similar task to the third-party application developers, and we wanted to give them something as well. So there are a few parts of the book that go into slightly more depth than is necessary for a third- party application developer. These sections are for the licensee application developers who have more freedom in what they can do.
SDN: So you are aiming the book at licensee developers as well?
Iain: Yes, I think they’re basically in the same situation as the third-party application developers in a lot of ways. There are lots of people, especially in lower level functionality like communications, and also in UIQ and S60 and FOMA, who have to use this stuff and, clearly, they want to know the same sort of thing.
SDN: What was your rationale behind the way you chose to segment the book?
Iain: I thought that most application developers probably have a pretty clear idea of what sort of technology they want to use in their applications. I focused just on what Symbian OS provides and broke it down technology by technology, so a developer can quickly dip into the book for the stuff they want to know without having to read the whole thing. As a result of that, there are some overview chapters at the start to give the reader direction if they’re not quite sure exactly where to find something.
SDN: What did you find the most taxing section of the book?
Iain: There were a few areas. In fact, there were a couple of technologies that we had to drop in the end because they weren’t really available. So we haven’t been able to talk much about USB, for example. There are a couple of areas where the APIs weren’t really solid enough for us to talk about them, RTP, for example. Nonetheless, in the end, I think we got a very good book and luckily I had an excellent set of co-authors who are experts in what they were writing about, which made my life a lot easier. So, I think the main difficultly was to focus the book on exactly the problems that third parties have. Because, obviously, we have a lot of areas we focus on within Symbian that, actually, are not issues that other developers experience.
SDN: How does this book compare to the first edition?
Iain: I think what we’ve done is try to produce a book that you can read as an application developer and really get the information you need pretty quickly. I think the original book took more of a university textbook approach to the problem and had quite a lot of sections that were teaching you about the background behind the technology, whereas we pretty much tell you about the technology, especially if you’re not familiar with certain mobile technologies or mobile technologies that appear on the mobile phones a lot more, like Bluetooth. We give you a background to the technology, then we pretty much dive in to what you can do with it. I think it’s going to be a lot faster for third-party developers to get the information they want out of the book.
SDN: So, you feel that the first book had a different approach.
Iain: Yes, I think it did have a different approach and I think the chap who wrote it was a university professor and it came through in the book, basically. There were a lot of bits towards the end of each chapter which said, “Well, you found out how this works” an exercise for the reader, and we’ve tried to avoid that because we know that, really, when you’re writing an application you’ve got enough problems with writing your own bits, rather than finding out how bits of Symbian OS work. So, we’ve tried to cover all of that in this book, just to make it really clear and easy to figure out what you want; how to make Symbian OS do what you want it to.
SDN: What are the benefits of reading this book? What should the reader expect to learn?
Iain: I think the biggest thing you’ll gain is a high level overview of how things fit together, something which, I think, is sometimes difficult to get with Symbian OS documentation. You kind of get an idea of what the broad areas of Symbian OS communications are and what responsibilities they have and, also, what you can do. There are some parts of the book that talk about features that aren’t commonly used by third-party developers. And , I think, it gives you a good introduction to the functionality of these features and good pointers as to where to go to get more info.
SDN: How long did it take to write?
Iain: We started thinking about this towards the end of 2005 and started looking for authors. And then we had a few problems where we’d get people leaving Symbian and new people joining, causing our author list to vary over time. But by the end of 2006 - which sounds like a long time but everybody was doing this in their spare time, they didn’t get work time to do it - we pretty much had all the draft chapters together. Then the most intensive bit was January/February this year, pulling all the chapters together and I was doing a lot of editing. So, I pretty much spent a month permanently working on the book. And then, just after that, it was all the typesetting process, a bit more editing, copy editing, that sort of thing. And then it came out in July.
SDN: What would you like to tackle in your next Symbian Press book, were you given the chance to write another one?
Iain: I’ve already volunteered for the author team for another Symbian Press book, so that’s all about idioms and patterns in Symbian OS, and how they contribute to the small footprint and various other aspects of Symbian OS that we aim to achieve.
SDN: How did you collaborate with the various authors and by what process did you select them?
Iain: I’ve been working in various different aspects of Comms for quite some time now and when we started drawing up the technology list for what was going to go in the book there were some very obvious names who are, probably, the best people to write about each technology. So, basically, I dropped them a call and asked them if they wanted to write a book and whether they’d got enough spare time. Most of them said, “Yes”, even though it turned out it took up rather more time than they were expecting, as is always the case.
SDN: How has platform security really affected comms developers, and have you covered it in the book?
Iain: We’ve tried to cover all the details of how platform security affects anyone using communications in this book and, in reality, you can still write an awful lot of applications without needing to get them Symbian Signed, obviously, dependent on what individual licensees choose for the security policy of their phone. Certainly, most S60 and UIQ phones still support the vast majority of the use processes we wrote about in this book. We did discover a few problem areas. For example, interfacing to the messaging server, especially extending the messaging server with plug-ins – this turned out to be quite difficult. We’re going to put some guidance up as we put the book’s source code on the Symbian Developer Network website. But despite the occasional comments from the application developers that platform security is going to end third-party application development, we found that, actually, it was not too bad at all. Most of what we could do beforehand we could do afterwards with some changes, but not a massive amount; certainly, not reworking whole applications.
SDN: On a similar subject the Symbian OS cryptography APIs were made available on the Symbian Developer Network website a few weeks ago. What do you think about that?
Iain: I think that’s excellent news. There are a few areas that we didn’t write about in the book, partly because, for example, we couldn’t work out how to secure them. RTP was a particular example of that. So, yes, this potentially offers the chance for third-party application developers to extend the functionality in Symbian OS and add these crypto capabilities in. Obviously, Symbian will be doing that too, eventually, or it will make it to market eventually, but right now these APIs give you a chance to build applications that couldn’t otherwise be built, or would actually require you to bring your own crypto library.
SDN: Thank you for taking the time to talk to us Iain.
Iain Campbell joined the comms team (as it then was) in Symbian in 2001, working on Symbian OS v6.1, v7.0 and v7.0s for the Nokia 7650, Sony Ericsson P800 and Nokia 6600 respectively. After then spending a year working in the Bluetooth team creating the Symbian OS PAN profile implementation, he moved to Symbian’s Technical Consulting group where he has spent the last three years helping Symbian’s licensees and partners build Symbian OS-based phones. As part of this Iain has been involved in many aspects of Symbian OS – from debugging components at all levels of the system, through advising on adaptation to particular hardware platforms, to high-level system design. Iain received a MEng in Information Systems Engineering from Imperial College, London, and enjoys spending his spare time finding out how things work.
Resources:
Book overviewSample chapter Table of contents Source code Wiki pageErrata