Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad...

41
Softwareprojekt: Mobile Development Sommersemester 2010 - Kick-Off Miao Wang, Tinosch Ganjineh Freie Universität Berlin, Institut für Informatik 14.04.2010

Transcript of Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad...

Page 1: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

Softwareprojekt: Mobile DevelopmentSommersemester 2010 - Kick-Off

Miao Wang, Tinosch Ganjineh

Freie Universität Berlin, Institut für Informatik

14.04.2010

Page 2: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

2Softwareprojekt: Mobile Development, Sommersemester 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 Vorlesungd.h. selbständige Einarbeitung ist notwendig und erforderlich

• Mailingliste:• https://lists.spline.inf.fu-berlin.de/mailman/listinfo/mobiledevelopment• [email protected]

• Veranstaltungsseite:• http://www.inf.fu-berlin.de/lehre/SS10/MD/index.html

Page 3: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

3Softwareprojekt: Mobile Development, Sommersemester 2010

Agenda

• Organisatorisches

• Vorstellung iPhoneOS-Entwicklung

• Vergabe der Themen + Übung 1

Page 4: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

4Softwareprojekt: Mobile Development, Sommersemester 2010

Organisatorisches

Page 5: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

5Softwareprojekt: Mobile Development, Sommersemester 2010

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, [email protected]• Tinosch Ganjineh, Raum 136, [email protected]

Page 6: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

6Softwareprojekt: Mobile Development, Sommersemester 2010

Organisatorisches

• Kombination von Lehre und Vertrieb • Ähnlich zum Verhältnis

Entwicklerstudio <-> Publisher

• Motivation für Studenten

• Weiterfinanzierung dieses Kurses

Page 7: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

7Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel

• Wie umfangreich wird das Projekt?• Siehe Beispiele aus den letzten Semestern

• SS 2009• SMSRaptor

• WS 2009/10• MyCookbook

Page 8: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

8Softwareprojekt: Mobile Development, Sommersemester 2010

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

Page 9: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

9Softwareprojekt: Mobile Development, Sommersemester 2010

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)

Page 10: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

11Softwareprojekt: Mobile Development, Sommersemester 2010

Vertragliche Absprache

EntwicklungSupport

LizenzAbrechnung

HaftungMarketing

35%

30%

Apple

35%

Page 11: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

12Softwareprojekt: Mobile Development, Sommersemester 2010

Roadmap

Kick-Off + Vergabe von Ideen14.04.10

21.04.10

28.04.10

05.05.10

12.05.10

19.05.10

26.05.10

02.06.10

09.06.10

16.06.10

23.06.10

30.06.10

07.07.10

Einführung Objective-C in der Zedat

Individualbesprechung der Themen

Programmieren I

Programmieren II --> Skelettprogramm + Simulator-Test

Programmieren III --> Erster Gerätetest

Programmieren IV

Programmieren V

Programmieren VII --> Profiler Test bzw. Test auf MemLeaks

Feinschliff

Updates

Publish

Programmieren VI --> Erweiteter Gerätetest

14.07.10 Updates

Page 12: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

13Softwareprojekt: Mobile Development, Sommersemester 2010

Vorstellung iPhoneOS

Page 13: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

14Softwareprojekt: Mobile Development, Sommersemester 2010

Evolution der Technik

Page 14: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

15Softwareprojekt: Mobile Development, Sommersemester 2010

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

Page 15: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

16Softwareprojekt: Mobile Development, Sommersemester 2010

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

Page 16: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

17Softwareprojekt: Mobile Development, Sommersemester 2010

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)

Page 17: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

18Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

Page 18: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

19Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

Page 19: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

20Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

Page 20: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

21Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

Page 21: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

22Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

Page 22: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

23Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

Page 23: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

24Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

Page 24: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

25Softwareprojekt: Mobile Development, Sommersemester 2010

App Store: Importance of Games

Page 25: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

26Softwareprojekt: Mobile Development, Sommersemester 2010

Developer Tools

Xcode

Interface Builder

Instruments

iPhone Simulator

Write code using a professional editor with code completion, code folding, syntax highlighting, and message bubbles showing errors and breakpoints inline with your code.

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.

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.

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

Page 26: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

27Softwareprojekt: Mobile Development, Sommersemester 2010

iPhone OS Architecture

Core OS

• OS X Kernel • Mach 3.0 • BSD Sockets Security• Power Mgmt • Keychain • Certificates• File System• Bonjour

Page 27: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

28Softwareprojekt: Mobile Development, Sommersemester 2010

iPhone OS Architecture

Core Services

• Collections • Address Book• Networking• File Access • SQLite• Core Location • Net Services • Threading• Preferences • URL utilities

Page 28: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

29Softwareprojekt: Mobile Development, Sommersemester 2010

iPhone OS Architecture

Media

• Core Audio • OpenAL• Audio Mixing• JPG, PNG, TIFF • PDF • Quartz (2D)• Audio Recording • Core Animation • Video Playback• OpenGL ES

Page 29: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

30Softwareprojekt: Mobile Development, Sommersemester 2010

iPhone OS Architecture

Cocoa Touch

• Multi-Touch Events• Multi-Touch Controls• Accelerometer• View Hierarchy • Localization• Alerts • Web View • People Picker• Image Picker• Camera

Page 30: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

31Softwareprojekt: Mobile Development, Sommersemester 2010

Cocoa touch

Cocoa Touch

UIKit

• User Interfaces Elements• Application Runtime• Event Handling• Hardware APIs

Foundation

• Utility Classes• Collection Classes• Object wrappers for

system services

Page 31: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

32Softwareprojekt: Mobile Development, Sommersemester 2010

Network Services

Store Kit

Push Service

Game Kit

Core Location

Bonjour

Web Kit

Sockets

Map Kit

Page 32: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

33Softwareprojekt: Mobile Development, Sommersemester 2010

iPhone OS 4.0

Multitasking

• 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

iAd

• inApp-Ad Solution from Apple• Video and interactive content• Without leaving the App-scope• Get 60% of iAd revenue

New APIs• In

• Calendar Access• In-App SMS• Video Playback and Capture• Quick Look• Map Kit Improvements

Page 33: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

34Softwareprojekt: Mobile Development, Sommersemester 2010

iPhone Tutorial

• 1. iPhone SDK installieren (aktuell 3.1.3 oder 4.0 beta) http://developer.apple.com/iphone/

• 2. Objective-C Tutorialhttp://www.infobliss.at/objc/obc001_index.htm

• 3. Hello World implementierenhttp://www.miaowang.de/studium/tutorials/iphone/iphone_1.html

• 4. iPhone Reference Library lesenhttp://developer.apple.com/iphone/library/navigation/index.html

• iPhone Getting Started Documentshttps://developer.apple.com/iphone/library/navigation/index.html?section=Resource+Types&topic=Getting+Started

• iPhone Getting Started Videos (iTunes) https://deimos.apple.com/WebObjects/Core.woa/BrowsePrivately/adc.apple.com.3393112695

• iPhone Sample Codehttps://developer.apple.com/iphone/library/navigation/index.html?section=Resource+Types&topic=Sample+Code

• iPhone Developer Forumshttp://developer.apple.com/iphone/discussionForum.action

Page 34: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

35Softwareprojekt: Mobile Development, Sommersemester 2010

Vergabe der Themen

Page 35: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

36Softwareprojekt: Mobile Development, Sommersemester 2010

Ideen, Ideen, Ideen … und mehr Ideen!

Die Idee macht 80% aus!

Page 36: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

37Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #1

iShoot(by Ethan Nicholas, 2008)

Page 37: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

38Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #2

iFlashlight(by John Haney, 2008)

Page 38: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

39Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #3

Skobbler(by skobbler Gmbh, 2009)

Page 39: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

40Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #4

nearestTube(by acrossair, 2009)

Page 40: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

41Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #5

Jibbigo(by Jibbigo LLC, 2009)

Page 41: Softwareprojekt: Mobile Development … · In aller erster Linie: Apple iPhone und Apple iPad (Obj-C) • Vergabe von Themen, Ausarbeitung der Ideen ...

42Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #6

Touch n Translate, iDriver(by Appirion UG, 2009)