{
 "id": 37050,
 "slug": "2017-02-16_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/",
 "language": "fy",
 "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": "Programmearje op de Apple Watch",
 "subtitle": "Serieus oer gekke eksperiminten",
 "summary": "De lêste jierren bin ik gjin frjemdling foar gekke eksperiminten, mar dizze kear woe ik it echt ta it uterste dwaan: programmearje op in Apple Watch. Soe it mooglik wêze om echt koade te skriuwen op sa'n lyts apparaat? Wêrom soe men it sels besykje? Dit berjocht giet oer de saak foar gekke eksperiminten, en wêrom't do it ek besykje moatst!",
 "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 the Fryske Akademy Foarkarswurdlist (hunspell fy_NL); official 2015 spelling",
  "date": "2026-10-20",
  "reviewed_by_native_reader": false,
  "language": "fy",
  "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": "it",
   "title": "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": "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/"
  }
 ],
 "image": "https://willem.com/global/images/e6b552619cf0.webp",
 "image_width": 2560,
 "images": [
  {
   "url": "https://willem.com/global/images/91b808d07886.webp",
   "description": "Berjocht fan myn maat Niels, dy't foarstelt dat ik myn \"wurkje op in smartphone\"-idee nei in heger nivo bringe, kompleet mei in Photoshop-mockup. ",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-1.jpg"
  },
  {
   "url": "https://willem.com/global/images/a91c01a62961.webp",
   "description": "En dat die ik! Programmearje op de Apple Watch mei VIM, SSH, in Bluetooth-toetseboerd en kofje. ",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-2.jpg"
  },
  {
   "url": "https://willem.com/global/images/a168f98b960f.webp",
   "description": "Echte programmearkoade, echte Apple Watch. Gjin Photoshop. ",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-3.jpg"
  },
  {
   "url": "https://willem.com/global/images/caa603c5520c.webp",
   "description": "De boarne fan de magy: myn ThinkPad X1 ferbûn mei it lokale netwurk.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-4.jpg"
  },
  {
   "url": "https://willem.com/global/images/d260e207062a.webp",
   "description": "Snake '97: it oarspronklike idee en de stjerren fan it spultsje, de Nokia 5110 en 3310, mooglik troch earder eksperimintearjen mei technyk",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-5.jpg"
  },
  {
   "url": "https://willem.com/global/images/4b4f8a31a75a.webp",
   "description": "Mobyl wurkje: dit blogberjocht is makke mei in iPhone, in toetseboerd en wat kofje! Gjin PC!",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-6.jpg"
  },
  {
   "url": "https://willem.com/global/images/6870b8e5577e.webp",
   "description": "Multiplatfoarm-ûntwikkeling goed dien: Nokia Communicator E90 mei Symbian series 60 út 2007, Nokia 9300i mei Symbian series 80 út 2004, Jolla-tillefoan mei SailfishOS mei it funky oare heale toetseboerd (tohkbd), en de iPhone 7.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-7.jpg"
  },
  {
   "url": "https://willem.com/global/images/f19e6557543c.webp",
   "description": "Nokia E90 Communicator mei Putty op Symbian Series 60.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-8.jpg"
  },
  {
   "url": "https://willem.com/global/images/ef24cdb8830e.webp",
   "description": "Nokia 9300i, offisjeel gjin communicator mar dochs in apparaat mei avansearre mobile kommunikaasjeopsjes foar syn tiid (2007). Mei Putty op Symbian Series 80.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-9.jpg"
  },
  {
   "url": "https://willem.com/global/images/2786e0481cad.webp",
   "description": "Multi-user, multi-skerm. Twa Nokia Communicators (E90/9300i) tagelyk ferbûn mei myn wurkomjouwing mei Putty.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_37050_images-10.jpg"
  }
 ],
 "text": "Ik wikselde in wike lyn wat e-mails út mei myn maat Niels, en fertelde him oer dit idee om in iPhone te brûken om wurk dien te krijen. Hy stelde foar (yn it Nederlânsk) dat ik dat idee nei in heger nivo bringe soe... Apple Watch.\nWylst hy syn briljante Photoshop-feardigens brûkte, brûkte ik Xcode, myn Linux-kennis, SSH, VIM, it lokale netwurk, in bluetooth-toetseboerd, in echte Apple Watch, wat tiid en geduld.... mei dit proof of concept as resultaat:\nHoe it wurket (foar dummies)\nIk haw in lytse Watch-app makke dy't ferbynt mei in eksterne kompjûter dêr't de ûntwikkelsoftware op draait. It toetseboerd is oan dizze eksterne kompjûter keppele, sadat ik echt koade skriuwe kin. It prinsipe is ienfâldich en kin fergelike wurde mei de Kamera-app dy't standert op it horloazje stiet: do brûkst it horloazje as skerm om te sjen wat de kamera yn de iPhone sjocht. Dizze Watch-app is as sa'n \"skerm\" foar programmearkoade.\nHoe it wurket (foar de techneuten ûnder ús)\nYn it lokale netwurk draaie ik in lytse NodeJS-server op in Linux-masine dy't skermôfbyldings makket fan in shellsesje dêr't myn favorite programmearkoade-editor, VIM, yn draait. It toetseboerd is mei Bluetooth oan dizze laptop keppele. Op de Watch haw ik in ienfâldige app makke dy't elke pear sekonden in nije skermôfbylding ophellet en dy folslein skerm toant. It is in proof of concept, neat dat de AppStore wurdich is (der is nochal wat fertraging tusken fernijingen - mar it wurket). As do fan plan bist it sels te bouwen, sykje dan nei WKInterfaceImage, UIImage, NSURLSession en dataTaskWithURL\nWêrom\nIk eksperimintearje geregeld, om't ik dêrtroch leare kin oer hoe't ik dingen doch. De eksperiminten twinge my om dingen opnij te besjen dy't ik fansels of normaal fyn. Yn in protte opsichten is \"de jacht better as de fangst\".\nIk eksperimintearje aktyf mei nije hard- en software, gewoan om by te bliuwen en nije dingen te learen. Yn 2008, in pear moannen nei de lansearring fan de AppStore, wie ik ien fan de alderearste minsken dy't mei iOS-ûntwikkeling begûn. Ek al wie it potinsjeel ûndúdlik, ik learde en eksperimintearre mei de technyk. Myn betide ûnderfining holp my yn 2011 de Snake (www.snake97.com) '97-app te programmearjen, in oar gek idee dat in spultsje mei 20 miljoen downloads bliek te wurden... :-))\nWat ik leard haw\nDus yn plak fan \"Wêrom?\" te freegjen, kinst do better freegje \"Wat haw ik leard?\". No, nochal wat dingen eins:\n- Ferpleats dyn programmearomjouwing nei de terminal: Gean tekstbasearre, smyt de IDE (lykas Visual Studio) fuort en leer VIM (of emacs) goed brûke mei toetseboerdfluchtoetsen. Dit ark draait praktysk op elk apparaat en hat gjin eigen bestjoeringssysteem nedich.\n- Doch de mûs fuort: hâld dyn fingers wêr't do koade skriuwst, op it toetseboerd. Brûk it toetseboerd (fluchtoetsen) yn plak fan nei in mûs te gripen. It kin wat tiid duorje om se te learen kennen, mar úteinlik bist do folle flugger. Njonken snelheid krijst do ek de mooglikheid om elk skerm te brûken, want mear apparaten stypje toetseboerden mar gjin mûs (tink oan spultsjekonsoles, smart-tv's, AppleTV, âlde apparaten)\n- Brûk de piksels wiis: As do dyn skerm lyts hâldst, wurdst do twongen better nei te tinken oer hoe't do de piksels brûkst. Hast do al dy arkbalken echt de hiele tiid nedich? Hoe minder ynterfaceûnderdielen permanint sichtber binne, hoe mear romte do hast foar de eigentlike ynhâld.  Minder ôflieding, mear fokus.\n- Skriuw better koade: Om dingen lêsber te hâlden op in lyts skerm, leare do echt omtinken te jaan oan dingen as koadestruktuer, funksjelogika en nammejouwing. Lytse skermen stimulearje koartere rigels koade en kompaktere funksjes. It twingt dy om dingen ienfâldiger en koarter te meitsjen en dy minder te werheljen. Dizze foardielen jilde ek foar gruttere skermen.\n- Do hast eins gjin PC mear nedich: As it mooglik is op in Watch, tink dan oan de oare apparaten dy't do by dy hast, lykas dyn smartphone en tablet. As do dyn mobile apparaat/apparaten better brûke kinst, wurdst do minder ôfhinklik fan tradisjonele PC's.\n- Apple Watch hat potinsjeel:  Earder slagge it Facebook-ûntwikkelders al (http://www.theverge.com/tldr/2015/10/2/9443491/doom-apple-watch-new-apple-tv-port) om it bekende 3D-spultsje Doom op de Apple Watch te krijen. Ik haw ek leard dat it apparaat serieus potinsjeel hat. Ik begjin te tinken dat de Apple Watch folle mear in \"altyd-oanwêzige, mobile kompjûter\" is as wat om te fergelykjen mei in tradisjoneel meganysk horloazje.\nKonklúzje\nDit hiele eksperimint hat my echt foarút brocht op it mêd fan mobyl wurkjen. Ik learde myn ark en de wize wêrop't ik wurkje te optimalisearjen. Yn feite is dit hiele blogberjocht makke op in iPhone, ynklusyf de foto's (nimme, byknippe), en it fielde hielendal net frjemd. Ik fyn it prachtich, want it makket alles makliker, en dat makke dit eksperimint de muoite wurdich\nBonus: Nokia Communicator en Jolla\nWylst ik dit berjocht skreau, frege ik my ôf oft myn âlde Nokia Communicators noch wurken. Nei wat knoeien mei de âlde batterijen krige ik de E90 en 9300i oan de praat. Mei Putty en 802.11b-WiFi koe ik ferbine mei it nij makke ûntwikkelsysteem dat ik foar dit eksperimint mei de Apple Watch brûkt hie. Ried ris wat? It wurke prima, wa hat der in nije tillefoan foar nedich? :-)",
 "word_count": 866,
 "markdown_url": "https://agents.willem.com/fy/posts/2017-02-16_programmearje-op-de-apple-watch/post.md"
}