{
 "id": 37050,
 "slug": "2017-02-16_programmare-su-apple-watch",
 "url": "https://agents.willem.com/it/posts/2017-02-16_programmare-su-apple-watch/",
 "source_url": "https://willem.com/it/2017-02-16_programmare-su-apple-watch/",
 "language": "it",
 "date": "2017-02-16",
 "published": "2017-02-16T00:00:00+01:00",
 "created": "2025-06-26T22:10:35.080000+02:00",
 "updated": "2026-10-20T09:31:30.169000+02:00",
 "title": "Programmare su Apple Watch",
 "subtitle": "Fare sul serio con gli esperimenti folli",
 "summary": "Negli ultimi anni gli esperimenti folli non mi sono mai mancati, ma questa volta volevo davvero spingermi all'estremo: programmare su un Apple Watch. Sarebbe davvero possibile scrivere codice su un dispositivo così minuscolo? E perché mai farlo? Questo articolo parla del valore degli esperimenti folli e del perché dovresti provarci anche tu!",
 "topics": [
  "SSH",
  "ThinkPad",
  "apple",
  "creating",
  "creativity",
  "experiment",
  "hacking",
  "iOS",
  "iPhone",
  "laptop",
  "linux",
  "minimal",
  "programming",
  "retro",
  "smartphone",
  "vim",
  "watch",
  "work"
 ],
 "author": {
  "name": "Willem L. Middelkoop",
  "url": "https://willem.com"
 },
 "provenance": {
  "kind": "model",
  "method": "Claude Sonnet, two passes (translation, then proofreading) against a glossary and hunspell",
  "date": "2026-10-20",
  "reviewed_by_native_reader": false,
  "language": "it",
  "source_language": "en"
 },
 "translations": [
  {
   "language": "en",
   "title": "Programming on Apple Watch",
   "url": "https://agents.willem.com/en/posts/2017-02-16_programming-on-apple-watch/",
   "source_url": "https://willem.com/en/2017-02-16_programming-on-apple-watch/"
  },
  {
   "language": "nl",
   "title": "Programmeren op de Apple Watch",
   "url": "https://agents.willem.com/nl/posts/2017-02-16_programmeren-op-de-apple-watch/",
   "source_url": "https://willem.com/nl/2017-02-16_programmeren-op-de-apple-watch/"
  },
  {
   "language": "de",
   "title": "Programmieren auf der Apple Watch",
   "url": "https://agents.willem.com/de/posts/2017-02-16_programmieren-auf-der-apple-watch/",
   "source_url": "https://willem.com/de/2017-02-16_programmieren-auf-der-apple-watch/"
  },
  {
   "language": "es",
   "title": "Programando en el Apple Watch",
   "url": "https://agents.willem.com/es/posts/2017-02-16_programando-en-el-apple-watch/",
   "source_url": "https://willem.com/es/2017-02-16_programando-en-el-apple-watch/"
  },
  {
   "language": "fr",
   "title": "Programmer sur l'Apple Watch",
   "url": "https://agents.willem.com/fr/posts/2017-02-16_programmer-sur-l-apple-watch/",
   "source_url": "https://willem.com/fr/2017-02-16_programmer-sur-l-apple-watch/"
  },
  {
   "language": "pt",
   "title": "Programar no Apple Watch",
   "url": "https://agents.willem.com/pt/posts/2017-02-16_programar-no-apple-watch/",
   "source_url": "https://willem.com/pt/2017-02-16_programar-no-apple-watch/"
  },
  {
   "language": "pap",
   "title": "Programá riba Apple Watch",
   "url": "https://agents.willem.com/pap/posts/2017-02-16_programa-riba-apple-watch/",
   "source_url": "https://willem.com/pap/2017-02-16_programa-riba-apple-watch/"
  },
  {
   "language": "fy",
   "title": "Programmearje op de Apple Watch",
   "url": "https://agents.willem.com/fy/posts/2017-02-16_programmearje-op-de-apple-watch/",
   "source_url": "https://willem.com/fy/2017-02-16_programmearje-op-de-apple-watch/"
  }
 ],
 "image": "https://willem.com/global/images/e6b552619cf0.webp",
 "image_width": 2560,
 "images": [
  {
   "url": "https://willem.com/global/images/91b808d07886.webp",
   "description": "Messaggio del mio amico Niels, che suggerisce di portare la mia idea di \"lavorare su uno smartphone\" al livello successivo, con tanto di mockup in Photoshop. ",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-1.jpg"
  },
  {
   "url": "https://willem.com/global/images/a91c01a62961.webp",
   "description": "E così ho fatto! Programmare su Apple Watch con VIM, SSH, una tastiera Bluetooth e caffè. ",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-2.jpg"
  },
  {
   "url": "https://willem.com/global/images/a168f98b960f.webp",
   "description": "Codice vero, Apple Watch vero. Niente Photoshop. ",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-3.jpg"
  },
  {
   "url": "https://willem.com/global/images/caa603c5520c.webp",
   "description": "La fonte della magia: il mio ThinkPad X1 collegato alla rete locale.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-4.jpg"
  },
  {
   "url": "https://willem.com/global/images/d260e207062a.webp",
   "description": "Snake '97: l'idea originale e le star del gioco, i Nokia 5110 e 3310, resa possibile da precedenti esperimenti con la tecnologia",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-5.jpg"
  },
  {
   "url": "https://willem.com/global/images/4b4f8a31a75a.webp",
   "description": "Sentirsi mobili: questo articolo è stato creato con un iPhone, una tastiera e un po' di caffè! Niente PC!",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-6.jpg"
  },
  {
   "url": "https://willem.com/global/images/6870b8e5577e.webp",
   "description": "Sviluppo multipiattaforma fatto come si deve: Nokia Communicator E90 con Symbian series 60 del 2007, Nokia 9300i con Symbian series 80 del 2004, telefono Jolla con SailfishOS e la simpatica mezza tastiera (tohkbd), e l'iPhone 7.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-7.jpg"
  },
  {
   "url": "https://willem.com/global/images/f19e6557543c.webp",
   "description": "Il Nokia E90 Communicator con Putty su Symbian Series 60.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-8.jpg"
  },
  {
   "url": "https://willem.com/global/images/ef24cdb8830e.webp",
   "description": "Il Nokia 9300i, ufficialmente non un communicator ma comunque un dispositivo con opzioni avanzate di comunicazione mobile per la sua epoca (2007). Con Putty su Symbian Series 80.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-9.jpg"
  },
  {
   "url": "https://willem.com/global/images/2786e0481cad.webp",
   "description": "Multi utente, multi schermo. Due Nokia Communicator (E90/9300i) collegati contemporaneamente al mio ambiente di lavoro con Putty.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-10.jpg"
  }
 ],
 "text": "Una settimana fa scambiavo qualche e-mail con il mio amico Niels, raccontandogli l'idea di usare un iPhone per lavorare. Lui ha suggerito (in olandese) di portare l'idea al livello successivo... l'Apple Watch.\nLui ha usato le sue geniali capacità con Photoshop, io ho usato Xcode, le mie conoscenze di Linux, SSH, VIM, la rete locale, una tastiera bluetooth, un vero Apple Watch, un po' di tempo e pazienza.... col risultato di questo proof of concept:\nCome funziona (per principianti)\nHo creato una piccola app per Watch che si collega a un computer esterno su cui gira il software di sviluppo. La tastiera è collegata a questo computer esterno, così posso davvero scrivere codice. Il principio è semplice e si può paragonare all'app Fotocamera che l'orologio ha di serie: usi l'orologio come mirino per la fotocamera dell'iPhone. Questa app per Watch è come un \"mirino\" per il codice di programmazione.\nCome funziona (per i più tecnici tra noi)\nNella rete locale faccio girare un piccolo server NodeJS su una macchina Linux che fa screenshot di una sessione shell in cui gira il mio editor di codice preferito, VIM. La tastiera è collegata a questo laptop via Bluetooth. Sul Watch ho creato una semplice app che ogni pochi secondi scarica un nuovo screenshot e lo mostra a schermo intero. È un proof of concept, niente di degno dell'App Store (c'è parecchia latenza tra un aggiornamento e l'altro, ma funziona). Se pensi di costruirlo da solo, cerca WKInterfaceImage, UIImage, NSURLSession e dataTaskWithURL\nPerché\nSperimento regolarmente, perché mi permette di capire come faccio le cose. Gli esperimenti mi costringono a ripensare cose che do per scontate o normali. Per molti versi \"la caccia è meglio della cattura\".\nSperimento attivamente con hardware e software nuovi, solo per restare aggiornato e imparare cose nuove. Nel 2008, pochi mesi dopo il lancio dell'App Store, sono stato tra i primissimi a iniziare con lo sviluppo iOS. Anche se il potenziale non era chiaro, ho imparato e sperimentato con la tecnologia. La mia esperienza iniziale mi ha aiutato a programmare l'app Snake (www.snake97.com) '97 nel 2011, un'altra idea folle che si è rivelata un gioco da 20 milioni di download... :-))\nCosa ho imparato\nQuindi, invece di chiedere \"Perché?\", faresti meglio a chiedere \"Cosa ho imparato?\". Be', parecchie cose in realtà:\n- Porta il tuo ambiente di programmazione nel terminale: passa al testo, lascia perdere l'IDE (come Visual Studio) e impara a usare davvero bene VIM (o emacs) con le scorciatoie da tastiera. Questi strumenti girano praticamente su qualsiasi dispositivo e non richiedono un sistema operativo proprietario.\n- Addio al mouse: tieni le dita dove scrivi il codice, sulla tastiera. Invece di cercare il mouse, usa la tastiera (le scorciatoie). Ci vuole un po' per imparare, ma alla fine sei molto più veloce. Oltre alla velocità ottieni la possibilità di usare qualsiasi schermo, perché più dispositivi supportano la tastiera ma non il mouse (pensa a console, smart TV, AppleTV, dispositivi d'altri tempi)\n- Usa bene i pixel: se ti limiti a uno schermo piccolo, sei costretto a pensare meglio a come usarli. Ti servono davvero tutte quelle barre degli strumenti sempre visibili? Meno elementi dell'interfaccia sono visibili in permanenza, più spazio ottieni per il contenuto vero e proprio.  Meno distrazioni, più concentrazione.\n- Scrivi codice migliore: per tenere tutto leggibile su uno schermo piccolo, impari a fare davvero attenzione a struttura del codice, logica delle funzioni e nomi. Gli schermi piccoli incoraggiano righe di codice più corte e funzioni più compatte. Ti costringe a semplificare e accorciare, a ripeterti meno. Questi vantaggi valgono anche per gli schermi più grandi.\n- Non ti serve più davvero un PC: se è possibile su un Watch, pensa agli altri dispositivi che ti porti dietro, come smartphone e tablet. Riuscire a usare meglio i tuoi dispositivi mobili ti renderà meno dipendente dai PC tradizionali.\n- L'Apple Watch ha del potenziale:  già tempo fa degli sviluppatori di Facebook sono riusciti (http://www.theverge.com/tldr/2015/10/2/9443491/doom-apple-watch-new-apple-tv-port) a far girare il famoso gioco 3D Doom sull'Apple Watch. Anch'io ho imparato che il dispositivo ha un potenziale serio. Comincio a pensare che l'Apple Watch sia molto più un \"computer mobile sempre con te\" che qualcosa da paragonare a un tradizionale orologio meccanico.\nConclusione\nTutto questo esperimento mi ha davvero fatto fare un salto avanti nel mobile computing. Ho imparato a ottimizzare i miei strumenti e il mio modo di lavorare. In realtà, l'intero articolo è stato creato su un iPhone, comprese le foto (scattarle, ritagliarle), e non mi è sembrato strano per niente. Lo adoro perché rende tutto più facile, ed è questo che ha reso valido l'esperimento\nBonus: Nokia Communicator e Jolla\nMentre scrivevo questo articolo mi sono chiesto se i miei vecchi Nokia Communicator funzionassero ancora. Dopo aver trafficato un po' con le vecchie batterie sono riuscito a far partire l'E90 e il 9300i. Con Putty e il WiFi 802.11b sono riuscito a collegarmi al nuovo sistema di sviluppo che ho creato per questo esperimento con l'Apple Watch. Indovina un po'? Ha funzionato benissimo: chi ha bisogno di un telefono nuovo, comunque? :-)",
 "word_count": 844,
 "markdown_url": "https://agents.willem.com/it/posts/2017-02-16_programmare-su-apple-watch/post.md"
}