Warum ich (für iOS) programmiere

tombeta
3 min readSep 14, 2016

--

In meinem Leben gibt es wenig, was nicht in irgendeiner Form mit Computern zu tun hat. Seitdem das so ist, hatte ich den Drang zu verstehen, wie diese komischen blinkenden Cursor auf den Bildschirm kommen. Wie sich, verdammt noch mal, diese F14 auf dem Bildschirm nach rechts rollte, wenn ich den Joystick nach rechts drückte.

Ich kann mich noch erinnern, wie ich im Alter von 13 Jahren das erste Mal einen Computer sah, einen C64. Für mich war das ein völlig mysteriöses, fast magisches Ding. Obwohl so intuitiv zu bedienen, wie das Kontrollpanel eines Atomkraftwerkes.

Als dann das Internet kam, konnte ich endlich sehr einfach unter die Haube von Websites schauen und nachvollziehen, wie zumindest diese funktionieren. Einfach, indem ich sie zunächst nachbaute, veränderte, Erfahrungen sammelte und mit jedem Projekt besser wurde.

Irgendwann, Jahre später, war ich damit selbstständig; mittlerweile bin ich Projektleiter in einer ziemlich coolen Digitalagentur in Köln.

Seit Anfang des Jahres habe ich nun meine erste iPhone-App im App-Store. Die richtet sich an Fotointeressierte, die gerne wissen möchten, was für Daten sich neben den eigentlichen Bilddaten so in ihren Fotos befinden (Das Wort „Metadaten“ kennt man ja nicht nur aus dem Überwachungsdiskussionskontext). Man kann einige dieser Daten auch bearbeiten oder komplett aus dem Bild entfernen, dieses so teilen oder abspeichern. Also was für (Hobby-) Fotografen.

Warum habe ich diese App geschrieben?

Ich nutze Instagram nicht so sehr als Selfie-Präsentationsbühne, sondern poste gerne Fotos, die ich mal mit dem iPhone, mal mit der Spiegelreflex gemacht habe. Die Digicam hat keinen GPS-Sensor, daher musste ich deren Bilder immer nach-taggen, weil ich die Geo-Foto-Übersicht bei Instagram so cool finde. Allerdings hat die App, die ich dafür nutzte, den Nachteil, dass sie die Bilder nach dem taggen beim Speichern komprimiert. Absolutes No-Go.

Da ich im Store keine akzeptabel bepreiste App fand, beschloss ich selbst eine App zu schreiben, die in der ersten Version Exif-Daten von Fotos ausliest und in einer späteren Version zumindest die wichtigsten Daten auch ändern kann.
Das Problem war: Ich hatte überhaupt keine Ahnung von „echtem“ programmieren. HTML, CSS, JS & Spaghetti-Code-PHP haben mich jetzt nicht unbedingt befähigt objektorientierte Applikationen zu schreiben. Daher war mir klar, dass diese Entscheidung Opfer fordern würde.

iOS vs. Android

iOS als Plattform war gesetzt, da ich ja mein Problem als iPhone-User lösen wollte und ich mich nicht mit einem gruselig fragmentierten Devicemarkt von Androiden herumschlagen wollte. Außerdem sind die meisten Androiden entsetzlich uncool und hässlich; einige explodieren neuerdings ja sogar bei Benutzung. Meine App im PlayStore zu sehen, der jetzt nicht unbedingt für Qualität steht, sorgt bei mir jetzt auch nicht für Begeisterung.
Was meine Entscheidung aber noch mehr beeinflusste, ist der Fakt, wie Apple seine Entwicklergemeinde umarmt: Sie stellen mir wirklich coole kostenlose Tools zur Verfügung um für ihre Umgebung zu programmieren. Dazu kommt eine sehr ausführliche Dokumentation von APIs, gute Einführungen in die Programmierwelt, Kurse, Vorträge von den WWDCs und vieles mehr.

Das Ergebnis ist eine erste App, die ich dank des Rates eines Freundes doch nicht kostenlos vertreibe, die funktioniert, die tatsächlich gekauft wird und für die ich noch tausend Ideen habe.

Programmieren ist nicht einfach

Dieser Tage hört man ja überall: „Programmieren ist einfach!“, oder „Macht es einfach!“ usw.
Ganz ehrlich: Das stimmt so nicht. Programmieren lernen ist nicht einfach.
Gefühlt hunderte Stunden lesen von Foren, die sich mit Problemen von mehr oder weniger erfahrenen Programmierern beschäftigen, lassen in mir die Vermutung aufkommen, dass das viele andere auch so sehen.
Gerade der Einstieg wird durch mehrere Lernkurven erschwert: Die Entwicklungsumgebung, die APIs, die Lebenszyklen von Apps bzw. Klassen und Klassentypen, Umgang mit Medien, Reglementierungen, die Programmiersprache selbst und noch vieles mehr, wollen im Grunde gleichzeitig kapiert werden.

Klar, je länger ich das mache, desto einfacher wird das. Einfach weil ich es tue, ganz ähnlich wie bei einer Fremdsprache.

Der Zugang zum Programmieren ist so einfach wie nie, die Komplexität und Kompaktheit der Lernkurven allerdings eher nicht so.

Dennoch hat es sich gelohnt. Der Stolz, die App im Store zu sehen, wenn Käufe eintrudeln, wenn Feedback von Usern kommt, ist schon toll.Wir leben in einem Zeitalter, in dem die Maschine — Mensch — Kommunikation immer wichtiger wird. Zeit die verbracht wird, zu verstehen wie das funktioniert, ist gut investierte Zeit. Ich würde jedem raten das mal zu versuchen.

Ich würde es wieder tun.

--

--

tombeta

Works @kernpunkt, Project-Manager, Geek, iOS-Developer-Wannabe