Review: Purism Librem 13v3

About two years ago, I decided that Apple had given up on the geek audience (which'll probably be the subject of another post). Since then, I've been gradually switching over to Linux for my various systems. So, when it came time to replace my (still surprisingly ageless) 6 year-old Macbook Air, I decided to explore my options with Linux-based systems. I'd originally been drooling over Purism's Librem 11, a tablet/transformer laptop with PureOS, a Linux distro custom designed to work with the hardware. According to the internet, setting up a Linux-based tablet was an exercise in frustration, so the promise of one specially built for Linux was too good to be true. Turns out it might still be... About a year in now, and the 11 is still in the "Pre-order" stage.

Still, one of the things I loved about Apple products was the hardware/software co-design. The hardware "just-worked". So, when delaying for the 11 was no longer reasonable (and when I realized that I'd have to carry around a MiniHDMI adapter), I decided to get a Librem 13v3. It's now about 2 months in, and I feel like I've given the laptop a good workout, so I wanted to share my experiences.

TL;DR: After a rough start, I'm happy with the laptop. It has quirks, to the point where I still wouldn't recommend it for anyone who doesn't factor ethics into their purchasing decisions (i.e., most people). Still, the company has made a great start and is moving in the right direction.

Overview

Purism bills itself as a security-, freedom-. and privacy-oriented hardware/software platform. To that end, all of their devices come standard with external toggle switches, one for the Camera/Mic and one for the BT/WiFi, that physically disconnect the hardware from the motherboard. All of their devices have the Intel Management Engine neutered, and the company's hardware and software are endorsed by the Free Software Foundation. In short, using this makes you morally superior to all other computer users</sarcasm>. Seriously though, they take a lot of effort to respect their customer's freedom and privacy and set secure defaults. I think that's great to see from a company and I want to see more of it.

A secondary benefit, albeit not one that they really advertise, is that they're building a linux distro specifically for the hardware that they sell. One of my concerns with Linux in general is the degree of tinkering that it seems is often required to get something like sleep mode, wifi, or sound working. Having the same company developing both makes it far more likely that the hardware will just work, and that's something that is incredibly valuable. I like tinkering, but I like not needing to tinker when there's something else on my plate.

The Good

• The laptop is boring: This is actually a good thing for a piece of hardware. I can do what I need to do and I don't get surprised by stuff randomly breaking. It does what it needs to do, and stays out of the way. Sure, it's sleek, but it works, and that's the important thing.
• Great battery life: I regularly get the advertised 6-7 hours out of it, even when doing some heavy web browsing, video, or code/LaTeX compilation.
• Hardware kill switches: I was a little afraid that repeatedly plugging/unplugging the wifi card or camera might drive Linux nuts, but this feature has been well implemented. Turning the camera or wifi on and off works exactly as advertised, and has been surprisingly useful.
• Gnome 3 is good: Admittedly, Linux isn't quite up to Apple UI standards yet, but it's getting there. My experience with PureOS (Gnome3 specifically) is the first Linux that I'd recommend to a non-technical person.

The Not So Good

• Finicky Keyboard: The 13v3's keyboard can sometimes be finicky. The tactile feel of the keyboard is great, but it sometimes misses keystrokes.
• The '\' key: They messed up the 13v3 US keyboard's firmware and the '\' key sends the wrong keycode. Worse, it seems that they can't fix the problem in the OS without breaking all of the 13v3 EU keyboards. There's a 2-line patch that is easily found on the internet that fixes it, but given the price point of the Librems, it's something you'd expect to "just work".
• WiFi: I've been spoiled by Apple. Antenna design is voodoo, and Apple employs some of the best witch doctors on the planet. The antenna in the 13v3 isn't quite as good as any of my Apple devices, and there are now some rooms in my house where I can't use Skype.
• Hot Sleep: This issue doesn't appear to be that widespread, but periodically when I wake my Librem from sleep by opening the case it decides that it's overheating, throttles the CPU to min speed, and pushes the fans to full blast. Putting the laptop back to sleep and waking it up again fixes the problem, but (1) not something I'd expect to see at this price point, and (2) something that has had an un-addressed forum post up for several months now.

The Linux

Switching from OSX to Linux was surprisingly painless. The Gnome app suite is a surprisingly good stand in for the Apple app suite.

• Mail: Evolution is competitive with Mail.app. I do have a few nits, but it's actually a really nice app. I'd like to see a more streamlined search that defaults to searching everything and that resets after you change views (more inline with how Mail.app works). Threading support is also a little awkward: Indenting by the same amount for every response in a thread makes viewing long threads incredibly painful. Also, I've hacked together a unified mailbox using search folders, but it would be nice to see that sort of thing directly available through the UI. It would also be great to have the option to automatically sync an IMAP server for offline use, but there's apparently some tools that will do that for you.
• Calendar/Contacts: I've been really happy with Gnome's Calendar and Contacts apps. Native integration with Nextcloud works great with these apps, as does integration with the Gnome shell. I'm a little annoyed that Contacts doesn't offer a "Copy Email" button (just a "Send Email"), but that's small potatoes.
• Music: iTunes has been getting steadily worse over the past half decade. I've been using Clementine on the mac for a while, so switching to that on Linux actually improved the user experience. I still wasn't happy with music search, the way the playlist just kept growing until I manually deleted something, or the fact that it took a right click and menu selection to play anything. I tried out the Gnome default, Rhythmbox, but wasn't super happy with the text-only album search. I'm a visual person and I like browsing through my album covers. I finally settled on a fantastic app called Cantata, which provides a great UX for a barebones music playing daemon called MPD. MPD can sometimes be finicky, but Cantata can set up a built in version that works splendidly.
• Task Management: I was addicted to OmniFocus. It was an Amazing tool, in no small part due to the really low-friction task entry window that they put together. Nothing else that I've found quite replicates that, but I've found a reasonably close replacement called TaskWarrior. It uses the command line rather than a special pop-up window, but it's pretty slick.
• Code Editor: It's not free in either sense of the word, but I'm a devoted SublimeText user. Apart from the need to tweak a few key combinations, my text editing experience did not change with the platform.

I have a few gripes that are specific to linux:

• Linux presently lacks support for USB video adaptors. Not a huge issue since there's HDMI out on the Librem, but it means no USB-C Video dongles, or docking stations with DVI out.
• Linux apps are developed with a mix of different key conventions. This used to drive me nuts in webapps, where I'd expect emacs keybindings like ctrl-d. I'd hit some emacs key (which any OSX text window will respond to), and instead get some app-specific behavior. Now I get the same thing across the entire OS. There are some conventions like ctrl-q for quit, but not every app respects them, and sometimes you get alt-f4 to quit instead. It's taken a lot of getting used to.

The Confusing

Finally, there are a few oddities about the Librem that aren't really issues, just confusing.

• There's a software wifi kill switch (fn-f3) in addition to the hardware one. This is something that would be super-easily ignored, except for the fact that the keyboard also has a WiFi LED that is controlled by the software rather than the hardware kill switch.
• There's no num-lock LED. This can lead to very confusing password-entry sessions, as the entire right third of the keyboard becomes a numpad with NumLock on, and there's no way to tell when NumLock is on.
• The hinge seems like it'll open with one hand, but actually requires 2 to open (or some interesting contortions).
• The three volume buttons ("mute" and "volume+", "volume-") are scattered across opposite sides of the keyboard

The Summary

Now that I've got the thing properly set up, it's easy to adjust my workflow around the Librem's remaining quirks. In spite of those quirks, I'm still happy with my purchase. Admittedly, part of this is viewing my purchase from a moral/ethical standpoint: I'm supporting a company that actively tries to respect my freedom, security, and privacy. I want to see them succeed, and help them get to a point where I can also recommend them to someone making the purchase solely from a usability standpoint. They're not there yet, but I see it happening.