---
title: "Programmieren auf der Apple Watch"
date: 2017-02-16
language: de
topics: ["SSH", "ThinkPad", "apple", "creating", "creativity", "experiment", "hacking", "iOS", "iPhone", "laptop", "linux", "minimal", "programming", "retro", "smartphone", "vim", "watch", "work"]
source_url: https://willem.com/de/2017-02-16_programmieren-auf-der-apple-watch/
---
# Programmieren auf der Apple Watch

*Ernst gemeinte verrückte Experimente*

> In den letzten Jahren waren mir verrückte Experimente nicht fremd, aber diesmal wollte ich es wirklich auf die Spitze treiben: Programmieren auf einer Apple Watch. Kann man auf so einem winzigen Gerät tatsächlich Code schreiben? Und wozu überhaupt? In diesem Beitrag geht es um den Wert verrückter Experimente und darum, warum du es auch versuchen solltest!

Vor einer Woche habe ich mit meinem Kumpel Niels ein paar E-Mails ausgetauscht und ihm von meiner Idee erzählt, mit einem iPhone zu arbeiten. Er schlug (auf Niederländisch) vor, die Idee noch eine Stufe weiterzutreiben... Apple Watch.

![Nachricht von meinem Kumpel Niels, der vorschlägt, meine Idee vom "Arbeiten auf dem Smartphone" auf die nächste Stufe zu heben, samt Photoshop-Mockup.](https://willem.com/global/images/91b808d07886.webp)

Während er seine brillanten Photoshop-Fähigkeiten einsetzte, nutzte ich Xcode, mein Linux-Wissen, SSH, VIM, das lokale Netzwerk, eine Bluetooth-Tastatur, eine echte Apple Watch, etwas Zeit und Geduld.... Daraus wurde dieser Proof of Concept:

![Und das habe ich getan! Programmieren auf der Apple Watch mit VIM, SSH, einer Bluetooth-Tastatur und Kaffee.](https://willem.com/global/images/a91c01a62961.webp)

![Echter Programmcode, echte Apple Watch. Kein Photoshop.](https://willem.com/global/images/a168f98b960f.webp)

## So funktioniert es (für Laien)

Ich habe eine kleine Watch-App gebaut, die sich mit einem externen Computer verbindet, auf dem die Entwicklungssoftware läuft. Die Tastatur hängt an diesem externen Computer, sodass ich wirklich Code schreiben kann. Das Prinzip ist einfach und lässt sich mit der Kamera-App vergleichen, die standardmäßig auf der Uhr ist: Du nutzt die Uhr als Sucher für die Kamera im iPhone. Diese Watch-App ist so etwas wie ein "Sucher" für Programmcode.

## So funktioniert es (für die Technikfreaks unter uns)

Im lokalen Netzwerk läuft auf einem Linux-Rechner ein kleiner NodeJS-Server, der Screenshots einer Shell-Sitzung macht, in der mein Lieblingseditor VIM läuft. Die Tastatur ist per Bluetooth mit diesem Laptop verbunden. Auf der Watch habe ich eine einfache App gebaut, die alle paar Sekunden einen neuen Screenshot holt und im Vollbild anzeigt. Das ist ein Proof of Concept und nichts, was den App Store verdient hätte (zwischen den Aktualisierungen gibt es ziemlich viel Verzögerung, aber es funktioniert). Wenn du es selbst bauen willst, such nach *WKInterfaceImage*, *UIImage*, *NSURLSession* und *dataTaskWithURL*

![Die Quelle der Magie: mein ThinkPad X1, verbunden mit dem lokalen Netzwerk.](https://willem.com/global/images/caa603c5520c.webp)

## Warum

Ich experimentiere regelmäßig, weil ich dabei etwas über meine eigene Arbeitsweise lerne. Die Experimente zwingen mich, Dinge zu überdenken, die ich für selbstverständlich oder normal halte. In vielerlei Hinsicht gilt: **"Der Weg ist das Ziel"**.

Ich probiere aktiv neue Hard- und Software aus, einfach um auf dem Laufenden zu bleiben und Neues zu lernen. 2008, wenige Monate nach dem Start des App Store, gehörte ich zu den Allerersten, die mit der iOS-Entwicklung angefangen haben. Obwohl das Potenzial unklar war, habe ich die Technik gelernt und damit experimentiert. Diese frühe Erfahrung half mir, 2011 die App Snake '97 (www.snake97.com) zu programmieren, wieder so eine verrückte Idee, die sich als Spiel mit *20 Millionen Downloads* entpuppte... :-))

![Snake '97: die ursprüngliche Idee und die Stars des Spiels, das Nokia 5110 und das 3310. Möglich durch frühere Experimente mit Technik.](https://willem.com/global/images/d260e207062a.webp)

## Was ich gelernt habe

Statt "Warum?" solltest du also lieber fragen: "Was habe ich gelernt?" Nun, einiges:

- **Verlege deine Programmierumgebung ins Terminal:** Setz auf Text, lass die IDE (wie Visual Studio) hinter dir und lerne, VIM (oder Emacs) mit Tastenkürzeln richtig zu nutzen. Diese Tools laufen praktisch auf *jedem* Gerät und brauchen kein proprietäres Betriebssystem.

- **Tschüss, Maus:** Lass die Finger dort, wo du Code schreibst: auf der Tastatur. Statt zur Maus zu greifen, nimm die Tastatur (Tastenkürzel). Es kann etwas dauern, sie zu lernen, aber am Ende bist du *viel* schneller. Außerdem kannst du jeden Bildschirm nutzen, denn mehr Geräte unterstützen eine Tastatur als eine Maus (denk an Spielkonsolen, Smart-TVs, AppleTV, Geräte der alten Schule).

- **Nutze die Pixel mit Bedacht:** Wenn du dich auf einen kleinen Bildschirm beschränkst, musst du besser überlegen, wie du die Pixel nutzt. Brauchst du wirklich all die Symbolleisten, die ganze Zeit sichtbar? Je weniger Bedienelemente dauerhaft zu sehen sind, desto mehr Platz bleibt für den eigentlichen Inhalt. Weniger Ablenkung, mehr Fokus.

- **Schreib besseren Code:** Damit alles auf einem kleinen Bildschirm lesbar bleibt, achtest du viel mehr auf Dinge wie Codestruktur, Funktionslogik und Namensgebung. Kleine Bildschirme fördern kürzere Codezeilen und kompaktere Funktionen. Du wirst gezwungen, Dinge einfacher und kürzer zu halten und dich weniger zu wiederholen. Diese Vorteile gelten auch auf größeren Bildschirmen.

- **Du brauchst eigentlich keinen PC mehr:** Wenn es auf einer Uhr geht, denk an die anderen Geräte, die du dabeihast, etwa Smartphone und Tablet. Wenn du deine mobilen Geräte besser nutzt, bist du weniger von klassischen PCs abhängig.

- **Die Apple Watch hat Potenzial:** Schon früher ist es Facebook-Entwicklern gelungen (http://www.theverge.com/tldr/2015/10/2/9443491/doom-apple-watch-new-apple-tv-port), das berühmte 3D-Spiel Doom auf der Apple Watch zum Laufen zu bringen. Auch ich habe gelernt, dass das Gerät ernsthaftes Potenzial hat. Ich glaube langsam, dass die Apple Watch viel eher ein "immer dabei, mobiler Computer" ist als etwas, das man mit einer klassischen mechanischen Uhr vergleichen sollte.

![Unterwegs arbeiten: Dieser Blogbeitrag ist mit einem iPhone, einer Tastatur und etwas Kaffee entstanden! Kein PC!](https://willem.com/global/images/4b4f8a31a75a.webp)

## Fazit

Dieses ganze Experiment hat mich beim mobilen Arbeiten wirklich weitergebracht. Ich habe gelernt, mein Werkzeug und meine Arbeitsweise zu optimieren. Tatsächlich ist dieser ganze Blogbeitrag auf einem iPhone entstanden, auch die Fotos (aufnehmen, zuschneiden), und es fühlte sich überhaupt nicht komisch an. Ich liebe es, weil es alles einfacher macht, und deshalb hat sich dieses Experiment gelohnt.

### Bonus: Nokia Communicator und Jolla

Während ich diesen Beitrag schrieb, fragte ich mich, ob meine alten Nokia Communicators noch funktionieren. Nach etwas Gefummel mit den alten Akkus habe ich den E90 und den 9300i zum Laufen gebracht. Mit Putty und 802.11b-WiFi habe ich mich mit dem neuen Entwicklungssystem verbunden, das ich für das Apple-Watch-Experiment gebaut hatte. Und was soll ich sagen? Es hat einwandfrei funktioniert. Wer braucht schon ein neues Handy? :-)

![Plattformübergreifende Entwicklung, wie sie sein soll: Nokia Communicator E90 mit Symbian Series 60 von 2007, Nokia 9300i mit Symbian Series 80 von 2004, Jolla-Handy mit SailfishOS und der witzigen Other-Half-Tastatur (tohkbd) und das iPhone 7.](https://willem.com/global/images/6870b8e5577e.webp)

![Nokia E90 Communicator mit Putty auf Symbian Series 60.](https://willem.com/global/images/f19e6557543c.webp)

![Nokia 9300i, offiziell kein Communicator, aber trotzdem ein Gerät mit fortschrittlichen mobilen Kommunikationsmöglichkeiten für seine Zeit (2007). Mit Putty auf Symbian Series 80.](https://willem.com/global/images/ef24cdb8830e.webp)

![Mehrere Nutzer, mehrere Bildschirme: Zwei Nokia Communicators (E90/9300i) gleichzeitig per Putty mit meiner Arbeitsumgebung verbunden.](https://willem.com/global/images/2786e0481cad.webp)
