It’s been one year since I uprooted my dev environment and made the switch to Windows. I’m happy to share that after a year of ups and downs, I’ve made the decision… dramatic pause …to… more dramatic pausing …stick with Windows.

Why I’m Staying with Windows

It’s hard to lay out reasoning for switching operating systems without fans of the other operating system being offended and offering endless well actuallys, so let me say this: this is less about declaring a winner, and more about trying something new. I tried something new and I liked it enough to stay with it.

So here are the reasons I’ve decided to stick:

  • Edge’s recent announcement of Progressive Web Apps on Windows 10 is a major factor. I love the Web and I’m voting with my dollars. I’m similarly considering a switch to Android.
  • Windows 10 is really great. The best part has been watching it iteratively keep getting better in the Insider Fast Track.
  • In Windows, HTML/CSS/JavaScript are first class citizens. So are Node apps.
  • I’m inspired by Microsoft’s view of technology.
  • Bash on Ubuntu on Windows (aka Windows Subsystem for Linux, aka WSL) is a game changer.
  • I like the balance it brings to Shop Talk. Advice podcasts should have different perspectives built in to them, not just re-enforcing a monoculture.
  • Windows gets me excited about hardware: touchscreens, VR, GPUs, 3D webcams, lots of stuff that’s not offered on Mac product line.
  • I’ve started making some video games and want to play with VR, Windows is the best platform for VR.
  • I used to believe that Apple was the pinnacle of hardware, software, and design. Apple is still best at “Things just work™”, but I do not believe they’re at the top of any of those categories anymore.

There are also lots of little things I’ve picked up from tumbling down the Microsoft product line. I like Edge. I like OneNote. Groove, my Rdio replacement, is maybe the best music service out there. Visual Studio Code is pretty great, especially for writing Node apps. All those little things add up to a positive experience overall.

What I’m Pensive About

Any major life decision wouldn’t be noteworthy unless it was frought with uncertainty. Here’s what I still wonder about:

  • Windows Subsystem for Linux (WSL) is promising, but has some problems.
  • There needs to be a good looking, 256-color, tabbed command line interface. What’s available now feels antiquated.
  • Apps crashing. Whether it’s Twitter, Edge, Slack, my Wi-Fi drivers, or some other piece of integral software; apps stalling out or wiping off the screen causes frustration every two weeks or so. Requires reboots, which also feels antiquated.
  • Web design and development tools are still better on macOS.
  • Detangle myself from Apple services (Photos, iCloud, iBooks, iTunes, etc) is work. Not ultra necessary, but the benefits of the ecosystem rapidly diminish outside of it.
  • I don’t want to hotswap one ecosystem-dependency for another. I want to be more loosly coupled to the platform.
  • Coworkers are on Mac. In general this is okay, but being an outlier means I’m responsible for my own tech workarounds.
  • The CTRL key still kinda bothers me.

The apps crashing issue could be a quality issue, a RAM issue, or possibly related to Insider Fast Track updates. It’s hard to judge when using “beta” software. I’ve considered scaling back to the Slow channel after this experiment is over.

What about #davegoesubuntu?

This comes up a lot. I would probably enjoy it, but everytime I start to think about it I hear this quote in the back of my mind:

Linux is only free if your time has no value. –Jamie Zawinski

At the risk of ruining my “developer cred”, I need a certain amount of abstraction for my day-to-day machine. I have little interest in hunting down and manually installing drivers to make things work.

Also, with Windows Subsystem for Linux now at my fingertips, in some ways #davegoesubuntu is already underway.

A new machine for a new era!

While the Surface Pro 3 furnished by Microsoft has served me well, I’m thinking it’s time for an upgrade. In fact I’m considering switching up my whole setup.

If all goes well, my new setup will look something like this:

It’s a chunk of change, but I feel like the Razer Blade with the Razer Core unlocks what I like about the Windows ecosystem. As I’ve began dipping my toes into WebGL, gamedev, and VR; I think I’d benefit more from a quadcore, a nice GPU, and at least 16GB of RAM (for development). And the outboard GPU will be sweet for games.

This year has taught me a lot about device limitations and integrated GPUs, so I’ll be sure to test on more underpowered hardware.

So I guess I’m a Windows user now…

This decision has been possibly the longest “What computer should I buy?” transaction in recorded history. There’s a sense of personal accomplishment of trying something new and sticking with it for an entire year. I think I’ve benefitted from it, my perceptions surely have changed. It’s weird how much we define ourselves and build factions around the technology we purchase.

It’s a lot of effort to uproot the core of your workflow, like an operating system and a browser, but it’s nice to know you won’t die if you change a piece of software. And you may even like it more in the long run. At least that’s my experience.

Well, that wraps up a whole year of self-experimentation. Probably won’t do another one of these for awhile.

Before I sign off, I want to say thanks to Rey Bango for orchestrating this whole experiment and helping me out when I felt like my computer was going up in flames. Thanks to Ryan Joy for helping me with Windows and Azure stuff (still have to write an Azure post). Thanks to John Shewchuk for the wonderful conversations at Build. Thanks to Helena Li and Danilo Bordini for their help at Build as well.

And special thanks to anyone who commented on this blog or reached out on Twitter along the way, it was helpful beyond words.