Wie funktioniert das eigentlich ? Ein App «zu veröffentlichen» ? Und warum sind die Apps von pfx alle in den offiziellen Stores erhältlich ?
Ein Einblick mit einigen Anekdoten aus dem echten Entwickler-Leben.
Vorteile
Die Vorteile einer sauberen Veröffentlichung im Google Play oder Apple Store sind einfach:
- Der Hersteller des Betriebssystems (Apple / Google) prüft das App vor Erscheinung auf schwere Fehler, massive Sicherheitslücken, generelle Designrichtlinien und administrative Vorgaben
- Updates und Bugfixes werden sicher und zertifiziert durch Apple und Google verteilt
- Als geprüftes App haben wir Zugriff auf geräteinterne Schnittstellen: Bluetooth, NFC, Kamera, etc.
- Es dient gleichzeitig auch als Schutz dem Benutzer gegenüber: Stichwort Datenschutz, Verschlüsselung und Laufzeit
Ein App im Google oder Apple Store ist ein Qualitätsmerkmal. Wer durch die nicht immer ganz einfachen Checks und Prüfungen der Stores kommt hat sich zumindest ansatzweise mit den Richtlinien der Hersteller und moderner Entwicklung beschäftigt.
Das vergessene App
Es ist kurz vor Weihnachten und wir veröffentlichen einen Bugfix für pfx Liste welcher einen Fehler beim Herunterladen von Listen korrigiert. Zwar ist Apple beim Prüfen in der Regel langsamer als Google – 3 Tage und ein Wochenende dünken uns dann aber doch zu lange. Wir entschliessen uns die Prüfung abzubrechen, die Version zu erhöhen und das App exakt so noch einmal zu übermitteln. Nach 2 Stunden ist die Prüfung durch und das App im Store – scheinbar wurden wir einfach «vergessen»…
Stolpersteine
Ein App zu veröffentlichen ist anstrengend und benötigt nicht nur Erfahrung sondern auch technisches Wissen. Geprüft wird bei jedem Release oder Update unter anderem folgendes:
- Funktioniert die App überhaupt ? Keine Abstürze, etc.
- Sind grundlegende Designrichtlinien eingehalten ?
- Sind die Einträge in den App Stores korrekt (Datenschutz, Preis, Diverse Administrative Angaben)
- Werden Bibliotheken sauber implementiert (z.B. Werbung, In-App-Purchase)
Hinzu kommen diverse Vorgaben, welche eingehalten werden müssen.
Ein Beispiel sind die Screenshots die für viele verschiedene Gerätetypen gemacht werden müssen: Grosse Tablets, Kleine Tablets, 6 – Zoll Displays, etc…
Stimmt hier bei Apple etwas ein Screenshot nicht mit dem Gerät überein, wird das App rigoros abgelehnt.
Proffix ? Kennen wir nicht.
Bei der Erstveröffentlichung von pfx Adresse mussten wir beweisen, dass die Apps nicht nur für eine Handvoll «private Nutzer» sind, sondern das Proffix Px5 ein «publicly available ERP in Switzerland like SAP» ist («SAP» da nicht ganz sicher ob dem Apple Mitarbeiter das Wort «ERP» ein Begriff war). Erst nach längerer Diskussion mit Beleg, dass jeder Proffix Px5 herunterladen und die Rest-API installieren kann, wurde uns erlaubt pfx in den Stores zu publizieren.
Berechtigungen
Ein App hat Zugriff auf viele verschiedene Schnittstellen: Bluetooth, GPS, Position, Aktivität – je nachdem sogar auf Fitnessdaten, Gewicht, Schlafgewohnheiten etc.
Damit nicht jedes App einfach «alles» kann, müssen die verwendeten Berechtigungen beim Release explizit deklariert und in vielen Fällen auch detailliert begründet werden.
Bei pfx Apps ist das zum Beispiel bei NFC (Near-Field-Communication) der Fall: zu jedem App müssen jeweils kurze Videos eingereicht werden, welche die Funktionsweise und den Ablauf zeigen.
Das bisher anspruchsvollste App in dieser Hinsicht ist pfx Zeit mit der Funktion Geofencing: da Geofencing nicht nur Zugriff auf die Position benötigt, sondern zwecks Energie sparen auch nur aktiv ist, wenn sich das Gerät bewegt benötigte die Prüfung – vor allem bei Apple – mehrere Anläufe mit ausführlichen Begründungen und Nachweisen.
Der Zwilling
Das App pfx Zeit wurde zweimal veröffentlicht und hat eigentlich auch zwei Einträge im Apple Store. Aufgrund der sehr anspruchsvollen Berechtigungen musste die erste Version «unlisted» publiziert werden. Das App konnte also nicht direkt im Apple Store gesucht sondern nur per direktem Link erreicht werden.
Eine spätere Anpassung (d.h. auf Öffentlich stellen) war auf Biegen und Brechen nicht möglich – und löschen ging auch nicht mehr. Deshalb musste das ganze App noch einmal mit allen Zertifikaten neu erstellt und eingereicht werden – die offizielle App-ID für iOS lautet deshalb heute auch ch.pitw.pfxzeit2
Lohnt sich das überhaupt ?
Auch wir stellen uns ab und zu die Frage, wieso wir pfx nicht einfach als progressives Webapp (PWA) veröffentlichen. Wir könnten fast alles selbst bestimmen und müssten keine Rücksicht auf Hersteller – und Storerichtlinien nehmen…
Mittel- bis langfristig ist der offizielle Weg für den Anwendungszweck «Proffix Px5 als App» aus unserer Sicht aber optimaler.
Man hat mit einem «echten App» mehr Möglichkeiten, bessere Performance und höhere Sicherheit.
Selbstverständlich hat ein Webapp – gerade bei kleineren, schnelleren Projekten – durchaus auch seine Daseinsberechtigung: ein installierbares, natives App welches von Apple und Google zumindest für akzeptabel befunden wurde ist aber dann doch einfach «etwas mehr».
Und solange die Hersteller an den App Stores mitverdienen wird dieser Weg auch zukünftig vorne bleiben.