Disclaimer: Dieser Artikel ist geprägt von schlechten Meinungen und negativen Emotionen und entbehrt hier und da einer gewissen Sachlichkeit. Dennoch sehe ich diesen Blog auch als richtigen Ort, um auch mal meiner Wut Luft machen zu können, wenn im Erstellprozess etwas klemmt. Und es klemmt gewaltig...

Leser, die uns intensiver verfolgen, vor allem auch drüben bei Twitter (@gc_wizard), wissen einigermaßen gut über den Entwicklungsprozess Bescheid. Und sie wissen auch, dass es so etwas wie „Reviews“ gibt, bevor eine neue Version freigeschaltet werden kann.

Was sind diese Reviews?

Für den normalen Entwickler sind es – sind wir ehrlich – stupide Gängeleien. Google als Betreiber des Android PlayStores, sowie Apple als Betreiber des iOS AppStores fungieren vor jedem Release als eine Art Wachhund. Der Sinn ist, dass keine problematischen Inhalte, sagen wir Viren oder strafrechtlich relevantes Zeug, in die Stores gelangen. So weit, so gut. Sehen wir einmal davon ab, dass sich in den AppStores dennoch ein Haufen dubioses Zeug findet, fänd ich eine solche Durchsicht absolut gerechtfertigt.

Doch ein Review kann nur nach bestimmten Regeln erfolgen, also die Grundlage, nach was denn genau gereviewt wird. Und genau da wird es problematisch. Die Regelhefte beider Konzerne sind dermaßen lang und komplex, und dabei so unendlich unspezifisch, dass man eigentlich gar nicht anders kann, als dagegen zu verstoßen, wenn man eine Regel nur weit genug dehnt. Insbesondere weil sich die Regeln ziemlich häufig ändern.

Google

Ich gebe zu, die letzten Reviews bei Google waren wirklich schnell und unproblematisch. Danke dafür. Dennoch gab es gerade zu Beginn viele Probleme. So habe ich mehrfach die Meldung bekommen, dass der GC Wizard nicht released wird, weil er gegen irgendwelche ominösen Bestimmungen zur „Familienfreundlichkeit“ verstieß. So sieht eine Meldung bspw. aus:

Issue: Violation of Families Policy Requirements

Apps that contain elements that appeal to children must comply with all Families Policy Requirements. We found the following issue(s) with your app:

Eligibility Issue Privacy policy
You must provide a link to your app’s privacy policy on your app’s store listing page. This link must be maintained at all times while the app is available on Google Play, and it must link to a privacy policy that, among other things, accurately describes your app’s data collection and use. Please provide a link to a valid privacy policy in your app’s store listing page in the Play Console. For more details, please refer to the Privacy policy section (#6) of the Families Policy Requirements.

Next steps: Submit your app for another review

1. Read through the Families Policy Requirements (and the Designed for Families Program Requirements, if applicable) and make appropriate changes to your app.

2. …

Nun, die Sache war: Ich hatte alle erforderlichen Dokumente und alles fein verlinkt. Wer die App genau kennt: Der Link zu einer Privacy Policy findet sich bspw. in der „Über“-Ansicht.

Nun, all das erklärte ich damals auch „Chloe“. Chloe schickte mir nun… die gleiche Mail nochmal. Super.

Ich versuchte es also nochmal, ich blieb betont freundlich und sendete alle notwendigen Dokumente sowohl als Link als auch nochmal im Anhang mit.

Ich bekam – ja… – die gleiche Mail noch einmal.

Nun ersetzte ich das Datum der Privacy Policy gegen das damals aktuelle. Und nochmal raus das ganze. Chloe schrieb:

„Hi Mark,

Thanks for contacting Google Play Developer Support.

I noticed that your privacy policy link has been updated. After you submit a new app or an update to an existing app on your Play Console, it can take some time for your app to be processed for publishing on Google Play.

…“

Nun, zwei Tage später war die App online. Magie. Nicht, weil der Inhalt ein anderer war, sondern das Datum. WTF?

Das Problem ist, jede Runde der Kommunikation dauert aktuell zwischen 2 und 3 Tagen. Da sitzt man also auf einer fertigen Version, hat auch schon in den Social Media Kanälen alle User heiß gemacht und dann wird man durch absolute Willkür ausgebremst.

Diese „Familienfreundlichkeit“-Rubrik wird übrigens gern gezogen. Ich weiß nicht, was die Privacy Policy jetzt genau mit Familienfreundlichkeit zu tun hat – muss ich auch nicht, habe ich beschlossen. Fakt ist aber, das war nicht das letzte Mal, dass ich von dieser ominösen Rubrik gehört hatte:

Issue: Violation of Families Policy Requirements

Apps that contain elements that appeal to children must comply with all Families Policy Requirements. We found the following issue(s) with your app:

Eligibility Issue Designed for Families eligibility
After careful consideration, we have determined that your app does not meet our eligibility criteria for the Designed for Families program. Apps in the program must be specifically designed for children or families, have a rating of E or E10+, and include relevant app information.

Here are some examples of common apps that are ineligible for the program: Apps that are rated ESRB Everyone but contain ads for gambling or any inappropriate contentApps for parents or care-givers (e.g., breastfeeding tracker, developmental guide)Parent guides or device management apps that are only intended for use by parents or care-givers

Nun, damit konnte man nun genau gar nichts mehr anfangen. Generischer geht es nicht mehr. Auf den Support wartete ich diesmal ziemlich lange, so lange dass ich entschied, dass unsere Nutzer das nicht ausbaden sollten.

Kurzerhand entzog ich der App die „Geeignet für Nutzer unter 13„-Plakette und komme so seit dem um die ganze seltsame „Familienfreundlichkeit“-Rubrik herum.

Schwachsinn!

Apple

Nun, Google mag seltsame Ansichten von Familienfreundlichkeit haben, vielleicht eben eine sehr amerikanische, keine Ahnung, aber sie sind nichts gegen den anderen Konzern.

Bei Apple-Releases kann ich darauf wetten, dass irgendetwas schief läuft. Immer. – Jedes. Einzelne. Mal.

Dazu muss man sagen, dass das Bauen der App ca. 20 Minuten dauert (ich kompiliere immernoch in einer Virtuellen Maschine, weil Apple einen ja gängelt, dass man iOS Apps nur auf einem MacOS erstellen darf). Dann validiert das System die App. Weitere 10 Minuten. Dann lade ich das in den AppStore hoch. Nochmal 10 Minuten. Dann wird auf Apple-Seite das erste Review der Testversion gemacht: Gern mal 2 Stunden. Dann muss man die Testversion noch als Produktiv-Version bereit stellen – und da kommt der Zerberus als Höllenwächter und an dem kommst du nicht vorbei! Der Status „Waiting for Review“ existiert in der Regel 1 Tag. Dann wechselt er zu „In Review“ und 1 weitere Stunde später kommt, wenn man Pech hat (also immer beim ersten Versuch) eine E-Mail mit dem freundlichen Betreff:

New Message from App Store Review regarding GC Wizard

Im schlimmsten Fall steht da sowas drin:

Dear Mark,

We’ve sent you a new message about your app, GC Wizard, app Apple ID: 15XXXXXXXX. To view or reply to the message, go to Resolution Center in App Store Connect.

Best regards,
App Store Review

Ich meine… ECHT JETZT? Ihr sendet mir eine Nachricht mit dem Inhalt, dass ihr mir eine Nachricht schickt?

Nun, dann geht man mal los und sucht und sucht und sucht und findet irgendwann im Untermenü A-38 ein gelbes Warnsymbol und da steht in feinstem Juristen-Amerikanisch, dass man hier und dort noch eine der wöchentlich neuen Vertragsklauseln akzeptieren soll (die man natürlich genau gar nicht versteht).

Schön fand ich auch diese Begründung einer Ablehnungs-Mail:

Guideline 2.3.10 – Performance – Accurate Metadata

We noticed that your app or its metadata includes irrelevant third-party platform information.

Specifically, your app includes Android in the app description.

Referencing third-party platforms in your app or its metadata is not permitted on the App Store unless there is specific interactive functionality.

Also nochmal zum Mitpinseln: Die haben echt bemängelt, dass in der App-Beschreibung das Wort „Android“ auftaucht. Really?

Und das ging mehrfach Hin und Her. Keiner konnte mir sagen, warum das problematisch ist. Aber abgelehnt haben sie trotzdem.

Außer in der Gold-Version! Ja, richtig. Die Beschreibung in der Gold-Version ist absolut identisch mit der der Standard-Version (bis auf den Hinweis, dass die App weder mehr noch weniger kann als die Standard-Version).

Dieses Mal kam der Hinweis, weil im Changelog auftaucht, dass es interne Umbauarbeiten gab, um die neuen Android-Versionen zu supporten.

Und da soll man nicht bekloppt werden?

Fazit (finaler Rant)

Ganz ehrlich? Bei so viel Bürokratie und Steinen im Weg vergeht mir in diesen Momenten IMMER die Lust an dem Projekt. Ich könnte jedes einzelne Mal ausrasten, wenn so eine Gängelung dazu führt, dass ich den Abend nicht mit meiner Familie auf der Couch oder mit Freunden beim Cachen, sondern vor irgendwelchen Warte- und Fortschrittsanzeigen hänge, um alle paar Minuten wieder ein „OK“ zu klicken oder ich genötigt werde, eine Einwilligung zum Kauf einer Waschmaschine zu unterschreiben.

Die Masche, die insbesondere Apple (Google auch, aber auf die bin ich gerade im Moment nicht wütend) abzieht, ist zum Kotzen! Komplett!

Der Entwickler zahlt – nicht wird bezahlt, er zahlt! – Geld an die Portale. Dafür, dass er ein Gratis-Tool online stellt, womit Google und Apple am Ende wieder ein Stückchen mehr Nutzerbindung betreiben können (in deren Stores gibts dann halt diese oder jene App, da lohnt es sich ja für die Nutzer zu bleiben). Der einfache Entwickler sitzt zu Hause, ohne irgendwelche großen Unternehmenshierarchien hinter sich und darf sich – mehr oder weniger komplett auf sich allein gestellt – durch den Wust an Problemen kämpfen, nur damit die Konzerne am Ende irgendwann so gnädig sind, dessen App zu veröffentlichen. Bei Problemen ist es dann wie überall. Antworten bekommt man keine, man wird auf Seiten verwiesen, die man mangels amerikanischen Jurastudiums nicht versteht (und vermutlich auch dann nicht weiter kommen würde) und am Ende kassieren die Konzerne ab.

Gut, Googles Entwicklungsgebühren waren einmalige $25. Ok, damit gehe ich konform, dafür bieten sie eine Vertriebsfläche.

Aber Apple verlangt für all den Scheiß $100 (!) jährlich (!!!). Und wofür frage ich? Wofür zahle ich so viel Geld? Für transparenten Service sicher nicht. Ich hatte schon vorher keine gute Meinung von Apple und ich habe mich schon immer gefragt, warum man bitte auf die Idee kommen kann, deren Geräte zu kaufen. „Weil alles so gut Out-of-the-Box funktioniert“ ist die Antwort. Gut, was genau nicht „Out-of-the-Box“ bei Android funktioniert, weiß ich nicht so genau, noch weniger, ob es das unfassbare Mehr an Geld rechtfertigt, aber gut, soll jeder, wie und mit wem er mag.

Aber als Entwickler funktioniert genau gar nichts „Out-of-the-Box“. Sie nötigen einen Entwickler, einen kleinen Menschen, der in seiner Freizeit seiner Community einen Gefallen tun will, für x-tausend Euro einen Mac zu kaufen, um die App überhaupt erstellen zu können! (Das konnte ich dank einiger gewiefter Hacker im ominösen Internet Gott-sei-Dank ein wenig umgehen, wenn auch durch die Einbuße von jeglicher Performance). Dann nötigen sie den Entwickler zum Kauf eines iPhones, weil man ein solches Gerät benötigt, um sich im App-Store überhaupt einloggen zu können. Dann wollen sie dafür nochmal satte $100 im Jahr für… also… keine Ahnung. Nein, Leute, Apple ist nicht geil. Apple ist die Hölle! Vor allem wenn man produziert.

Dazu kommt dann: Macht man eine App kostenpflichtig, um wenigstens Kostendeckung zu erreichen (dafür gibt es ja die Gold-Versionen), dann greifen die beiden Stores NOCHMAL zu, mit 40-50% des Preises, die der geneigte Spender freundlicherweise bereit war, springen zu lassen (Ein ehrliches Dankeschön an die Spender!). So eine verdammte Scheiße! Und dafür habe ich dann doppelten Aufwand, um nämlich je 2 Versionen durch den Prozess zu prügeln (Und sind wir mal ehrlich: Aktuell ist der Anteil derer, die dankenswerter Weise zu einer Gold-Version griffen, bei unter einem einzigen Prozent!)

Ich habe wirklich schon mehrfach drüber nachgedacht, dieses Experiment einzustellen. Weil mir meine rare Zeit den Ärger nicht Wert ist. Und weil das Geld für mich eine Investition in nichts anderes als genau diesen ist. Ich habe genau nichts davon, dass ich Apples App Store belade.

ABER…

Ich tus nicht. Ja, ich würde gern hinschmeißen – oder zumindest hätte ich gern jemanden an meiner Seite, der Apple freundlicher gesonnen ist als ich und diesen ganzen beschissenen Prozess übernehmen könnte, damit ich davon nichts mehr mitbekomme.

Aber ich ziehe es durch. Denn da draußen… seid ihr! Jeder einzelne Download freut mich (und natürlich auch den Rest der Crew). Jede 5-Sterne-Bewertung gibt uns Halt und Bestätigung. Jedes freundliche Wort in Reviews oder per Mail oder per Facebook, Twitter oder auch direkt baut uns auf und motiviert uns wieder. Und jede einzelne Spende, die bisher rein kam hilft, um wenigstens ein wenig Kostendeckung betreiben zu können: Die Stores zu bezahlen, die Web-Hosting-Gebühren, Entwicklungstools, den Kaffee und letztlich auch den Strom. Dank auch an die Spender, die ihre alten iPhöner an uns sendeten bzw. es bereits ankündigten! Ihr seid unser Motor! DANKE!

Wenn ihr uns unterstützen wollt, aber nicht wisst, wie: Hier könnt ihr mal schauen, ob euch etwas passt 🙂 Auf jeden Fall schon mal vielen lieben Dank!

Lieben (wenn auch etwas genervten) Gruß,

Mark und das Team #GCWizard