mobiletechcon_sept2012: kostentreiber bei der ios-entwicklung

Post on 29-Jun-2015

263 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Kostentreiber bei der iOS-Entwicklung - Erfahrungen aus der Praxis Vortrag auf der Mobile TechCon 2012 von Patrick Jayet und Reto Zenger (Zühlke Engineering Schweiz) Eine App fürs iPhone zu entwickeln, ist ja im Grunde ganz einfach: Man stelle im Interface Builder die benötigten grafischen Elemente per Drag and Drop zusammen, gestalte sie mit ein paar Klicks und programmiere die benötigte Funktionalität dazu, fertig ist der nächste Verkaufsschlager für den App-Store. Leider müssen viele Entwickler die Erfahrung machen, dass es so einfach eben doch nicht geht und am Ende der Entwicklung Aufwand und Kosten weit höher sind als geplant. Anhand von genau solchen Erfahrungen aus der Praxis identifizieren wir einige Kostentreiber bei der iOS-Entwicklung. Wir zeigen Ihnen an verschiedenen Beispielen, wo ungeplante Aufwände lauern. Daraus leiten wir einige Best Practices ab, die Ihnen helfen sollen, bei zukünftigen Entwicklungen von negativen finanziellen Überraschungen verschont zu bleiben.

TRANSCRIPT

Patrick Jayet & Reto Zenger | Zühlke Engineering

Kostentreiber bei der iOS Entwicklung

Wednesday, September 5, 12

Million Dollar Baby

Wednesday, September 5, 12

Agenda

Wednesday, September 5, 12

Erfahrung

Business-App mit Backend-Anbindung

Wednesday, September 5, 12

1Interaktionskonzept ungeeignet

Wednesday, September 5, 12

Don't: Drop Down

Wednesday, September 5, 12

Don't: Drop Down

Wednesday, September 5, 12

Do: TabBar

Wednesday, September 5, 12

Do: NavigationBar

Wednesday, September 5, 12

Do: NavigationBar

Wednesday, September 5, 12

Fazit

Wednesday, September 5, 12

2Wenig Zusammenarbeit zw. Designer und Entwickler

Wednesday, September 5, 12

Don't

Wednesday, September 5, 12

Vorgabe

Wednesday, September 5, 12

Do

Wednesday, September 5, 12

3Änderung einer grundlegenden

Anforderung

Wednesday, September 5, 12

Don't

Wednesday, September 5, 12

Do: Offline-Verhalten

20 Minuten Online .ch© by 20 Minuten Online

Wednesday, September 5, 12

Do: Offline-Verhalten

20 Minuten Online .ch© by 20 Minuten Online

Wetter© by Apple

Wednesday, September 5, 12

Aufwändig

Wednesday, September 5, 12

4Für iOS ungeeignete technische Lösungen

Wednesday, September 5, 12

Web

Wednesday, September 5, 12

Don't

✗ ✔

Wednesday, September 5, 12

Besser

Session-Handling transparent im Hintergrund

Wednesday, September 5, 12

Besser

Wednesday, September 5, 12

Do: Token

Wednesday, September 5, 12

5Rückwärtskompatibilität mit älteren iOS

Version teilweise aufwändig

Wednesday, September 5, 12

Twitter Integration• Vor iOS 5

• Bibliotheken• MGTwitterEngine• OAuthConsumer• SAOAuthTwitterEngine

• App bei Twitter registrieren• GUI Programmieren

Wednesday, September 5, 12

Twitter Integration• Ab iOS 5

• Twitter und Accounts Frameworks• TWTweetComposeController

Wednesday, September 5, 12

iOS Versionen

Quelle: http://pxldot.com/18754186750

Wednesday, September 5, 12

iOS Versionen

Quelle: http://pxldot.com/18754186750

Wednesday, September 5, 12

iOS Versionen

Quelle: http://pxldot.com/18754186750

Wednesday, September 5, 12

iOS Versionen

Quelle: http://pxldot.com/18754186750

Wednesday, September 5, 12

6Testverfahren nicht optimal

Wednesday, September 5, 12

Don't 1Keine dedizierten Testserver

Wednesday, September 5, 12

Do 1Dedizierte Testserver

Wednesday, September 5, 12

Don't 2Testing Wasserfall

Wednesday, September 5, 12

Do 2Regelmässig Build verteilen und testen

Wednesday, September 5, 12

Don't 3Testbenutzer am Arbeitsplatz

Wednesday, September 5, 12

Do 3Testbenutzer unterwegs

Wednesday, September 5, 12

7Die Wartung einer App wird unterschätzt

Wednesday, September 5, 12

Timeline

Wednesday, September 5, 12

Beispiel

Wunder Radio© by Weather Underground

play in background

Wednesday, September 5, 12

Best Practice

Wednesday, September 5, 12

8Geschlossenheit der Plattform

Wednesday, September 5, 12

Beispiel 1iTunes Icon der iOS-App

Wednesday, September 5, 12

Beispiel 1

512 x 512 1024 x 1024

Doppelte Auflösung benötigt

Wednesday, September 5, 12

Beispiel 2Methode deprecated

Wednesday, September 5, 12

Beispiel 3Unklare Richtlinien

“We will reject Apps for any content or behavior that we believe is over the line. What line, you ask?

Well, as a Supreme Court Justice once said, "I'll know it when I see it". And we think that you will

also know it when you cross it.”

Apple Review Guidelines, 2012

Wednesday, September 5, 12

9Best Practices, nützliche Frameworks

Wednesday, September 5, 12

Restkit • High-level HTTP Kommunikations-API• Einfache Anbindung an REST Services• Parsing und Mapping in Core Data

http://restkit.org/

Wednesday, September 5, 12

Sensible Cocoa

http://www.sensiblecocoa.com

Wednesday, September 5, 12

TestFlight

• Verteilung von Betaversionen an Tester• One-Click Installation von Builds• Reporting von Nutzung und Crashes

https://testflightapp.com/

Wednesday, September 5, 12

Verwendungsstatistik

http://www.omniture.com/en/products/analytics/sitecatalyst

http://www.localytics.com

Wednesday, September 5, 12

Zusammenfassung

Wednesday, September 5, 12

Zusammenfassung

Wednesday, September 5, 12

FragenDanke!

reto.zenger@zuehlke.com

patrick.jayet@zuehlke.com / @xrb

Wednesday, September 5, 12

top related