1-jähriges App Store Jubiläum
Wie doch die Zeit vergeht… Fast genau vor einem Jahr haben wir unsere erste iApp in den AppStore gestellt, damals noch 1 von 500! In der Zwischenzeit haben wir rund 40 Kundenprojekte umgesetzt und die iApp von “damals” unterscheiden sich zwischenzeitlich grundsätzlich von denen, die als Erstes den Weg in den AppStore gefunden haben.
Am Beispiel der iApp für den Tages Anzeiger (iTunes Link) lässt sich dies gut erkennen.
iPhone Applikationen sind eine ganz spezielle Spezies, denn eigentlich gibt es ein paar (fast) nicht unter einen Hut zu bringenden Anforderungen zu erfüllen:
- Eine iApp muss einfach zu bedienen sein
- Sie muss schnell sein (Kein Ruckeln)
- Man sollte nur vom Server laden, was gerade gebraucht wird, dass dafür sehr schnell
- Die iApp muss jederzeit bedienbar bleiben, egal welche Datenmenge gerade gebraucht wird
- u.s.w.
Diese Liste liesse sich noch fast beliebig erweitern, wobei oft noch hinzu kommt, dass auch die Budgets nicht mehr so üppig zur Verfügung stehen wie auch schon. Kompliziert wird es dann erst richtig, wenn man sieht, welche technischen Rahmenbedingungen dem gegenüberstehen:
- Limitiertes Memory
- (Fast) klassische C-Programmierung (Keine moderne Programmiersprache trotz einzigatigem Framework)
- CPU ist nicht zu vergleichen mit einer Desktop CPU (Bsp. Multithreading)
- Kein Garbage Collection
- Simulator entspricht in keinster Weise dem Verhalten auf dem echten Device
- Wenige Entwickler mit entsprechendem Know-How verfügbar
Trotzdem erweckt Apple selber und Steve Jobs in seinen berühmten Sessions, dass alles ganz einfach ist und auch die komplexesten iApps in wenigen Tagen portiert sind. Bei Spielen mag das noch stimmen, aber auch dann nur, wenn bereits grosse Bibliotheken und vorallem dediziertes Know-How zur Verfügung stehen.Bei realen Kundenprojekten ist dies aber so gut wie nie der Fall.
Doch etwas habe ich bis jetzt nicht erwähnt. Trotz all den obrigen Widrigkeiten, unterscheidet sich die iPhone Programmierung von allen Anderen, denn es macht einfach Spass, Software für’s iPhone zu schreiben. Dass man davon alleine nicht leben kann ist klar, deshalb ist es auch extrem wichtig sich schnell eine Basis (früher hätte man Framework gesagt) zu schaffen, die einem Vieles erleichtert. Wir sind noch einen Schritt weitergegangen und haben sogenannte Factories erstellt. “Module” also, die sich für beestimmte Anwendungsbereiche “Lego” artig zusammenbauen lassen. Das ist zwar nicht für jede iApp möglich, aber bei all den News Apps, die durch unsere Hände laufen, macht dies durchaus Sinn und erlaubt uns auch schneller komplexere Themen wie Push Notification, InApp Purchase etc. einzubauen. Highlight ist aber sicher unser Basis System für alle News Anwendungen, das ein für’s iPhone optimiertes Multi-Threading unterstützt und immer dann die CPU und Memory beansprucht, wenn der Benutzer gerade etwas liest oder aus anderen Gründen wenig Ressourcen vom iPhone abverlangt.
Ich werde in einigen weiteren Posts sicher noch mehr auf technische Details und auch noch auf die Tools genauer eingehen, zusammenfassend kann aber schon mal ein Fazit gezogen werden.
Eine einzelne iApp ist aus Business Sicht gesehen, immer im besten Fall eine schwarze Null, ein effektives Business kann daraus nur werden, wenn Synergien zwischen den Projekten geschaffen werden, möglichst viel automatisiert wird und nicht zuletzt ein sehr gutes Team dahinter steht.
Alles Dinge, die bei uns heute Realität sind und so Applikation wie die Tagi iApp Realität werden lassen. Dafür vielen Dank an all unsere Kunden!
Weitere Referenzen auf www.iagentur.ch.