Erster Teil meiner Artikelserie über die Entwicklung unabhängiger Produkte
Als Mobile-Entwickler ist mein größter Wunsch natürlich, eine App zu schreiben und mich zurückzulehnen, während das Geld hereinrollt ( ͡° ͜ʖ ͡°).
Auf welche Probleme stößt man, wenn man allein eine App entwickelt? Ich habe vor Kurzem eine eigene App veröffentlicht und möchte erzählen, welche Schwierigkeiten auftraten und wie ich sie gelöst habe.
1. Bedarf bestimmen
Jeder hat einen etwas anderen Grund dafür, eine unabhängige App entwickeln zu wollen.
Im Großen kann es ein dringendes Bedürfnis sein, dessen Lösung die Welt verändern könnte – es fehlt nur noch ein Programmierer.
Im Kleinen möchtest du vielleicht einfach deine eigene App im App Store sehen. Sie könnte ein Experiment mit neuer Technik sein: Nachdem iOS 8 Today-Erweiterungen eingeführt hatte, erschienen viele besondere Apps auf dieser Grundlage. Oder sie könnte ein Werkzeug sein, das eine Unannehmlichkeit im Alltag beseitigt, etwa eine Dateiverwaltungs-App oder eine Wetter-App mit durchdachten Funktionen.
Finde einen Bedarf, ganz gleich wie groß oder klein. Er gibt dir die Motivation weiterzumachen.
Als Antwort auf die Bedürfnisse meiner Frau entwickelte ich eine Dateiverwaltungs-App namens „File Manager“.
File Manager macht das Telefon zu einem Server. Andere Geräte im selben WLAN können dessen Dateien über einen Browser verwalten: Ordner organisieren, Dateien kopieren und verschieben sowie sie hoch- oder herunterladen.
Nachdem der Bedarf feststand, brauchte ich ungefähr drei Monate bis zur Veröffentlichung des Projekts. Nebenbei lernte ich etwas Swift.
2. App-Prototypen und Interaktionen
Sobald Bedarf und Lösung feststehen, hast du wahrscheinlich ein grobes Bild des Prototyps und seiner Bedienung. Als Nächstes gilt es, die tatsächlichen Ansichten und Interaktionen festzulegen.
Ich probierte einige Prototyping-Werkzeuge aus und gab sie dann wieder auf.
Mir wurde klar, dass die Zeit zum Erlernen eines Prototyping-Werkzeugs und zum Anlegen der Ansichten gereicht hätte, um sie mit xib zu bauen. Am Ende löste ich mein Prototyping-Problem mit handgezeichneten Skizzen.
Bei späteren Produkten erkannte ich, dass Prototypen notwendig sind. Prototyping ist im Grunde ein Prozess, die Logik zu ordnen und in sich stimmig zu machen.
3. Was tun mit all den kleinen App-Icons?
Mit dem fertigen Prototyp hatte ich eine ungefähre Vorstellung von der Gesamtstruktur des Projekts. Jenseits des Codes blieb jedoch ein Problem, dem kein unabhängiger Entwickler entkommt!
Was sollte ich mit all den kleinen Icons machen, die im Projekt gebraucht wurden?
Hier sind einige Icon-Bibliotheken, die ich verwendet habe:
- Alibabas Icon-Bibliothek → Komplette Vektor-Icon-Sätze mit frei einstellbaren Farben und Größen – eine großzügige Ressource. Für eine kommerzielle Nutzung ist dennoch die Erlaubnis des Urhebers nötig.
- icons8 → 56.500 kostenlose flache Icons! Es gibt Icons für verschiedene Plattformen und sogar eine Mac-App.
- iconfinder → Bietet ebenfalls vollständige Icon-Sätze, mit einem deutlicher kommerziell ausgerichteten Modell.
4. Eigene Tests und Betatests
In einem Unternehmen helfen Tester, Produktkollegen und andere Teammitglieder dabei, die App zu verbessern. Wie kann ein unabhängiger Entwickler möglichst viele Fehler möglichst früh finden und verhindern?
4.1 Selbst testen
Nun muss ich die Arbeit selbst erledigen, die ich früher dem Testteam übergab. Neben manuellen Tests können wir auch einen Testaffen aufziehen, der uns beim Testen hilft.
4.2 Betatester gewinnen
Wer eine unabhängige App entwickelt, übernimmt mehr Rollen als nur die Entwicklung: Produktarbeit, Betrieb, Kundenservice und vieles mehr. Auch die Werbung liegt bei uns. Beginne mit Freunden, Mitschülern, Kommilitonen und Familie und schreibe in sozialen Netzwerken: Meine App ist fast fertig, helft mir beim Ausprobieren!
Betanutzer finden nicht nur Fehler. Ihre neuen Wünsche und Vorschläge können die App noch stärker bereichern und verbessern.
4.3 Test-Builds verteilen
Wenn sich die Gerätekennungen der Betatester leicht beschaffen lassen, kannst du eine Beta-Hostingplattform wie Pgyer oder fir.im verwenden. Dabei gelten Gerätebeschränkungen.
Wenn die Gerätekennungen schwer zu bekommen sind, kannst du Apples seit iOS 8 geöffnetes TestFlight mit bis zu 10.000 Betatestplätzen nutzen.
5. Screenshots für den App Store
Warum widme ich den Screenshots für die Veröffentlichung einen eigenen Abschnitt? Unabhängige Entwickler haben vergleichsweise wenige Werbekanäle. Die Screenshots und die Beschreibung auf unserer Produktseite im App Store sind Eingang und Schaufenster der App.
Sehen diese Screenshots schlecht aus, verlieren wir womöglich jemanden, der die App gerade erst entdeckt hat.
Im Unternehmen helfen UI-Designer und Produktkollegen bei den Screenshots. Wie kommen wir allein an Bilder in den richtigen Größen?
5.1 Screenshots im Simulator
Du kannst App-Ansichten direkt im Simulator aufnehmen, das Ergebnis wirkt allerdings möglicherweise etwas roh.
5.2 Etwas Feinschliff
Ich empfehle die kostenlose Website shotbot. Lade dein Material hoch, und sie erstellt einen vollständigen Satz einheitlich formatierter Produktscreenshots.
Anmerkung vom 2022-04-11: Später schrieb ich eigens eine Mac-App, um Screenshots für meine eigenen App-Store-Veröffentlichungen anzufertigen.
6. Weitere von mir verwendete Ressourcen
Bei bestimmten Interaktionen und Gestaltungen reichen Werkzeuge von Drittanbietern und fertige Icons manchmal nicht ganz aus.
Dann bearbeite die Bilder selbst!
Natürlich sind die meisten Entwickler nicht besonders gut in Photoshop, und manche haben es nie benutzt. Was können wir tun?
Hier sind zwei Websites: Online PS und Meitus Webeditor
Du kannst einfache Bildbearbeitungen im Browser erledigen, ohne umfangreiche Adobe-Software herunterzuladen. Das ist eine gute Nachricht für alle unter uns, die Photoshop nicht besonders gut beherrschen.
Neben der Bildbearbeitung kann auch das App-Icon selbst Kopfzerbrechen bereiten. Eine weitere empfehlenswerte Website ist MakeIcon: Lade ein Logo mit 1024×1024 hoch, und die Website erzeugt automatisch alle anderen Icon-Größen. Sie unterstützt sogar iMessage unter iOS 10.
7. Schlussgedanken
Ich schloss die Entwicklung mit vorhandenen Ressourcen und ohne Hilfe eines UI-Designers ab. Wenn du einen Designer hast, darfst du dich gern verabschieden  ̄ヘ ̄.
Ich wollte schon lange eine eigene App entwickeln. Richtig angefangen habe ich erst vor Kurzem, nachdem ich geordnet hatte, was ich brauchte. Vor allem hatte ich endlich einen klaren Bedarf, den ich angehen konnte, und nebenbei lernte ich etwas Swift.
Während der Entwicklung gab es sogar eine Woche, in der ich kaum Code schrieb. Mir wurde klar, dass bei einer unabhängigen App der Bedarf der eigentliche Antrieb zum Weitermachen ist. Seine Größe spielt keine Rolle; entscheidend ist, ein Problem zu lösen.
Mit der Entwicklung wuchsen die Anforderungen: AirDrop-Freigabe, iCloud-Integration und die Entwicklung einer ShareExtension waren noch nicht abgeschlossen. Weitermachen und Stück für Stück verbessern! ʘʚʘ (Ich gebe ganz bestimmt nicht zu, dass ich die App ursprünglich entwickelte, um meine „collection.avi“ zwischen PC, Telefon und iPad zu teilen.)
Hier ist der Link zu meiner App: Die einfachste Art, Dateien zu verwalten: File Manager
Anmerkung vom 2022-04-11: Die App lässt sich nicht mehr über die Suche finden. Da es keine gute Möglichkeit gab, sie zu monetarisieren, verkaufte ich sie an ein Outsourcing-Unternehmen. Der Verkauf brachte mich viel zum Nachdenken; im nächsten Artikel gehe ich ausführlicher darauf ein.
Der ursprüngliche Artikel erschien auf Jianshu. Mein Jianshu-Konto wurde später kompromittiert, und meine anderen Artikel wurden immer wieder gesperrt. Nun migriere ich alle meine Blogbeiträge zu github.io.