I have decided to change the ordering of articles up and reveal my grand plan to you right now. You are probably not going to like it, but I think it’s necessary and I am backing my words up with resolute action.
As you read in Part 1, I believe the desktop operating system is in grave danger. Apple has spent the last decade pursuing highly profitable mobile platforms consumer services and Microsoft has spent the better part of the last decade pursuing highly profitable services. macOS seems to be getting worse as the yearly releases. Windows seems to be getting slowly better while taking on the spyware business model borrowed from Google.
As the situation progresses, we are at risk of losing the legacy of fully-featured desktop computing. Even though the basic concepts of desktop computing have been around since the 1960’s and are “old,” they are just as valuable and irreplaceable today, even if the vendors of commercial operating systems do not care. As computing professionals, we need to preserve this legacy as best as we possibly can.
We have little say over what happens to Windows, and Apple is outwardly tone-deaf as ever. When the product managers and marketing managers at Apple say that the iPad is their clearest vision of computing, I now believe them. But the iPad preserves little about the lineage of desktop computing, thus Apple does not have much vision for the desktop. This reality exists even though I assume there must be many inside of these companies who do deeply are about desktop computing.
The stakes are high. Those with the technical chops to move away from commercial operating systems should strongly consider doing so, now or at some point in the near future even if as nothing more than a vote of confidence. Corporate control over desktop computing ensures that the hours you spend developing for and enhancing commercial operating systems via developing third-party applications and filing radars is probably wasted. Your time is useful and worthwhile and could be spent elsewhere. Your time could be donated to something with a future.
The plan then is to preserve desktop computing. For me, the time for action is now.
Months ago I came across this tweet thread.
I absolutely admire this. It’s mad and insane and also really creative and powerful. James O’Leary’s working set up is proof that we have all the tools we need to move away from macOS and Windows, today.
I have been thinking about what life after macOS and Windows might look like since 2015. At the time, I was thinking that we’d all have to shift over to Linux and wait for the software world to catch up, though it wasn’t clear when or how this might work. Five years later, I’m starting to get an actual picture of what the future might be like. I will tell you where I am going and how I am going to do it…
My primary desktop operating system is going to be Haiku OS. It’s a retro-operating system inspired (but not based on) BeOS and maybe the only of it's kind not built on Linux. A second choice would be Ubuntu as I use it as a server OS at work and am very familiar with how it’s laid out. The desktop shell in recent releases is very pretty, too.
Haiku is severely lagging behind Linux right now in terms of adoption and some capabilities (for example, WebPositive is the only browser currently available for Haiku, and it's based on WebKit, not WebKit 2). However this is where computing gets “fun.” I’m already envisioning some zany workflows and workarounds, and I do think that this will be a very good side-effect of leaving the commercial world behind.
Here’s what I like about Haiku, especially compared to Linux.
However incomplete Haiku might be and however strong my convictions, I still need to be able to function in the modern world. I have an iPhone and a Surface Pro, which I could use for much of this, but I’m augmenting that with an iPad Air and the keyboard cover.
I figure that the iPad Air will allow me to still have some kind of access to Apple services and ecosystem, of which I’ve relied on since the MobileMe days, and will still rely on for my iPhone.
The iPad Air will be a drop-in replacement for my Mac. True, it is not going to be as good as a Mac, but the key here is access to the internet in a competent web browser and the rest of the ecosystem that I’ve already invested in.
I also have a Surface Pro, which I mostly just use for work when I need to do Windows things/program on .NET. This, I suppose is my biggest fail safe... Maybe it’s even cheating. I figure that I already have the hardware and if I were to hock it I’m sure I’d get a tiny fraction of what I paid for it. So it stays in the lineup.
As for my existing Mac mini, I’m not exactly sure yet. Originally I was planning on hocking it, hence the iPad Air. I may hang on to it for now. We’ll get into this in a future article as it has less to do with vision and more to do with pratical bootstrapping matters. I'll be using Haiku as much of a daily driver as I possibly can and blogging about it here... the good, the bad and the ugly.
Haiku won’t be for everyone, so if any of the Linux distributions are more your style, go in that direction. As a matter of fact, I’d encourage this.
Find and install niche operating system that you really enjoy and meets your sensibilities. This future of desktop computing should hopefully fracture user bases into several smaller user bases of mad computer scientists and software engineers hacking away. Everything will barely work and it will be glamorous.
A key component of this new order is going to be data portability and hopefully translation layers to port and share applications between platforms.
The success of macOS and iOS has ushered in an era of “shoe-box” applications. Applications are local and “thick.” They often store your data locally, sometimes in directory structures that are now being hidden from users.
We need to break away from this, at least in terms of our data.
Consider James O'Leary's setup. He's essentially offloading his work to other machines. Whether it's via web application or remote desktop, he is connecting to servers to handle the actual processing. His local machine, running ChromeOS, is simply a desktop terminal to connect to these services. It's a little odd but it's also giving him a lot of capability while allowing him to use something other than macOS or Windows.
Over the last few years, I have collected a massive amount of used CD’s by visiting various Goodwills in the state. Any CD that I recognize, I buy (unless I already have it). At $1 to $2 a CD, an entire CD is cheaper than a single track from the iTunes Music Store. And yeah, there’s Britney Spears and NOW CDs in there. I don’t care.
I ripped these CDs and imported them as ALAC files into iTunes and used iTunes Match to sync them to my phone. I have absolutely no way to access this music on Haiku (or Linux, for that matter).
However I am a pretty good web developer, so I did what I know best.
I wrote a quick-n-dirty Python script to scan my iTunes Media directory and generate a browsable static site that contains all of the music and a website with a basic list-detail hierarchy based on albums. I can directly upload this site to any server capable of serving HTML and MP3 files.
Here's what it looks like, so far...
That means that I could upload this to an AWS instance/droplet/node (protected, of course!). However right now I’m serving it from an Intel NUC running Ubuntu server inside of my house. This is data portability! No matter which operating system or device I’m using, I have access to my entire music library right over the network.
This solution is not all that great. I’m giving up a ton of functionality that the Mac’s new Music app already has today and now.
Honestly though, the bar is low and I’m having a TON of fun. With just a few dozen lines of Python and a single evening, I wrote a script to build a static media website, and have visions of how I can improve it and turn it into a great media player. It works. It’s live on my NUC right now. I’ll share it (the script) with everyone, eventually.
I’d never be doing this if I were to stay on the Mac. After all, why would I need to?
I plan to expand this concept to other media as well. Perhaps even documents too. On a long enough timeline, I’d also put a JSON serialization of these media and document libraries in the site output too, such that non-currently-existing native applications could pull and render as they see fit!
Translation layers work.
Perhaps the biggest success story is the porting of iTunes from Mac OS X to Windows. Granted, a large subset of functionality was eventually implemented in web technologies via embedded WebKit in iTunes for the Music Store.
I don’t have a lot to offer here, I’m way out of my depth on this one outside of an observation or two. But in a fractured world of desktop computing and niche operating systems, having applications available through translation layers could save decades of human work and open up a lot of possibilities for under-recognized operating systems.
This is all so highly idealist. I have hopes, even if naive.
My hope is that, you, experienced computing professional, will embrace and catalyze a renaissance in desktop computing. My hope is that we can preserve everything that makes desktop computing so powerful and wonderful.
I am also expecting many counter-arguments.
But none of those counter-arguments matter, because OS design and development is over as we know it. As Eli Schiff says, no one is incentivized to push things forward. The old guard is not interested.
We have to do this not because it’s profitable (though it may be eventually) or efficient. We have to do this because we love desktop computing and want to preserve it for another half-century. There’s simply no future for macOS or Windows, and neither Apple or Microsoft cares as long as they are raking cash in from elsewhere.