A developer’s initial Apple Watch impressions
I’ve been building software, in one form or another, for the best part of 40 years. Starting with an 8-bit microprocessor with 256 bytes of RAM, through to several generations of Macs, iPhones, and now Apple Watch, I’ve written code for almost every programmable platform I’ve owned1. Invariably I write one-or-more programs that are for my (or my family’s) personal use on those devices.
Here’s the thing: The more personal a device is, the more motivated I am to write personally meaningful software for it.
I’ve had 6 modern-era Macs, from a PowerBook G4, to my current Retina MacBook Pro. During that time, I’ve written many Python and Ruby scripts to do tasks like photo-management, but I’ve never written a native Cocoa app that was more than an experiment; nothing that was a personal experience.
The iPhone has been my constant companion for the last seven years. During that time, I’ve written several apps that I personally interact with multiple times each day (none on the App Store, but I’m working on it :-) ). I love my iPhone, and I want to extend it for my own ends.
My Apple Watch arrived at lunchtime on launch day2. By evening I had one of my most used apps up-and-running on the watch. Since then I’ve continued to refine that app, and I’m working with my son on another. The tools, and some of the interactions on the watch, still seem a little rough around the edges. Despite that, having my own code, right on my wrist, is empowering. The Apple Watch gives me the chance to build tiny dashboards of actionable personal information, and I’m loving it.
It seems that the more personal (intimate, in Apple’s words) the hardware is, the more eager I am to build personally useful software for it. Hopefully I’ll be super-keen to code for my Apple ContactLens in 2025!
Fun fact: The Apple Watch has 2 million times more RAM than that first machine. ↩
As an Australian, in one of the first time-zones to receive Apple Watches, it was hard to find web answers to things like code-signing issues. No one, outside of lucky WatchKit labs people, had run into, and written about, the issues. ↩