Jake Savin

“Have no fear of perfection—you'll never reach it.” – Salvador Dalí


  • Reviving UserLand Frontier (and friends)

    I’m starting a set of posts about how I’m using AI to help bring UserLand Frontier back to life.

    I found Frontier in 1995 when I was living in Amsterdam (another story), and was trying to figure out how to automate dialing into my ISP at night while I was asleep and phone charges were cheap. I wanted to sync my email at night so that I could stay in touch with my people in the US with as little cost as possible.

    I bought an inexpensive Mac Performa 360(?) at a local swap-meet, and quickly discovered, quite by accident, that I could get onto the internet over dial-up, and that there were web servers and web sites and it was all very new and strange and cool. The tools were arcane and hard to figure out, but they worked. The very early web was a mix of nerd, newsey, techie, and social place. I’m definitely a nerd, but I also care about humans in general, and that was the spirit of the space that Dave had been trying to build: Humans matter and the ways they communicate matter. Opinions matter, and the networks of opinionmakers matters. Product ideas matter and we should value experimentation with a foundation of standards – Fundamentally, Individuals matter and we should all have our own voices and platforms. That stood out to me. It resonated with my own values, and I jumpted onboard.

    When it comes to UserLand, I’d already been using and programming in Frontier for about five years before finally joining the company as a developer in 2000. I had already used Frontier to build test automation tools and build tools at Sonic Solutions, (pre-Jenkins-era infrastructure). I’d used it for side projects like the CMS for my first website at jspace.org — an “online journal” (before the terms Weblog and Blog existed) — which was built on UserLand’s website framework. And I was using it as a web-dev at Macworld in 1999 where I contributed to their web publishing workflows and search engine.

    In 2000 I joined UserLand as a developer with Dave Winer as CEO, Brent Simmons and Andre Radke as developers. Frontier was the runtime that enabled Manila and Radio UserLand, both of which were important in the early blogging era. Radio was also one of the first end-to-end podcast-enabled products, back when podcasting wasn’t even a category yet. I ended up as the lead developer and release engineer behind Radio’s launch after the initial prototyping that Dave and Andre did. A bit later on I contributed bits in Manila and Radio UserLand related to the Creative Commons work that grew out of the Berkman Center at Harvard, where Dave was a Fellow at the time.

    I’ve wanted try to modernize Frontier for at least ten years. I had a long-tail of things I’d wanted to do inside UserLand before leaving for Microsoft, and since the Frontier kernel was open source it was always possible — at least in theory. But I never had the right combination of available time and C-coding chops, and I lacked familiarity with the deeper parts of the C-based Frontier/UserTalk runtime for it to be a realistic thing to attempt. Brent tried a few approaches and eventually gave up, which says something about the size of the job. (A half-million lines of legacy C code would scare any normal person who valued their personal life, emotional stability, and sanity.)

    The Frontier kernel was started as 16-bit Mac application that ran on legacy Mac OS I think around System 5 or System 6. It was eventually migrated to be 32-bit native and depended on the original Mac Toolbox and later the Carbon API, and basically legacy everything. Today the only build of Frontier that still runs is the Windows version which was released in 1997. When I started this, it couldn’t even be compiled and packaged for macOS because the runtime core wasn’t 64-bit native. It included a rich text editor that was licensed at the C-library level and which was no longer maintained. It had a script compiler based on YACC. It had a database format that relied on 32-bit architectures… and on and on and on…

    An intractible problem for a single developer who wanted desperately to pull this open source project into the modern era, but has a family and a full-time job. And then… AI coding tools arrived.

    I first started discussing what this project might look like with ChatGPT around two years ago. We made a project plan. We figured out where the hard parts🐉 might be. We had a high-level project overview, but no ability to write the code yet outside of copy-paste, and no way to review the existing code en masse. (I was still considering starting the project myself anyway.)

    Then Cursor appeared. Now there was an IDE with AI built-in. So I went to Cursor and fed it my ChatGPT-originated plans and asked it to inspect the existing code and create a more detailed plan. That got me to the next stage: A high-level multi-phase technical plan with more details and some idea about what order the work needed to be done in based on priority and dependency.

    Then Codex arrived, and I was able to use it to do a lot of the 32-bit to 64-bit conversion (required to build for macOS these days) mostly autonomously, although it did have to have a number of revisits.

    And then everyone I know who is using AI for coding was starting to talk about about Claude Code and how amazing it was… I resisted at first. Codex was doing amazing things for me, but it was also tripping up on a lot of stuff and I was starting to get frustrated and a little disillusioned, so I decided to try Claude Code CLI, and boom!💥 It blew up for me. I felt like I had a pair-programming partner with deep skills, broad technical knowledge, and the ability to implement whatever I envisioned as quickly as I could come up with ideas for what was needed next. I was leveraging my 20 years of technical program and project management in ways I would never have envisioned. (And which were never reinforced as valuable in my decades of work in the software enterprise world – again another story.)

    I started creating agents first, and then skills, and then meta-skills and meta-meta-skills — all to help me work faster with fewer mistakes. I wired up workflows within workflows within workflows. Now a few months later, I’ve got a robust tool-chain with quality gates that makes this work happen mostly reliably and with very high quality, where I’m serving the role of strategist and architect, and my AI agents are my team, or sometimes multiple teams. I’ve even taught them how to read, write, test, and debug UserTalk scripts, something their training data would have only barely touched on, if even at all. I enhanced the Frontier runtime itself to make script editing and UserTalk debugging available to my agents.

    The foundation has shifted. It’s thing now, that one motivated person with the right technical background and a clear vision can actually push forward on immense projects as long as they’re not stymied by legacy corporate processes. Not because the work is easy: It isn’t. But the leverage is different.

    Frontier’s modernization might be one of the largest open source C-language projects in the world that’s 100% managed with AI by a single person. Research I did in April suggests this is the case, but that won’t be true forever since these models and agentic harnesses are advancing very fast, and I’m sure there will be more similarly large and complex one-person efforts soon if not already.

    There’s a personal dimension too: In 2006, when I stopped being a full-time developer and moved into program and project management work, I shifted from technical delivery, to managing the work of the people who deliver technical things. Now I’m coding full time again — on Frontier and on ThreadFlow (a startup I’m building with a small group that includes an old Apple ][ hacking buddy from seventh grade who I’ve known for almost 40 years). And it feels great! Not only because I’m mostly my own boss again, but also because I’m working on passion projects: Building great products, with love, that people will enjoy using, and that provide real value in their lives. ♥️

    Frontier for the modern world: Modern GUI, multi-user/multi-tennant system, security by design, and the ability to run all the old apps (maybe modernized versions of them) again — that’s the vision. And I also hope to help revive the pivotal community around Frontier that was inspirational to me, and an idealistic driver of the pre-enshitification vision of what the web could still become.

    Stay tuned…

  • RIP Pickles

    Today we said goodbye to Pickles the Wonder Pug, aka Black Lightning. He gave our family nine years of unconditional love, snugs, snorts, and romps—guarding our safety, and protecting us from garbage collectors, mailmen, airplanes, and helicopters. He passed peacefully with his whole family around him.

    Rest in peace, Pick-pick. ❤️❤️❤️

  • I’ve Migrated to WordPress.com

    I’ve been meaning to do this forever, and now the deed is done. I’ve been self-hosting my blog in one way or another, across many platforms and machines since 1997(!), and though I still run my own services for some stuff, keeping my WordPress site healthy, updated, and secure is work I can’t justify doing myself any more.

    So today I used Claude Cowork to help me migrate to WordPress.com hosting. The whole process took about 30 minutes from downloading my content, to creating a new site and signing up for the Personal tier. This will give me plenty of space and the site is now way faster than it used to be. More importantly, I no longer have to worry about maintaining that part of my own IT infrastructure, backups, security, and all the other fun stuff that comes with self-hosting. 🎉

    Over the years I’ve gradually moved more and more of the things I think are important (i.e. I’d be really bummed if I lost them) to providers that can do it better than I can, keeping in mind that I only want to put my data in places where I can migrate it back out if I ever need or want to do that. WordPress has a long history of alignment with the data portability ethos, and I’m happy that my site is now here.

    Onward!

  • Gabe’s Interview With Me On The Music Industry

    My son Gabe interviewed me today about my take on how music has changed over the years with changes in the music industry, changes in music production and technology, and why the music he and I both love so much from the ’70’s and ’80’s is different than so much of the music of today.

    Gabe: Can you tell me the story about Frank Zappa getting out of his record contract again?

    Jake: Yeah, sure. Frank Zappa was signed to Warner Brothers records and he didn’t like the way that they managed his band, and he had a 10 record contract. He had done eight records with them already and he wanted to get out of his contract, but the only way to do it would be to finish all 10 records, so what he did when he got the budget for the 9th album album was go into the studio and use that money to record two whole albums worth of stuff. Then he handed them over and he’s like “here you go, I’m done” First they tried to say that they weren’t up to the quality standard, so they could keep him on the label, right, because they didn’t want him to go somewhere else and make money for someone else. Then he’s like “no they’re totally up to the quality of all of the records that I’ve delivered to you, I’m out of my contract,” and Warner Brothers sued him. He went to court and he and his lawyers won the case and he got out of the record contract, but what this did was cause the industry to change the way their standard contracts are working. So now if you’re a new band and you sign a contract with Warner Brothers or anybody else, they have a minimum amount of time in between each album that you deliver to them.

    Gabe: And what is that time?

    Jake: It depends on the contract – it’s usually a year.

    Gabe: Okay. How do you think commercialization has affected how music is perceived?

    Jake: What do you mean by perceived, like perceived by listeners?

    Gabe: Like from a random person viewing a song. If they don’t know anything about how that was commercialized how do you think commercialization has affected how we perceive music?

    Jake: Well I think the record industry has always really… the way that they sell their products is by selling a kind of mythology around it, right? They sell this story, and for someone like a teenager who’s a big fan of some musician or artist or whatever, they often have this fantasy that they want to be that person. So what the record industry has done is they take advantage of that desire, and they sell this sort of myth like “oh yeah, you can be a singer-songwriter and you’re playing your guitar and singing your songs that you wrote in a coffee shop somewhere, and one day a record executive will walk in and hear you, and they’ll sign you to a big contract and make you a whole lot of money, and you’ll be rich and famous and your life will be awesome.” I experienced this when my band was trying to get a record deal. They would make all kinds of crazy promises and put all kinds of famous, well known people in front of you to try and sell that myth to you, right? I remember one time we were working with a guy who was a mid-level music producer and he happened to know this man who was the A&R person who had signed The Who, and they set up a meeting, and took us to a really nice restaurant in his really expensive Mercedes. They bought us really expensive food, and he told all these stories like, “Oh yeah, when I was signing The Who, they all wanted movie theaters in their houses, and they all wanted Rolls Royces, and they wanted all new instruments,” and all this stuff, and he was trying to imply that we can have that too. Of course he was in no position at that point in time– this was decades later– he was in no position to make any promises like that, but by telling us the story it made us feel pressured to sign a deal with them, which we ended up no doing because we didn’t trust him. We used the excuse that not everyone in the band was there, so we basically spun it like, “Now we can’t speak for the rest of the band we have to bring it to them but we’ll sign your letter of intent.” And then we turned them down for that reason. But we were worried because we didn’t really have any money, and if he had taken us to court or something, you know if we had signed something with them and then backed out of it, it might have been a big problem for us. But that’s what the record industry has done forever – they sell this, I call it the “Rock and Roll Myth”, but they do the same thing to the AR people – like the people who work for the record companies whose job it is to go out and find new music – they sell them the same myth, right? They’ve got this, you know, 20 year old kid just out of college or whatever, and they tell him to come to work for Warner Brothers or come work for Sony or come work for Universal Music Group and you can find the next to Beyoncé, or you can be that person who finds the next big hit, so they sell them the same thing! Then when those people come in and pitch this band they want to want to sign with their record label, they’re telling you a story that they actually believe themselves, right? So what that creates is then all of these artists are just clamoring to go sign these deals, but the deals are usually terrible. They hardly make any money from the records, and the royalties for online streaming are really small. These days it’s different now, because all the distribution is all online but the business is the same. Most artists make most of their money from concerts, but it also could be from merchandising like selling T-shirts, or selling posters or bumper stickers and things like that. But a lot of artists these days make a lot of money by doing sponsorship deals, so they’ll have their personality on their Instagram – you know they’re an influencer – and they’re they’re using some product, so it’s really a kind of advertising, right? It’s not really about the music anymore and they’re selling a story about that person’s life. So the record companies have decided is that there’s a lot more money in it for them, and it’s a lot cheaper for them to just churn out hits from the hit machine, out one hit after another, and they sound like everything else because they just write the same kind of thing over and over again – they’ve got writers you know and musicians that they hire and pay them hourly or they pay them a salary – and they just churn out this generic music. They don’t even usually take the time anymore to do what they used to call “development deals”, where they’ll give somebody some money so that they can quit their day job and have enough time to actually write, and get really good at their art. They don’t really do that anymore either.

    Gabe: So what do you think we can do to improve the music standards today?

    Jake: Well I think the industry is so different now. There’s a lot less money in it because they’re not selling CDs. I think it’s it’s easy to forget that when CDs first came out everybody had vinyl records and cassette tapes, and the CDs sounded so much better that everyone wanted the digital recordings, and so people bought their whole collections that they already had on on vinyl – they bought those same things over again on CD. But instead of costing $8, CDs would cost like $15 or $18 and they made a huge amount of money from that in a short period of time. And now nobody buys music anymore. It’s all online streaming, so there’s no way to get someone to pay $20 to get the same album that they already had.

    Gabe: Lots of people get it for free…

    Jake: Yeah or they pay a monthly fee to a streaming service like Apple Music or Spotify or whatever, so the economics are really different. The record companies make money in other ways now. I’m sure in the Super Bowl halftime show everything that they were wearing in that show is something that, you know, some manufacturer of that product, including all the shoes, the roller skates, all that stuff they – are paying the record companies to put their stuff in front of people. It’s a really good thing is that music production is so much cheaper to do now, and you can record a whole album on your laptop and the quality is just as good. You need a couple of really good microphones maybe, a few hundred dollars a piece, and maybe a couple of instruments and then everything else is in software.

    Gabe: But don’t you think that can affect the quality? Like how much time you put into a song or an album can affect the quality?

    Jake: Yes, absolutely. What’s different now is that because the recording equipment, like the ability to record an album, is so much less expensive that people don’t have to have a record label to do a record – you can do it yourself. And if you look at Billie Eilish, she and her brother recorded that first album in their bedroom, and they spent years getting it right. They had as much time as they wanted to spend on it because they didn’t have to answer to anyone else. They didn’t have to turn in an album on time and they weren’t limited by how much studio time they could afford to pay for, so they could do it all themselves and they could spend as many hours on it as they wanted to. And I think that’s why that first album was so good and why so many people really liked it. The disadvantage though is that you have to learn how to do it, and most people don’t understand the recording process well enough to do a good job. Another problem is that a lot of people are thinking that they’re are a lot better at music than they actually are – but the people who are good at music can now make it themselves. The problem is: How do you get people to learn that you exist? That’s what the record labels are for in historically, right? And there are ways to do it now. You can become an influencer yourself, you can play lots of shows out in your hometown. But it’s a lot of work, and it’s the same kind of work that’s it’s no different than when I was trying to do it back in the ’90’s. You just have to put in a lot of work, and play lots of shows for people, and promote yourself. 

    Gabe: What was the greatest era of music to you, because a lot of people say that the 70s was the best era, but what was your favorite and why?

    Jake: It’s a tough question for me to answer because I like so many different kinds of music, and there’s some music that’s coming out now that’s really fantastic. There’s even some mainstream music that’s coming out now that I especially like. Some of the new jazz is really cool. Beyoncé just did a country song which actually is not terrible, although I could do without the music video. But I think if I had to pick like a decade that had the largest amount of my favorite music it’s probably the ’70’s or more specifically around 1975 to 1983.

    Gabe: So compared to now what do you think the difference of quality comes from in that period from the ’70’s into the early ’80’s?

    Jake: Almost nobody had synthesizers then, and if they did they had actually to play them themselves. They didn’t have computer sequencers. There were some drum machines but they weren’t very good and they were not used very much especially in rock music. Part of the sound of a rock band is the drum set so people actually had to learn to play drums, and if you’re recording in the studio and you don’t have digital editing then you have to actually be good at playing – you can’t just be kind of okay. Nowadays because everybody can edit every note to the exact position they want, and if there’s a pitch that’s wrong they can correct it, and there are all these tools that make it easy to not have to actually learn your craft as a musician or a singer – that wasn’t the case in the ’70s. Like you had to actually know what the hell you were doing.

    Gabe: Do you think the shift in people not using actual instruments is a good thing or a bad thing and why?

    Jake: I think that the tools that are available today are so amazing and varied and fantastic, and there are some musicians that are using them in very creative ways. Some of the bands that a lot of people know about do this kind of stuff, which sort of crosses over between Rock and computer-based music and digital sounds, and I think there are a huge number of creative opportunities that are available. But I think that because of the way the industry works everybody is just churning out things so fast that they don’t take the time to actually apply that creativity, so I think it’s a great thing if you want to make something really new, but it’s very hard to stay focused long enough to do a good job.

    Gabe: How do you feel about new pop and the modern era of rap and pop in general?

    Jake: I mean I never really been a huge pop music fan except when I was, you know, in my preteens, just because the industry’s always been that way. Look at music from the ’50’s: A lot of those songs sound a lot the same. There were few musicians that contributed to some of that music that were really fantastic and amazing and have had a huge influence over many many years like Carol Kaye who was a really famous bass player from that era. But generally speaking I’ve never ever really liked pop music that much. Rap music – I liked some of the gangster rap that came out in the ’90’s. I like the Beastie Boys – some of their stuff not all of it – but I don’t like the so-called “new rap”. I think to me it sounds lazy from a musical standpoint, and honestly some of it is just offensive. And the music is not interesting at all. The backing tracks would be like three bass notes and a couple of kick drum hits and like maybe a synth pad, and stuff like that, and there’s just nothing there. So I honestly I don’t understand the appeal.

    Gabe: It feels empty?

    Jake: It feels very empty, yeah. It’s doesn’t have a dynamic shape, it doesn’t tell a story, and it’s just flat. I think this is one of the reasons why country music is starting to get more and more popular. I was just looking at a survey at work about this. I think it’s because country songs have had a very long tradition of telling stories, and people, humans, are really wired to hear a good story – which by the way is why it was so easy for the record labels to sell The Rock and Roll Myth – because you want to be in the story. You want the story to be about you, right?

    Gabe: Why do you think music in general is important? What do you think is music’s overall impact on society?

    Jake: That’s a great question. When I had switched my major from psychology to music when I was in college, my girlfriend at the time was kind of questioning me like, “What are you going to do with that? How are you going to do good in the world?” And I was not very articulate about it, but I tried to make a case for how music connects people together, and how it helps them to learn about their own emotions by hearing someone else talk about how they’re feeling and what their experiencing just like literature does. But I also think that music… there’s something about the way that humans work, you know, even very ancient cultures had music and drumming and dance. So some of it also is about preserving traditions and transmitting culture to new generations. I also think that it’s there’s a sort of tangible, physical experience and emotion that you get when you hear a really amazing song or really amazing piece of music. It can really be emotionally moving, and I think that that just shows how strongly connected people are to that mode of expression. Asking why music is important is a little bit like asking why talking or writing are important. It’s all about expression and communication and connection.

  • Thanksgiving 2020

    It goes without saying, but I’ll say it anyway: Much of 2020 has been an abysmal dumpster-fire of a year.

    Between election insanity, ongoing political divisiveness and disfunction, systemic racism, economic inequality, the still-raging pandemic and the vast number of individual tragedies that have been caused by it, and the ever-looming disaster of climate change, uncertainty and fears about our future are seemingly everywhere.

    In spite of all this — or perhaps because of it — I wanted to list some of the things I am thankful for.

    Thankful for Family

    I’m thankful for my wonderful, smart, loving wife Cindy, and our amazing and funny born-leader of a son Gabe. The two of them bring me so much joy. I never imagined I would love two people as much as I do, and with each passing year that love has only grown. 🤗

    Everyone in my family is healthy. Cindy and Gabe are both doing well. Remote schooling is going fine even though Gabe the extrovert misses in-person classes. Our black pug, Pickles, is awesome and helps keep us sane. We live in the beautiful city of Seattle, and we love our neighborhood. We’re warm and dry and safe.

    My extended family are also healthy, with work, roofs over our heads, happy kids, and plenty to eat. We’re all in the Pacific Northwest now, and have even managed to see each other a little bit – very carefully – during the pandemic. Cindy’s family are back east, and like mine, they’re also all healthy and generally happy.

    I am thankful that we’re all hanging in there through this incredibly challenging time, and have been relatively unaffected by the pandemic and the horrible political climate we’ve all been living in. Love to all of you!

    I Have a Job I Love

    In April, I was let go from Rover.com where I’d been working for just over a year, due to the impacts of COVID-19. I immediately made it my full-time job to find work, knowing that many people would be doing the same and there would be a lot of competition. I was amazed at how the tech community very quickly built networks and resources for everyone who now found themselves in the same position as myself. Especially here in Seattle, we really rallied, both for the people we knew personally, and for those we didn’t.

    For me, the search ended after about six weeks when I landed a full-time position with Amazon Music, via a referral from Phil Kimmey who was my manager at Rover, through his cousin who worked at Amazon Music.

    Starting a new job 100% remotely hasn’t been without its challenges, but I am loving it so far. And I am incredibly thankful not just for the work itself, but also that I’m again working in a space that overlaps my two passions – technology and music.

    America Came Through for Biden

    I won’t go into any details. There’s quite enough of that to go around elsewhere on the Internet.

    I am extremely thankful that America came through for Biden and therefore for itself. There are still many huge problems to solve, and now that the election is finally behind us and the transition has started, we again have hope that we can make progress on solutions.

    Happy Thanksgiving everyone, and here’s an early toast to 2021! 🍾

    P.S.: I almost forgot! We now have multiple vaccines that appear to be highly effective, along with evidence that the immunity they imbue will be long-lasting. Now that America has come through for itself with the election, there’s a very good chance that many or most of us could receive one of these in 2021. And once we’re past the crisis-point in this epidemic, we will be able to take on the other huge issues that face our nation and the world.

  • What Happened at Tonight’s Debate?

    What Trump thinks happened in tonight’s debate against Joe Biden:

    What actually happened:

  • My New Job

    Two weeks ago I started a new job as a Technical Program Manager at Amazon Music, after sadly having been part of the COVID-19 layoffs at Rover.com back in the end of March.

    The collision of music and tech has been a recurring theme for me for decades now, going all the way back to my teenage years when I was teaching myself Microsoft BASIC on my dad’s IBM PC by writing a simple music sequencer.

    With the perspective of a few decades, I can look back on my adult life squinting, just a little, and see that this new gig is another chapter in that story I started writing for myself when I was about twelve: Take music … and software … and smash them together to see out what comes out.

    It’s exciting to find myself in the supercollider again, still smashing particles of software together in a charged field of music, and looking for order in the creations that spiral out of those collisions. No doubt some of the fallout will be predictable or even mundane, but taking experience as a guide I’m pretty confident I’m going to find novel particles here and there, and maybe even an occasional hint at deeper meaning.

    Also for the first time in 18 years, I’m working again at the same company as my friend Brent Simmons who I first met at UserLand Software around the turn of the last milennium. We started our new jobs on the same day if you can believe it, after having both found ourselves without jobs within a just day of each other because of the pandemic.

  • Working from home

    I’ve been saying for some weeks now that it’s going to be really fascinating to see how work culture will change over the coming months.

    I think it’s clear that there will be some companies that embrace the changes we’ve all made and decide to keep them – or at least some of them. And there will be others that are either unable to shift their approach permanently for a multitude of reasons, or that will be unwilling to change their culture and mindset and will continue to see working from home as a liability, as a drag on productivity, or as stifling management’s (perceived) need for oversight.

    Twitter BirdToday I saw on BuzzFeed via LinkedIn that Twitter will allow [some] employees to work at home forever. I think that’s pretty great, though not very surprising given the DNA of the company and the nature of tech work. I hope more companies consider doing this, especially non-tech companies for whom all this remote stuff is super new.


    Working from home isn’t new for me.

    I started working from home occasionally while I was a QA engineer at Sonic Solutions in Marin County, back in the previous century. The company was gracious enough to let us take some equipment home for our own use – recording and editing music digitally in my case. The thinking was that by allowing employees use the system for their own projects outside of work, they would find more issues and help get them fixed. It worked to some extent, but I think it was mostly of marginal value, at least from what I could see in my role as a tester. I sure did love being able to use the high-end gear for my side projects though. 🙂

    My real in-depth experience with remote work came a few years later as a developer at UserLand Software starting in 2000. The company was basically entirely virtual with three of us spread across the greater San Francisco Bay Area, one in Seattle, one in Vancouver BC, and one in Bonn, Germany.

    Because all but one of us were in the same time-zone, communication over whatever channel was relatively easy. When we needed real-time discussion we talked on the phone, but mostly we interacted online.

    We mostly worked independently and we coordinated our work and reported our progress via a “threaded” discussion board that was visible to everyone internally. The discussion board was a part of the software we made together, and was also a primary way we communicated with our users. For the time, it was pretty great. (Later on we used an outline sharing tool that was also our own thing.)

    The company actually had an office when I was hired, and I had my own space with a desk and a door, a desktop computer, etc. There were only two of us in the office though, and it quickly became clear to me that the value of driving 35-40 minutes each way from my apartment to the office and back just wasn’t worth it. So a few weeks in, I drove there one Saturday, packed up the computer and took it home, and never went back. From that point my productivity and focus increased. By a lot.


    So much has changed since those heady days of the early web. And for many the huge shift in the form of remote work forced by COVID-19 are totally new.

    If you’re one of the people fortunate enough to still have a job, and you now suddenly find yourself trying to adjust to working at home, I encourage you to embrace this time. Experiment. Find what works best for you, in your home, with your family or roommates or partners.

    You might find that working at different times of the day than you used to works better for you. Or you could discover that working with the TV on in the background (not on 24-hour news, please) helps you stay focused. Perhaps working outdoors on your porch or in your yard on a lawn chair inspires new creativity.

    Remember to communicate. Stay connected with your team, your manager, and your colleagues. Try to be open about what’s working for you and what’s not, and help your colleagues to discover what works best for them.

    Don’t forget to stop working at the end of the day. (This was a hard one for me.)

    And if you’re in a leadership position, especially at a non-tech company, try to imagine a world in which anyone who can work remotely should be allowed to do so even after this pandemic is under control. Consider all of the benefits that being flexible will bring to your workforce.

    Critically examine your legacy policies and consider whether they may be worth changing, or dumping entirely. Think also about the benefits to the environment, the operational expense you can reduce, and the positive effect that flexibility will have on your company’s image.

    It’s not just lip-service – remote work actually works.


    For me, this is a bit of a return.

    The “it’s like riding a bike – you never forget” metaphor works, at least kind of. What’s different now is that there are much better tools available now, and so many more people are in the same situation. We’re all trying to figure this out at the same time.

    In 2001 when I would tell someone I’d just met that I work from home 100% of the time, most were surprised, some doubted it could work well, and a few were even incredulous. Today nobody is.

  • Dear Diary, WTF?

    It’s been a long time since I’ve written anything here. Too long.

    I’m going to try to start back up slowly, but given everything that’s happening these days I’m not sure whether that’s even possible. Maybe it is, or maybe it’s not – and if not then I might write a lot, or nothing, or sporadically.

    Whatever happens here, I’m no longer going to try too hard to say meaningful things, to conform to any expectations (others’ or my own) about what to write, how often to write, how well to write, or anything else.

    I think it’s time to try again.

    WTF?

    Back in early February, I had been reading the headlines about the Coronavirus outbreak in Wuhan. I knew there were many people who were sick and dying, and that the Chinese government was taking radical steps to get on top of the situation. I knew there were people in the United States who were worried. I was concerned, but it was all very far away and abstract. I’d never been to China, and I don’t know many people who have close attachments there.

    Would it affect the global economy? Probably.

    Would it affect anything I care about in my personal or professional life? Maybe. It’s hard to get new iPhones. People I know who work for Apple might be affected.

    Would anyone I know be directly affected? Not sure. I’ve got a friend who’s at a small company that depends on Chinese manufacturing. Probably others that I’m not aware of.

    February 7th

    Then I had a visit with my mom, a physician and medical researcher for many years. We met for lunch in downtown Seattle on February 7th. One of the first things she said to me after greetings and a hug was, “Are you washing your hands?”

    I think she had literally never asked me this before, and I immediately knew why. Everyone seemed to be getting more worried and many including myself, were starting to take steps to limit our own chances of getting sick.

    We talked some more.

    I learned that the medical community was very worried that this disease was highly likely to become widespread, or even a pandemic.

    I learned that it was at least transmitted by coughs or droplets left on surfaces or possibly other ways, and that nobody was really sure yet if it could be transmitted through the air, or how long it stuck around on contaminated surfaces.

    I learned that there was a general consensus that the first cases would be on the West Coast, probably in Seattle, San Francisco, or Los Angeles, because of the large Asian population here, and because the West Coast is a travel hub between China and the rest of the United States.

    And I learned that a colleague of my mom’s, a Chinese immigrant to America, was saying that if the Chinese government says there are 10,000 cases, you should add a zero – maybe two. That meant there could be as many as a million people infected in China.

    I don’t think we know even now, how many people were infected at that point. And at this point, I’m not sure it even matters.

    Wash your hands!

    I already had been, at least sometimes, using my knuckle instead of my fingertip to push elevator buttons, opening doors with my coat sleeve or by leaning into them with my hip or shoulder, and using hand sanitizer occasionally.

    That day though, I became much more serious about taking precautions to protect myself and my family from getting sick.

    One of the first things I did was to find out who was on the safety committee at Rover, where I worked. I sent an email explaining what I’d heard, that doctors were very worried about this thing, that the company needed to start taking precautions to protect ourselves, that we need to take hygiene seriously, and we need to tell our employees about the virus and the risks.

    I got a reply back the next day saying that a general communication was being drafted about practicing good hygiene, but it wasn’t clear that there were plans to communicate the seriousness of the situation.

    I stopped shaking hands with anyone.

    I bought stylus-pens from Amazon to use at public touch-screens like elevators and point-of-sale devices.

    I bought neoprene gloves for myself, my wife, and son.

    We talked to our son. We talked to our families. We cancelled travel plans.


    About three weeks after the email exchange at work, we were all advised to work from home whenever possible.

    A week or so after that, we were told working from home was required unless you had to be the office for some reason.

    Another week later it was mandatory for everyone. Nobody was going to the office except to pick up equipment to take home. At 8:30 on a Thursday evening I grabbed my monitor, ergonomic keyboard, mouse, and some personal effects I’d left at my desk. Downtown Seattle was barren.

    I worked from home for another couple of weeks. We all did the best we could to stay productive, and to understand and adjust to this rapidly changing world.

    Then last week, the Rover announced that it was laying off 41% of its staff. Nearly 200 people.


    And now?

    And now. Now we’re all sequestered. We’re trying our best to keep our shit together. We’re trying not to get sick.

    We’re hoping our hospitals and doctors and nurses and EMTs and firefighters and police can keep up. We’re hoping they don’t get sick.

    We talk to our families, our friends, the people we love, the people we work with, only from afar.

    We use video chat to feel more connected, and on business calls sometimes awkwardly, with ball caps and T-shirts on, and kids and pets in the background.

    We have food and supplies delivered. Dropped at our doorstep without contact. We wave at the drivers, and tip them more than we have in the past. We’re happy we have enough toilet paper for now.

    And then we wipe down anything that might have been contaminated as we’re putting it away.

    We wash our hands again.

    We network. We try to help our friends who’ve been laid off to find new jobs. We thank each other more than we used to. We end most conversations with, “Stay safe!” even with people we’ve never talked to before.

    We try to keep our kids from going too stir crazy. We let them stay up later, and have more treats. We allow more screen time than we used to, since that’s how they stay in touch with each other.

    We long to have our play-dates again.

    We miss restaurants and bars. We hope they’ll come back.

    We try not to watch or read too much bad news. We try to ignore the sirens in the distance.

    We’ve all slowed down.

  • Long-term Iteration At Scale

    A couple of months ago, I started work on a new project – it’s big and complex, with a lot of smart and opinionated people involved, an enormous amount of “legacy” code (mostly C++), and tools and systems that are sorely in need of an update.

    In situations like this it’s always really tempting to start over with a completely clean slate, using modern tools and programming techniques. In truth there’s still enormous value in all that legacy code, and throwing it out would be a terrible idea. This is almost always the case in situations like this. Instead the trick is to figure out how to preserve as much of that legacy value as possible, while also unburdening the team and the product from the worst parts of the legacy tool-chain. Evolution, not revolution.

    User data needs to be preserved, as does the way it’s used by the system. Systems built on that data need to continue to function. Performance characteristics need to improve, or at least not degrade. A space needs to be carved out where we can safely build new features. But we don’t have to build any new features using those legacy tools – new stuff can exist in parallel or “on top of” the old. We might need to create new interfaces in old code so that the new system can leverage existing functionality, and we might even need to refactor some old code to make that possible. What we shouldn’t do is boil the ocean.

    The transition ahead isn’t dissimilar to some of the transitions Apple has made over the last couple of decades, the most significant being the shift from the old “Classic” MacOS to the current POSIX system which came from the Unix/Linux universe, and the Cocoa UI framework which came from NeXT. It took careful management and an iterative approach over more than a decade, but Apple was able to (nearly) completely replace their base OS, UI framework/runtime, and primary programming languages on way to transitioning to the universe we now live in with billions of people using iPhones and iPads every day, running the same base system that Apple’s desktop machines use. They were able to do this while bringing the most important developers along into the new universe (though not without casualties), for the very reason that they chose to iterate in a long-term way instead of starting again from scratch.

    While I was working at Microsoft, the company tried to make a similar transition from the legacy OS and programming model, to a new one that was centered the then new WinRT API and the Metro design language. They thought they had to do this in order for their ARM-based Surface devices to successfully compete against iPad. The shift to relatively inexpensive tablets and mobile devices was perceived by some as an existential threat, and the response was partly reactionary. Microsoft failed badly, at least initially, to drive the transition it intended, in no small part because they couldn’t bring their developer community along. Too much changed too fast, and a clear path to the new ecosystem wasn’t communicated clearly enough. The new APIs weren’t compatible, and yet at least on some devices, the old APIs were no longer alowed. By playing catch-up instead of playing their own version of the iteration game, Microsoft alienated many developers who quickly jumped-ship to the Web and to the iOS and Android ecosystems.

    Steven Sinofsky was the head of Windows during the second half of my time at Microsoft, and is now at Andreessen Horowitz. Last week he posted a long thread on Twitter about some of the changes Apple is now considering, and naïve criticism of their approach in recent years.

    That’s what got me thinking about this post, and I think it’s well-worth a read:

    https://twitter.com/stevesi/status/963142502604779520