This short part will introduce you to the world of Symbian OS mobile phones. It contains some high level information about the Symbian Foundation as well as Symbian OS, what you'll need to start developing and gives you some tips for literature. Some of the projects that we developed at the University of Applied Sciences in Hagenberg are demonstrated, in order to give you an overview of what you can do based on various variants of Symbian OS based or Nokia platform phones.
Contents:
* Introduction to Symbian Foundation and Symbian OS
* History of Symbian (OS)
* Platform Overview
* User Interfaces
* IDEs and Development
* Community and Possibilities
* Recommended Literature
* Symbian Academy
3. About me: Andreas Jakl Assistant Professor at the University ofApplied Sciences, Hagenberg since 2006 Teaching: Introduction to Software Development (1st semester BSc) Java ME (2nd semester BSc) Qt / Symbian OS (3rd semester BSc) Bachelor Thesis Seminar (5th semester BSc) Mobile Operating Systems (1st semester MSc) Interaction Technology (2nd semester MSc) Andreas Jakl, 2009 3
4. About me: Andreas Jakl Experience: Forum Nokia Champion (2007, 2008, 2009) Founded company “Mopius” in 2004 Internship, Master‘s Thesis and summer jobs at Siemens / BenQ Mobile (Munich, R&D) Studied Bachelor & Master of Digital Media in Hagenberg / Austria (2001 – 06) Contact: Office A.005a (FH1, lower floor) andreas.jakl@fh-hagenberg.at Andreas Jakl, 2009 4
5. Contents Smartphones and Symbian Ltd. UI Platforms overview Symbian OS overview Developing for Symbian OS Community Recommended literature Andreas Jakl, 2009 5
9. Global Market Share Q3 2008 Andreas Jakl, 2009 9 Source: http://www.canalys.com/pr/2008/r2008112.htm
10. Worldwide Market Share Andreas Jakl, 2009 Source: Canalys Includes closed Linux devices in Japan 10
11. Symbian (OS)? Symbian Ltd. Company based in London, UK Now owned by Nokia Symbian OS Operating system developed by Symbian Licensed and used by phone manufacturers(Nokia, Samsung, LG, ...) Andreas Jakl, 2009 11
12. Symbian Foundation Nokia now owns Symbian Ltd. Symbian OS transferred to Symbian Foundation OS Open Source + royalty free Based on S60 (main), UIQ & MOAP Andreas Jakl, 2009 12 Committed handset manufacturers
13. Timeline Andreas Jakl, 2009 13 Symbian Foundation announced Acquisition of Symbian Ltd. by Nokia completed First unified Symbian Foundation release Symbian OS available asopen source, first handsets 2008 2009 2010
14. History of Symbian (OS) Psion: Established 1980 Games and software for Z80-based Sinclair ZX81 / ZX Spectrum Sinclair QL bundled with Psion Office Suite (1983) Andreas Jakl, 2009 14
15. History of Symbian (OS) 1984: Psion Organizer8 Bit processor, 14x9cm, 2K RAM, 4K ROM, 8K datapak, 6 months battery life! 1986: Organizer IIThe world’s first proper PDA 1991: Psion Series 3 Sibo OS, 1.5+ million units sold 1994: Starting development of 32bit OS Andreas Jakl, 2009 Psion Organizer II. Source: mobile2day.de 15
16. History of Symbian (OS) 1997: Psion Series 5 (EPOC 32 bit multitasking OS) 1998: Symbian LTD is founded 2000: First Symbian OS phone: Ericsson R380 Andreas Jakl, 2009 Psion Series 5. Source: mobile2day.de 16
17. History of Symbian (OS) 2001: First 2.5G phone: Nokia 7650 2002: SonyEricsson, Siemens, Sendo join in 2003: Symbian OS 7 (Nokia 6600), Samsung 2005: Symbian OS 9, Platform Security 2007: P.I.P.S. – Standard C support 2008: Symbian Foundation Andreas Jakl, 2009 Source: Nokia (7650) 17 Already included light sensor, camera, ...
19. UI Platforms Andreas Jakl, 2009 All current UI platforms will be integrated into a unified UI mainly based on S60 by Symbian Foundation. Mobile phones: different manufacturers, form factors, capabilities, markets, ... Three UI platforms on top of Symbian OS Provide GUI and extend apps & middleware provided by Symbian Application suites UI implementation UI framework Symbian OS HW adaption Hardware 19
20. UI Platforms: S60 Unified UI platform based on S60 Official UI platform of Symbian Foundation Former name: Series 60 Touchscreen support with S60 5th Edition Andreas Jakl, 2009 20 All current UI platforms will be integrated into a unified UI mainly based on S60 by Symbian Foundation. Nokia N97
21. UI Platforms: S60 Andreas Jakl, 2009 All current UI platforms will be integrated into a unified UI mainly based on S60 by Symbian Foundation. www.s60.com Business High-End Multimedia Mass Market Nokia N96 Nokia E66 Samsung Omnia HD Nokia 6121 Classic Nokia 5800XPressMusic Nokia E71 Nokia N85 SE Idou Nokia 5500 Sport Samsung INNOV8 Nokia E90 21 Nokia 6210 Navigator
22. UI Platforms: UIQ UIQ Owned by SonyEricsson and Motorola (2007) Licensees: SonyEricsson, Benq,Motorola, Arima Company shut down after Symbian Foundation announcement Design One & Two-Handed use Touch screen and/or keys supported Andreas Jakl, 2009 SonyEricsson P1i 22 All current UI platforms will be integrated into a unified UI mainly based on S60 by Symbian Foundation.
23. UI Platforms: UIQ Andreas Jakl, 2009 All current UI platforms will be integrated into a unified UI mainly based on S60 by Symbian Foundation. www.uiq.com Sony Ericcson P1i Sony Ericcson W960i Motorola MotoRizr Z10 Sony Ericcson P990 Sony Ericcson W950 Sony Ericcson M600 Motorola MotoRizr Z8 23
24. UI Platforms: FOMA NTT DoCoMo Largest operator in Japan FOMA™ 3G network (“Freedom of Mobile Access”) UI internally named MOAP (“Mobile Oriented Application Platform”) Supported by two platforms: Symbian OS and Linux Phones Manufacturers: Fujitsu, Sharp, Mitsubishi, Sony Ericsson Closed platform (user can not install apps) Andreas Jakl, 2009 FOMA D704i 24 All current UI platforms will be integrated into a unified UI mainly based on S60 by Symbian Foundation.
25. UI Platforms: FOMA Andreas Jakl, 2009 All current UI platforms will be integrated into a unified UI mainly based on S60 by Symbian Foundation. FOMA D702iBCL FOMA Raku-RakuSimple FOMA F903i FOMA F904i FOMA F704i FOMA D703i Features include: Mobile TV, contactless payment and access, fingerprint authentication, waterproof, scented phones, touchscreen-keypads, GPS, “simple” phones, motion sensor, barcodes, text-to-speech http://www.youtube.com/watch?v=1xQVnny0LSg 25
26. Future S60, UIQ and MOAP integrated into unified platform Based on S60 Qt will replace S60 UI Cross-Platform framework Originally developed by Trolltech, now owned by Nokia (Qt Software) Andreas Jakl, 2009 26
27. Symbian OS = High End Andreas Jakl, 2009 27 Touchscreen + QWERTY-keyboard nHD 16:9 screen (640x360, 16 millioncolors, 3.5“) 5 MPixelcamera (Carl Zeiss), dual ledflash, 30 fpsvideo A-GPS, WLAN, UMTS, HSDPA, UPnP, USB 2.0 Radio, TV-Out, 3.5 mm audio, N-Gage 32 GB memory + MicroSD Accelerationsensor, compass, proximitysensor 150 g, 117x55x16 mm Nokia N97(H1 2009)
28. Nokia UI Platforms: Series 30 Nokia Series 30 No Symbian OS For entry phones only(!= smart phones) No C++ development possible Andreas Jakl, 2009 28 Source: Nokia 1209
29. Nokia UI Platforms: Series 40 Nokia Series 40 No Symbian OS For feature phones(!= smart phones) No C++ development possible Andreas Jakl, 2009 29 Source: Nokia 6600 Slide
30. Nokia UI Platforms: Series 80 Nokia Series 80 Nokia Communicator Full QWERTZ keyboard Series 80 has been superseded by S60 with the E90 Andreas Jakl, 2009 Source: Nokia 9500 30
31. Nokia UI Platforms: Series 90 Nokia Series 90 Pen-based input Only used for the Nokia 7710 Touch screens integrated into S60 5th Ed. Andreas Jakl, 2009 Source: Nokia 7710 31 Released in 2004 Nokia 5800 is not the first touch device from Nokia, as many believe.
32. N-Gage Launched early 2008 Gaming on Nokia multimedia phones(huge user base!) Fully integrates with phone’s connectivity Andreas Jakl, 2009 32
34. Mobile Requirements Limited resources Most S60 phones today: 220 – 370 MHz (ARM 9/ARM 11), 64-128 MB Ram No hard disc Therefore no virtual (= “unlimited”) memory Power management Data safety in case of power loss is an issue Compact Not much room for UI and the application itself Reuse of common components important Reliability “Always on” Andreas Jakl, 2009 34
35. C++ and Symbian OS In 1994, C++ was still evolving – not standardized Features not supported by the tool-chain or immature: Exceptions Namespaces New casts (Templates) Boolean types Own idioms had to be invented! Requirements: optimized for small, low memory, low power devices Andreas Jakl, 2009 35
36. P.I.P.S. / OpenC Available since 2007 P.I.P.S: Allows using C standard libraries (POSIX) on Symbian OS OpenC / OpenC++ (Nokia) add additional libraries Useful for porting applications and game development UI development still requires Symbian-dialect of C++ Andreas Jakl, 2009 36
37. “Open” Platform Symbian OS is an open platform Allows to install aftermarket software C++ APIs publicly documented and freely available Symbian OS supports open standards (e.g. as developed by Open Mobile Alliance (OMA)) Source Code: Source code of Symbian OS is not available However: most of it is provided to phone manufacturers and partners Andreas Jakl, 2009 37
38. Symbian OS + Runtimes Andreas Jakl, 2009 38 Java ME Python .net Basic Perl Apache / PHP / MySQL Flash Lite Silverlight (soon) Widgets (Web Runtime) Ruby S60 / UIQ(C++) Symbian OS
39. Choosing your Language Andreas Jakl, 2009 Web Flash Python Managed code Java Ease of development P.I.P.S. Symbian C++ Native code Functionality and performance Widgets-support introduced with S60 3rd Ed. FP2 39
42. Why use C++ instead of JavaME? Java ME Native Development Rudimentary UI controls, fixed appearance Normally no access to files, system services, … Applications can not really run in the background (yet) Long startup time Extra version for each mobile phone(Write Once, Run Anywhere?) Ready-made UI controls + extensible framework (Almost) complete access to files, system, … Background, invisible, automated start-up, ... Fast start-up and response time Applications run on all phones, (nearly) without porting Andreas Jakl, 2009 41
43. Symbian Signed Ensuring minimum standards for app. behaviour Certificate required to access certain phone functionality Development Open Signed: free online signing for development With publisher ID ($), offline signing Release Express signed: company tests itself, random audits Certified signed: independent test house, more expensive Andreas Jakl, 2009 42
44. Architecture: Kernel Based on XScale, ARM6, ARM9 or ARM11 Real-time kernel Allows Single Core-Architecture (combined baseband- and application processor) reduces manufacturing cost Structure: Nano Kernel: For basic synchronisation, timing, first interrupt handling and service scheduling (enough to run the GSM stack) Other “personalities” run on top: GSM stack Symbian OS Kernel Andreas Jakl, 2009 Symbian OS Kernel GSM Stack Symbian OS Personality GSM Personality Layer EKA2 Nano Kernel 43
45. Symbian OS Architecture: System OS and built-in middleware & applications stored and executed from ROM OS and UI Platforms contain many APIs: Telephony Messaging Multimedia Database Location-based services OpenGL ES ... Andreas Jakl, 2009 Licensee UI Platform UI framework UI framework OS Services Kernel & HW Interface Licensee H/W Services Hardware 44
46. Architecture: Details Andreas Jakl, 2009 JavaME LicenseePlatforms S60 UIQ Avkon Qikon UI Framework UI Application Framework UI Toolkit Uikon UI LAF* Cone FEP Base** Application Services Messaging, Browsing, PIM, App. Framework, Data Sync, … Connectivity Services Multimedia & Graphics Services Generic OS Services Comms Services Telephony Services SerialComm & Short Link Services Networking Services Base Services Kernel Services & Hardware Abstraction ** FEP = Front End Processor:Input of characters not directlysupportedbyhardwarekeys. * LAF = Look & Feel. Allowschangingappearance of Uikon controls withoutmodifyingUikon-codeitslef Even more detailed architecture: http://developer.symbian.com/main/oslibrary/sys_models/ 45
47. Future: Qt Andreas Jakl, 2009 46 Windows Mac OS Linux / X11 Windows CE Embedded Linux S60 C++ Java Python Ada Pascal Perl PHP Maintained by Qt open source community. Not officially supported by Qt Software.
51. IDEs – Carbide.c++ Carbide.c++(based on Eclipse) New main development platform Integrates Eclipse with required tools Editions: Express: basic Developer: UI-designer, on-device debugging Professional: Performance tools OEM: ROM and JTAG support (all free starting with Carbide.c++ 2.0) Andreas Jakl, 2009 50
52. IDEs – Visual Studio Microsoft Visual Studio Plug-in: Nokia Carbide.vs for Symbian OS Support Andreas Jakl, 2009 51
53. IDEs – CodeWarrior Metrowerks CodeWarrior for Symbian OS Maintained by Nokia UI needs getting used to Has been superseded by Carbide.c++ Andreas Jakl, 2009 52
54. S60 SDKs Choose SDK depending on required compatibility and features Binary compatibility break with Symbian OS 9 www.forum.nokia.com Andreas Jakl, 2009 Commonly used for maximum compatibility 53 Introduces touch screens to S60
55. UIQ SDKs Major system redesign with UIQ 3 developer.uiq.com Andreas Jakl, 2009 Commonly used for maximum compatibility 54 Development stoppedOnly S60 will continue
56. The Emulators Simulate phone very accurately Only a few differences to HW devices Support debugging Simulate connections etc. Andreas Jakl, 2009 55
57. Installation Carbide.c++ 2.0 (orlater)http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide/index.html Perl 5.6.x (Set thepath variable!) – not 5.8 / 5.10!http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi SDK(s) (S60 3rd Ed. MR + newer)http://www.forum.nokia.com/Resources_and_Information/Tools/Platforms/S60_Platform_SDKs/ Andreas Jakl, 2009 56 Install all tools on the same drive (recommended: C: no network drive!)
59. Aim of this Presentation Andreas Jakl, 2009 58 Make you interested in developing for Symbian OS ... so what can you do with Symbian OS applications? ... what impact can you create with no marketing budget and simple ideas?
60. Community Small, but dedicated community Easy to get into the network Easy to create new stuff Blogs and websites http://www.allaboutsymbian.com/ http://www.symbian-freak.com/ http://www.intomobile.com/ http://blogs.forum.nokia.com/ http://www.womworld.com/ ... and many others! Andreas Jakl, 2009 59 All happy to report about YOUR next interesting Symbian OS based projects!
61. Projects – ShakerRacer Andreas Jakl, 2009 60 270,000+ video views (youtube) Taken up by many blogs 140,000 hits on project page Nutshell: Control a modded RC toy car by tilting your phone. Demonstratedby Nokia atmany world-wide events Presented at S60 Summit inBarcelona Developed in: Python Phone technology: Acceleration sensor, Bluetooth Published: November 2007 Made by: Andreas Jakl, Stephan Selinger
62. Projects – WiiConnect / WiiRider Andreas Jakl, 2009 61 2nd at Forum for Mobile Communication Featured on Austrian TV Featured on: engadget.com theregister.co.uk golem.de Taken up by many blogs. Nutshell: Use the Nintendo Wii Remote to control your phone. Developed in: Symbian OS C++ / Java ME Phone technology: Bluetooth Published: September 2007 Made by: Alex Erifiu, Mario Grammer
63. Projects – gBoarder Andreas Jakl, 2009 62 Finalist inAustrian StatePrice for Multimedia & e-Business Nutshell: Create innovative statistics during a snowboarding trip (# of crashes, longest jump) . Featured on major Austrianradio station Developed in: Symbian OS C++ Phone technology: Acc.-Sensor Published: February 2007 Made by: Stefan Damm, Benjamin Gmeiner
64. Projects – RealReplay Andreas Jakl, 2009 63 Amongst winners at Genius award Winner atAustrian State Price for Multmedia & e-Business Winner atN95 Developers Challenge Finalist at Java Masters (BenQ Mobile) Nutshell: Race against anyone, at any time you want. Finalist at EuroprixMultimediaAward Featured on TV (Puls4) Developed in: Java ME Phone technology: Integrated GPS Published: November 2006 Made by: Andreas Jakl, André Lichtenecker
65. Projects – Ninepoint Box Andreas Jakl, 2009 64 Winner at Forum for Mobile Communication Nutshell: Use a specialized Braille module to control a standard phone. Founded an own company Developed in: Python Phone technology: Bluetooth Made by: EwaldKantner
66. Projects – The Journey I / II Andreas Jakl, 2009 65 Featured on main public TV-channel (demo with actors) Finalist at Series 60 Challenge Featured on German radio station Jury award at Austrian State Price for Multimedia & e-Business 8/10 points Midlet-Review.com Nutshell: Combine the virtual with the real world in a location based game. “Most InnovativeMobile Game 2004” 120,000+ downloads Finalist at Europrix Multimedia Award Winner at OpenSummer Competition (NewLC) Developed in: Symbian OS C++ Phone technology: Cell IDs Published: June 2004 / August 2007 (S60 3rd Ed) Made by: Andreas Jakl
67. Projects – HourPower Andreas Jakl, 2009 66 With community: available in 4 languages Nutshell: Speak the time whenever you are too tired to open your eyes. 20,000 downloads Developed in: Symbian OS C++ Phone technology: Text-to-Speech Published: March 2007 Made by: Andreas Jakl
68. Projects –Theft Deterrent System for Skis Andreas Jakl, 2009 67 Winner at 1st Austrian NFC Competition Featured onBBC Nutshell: Protect your skis from being stolen through NFC. 3rd at the NFC Forum Global Competition Developed in: Java ME Phone technology: NFC Published: February 2008 Made by: Markus Eder,FlorianLettner, Carina Madlmayr
69. Projects – Panic Lookup (Carbide.c++) Andreas Jakl, 2009 Published inSymbian newsletter Nutshell: Automated panic code look-up in Carbide.c++. Published: February 2008 Team: Wolfgang Damm, Andreas Pum 68
70. Projects – pyWuzzler Andreas Jakl, 2009 Featured onTV (LT1) Nutshell: Simulate table soccer on a mobile phone – and make it fun to play! Several Austriannewspapers Published: June 2008 Team:Benjamin Gmeiner, Yen-Chia Lin 69
71. Summary There’s a lot you can do Don’t keep your application for yourself Let the world know about what you do Participate in the community Andreas Jakl, 2009 70
72. Literature … for extending your knowledge: Andreas Jakl, 2009 71
73. Literature – Recommended Andreas Jakl, 2009 The Accredited Symbian Developer Primer Jo Stichbury and Mark JacobsShort and in-depth explanation of the important facts of development for Symbian OS. Includes summary of the important basics of C++. The contents of this book are partly identical to “Symbian OS Explained”, so it might not be a good idea to buy both of those books if your money is limited. Status: Symbian OS 9, 2006 Sample-Questions like in the exam: http://www.meme-education.com/ 72
74. Literature – Recommended Andreas Jakl, 2009 Symbian OS C++ for Mobile Phones (Volume 3) Richard Harrison & Mark Shackman Complete and very up-to-date overview and tutorials for Symbian OS development.Status: Symbian OS 9, 2007 Developing Software for Symbian OS (Second Edition) Steve Babin Detailed description of the basic concepts of Symbian OS, good for beginners.Status: Symbian OS 9, 2007 73
75. Literature – Good, not so fresh Andreas Jakl, 2009 Symbian OS Explained Jo Stichbury Includes a lot of background information and explanations about how development for Symbian OS works and why it is that way. Status: Symbian OS 8, 2005 Developing Series 60 Applications Leigh Edwards, Richard Barker Good overview of development for S60, many examples.Status: Symbian OS 7, 2004 74
76. Help! – On the Web Forum Nokia http://forum.nokia.com/ Forum Nokia Wiki http://wiki.forum.nokia.com/ Forum Nokia Discussion Boards http://discussion.forum.nokia.com/ UIQ Developer Network http://developer.uiq.com/ SonyEricsson Developer Network http://developer.sonyericsson.com/ Symbian Developer Network http://developer.symbian.com/ Andreas Jakl, 2009 75 GeneralInformation Code Examples Help forQuestions S60 UIQ Symbian
77. Further Development Resources NewLC(Forum, tutorials) http://www.newlc.com/ SymbianResources.com (FH Hagenberg) http://www.symbianresources.com/ Also contains a link-list for Symbian-related sites Andreas Jakl, 2009 76
78. Symbian Academy Advantages Free lecture materials and training exercises Discounted Accredited Symbian Developer Exam Guest lectures from Symbian Free technical support Free training for lecturers Publishing documents & projects on Symbian Developer Network Free copies of Symbian Press books Andreas Jakl, 2009 77
79. Symbian Academy Prerequisite: already teaching Symbian OS or planning to do so Status: 56 universities worldwide (Q1 2008, since June 2006) Contact: http://developer.symbian.com/main/academy/ academy@symbian.com Andreas Jakl, 2009 78
80. Perspective Accredited Symbian / S60 Developer Official exam Price: approx. €150 – €220 Thorough knowledge of Symbian OS and C++ required! http://www.majinate.com/ Andreas Jakl, 2009 79