Langues: English · Nederlands · Deutsch · Español · Français · Italiano · Português · Papiamentu · Frysk

Index / Articles / Programmer sur l'Apple Watch

Programmer sur l'Apple Watch

Je prends les expériences folles au sérieux

Publié
Mis à jour
(créé )
Écrit par
Willem L. Middelkoop
Sujets
SSH · ThinkPad · apple · créer · créativité · expérience · hacking · iOS · iPhone · ordinateur portable · linux · minimaliste · programmation · rétro · smartphone · vim · montre · travail
Version humaine de cet article
https://willem.com/fr/2017-02-16_programmer-sur-l-apple-watch/
English
Programming on Apple Watch
Nederlands
Programmeren op de Apple Watch
Deutsch
Programmieren auf der Apple Watch
Español
Programando en el Apple Watch
Italiano
Programmare su Apple Watch
Português
Programar no Apple Watch
Papiamentu
Programá riba Apple Watch
Frysk
Programmearje op de Apple Watch
Langues
Traduit de l’original anglais par un modèle de langage en deux passes (traduction et relecture) avec un glossaire et un correcteur orthographique ; pas encore relu par un lecteur de langue maternelle.

Résumé

Ces dernières années, les expériences folles ne m'ont pas fait peur, mais cette fois, je voulais vraiment pousser le curseur à l'extrême : programmer sur une Apple Watch. Est-il possible d'écrire vraiment du code sur un appareil aussi minuscule ? Pourquoi s'embêter avec ça ? Cet article plaide pour les expériences folles, et pour que tu essaies toi aussi !

Texte intégral

Il y a une semaine, j'échangeais quelques e-mails avec mon pote Niels, et je lui parlais de cette idée d'utiliser un iPhone pour faire mon travail. Il m'a suggéré (en néerlandais) de passer à l'étape supérieure... l'Apple Watch.

Message de mon pote Niels, qui me suggère de passer mon idée de « travailler sur un smartphone » à l'étape supérieure, avec une maquette Photoshop à l'appui.
Message de mon pote Niels, qui me suggère de passer mon idée de « travailler sur un smartphone » à l'étape supérieure, avec une maquette Photoshop à l'appui.

Pendant qu'il utilisait ses brillantes compétences en Photoshop, moi, j'ai utilisé Xcode, mes connaissances de Linux, SSH, VIM, le réseau local, un clavier Bluetooth, une vraie Apple Watch, du temps et de la patience.... ce qui a donné cette preuve de concept :

Et je l'ai fait ! Programmer sur l'Apple Watch avec VIM, SSH, un clavier Bluetooth et du café.
Et je l'ai fait ! Programmer sur l'Apple Watch avec VIM, SSH, un clavier Bluetooth et du café.
Du vrai code, une vraie Apple Watch. Pas de Photoshop.
Du vrai code, une vraie Apple Watch. Pas de Photoshop.

Comment ça marche (pour les nuls)

J'ai créé une petite appli pour la montre qui se connecte à un ordinateur externe sur lequel tourne le logiciel de développement. Le clavier est relié à cet ordinateur externe, ce qui me permet d'écrire du code pour de vrai. Le principe est simple et ressemble à l'appli Appareil photo qui est présente par défaut sur la montre : tu utilises la montre comme viseur pour l'appareil photo de l'iPhone. Cette appli est comme un « viseur » pour le code de programmation.

Comment ça marche (pour les geeks parmi nous)

Dans le réseau local, je fais tourner un petit serveur NodeJS sur une machine Linux, qui prend des captures d'écran d'une session shell où tourne mon éditeur de code préféré, VIM. Le clavier est relié à cet ordinateur portable en Bluetooth. Sur la montre, j'ai créé une appli simple qui récupère une nouvelle capture toutes les quelques secondes et l'affiche en plein écran. C'est une preuve de concept, rien de digne de l'App Store (il y a pas mal de latence entre les rafraîchissements, mais ça marche). Si tu penses à le construire toi-même, cherche WKInterfaceImage, UIImage, NSURLSession et dataTaskWithURL

La source de la magie : mon ThinkPad X1 connecté au réseau local.
La source de la magie : mon ThinkPad X1 connecté au réseau local.

Pourquoi

J'expérimente régulièrement, parce que ça m'apprend comment je fais les choses. Les expériences m'obligent à repenser des choses que je tiens pour acquises ou normales. À bien des égards, « la poursuite vaut mieux que la prise ».

J'expérimente activement avec de nouveaux matériels et logiciels, juste pour rester à jour et apprendre de nouvelles choses. En 2008, quelques mois après le lancement de l'App Store, j'étais parmi les tout premiers à me lancer dans le développement iOS. Même si le potentiel n'était pas clair, j'ai appris et expérimenté avec cette technologie. Cette expérience précoce m'a aidé à programmer l'appli Snake '97 en 2011, une autre idée folle qui est devenue un jeu à 20 millions de téléchargements... :-))

Snake '97 : l'idée d'origine et les stars du jeu, les Nokia 5110 et 3310, rendu possible par des expériences technologiques antérieures
Snake '97 : l'idée d'origine et les stars du jeu, les Nokia 5110 et 3310, rendu possible par des expériences technologiques antérieures

Ce que j'ai appris

Alors au lieu de demander « Pourquoi ? », mieux vaut demander « Qu'est-ce que j'ai appris ? ». Eh bien, pas mal de choses en fait :

  • Déplace ton environnement de programmation dans le terminal : passe au texte, laisse tomber l'IDE (comme Visual Studio) et apprends à bien utiliser VIM (ou emacs) avec les raccourcis clavier. Ces outils tournent pratiquement sur n'importe quel appareil et ne demandent aucun système d'exploitation propriétaire.
  • Adieu la souris : garde tes doigts là où tu écris du code, sur le clavier. Au lieu de chercher la souris, utilise le clavier (les raccourcis). Ça peut prendre du temps de les apprendre, mais au final, tu es beaucoup plus rapide. En plus de la vitesse, tu peux utiliser n'importe quel écran, puisque de plus en plus d'appareils acceptent un clavier mais pas de souris (pense aux consoles de jeux, aux télés connectées, à l'AppleTV, aux appareils à l'ancienne)
  • Utilise les pixels avec sagesse : si tu t'imposes un petit écran, tu es obligé de mieux réfléchir à l'utilisation des pixels. As-tu vraiment besoin de toutes ces barres d'outils visibles, tout le temps ? Moins il y a d'éléments d'interface en permanence à l'écran, plus tu as de place pour le contenu. Moins de distraction, plus de concentration.
  • Écris un meilleur code : pour que ça reste lisible sur un petit écran, tu apprends à vraiment faire attention à la structure du code, à la logique des fonctions et aux noms. Les petits écrans encouragent des lignes de code plus courtes et des corps de fonction plus compacts. Ça t'oblige à simplifier, à raccourcir, à te répéter moins. Ces avantages valent aussi pour les grands écrans.
  • Tu n'as plus vraiment besoin d'un PC : si c'est possible sur une montre, pense aux autres appareils que tu transportes, comme ton smartphone et ta tablette. Mieux utiliser tes appareils mobiles te rendra moins dépendant des PC traditionnels.
  • L'Apple Watch a du potentiel : des développeurs de Facebook avaient déjà réussi à faire tourner le célèbre jeu 3D Doom sur l'Apple Watch. J'ai appris moi aussi que l'appareil a un vrai potentiel. Je commence à penser que l'Apple Watch est bien plus un « ordinateur mobile toujours là » que quelque chose à comparer à une montre mécanique traditionnelle.
Se sentir mobile : cet article a été créé avec un iPhone, un clavier et un peu de café ! Pas de PC !
Se sentir mobile : cet article a été créé avec un iPhone, un clavier et un peu de café ! Pas de PC !

Conclusion

Toute cette expérience m'a vraiment fait avancer en matière d'informatique mobile. J'ai appris à optimiser mes outils et ma façon de travailler. En fait, tout cet article de blog a été créé sur un iPhone, photos comprises (les prendre, les recadrer), et ça ne m'a pas paru bizarre du tout. J'adore ça parce que ça rend tout plus facile, et c'est ce qui a rendu cette expérience utile

Bonus : Nokia Communicator et Jolla

Pendant que j'écrivais cet article, je me suis demandé si mes vieux Nokia Communicator fonctionnaient encore. Après avoir bricolé avec les vieilles batteries, j'ai réussi à faire démarrer le E90 et le 9300i. Avec Putty et le WiFi 802.11b, j'ai réussi à me connecter au système de développement que je venais de créer pour cette expérience avec l'Apple Watch. Devine quoi ? Ça marchait très bien. Qui a besoin d'un nouveau téléphone, au fond ? :-)

Du développement multiplateforme dans les règles de l'art : Nokia Communicator E90 sous Symbian série 60 de 2007, Nokia 9300i sous Symbian série 80 de 2004, téléphone Jolla sous SailfishOS avec son drôle de demi-clavier (tohkbd), et l'iPhone 7.
Du développement multiplateforme dans les règles de l'art : Nokia Communicator E90 sous Symbian série 60 de 2007, Nokia 9300i sous Symbian série 80 de 2004, téléphone Jolla sous SailfishOS avec son drôle de demi-clavier (tohkbd), et l'iPhone 7.
Le Nokia E90 Communicator qui fait tourner Putty sous Symbian Series 60.
Le Nokia E90 Communicator qui fait tourner Putty sous Symbian Series 60.
Le Nokia 9300i, officiellement pas un communicator mais néanmoins un appareil aux options de communication mobile avancées pour son époque (2007). Il fait tourner Putty sous Symbian Series 80.
Le Nokia 9300i, officiellement pas un communicator mais néanmoins un appareil aux options de communication mobile avancées pour son époque (2007). Il fait tourner Putty sous Symbian Series 80.
Multiutilisateur, multiécran. Deux Nokia Communicator (E90/9300i) connectés en même temps à mon environnement de travail avec Putty.
Multiutilisateur, multiécran. Deux Nokia Communicator (E90/9300i) connectés en même temps à mon environnement de travail avec Putty.

Formats lisibles par machine de cette page