Programando en el Apple Watch
Experimentos locos, pero en serio
- Publicado
- Actualizado
- (creado )
- Escrito por
- Willem L. Middelkoop
- Temas
- SSH · ThinkPad · apple · crear · creatividad · experimento · hacking · iOS · iPhone · portátil · linux · minimalista · programación · retro · smartphone · vim · reloj · trabajo
- Versión humana de este artículo
- https://willem.com/es/2017-02-16_programando-en-el-apple-watch/
- English
- Programming on Apple Watch
- Nederlands
- Programmeren op de Apple Watch
- Deutsch
- Programmieren auf der Apple Watch
- Français
- Programmer sur l'Apple Watch
- Italiano
- Programmare su Apple Watch
- Português
- Programar no Apple Watch
- Papiamentu
- Programá riba Apple Watch
- Frysk
- Programmearje op de Apple Watch
- Idiomas
- Traducido del original en inglés por un modelo de lenguaje en dos pasadas (traducción y corrección) con un glosario y un corrector ortográfico; aún no revisado por un hablante nativo.
Resumen
En los últimos años los experimentos locos no me han sido ajenos, pero esta vez quise llevarlo al extremo: programar en un Apple Watch. ¿Se podría escribir código de verdad en un aparato tan diminuto? ¿Y para qué molestarse? Este artículo es una defensa de los experimentos locos, ¡y de por qué tú también deberías probarlo!
Texto completo
Hace una semana estaba intercambiando correos con mi colega Niels, contándole la idea de usar un iPhone para trabajar. Me sugirió (en neerlandés) que llevara esa idea al siguiente nivel... el Apple Watch.

Mientras él echaba mano de sus brillantes dotes con Photoshop, yo usé Xcode, mis conocimientos de Linux, SSH, VIM, la red local, un teclado Bluetooth, un Apple Watch de verdad, algo de tiempo y paciencia... y el resultado es esta prueba de concepto:


Cómo funciona (para principiantes)
Creé una pequeña app para el Watch que se conecta a un ordenador externo donde se ejecuta el software de desarrollo. El teclado está conectado a ese ordenador externo, así que puedo escribir código de verdad. El principio es sencillo y se parece a la app Cámara que trae el reloj de serie: usas el reloj como visor de la cámara del iPhone. Esta app del Watch es como un "visor" del código de programación.
Cómo funciona (para los que saben de tecnología)
En la red local ejecuto un pequeño servidor NodeJS en una máquina Linux que hace capturas de pantalla de una sesión de shell donde corre mi editor de código favorito, VIM. El teclado está conectado a este portátil por Bluetooth. En el Watch creé una app sencilla que pide una captura nueva cada pocos segundos y la muestra a pantalla completa. Es una prueba de concepto, nada digno de la App Store (hay bastante latencia entre actualizaciones, pero funciona). Si piensas construirlo tú mismo, busca WKInterfaceImage, UIImage, NSURLSession y dataTaskWithURL

Por qué
Experimento con regularidad porque me permite aprender cómo hago las cosas. Los experimentos me obligan a replantearme cosas que doy por sentadas o por normales. En muchos sentidos, "lo bueno es la caza, no la presa".
Experimento activamente con hardware y software nuevos, solo para mantenerme al día y aprender cosas. En 2008, pocos meses después del lanzamiento de la App Store, fui de los primeros en empezar con el desarrollo para iOS. Aunque no estaba claro qué potencial tenía, aprendí y experimenté con esa tecnología. Aquella experiencia temprana me ayudó a programar en 2011 la app Snake '97, otra idea loca que acabó siendo un juego con 20 millones de descargas... :-))

Lo que aprendí
Así que, en vez de preguntar "¿Por qué?", mejor pregunta "¿Qué aprendí?". Pues bastantes cosas:
- Lleva tu entorno de programación al terminal: pásate al texto, olvídate del IDE (como Visual Studio) y aprende a usar bien VIM (o emacs) con atajos de teclado. Estas herramientas funcionan prácticamente en cualquier dispositivo y no exigen un sistema operativo propietario.
- Adiós al ratón: mantén los dedos donde escribes el código, en el teclado. En vez de alcanzar el ratón, usa el teclado (atajos). Puede que cueste un tiempo aprenderlos, pero al final eres mucho más rápido. Además de la velocidad, ganas la posibilidad de usar cualquier pantalla, porque hay más dispositivos que admiten teclado que ratón (piensa en consolas, smart TV, AppleTV, aparatos de la vieja escuela).
- Aprovecha los píxeles con cabeza: si te limitas a una pantalla pequeña, te ves obligado a pensar mejor cómo usar los píxeles. ¿De verdad necesitas todas esas barras de herramientas visibles todo el rato? Cuantos menos elementos de interfaz haya siempre a la vista, más espacio te queda para el contenido de verdad. Menos distracción, más concentración.
- Escribe mejor código: para que todo siga siendo legible en una pantalla pequeña, aprendes a cuidar de verdad la estructura del código, la lógica de las funciones y los nombres. Las pantallas pequeñas favorecen líneas de código más cortas y funciones más compactas. Te obligan a simplificar y acortar, a repetirte menos. Y esas ventajas se trasladan también a pantallas más grandes.
- Ya no necesitas un PC de verdad: si es posible en un Watch, piensa en los otros aparatos que llevas encima, como el smartphone y la tableta. Aprender a sacar más partido a tus dispositivos móviles te hará menos dependiente de los PC tradicionales.
- El Apple Watch tiene potencial: antes, unos desarrolladores de Facebook ya habían conseguido que el famoso juego Doom 3D funcionara en el Apple Watch. Yo también aprendí que el aparato tiene un potencial serio. Empiezo a pensar que el Apple Watch es mucho más un "ordenador móvil siempre contigo" que algo comparable a un reloj mecánico tradicional.

Conclusión
Todo este experimento me ha hecho avanzar mucho en computación móvil. Aprendí a optimizar mis herramientas y mi forma de trabajar. De hecho, este artículo entero lo hice en un iPhone, fotos incluidas (hacerlas, recortarlas), y no me resultó nada raro. Me encanta, porque lo hace todo más fácil, y eso hizo que el experimento valiera la pena.
Extra: Nokia Communicator y Jolla
Mientras escribía este artículo me pregunté si mis viejos Nokia Communicator seguirían funcionando. Después de trastear un poco con las baterías viejas, conseguí que funcionaran el E90 y el 9300i. Con Putty y wifi 802.11b me conecté al sistema de desarrollo recién montado que usé para este experimento con el Apple Watch. ¿A que no sabes qué? Funcionó perfectamente: ¿quién necesita un móvil nuevo? :-)



