From the first day to now, I have been using the Surface Pro X for 10 months. Looking back, we went through a lot of bumps. It's not all good now but certainly better than what it was. Below is the journey I am going through and hope to document what it takes in adopting a new architecture.

My first encounter

Last year when I traveled to Japan, I stopped by Yodabashi in checking out the Let's note by Panasonic. It is a beautiful machine, very portable and you don't need dongle of any sort since it has all the ports you need. Imagine using it on the high speed rail in Japan, surfing the net with the train's WiFi or through the built-in LTE. The biggest problem is the price, it is VERY costly.

Anyway, that's not the point for this article. And it is in this occasion that I came by the Microsoft counter and saw the Surface Pro X for the first time. First impression - beautiful, very thin bazel, lovely pen storage and decent keyboard. It is not snappy, opening the browser and website takes some effort. It is light, very portable and love the 13" screen dimensions.

It didn't leave me much impression on the first encounter.

The purchase is all because of the bat

By the time when I travel, the virus outbreak has taken the news headline. The bat, or better said the personnel who deal with it has opened the pandora box. I returned to Hong Kong at the end of January and to cut the story short, school closed till March and my company has decided to allow us to work from home.  

The implications to me is, I need a Windows machine at home. My 2 years old Eve V has become my daily workhorse, it works well but I want a lighter one, having longer battery life and better pen support.

Here comes the thought of Surface Pro X. A device claiming long battery life, fanless, always-on mobilty and decent pen support. So I started looking around for review and noticed the Hong Kong Microsoft store is offering pre-order promotion.

When I am hours away from finishing my workday, I received the device. Setting it up is easy but using it need patience which I would explain in the next paragraph.

Newly arrived Surface Pro X

Taming the workhorse

-- Hardware is not the hardest since Microsoft has total control

Meeting through MS Teams is a major part of my work and bluetooth headset is essential. BUT there's a bluetooth audio issue, the Surface Pro X doesn't work with my Logitech Zone Wireless Plus. To be precise, the headset works well but not the mic. On the flip side, the build in microphone have me survived meetings and important one, too.

LTE is not reliable, when it wake from sleep with WiFi disconnected, it can't switch over to LTE for connectivity. I have to reboot and it would work.

After rounds of firmware and software upgrade, it starts to work as intent - bluetooth audio works now, LTE switching over is seamless.

-- Be native as much as you can but adoption needs vendor to support

On application adoption, I can split the 10 months of usage into 3 different phases.

Phase 1 - The Chromebook Era

With the change of CPU, the number one concern is application support. This concern can split into two areas - native application support and backward compatibility support. There are not a lot of native build, even for applications from Microsoft itself are not 100% ARM native when the X comes out. One of the challenge is framework dependency, e.g. application using the electron or .NET framework would need the underlying library to be ARM native before they can releave a native version.

I read about the advice from other early adopters that the first thing to download is the beta verion of Edge. It is important for two reasons - performance boost and ability to package web application as standalone application. The later one is the "make do" for application that is not supported yet, more can be seen below.

Backward compatibility also has it's short comings. Right now it's only able to support 32bit applications and performance is far from desire. I have two choices - suck the bullet or try the web version. That's the reason why a native build of Edge is essential and this is how I survived the first few months of work.

Microsoft Teams is what I rely on as a remote worker. Native build is not available initially and the 32bit one is buggy and slow. I have to live through the web version for months and life changed when the native build is released.

Below are the native applications that is essential to me

  • Edge
  • VS Code
  • MS Teams
  • WSL2 (more on it later)

Below are the applications that I am wishing daily for a native build

  • 1Password
  • Evernote
  • Jetbrains IntelliJ (there's a work around luckily)

Phase 2 - The WSL2 savior

Why WSL2 is important?

Native application for ARM on Windows is hard to come by but they have better support in Linux. So how do I use Linux application on Windows? WSL bridges that gap.

WSL brings a translation layer to Linux but WSL2 brings it's own Linux kernel and better system compatibility. On top of that, it allows Surface Pro X to use Docker (there is no Docker Desktop for Windows 10 on ARM yet). ARM binaries and Docker support opens the door for software development on Surface Pro X. To put into perspectives, I can code in GO lang (no ARM for Windows yet), Java (JDK for ARM on Windows is still in development) and pull/build docker image for application development. What's more, VS Code integrates with WSL2 for remote editing.

So I have been waiting for the release of Windows 10 update 2004 since WSL2 is part of the deliverable (but turns out WSL2 can run on 1909). After a whole month of waiting since it was announced, I can finally get WSL2 to work. It certainly is not perfect, and there are hiccup all along but at least a way out.

Phase 3 - A free ride on M1

Apple started their journey to ARM in November. They are enduring a similar journey on application support. But the support from both Apple and the community is much more responsive than Windows - Jetbrains is releasing a beta version of native built of their IDE platform, Azul has released a M1 specific JDK.

So what does this meant for ARM on Windows? Vendor is sharing the love but at a lower priority. With this added incentive (on supporting M1), I am hoping this would speed up the release on the Windows counterpart. Microsoft is also working on a 64bit emulation which I hope would also improve on performance as well.

Who would use the Surface Pro X for?

For people prefer Windows over Mac OS, looking for a 2-in-1 with LTE support and want to be a pioneer. You can be a proud owner of the Surface Pro X.