Issott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356 (779879), страница 2
Текст из файла (страница 2)
Adrian graduated from Jesus College,Oxford with a first class honors degree in Mathematics.Guruprasad KiniGuru has been working with Symbian for the last three and a half years,most of which he spent in the Remote Management Team. He is nowa part of the Systems Engineering Team. Design patterns, cryptographyand data security have been his primary professional interests. Guru isbased near Bangalore and holds a BE in Computer Science from ManipalInstitute of Technology, Karnataka. He hopes to retire early and do whathe always wanted to do – teach mathematics in schools. And . . . oh yes,he is also very bad at writing bios.AUTHOR BIOGRAPHIESxiIan McDowallIan joined Symbian in 2001, has worked in a range of teams withinSymbian and is currently a Technology Architect responsible for Shortlink technologies.
He has previously filled roles ranging from developerthrough project manager to technical manager. He has an MA in Computer Sciences from Cambridge University and an MBA from WarwickUniversity. As a software engineer for over 25 years, he has workedfor a number of software companies and has worked on more than 15operating systems, developing software ranging from enterprise systemsto embedded software. He is married to Lorraine and they have twochildren, Kelly and Ross, and a number of pets.Ben MorrisBen joined Psion Software in October 1997, working in the softwaredevelopment kit team on the production of the first C++ and Java SDKsfor what was at that time still the EPOC32 operating system.
He led thesmall team that produced the SDKs for the ER5 release of EPOC32 and,when Psion Software became Symbian, he took over responsibility forexpanding and leading the company’s system documentation team. In2002, he joined the newly formed System Management Group in theSoftware Engineering organization of Symbian, with a brief to ‘definethe system’. He devised the original system model for Symbian OS andcurrently leads the team responsible for its maintenance and evolution.He can be found on the Internet at www.benmorris.eu.John RoeJohn has an MA in Engineering from Cambridge University and hasworked with Symbian for well over 10 years.
For the past nine years, hehas been in Symbian’s Customer Engineering group as the S60 TechnicalLead. He has worked on S60 since its inception and on many S60 phonesranging from the Nokia 7650 to present-day devices. He divides his timebetween supporting Symbian’s licensees and using his product realizationexperience to develop the architecture of Symbian OS.Dale SelfDale is soon to celebrate 10 years of working for Symbian, where heworked first in the Messaging team on IMAP and later in the ShortlinkxiiAUTHOR BIOGRAPHIESteam on Bluetooth and OBEX.
Most recently, he has been working onUSB architecture and standardization. In his spare time, he enjoys music,photography and writing fiction as well as non-fiction. He hopes that hiscontribution to this book falls into the latter category.James SteeleJames joined Symbian after graduating from university in 2004. Heattended the University of Cambridge (Fitzwilliam College) where heread Computer Science. Since starting his career at Symbian as a memberof the Shortlink team he has been involved with the development ofnumerous protocol stacks, including Bluetooth, USB and IrDA.In his free time, James enjoys taking part in friendly poker matcheswith friends and colleagues, and pretending to be a film critic.
He playsvarious sports, including basketball, badminton and squash. In the winter,you will probably find him skiing somewhere in the French Alps.Jo StichburyJo is Senior Technical Editor with Symbian Press. She has worked withinthe Symbian ecosystem since 1997 in the Base, Connectivity and Securityteams of Symbian, as well as for Advansys, Sony Ericsson and Nokia. Jois the author of Symbian OS Explained: Effective C++ programming forsmartphones, published by Symbian Press in 2004. She also coauthoredThe Accredited Symbian Developer Primer: Fundamentals of SymbianOS with Mark Jacobs, in 2006.
Her most recent book is Games onSymbian OS: A handbook for mobile development, published in early2008.Oliver StuartOliver is a recent convert to Symbian and joined the company’s Commsteam in 2007. Thrown in at the deep end, he has enjoyed the challengingwork of developing for a powerful mobile operating system. He previouslyworked in the field of biological digital imaging at Improvision Ltd andhas interests in object-oriented programming, concurrency, networkingand multimedia. He holds a BSc with Hons in Computer Science/SoftwareEngineering from the University of Birmingham in the UK. He has carefullytried to hide his past as a Windows developer from his new colleagues toavoid derision.AUTHOR BIOGRAPHIESxiiiViki TurnerViki is the Comms Chief Technology Architect at Symbian. She has workedwith communications technologies at Symbian since joining in 2001,when she helped the third Symbian phone to ship successfully.
In earlierengineering roles, she also developed communications middleware –first with an interesting but short-lived startup, developing a networkedmultimedia distribution platform, and then working in the City of Londonon data feed products. Viki trained in computing at Imperial College, aftera few years pursuing a career as a classical soprano .
. . but that’s anotherstory.Hamish WilleeHamish joined Symbian in late 1998 and is looking forward to the10 year celebrations! Most of those years were spent in developer supportroles – he still gets a kick out of improving third-party development onSymbian OS. The last few years he has worked remotely from Melbourne,Australia, continuing to provide technical assistance to Symbian’s globaldeveloper ecosystem. Outside work, Hamish loves to spend time with hisfamily: Jen, Oscar, Sam and Leo.Authors’ AcknowledgmentsWe would like to thank:• The individual authors who worked long and hard not only to describethe patterns but also to refine the key ideas that needed to be expressed.• All the technical reviewers who corrected and enhanced the text.• Jo Stichbury who helped at every step of the way with insightful adviceon how to improve the book as well as authoring a pattern herself.• Satu McNabb who kept us focused on delivering to our deadlines.• Charles Weir who helped to ensure the patterns don’t just documenthow Symbian OS is architected but are accessible to developersbuilding on Symbian OS.
His positive attitude was also very welcome!• Everyone else in Symbian who helped us along the way especially IanMcDowall, John Roe, Matthew Reynolds and Michael Harper.• Our friends and families who, throughout the long process of preparingthis book, didn’t see as much of us as they had the right to expect.ForewordThis book gives you an insight into the world’s most successful smartphoneoperating system. As this book goes to press, over 200 million Symbiansmartphones have shipped worldwide – twice as many as all other typesof smartphone put together.
It’s a huge potential market for applicationsand add-in software.Symbian OS is a very powerful environment; writing the most effectivesoftware for it means learning the Symbian dialect of C++ and thinkingin the idioms it uses. Who better to teach that than some of the softwarearchitects who designed the operating system in the first place? Adrianand his team have produced a book that teaches you to ‘think’ in SymbianOS. Other books can teach you the mechanics of the language – how touse the GUI, the networking APIs and the application infrastructure – butthis book helps you to develop a feel for the way a complex applicationshould fit together, which is much more difficult.My own involvement with Symbian OS included being technicalarchitect for the first Symbian OS phone, co-authoring a patterns book onlimited memory software, and running Penrillian, a company specializingin porting software to Symbian OS.
All these roles have emphasized for mejust how much mobile phone development differs from traditional desktopand server programming. Symbian OS is very strong in two features:effective use of power and avoiding resource leaks when handling errorconditions. Teaching developers the design techniques to keep softwareconforming to these has been a major task for me; these patterns make itstraightforward.This work builds on the introductions to Symbian OS in other SymbianPress books. Even if you already have a good understanding of how to useleaves and traps, active objects, GUI controls and the communicationsAPIs, you’ll need to know how to design effective architectures andxviiiFOREWORDcomponent interfaces to use them effectively.
That’s why this book isso valuable. It describes the thinking of the architects who designedSymbian OS, its applications and infrastructure, and tells us, in bite-sizedpieces, how they did it so that we can build on their work. As a seasonedSymbian OS programmer, I learnt something new from the descriptionsof managing secure plug-ins and the process-coordination patterns. If youdon’t have much experience on Symbian OS, you will particularly valuethe explanation and idioms of inter-process communication, resourcemanagement and event handling.How does the pattern format help you to learn? A book of patternsis half way between a descriptive volume and a reference text. You canread each pattern as a separate paper, but the prescriptive pattern formatalso makes it easy to skim through all the patterns and see which onescover which ground.
So please don’t think of this as a book to read fromcover-to-cover (though you can do that if you like). Instead you can usethe way it’s set out to skim through the overviews of each pattern: thenames, intent, and descriptions – and read as much as you like of eachof the patterns you find interesting or use a lot already.
As you work onSymbian OS projects and designs, you’ll find yourself with problems thatremind you of one or more of the solutions in the book – and that is thetime to go back and look for the detail of the implementation. The bookbecomes the experienced designer leaning over your shoulder saying‘oh yes, have a look at such-and-such for the way to do it, and don’tforget thus-and-this issues to consider’.
And it’s experienced designersthat make architecture great.So take a look. No matter who you are, I challenge you not to finda technique – or an implementation of a technique – that’s interesting toyou. And you’ll find, as I did, that you can learn a lot about how best todesign Symbian OS applications and services. Here’s wishing you successdesigning software for the most popular mobile platform in the world!Charles WeirPenrillian, 2008GlossaryWordDefinitionABIApplication Binary Interface.AOActive Object.ApplicationdeveloperA person who develops applications for Symbian OS that run on top of aspecific UI Layer.