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

Post on 17-Sep-2018

213 views 0 download

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

Softwareprojekt: Mobile DevelopmentSommersemester 2010 - Kick-Off

Miao Wang, Tinosch Ganjineh

Freie Universität Berlin, Institut für Informatik

14.04.2010

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• mobiledevelopment@lists.spline.inf.fu-berlin.de

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

3Softwareprojekt: Mobile Development, Sommersemester 2010

Agenda

• Organisatorisches

• Vorstellung iPhoneOS-Entwicklung

• Vergabe der Themen + Übung 1

4Softwareprojekt: Mobile Development, Sommersemester 2010

Organisatorisches

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, miao.wang@fu-berlin.de• Tinosch Ganjineh, Raum 136, ganjineh@inf.fu-berlin.de

6Softwareprojekt: Mobile Development, Sommersemester 2010

Organisatorisches

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

Entwicklerstudio <-> Publisher

• Motivation für Studenten

• Weiterfinanzierung dieses Kurses

7Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel

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

• SS 2009• SMSRaptor

• WS 2009/10• MyCookbook

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

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)

11Softwareprojekt: Mobile Development, Sommersemester 2010

Vertragliche Absprache

EntwicklungSupport

LizenzAbrechnung

HaftungMarketing

35%

30%

Apple

35%

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

13Softwareprojekt: Mobile Development, Sommersemester 2010

Vorstellung iPhoneOS

14Softwareprojekt: Mobile Development, Sommersemester 2010

Evolution der Technik

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

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

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)

18Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

19Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

20Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

21Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

22Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

23Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

24Softwareprojekt: Mobile Development, Sommersemester 2010

Statistik

Quelle: AdMob

25Softwareprojekt: Mobile Development, Sommersemester 2010

App Store: Importance of Games

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

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

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

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

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

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

32Softwareprojekt: Mobile Development, Sommersemester 2010

Network Services

Store Kit

Push Service

Game Kit

Core Location

Bonjour

Web Kit

Sockets

Map Kit

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

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

35Softwareprojekt: Mobile Development, Sommersemester 2010

Vergabe der Themen

36Softwareprojekt: Mobile Development, Sommersemester 2010

Ideen, Ideen, Ideen … und mehr Ideen!

Die Idee macht 80% aus!

37Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #1

iShoot(by Ethan Nicholas, 2008)

38Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #2

iFlashlight(by John Haney, 2008)

39Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #3

Skobbler(by skobbler Gmbh, 2009)

40Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #4

nearestTube(by acrossair, 2009)

41Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #5

Jibbigo(by Jibbigo LLC, 2009)

42Softwareprojekt: Mobile Development, Sommersemester 2010

Beispiel-App #6

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