Softwareprojekt: Mobile Development Sommersemester 2010 - Kick-Off Miao Wang, Tinosch Ganjineh Freie Universität Berlin, Institut für Informatik 14.04.2010
Worum geht es? Entwicklung (und Vertrieb) von Software für mobile Endgeräte In aller erster Linie: Apple iphone und Apple ipad (Obj-C) Vergabe von Themen, Ausarbeitung der Ideen Hilfestellung beim technischen Entwurf und UI-Design Ansprechpartner bei Fragen während der Implementierung Bereitstellen der Plattform zum Vertrieb Beteiligung am Gewinn Dies wird ein Softwareprojekt, keine Vorlesung d.h. selbständige Einarbeitung ist notwendig und erforderlich Mailingliste: https://lists.spline.inf.fu-berlin.de/mailman/listinfo/mobiledevelopment mobiledevelopment@lists.spline.inf.fu-berlin.de Veranstaltungsseite: http://www.inf.fu-berlin.de/lehre/ss10/md/index.html 2
Agenda Organisatorisches Vorstellung iphoneos-entwicklung Vergabe der Themen + Übung 1 3
Organisatorisches 4
Organisatorisches Wöchentliches Treffen Mi, 14-18 Uhr Raum 006 Außer Termin 2: Zedat Schulungsraum Tornado Aufgabe Auswahl eines Projektthemas, Erarbeiten eines Konzeptpapiers, Einarbeitung in das SW- Framework, Bearbeiten des Projekts, Endpräsentation, (Vertrieb) Schein 4SWS, 10 ECTS Scheinkriterien Erfolgreiches Bearbeiten der Übungen Erfolgreiches Fertigstellen des Projekt Anwesenheit Kontakt Miao Wang, Raum 136, miao.wang@fu-berlin.de Tinosch Ganjineh, Raum 136, ganjineh@inf.fu-berlin.de 5
Organisatorisches Kombination von Lehre und Vertrieb Ähnlich zum Verhältnis Entwicklerstudio <-> Publisher Motivation für Studenten Weiterfinanzierung dieses Kurses 6
Beispiel Wie umfangreich wird das Projekt? Siehe Beispiele aus den letzten Semestern SS 2009 SMSRaptor WS 2009/10 MyCookbook 7
Publishing Wir geben euch die Möglichkeit eure Apps im App Store zu veröffentlichen Ihr braucht keine Developer Lizenz zu zahlen ($99 - $299) Wir unterstützen euch bei der Entwicklung und stellen Testgeräte Wir kümmern uns um das Publishing Wir kümmern uns um steuerrechtliche Angelegenheiten Gewinne werden nach Abgaben prozentual verteilt Apple prüft Zulassungsvoraussetzungen für den AppStore Keine rassistischen, gewaltverherrlichenden, etc. Inhalte Einhaltung von Urheberrechte Überprüfung auf Abstürze Überprüfung der Altersfreigaben Überprüfung von Human Interface Guidelines Interface Design, Usability, Responsiveness, etc. Überprüfung der Metadaten Beschreibung, Größe der Bilder, etc. Keine Überprüfung von Code (!), aber Ablehnung von mögl. Schad-Code 8
Vertragliche Absprache Eure Aufgabe Ausarbeiten der Idee Erstellung der App Support Unsere Aufgabe Bereitstellung der Lizenzen Einstellen in den AppStore Marketing Monatliche Abrechnung Haftung Ablauf Fertigstellung der App Einstellung in den AppStore Nachträglicher Werkvertrag Rechnungen (halbjährlich) 9
Vertragliche Absprache Apple 30% Entwicklung Support 35% 35% Lizenz Abrechnung Haftung Marketing 11
Roadmap 14.04.10 21.04.10 28.04.10 05.05.10 Kick-Off + Vergabe von Ideen Einführung Objective-C in der Zedat Individualbesprechung der Themen Programmieren I 12.05.10 19.05.10 26.05.10 02.06.10 09.06.10 Programmieren II Programmieren III Programmieren IV Programmieren V Programmieren VI --> Skelettprogramm + Simulator-Test --> Erster Gerätetest --> Erweiteter Gerätetest 16.06.10 23.06.10 30.06.10 07.07.10 Programmieren VII --> Profiler Test bzw. Test auf MemLeaks Feinschliff Publish Updates 14.07.10 Updates 12
Vorstellung iphoneos 13
Evolution der Technik 14
Apple iphone Prozessor: Samsung S5PC100 ARM A8 833 MHz (underclocked 600 MHz) PowerVR SGX GPU Speicher: 256 MB edram 8-32 GB Flash Funknetze: UMTS/HSDPA (850, 1900, 2100 MHz) GSM/GPRS/EDGE (850, 900, 1800, 1900 MHz) Wi-Fi (802.11b/g) Bluetooth 2.1 + EDR Sensoren: Assisted GPS 3-axis Accelerometer + Digital Compass Proximity sensor + Ambient light sensor Display: 3.5, 480x320 Pixel @ 163 ppi, max. 262,144 colors capacitive Multi-Touch, no hardware keyboard Kamera: 3.0 megapixels with VGA video at 30 fps Autofocus, white balance, no optical zoom, no flash 15
Apple ipad Prozessor: 1 GHz Apple A4 Speicher: 256 MB DRAM on die 16-64 GB Flash Funknetze: UMTS/HSDPA (850, 1900, 2100 MHz) GSM/GPRS/EDGE (850, 900, 1800, 1900 MHz) Wi-Fi (802.11a/b/g/n) Bluetooth 2.1 + EDR Sensoren: Assisted GPS 3-axis Accelerometer + Digital Compass Proximity sensor + Ambient light sensor Display: 9.7, 1024x768 Pixel @ 132 ppi, LED backlit capacitive Multi-Touch, no hardware keyboard Kamera: none 16
Apple App Store http://www.apple.com/de/iphone/appstore/ Gestartet am 10.07.2008 (Free and Paid) > 185.000 Apps im App Store (Stand 08.04.10) Davon 3.500 ipad Apps (Stand 08.04.10) > 4.000.000.000 Downloads im App Store (Stand 08.04.10) ca. 50.000 aktive Entwickler weltweit (Stand 17.03.09) 17
Statistik Quelle: AdMob 18
Statistik Quelle: AdMob 19
Statistik Quelle: AdMob 20
Statistik Quelle: AdMob 21
Statistik Quelle: AdMob 22
Statistik Quelle: AdMob 23
Statistik Quelle: AdMob 24
App Store: Importance of Games 25
Developer Tools Xcode Write code using a professional editor with code completion, code folding, syntax highlighting, and message bubbles showing errors and breakpoints inline with your code. Interface Builder Design and test your user interface without writing a line of code, prototyping in minutes, then graphically connect your interface to the source within the Xcode editor. Instruments Helps you track down performance bottlenecks in your iphone applications. Instruments collects data such as disk, memory, or CPU usage in real time and displays them. iphone Simulator With the iphone SDK, Xcode can build, install, run, and debug Cocoa Touch applications in a Mac-based iphone Simulator for a rocket-fast development workflow 26
iphone OS Architecture Core OS OS X Kernel Mach 3.0 BSD Sockets Security Power Mgmt Keychain Certificates File System Bonjour 27
iphone OS Architecture Core Services Collections Address Book Networking File Access SQLite Core Location Net Services Threading Preferences URL utilities 28
iphone OS Architecture Media Core Audio OpenAL Audio Mixing JPG, PNG, TIFF PDF Quartz (2D) Audio Recording Core Animation Video Playback OpenGL ES 29
iphone OS Architecture Cocoa Touch Multi-Touch Events Multi-Touch Controls Accelerometer View Hierarchy Localization Alerts Web View People Picker Image Picker Camera 30
Cocoa Touch Cocoa touch UIKit Foundation User Interfaces Elements Application Runtime Event Handling Hardware APIs Utility Classes Collection Classes Object wrappers for system services 31
Network Services Store Kit Bonjour Push Service Web Kit Game Kit Sockets Core Location Map Kit 32
iphone OS 4.0 Multitasking iad Background audio Voice over IP Background location Push Notification Local notifications Task finishing Fast app switching Gaming Center Apples new social gaming Network Invite friends for multiplayer games Highscores and leader boards inapp-ad Solution from Apple Video and interactive content Without leaving the App-scope Get 60% of iad revenue In New APIs Calendar Access In-App SMS Video Playback and Capture Quick Look Map Kit Improvements 33
iphone Tutorial 1. iphone SDK installieren (aktuell 3.1.3 oder 4.0 beta) http://developer.apple.com/iphone/ 2. Objective-C Tutorial http://www.infobliss.at/objc/obc001_index.htm 3. Hello World implementieren http://www.miaowang.de/studium/tutorials/iphone/iphone_1.html 4. iphone Reference Library lesen http://developer.apple.com/iphone/library/navigation/index.html iphone Getting Started Documents https://developer.apple.com/iphone/library/navigation/index.html?section=resour ce+types&topic=getting+started iphone Getting Started Videos (itunes) https://deimos.apple.com/webobjects/core.woa/browseprivately/adc.apple.com.3 393112695 iphone Sample Code https://developer.apple.com/iphone/library/navigation/index.html?section=resour ce+types&topic=sample+code iphone Developer Forums http://developer.apple.com/iphone/discussionforum.action 34
Vergabe der Themen 35
Ideen, Ideen, Ideen und mehr Ideen! Die Idee macht 80% aus! 36
Beispiel-App #1 ishoot (by Ethan Nicholas, 2008) 37
Beispiel-App #2 iflashlight (by John Haney, 2008) 38
Beispiel-App #3 Skobbler (by skobbler Gmbh, 2009) 39
Beispiel-App #4 nearesttube (by acrossair, 2009) 40
Beispiel-App #5 Jibbigo (by Jibbigo LLC, 2009) 41
Beispiel-App #6 Touch n Translate, idriver (by Appirion UG, 2009) 42