25 May 2013

A Review of the Chromebook Pixel

(Disclosure: I work for Google, but not for the Chrome team. These are all my personal views.)

I have been using a Chrome Pixel on and off for a few weeks now, so here's my review. My point of reference is the 15-inch Retina Macbook Pro (henceforth: Retinabook), which was, and still is, my primary machine. So I'll be comparing the Pixel against this.

Let's start with a quick summary [1] : The Pixel is a great Chomebook, far better than the existing Chromebooks, and far more powerful than mobile OSs, but it's not as powerful as a Macbook or a Windows laptop. It's 80% there, but that's not good enough for most people. These limitations mean that the Pixel can't be your only device or even your primary device, for a lot of people [2]. I find myself using my Retinabook far more often than the Pixel. I think this is the heart of the problem with the Pixel, the reason why the reviews unanimously praise it but tell you not to buy it. It's too limited for a $1300 device. If it were $300, sure, we could buy it as a second machine. But not at $1300. Money aside, even though I have a Pixel at home, I haven't used it in a week, instead opting for my Mac, because I often run up against the Pixel's limitations.

Besides, 13 inches is too small a screen for me. I am used to the productivity and power of a 15-inch screen. A 15-inch high pixels per inch screen ("Retina"), like the Pixel's, so we're comparing apples with apples. If you use a 13-inch laptop, this doesn't apply to you. But for me, a 13-inch screen is too cramped and doesn't let me do real work, whether office work or a complex task like finding an apartment.

Now, on to the detailed review, starting with the hardware.

The Pixel's hardware is top-notch. When you first look at it, with the lid closed, it doesn't seem to be as premium a device as the Retinabook. But when you start using it, you realize it's a top-tier device, as good as the Retinabook, and better in many ways.

The Pixel seems thicker than the Retinabook, but it's actually not — they are roughly the same thickness. The Retinabook's edges taper, so it looks thinner than it actually is, while the Pixel is more boxy, more like a perfect cuboid. In a way, the Pixel's design is more honest.

The weight feels roughly the same — the Pixel isn't much lighter, despite being a 13-inch device as compared to the 15-inch Retinabook. But, while the Pixel doesn't feel much lighter, it actually is — 1.5 kg, as opposed to the 15-inch Retinabook's 2kg.

There are some nice physical design touches over the Retinabook. For example, you can open the Pixel with one hand. Try that with a Retinabook, and you'll find the bottom half of the laptop (the keyboard part) rising up with your hand and then falling back on the table. Not so on the Pixel, which is perfectly balanced in weight between the two halves so that you can open it with one hand. Or maybe the hinge requires less force to open. Either way, this works better on the Pixel.

As another example, the SD card protrudes less on the Pixel than on the Retinabook, where I'm always afraid I'll snap it off. While we're at it, the SD card of my Retinabook often doesn't recognize SD cards until I reboot the machine. I have noticed no problems with the Pixel's SD card slot in the little I have used the slot. It just worked better.

As a third example, the keyboard backlight automatically goes off when you full-screen a video, and comes back on when you exit full-screen mode. This is the attention to detail that Apple is known for, and it's an impressive achievement to beat Apple at its best.

When I return to my Retinabook after a day or two of using the Pixel, the Retinabook — Apple's best laptop — feels like a somewhat mediocre device. More powerful, but mediocre, and not as well-designed.

On the other hand, if you're playing a video from the filesystem (internal storage or SD card) rather than a web site, the video opens in an almost full-screen mode with just the maximize/restore and close buttons at the top-right corner. You have to click the full-screen button to go, well, fully full-screen. This is an example of an area in which Chrome OS does not have the attention to detail that OS X does. In other words, there are some things the Pixel does things better than the Retinabook, and some things it does worse.

The screen is the most important aspect of a computing device, in my opinion. Since I was already using a Retinabook and was impressed by its Retina display, I thought the Pixel's screen will be more or less the same since, after all, the pixels-per-inch value is almost the same for both screens.

But I was wrong. The Pixel's screen is a big improvement over the alleged Retina display of the Mac, just like the Retina display was a big improvement over non-Retina displays. HD video looked more realistic on the Retinabook compared to earlier Macbooks, which now seem artificial and made of pixels and fake. The Pixel is such a big improvement over the Retinabook. The Pixel comes with the TimeScapes 4k trailer, in 4k resolution. It seems so real and alive that you feel you are there. I know that phrase is overused, but it didn't feel like watching a video on a computer at all. The Retina display of the Mac now looks plasticky, fake and dull. This goes for web sites as well, which now look like a cheap facsimile of the real thing when accessed on the Retinabook. Maybe it's the contrast ratio, or maybe it's something else. But the Pixel is a marked improvement over the Retinabook.

But 13 inches is too small for me. I have been using 15-inch laptops throughout, and I find that I am far more productive on a 15-inch laptop than I am on a 13-inch one, to the extent that there are many things I don't do on the latter, instead reaching for my 15-inch laptop, though switching machines has some friction to it.

The 3:2 aspect ratio of the Pixel also means that it has more screen space as compared to other 13-inch laptops. This is, in a way, just a marketing / accounting game — manufacturers should stop measuring screen sizes by the diagonal, for precisely this reason: it's misleading when comparing screens of different aspect ratios. They should switch to measuring the screen area, which is ultimately what we care about. But, until then, the point stands that the 3:2 13-inch Pixel has more screen space than a 16:9 13-inch laptop. And, for that reason, I wish the Pixel used a 4:3 or, even better, a 5:4 aspect ratio, for even greater screen space.

The real open question is: given two screens of the same screen area but different aspect ratios, and assuming apps / web apps are designed for the respective aspect ratios, which aspect ratio performs better? Until we have an answer to that question, in the short term, the increased height caused by the 3:2 aspect ratio of the Pixel works better for web pages, which are designed to scroll vertically. But it's not good for videos, which are usually 16:9, so there are black bars on top and bottom. This together with the the smaller size (13 inch) of the screen leads to videos playing at a small size.

The Pixel's screen is also a touch screen. I rarely touched it. In some cases, it's convenient. For example, if I'm watching a video and someone speaks to me, I can quickly tap anywhere on the screen to pause it. But for the most part, I didn't use it. This doesn't, of course, mean that touch on a laptop form factor is a bad idea. This could be because web sites are not optimized for touch, not even Google web sites . If they are, the touch screen would be more useful. I'd argue that web sites should anyway be optimized for touch, not just because of the Pixel but also other devices like phones and tablets. And things like larger tap areas, less clutter (fewer elements in a given area of screen space), and simplified app structure and navigation also make them easier to use with a mouse.

The keyboard and trackpad are also top-notch, unlike the mediocre ones found in earlier Chromebooks, which effectively forced you into using an external keyboard and mouse. The Pixel's keyboard and trackpad are as good as the Retinabook's. In fact, I now find the Retinabook's keyboard soft and mushy by comparison.

If you use an external keyboard, it does not wake up the machine if it's sleeping. You have to reach over and press a key on the built-in keyboard to wake it up, and then go back to the external keyboard. This is obviously an oversight.

I also missed using my Apple Magic Trackpad when using the Pixel. I find the Magic Trackpad less strenuous to use. My hand is in a more natural, open and relaxed position, unlike being forced to close a bit to grip a mouse. So my hand doesn't pain the way it does (rarely) after a day of using the mouse. Besides, the Magic Trackpad is such a beautiful object by itself, as a piece of industrial design, if you will. Surrounding myself by high-quality stuff makes me happy. But then, the Magic Trackpad doesn't work on Windows, either, so it's not the Pixel's fault that it's not supported, but I wish there was an alternate trackpad I could buy. A great device like the Pixel or the Retinabook needs great accessories.

The Pixel sometimes reloads tabs, unlike Chrome on OS X. This may be because the Pixel has only 4GB RAM. Reloading tabs is fine on, say, a mobile device, but on a machine billed as a productivity machine, one that can be used to get real work done, this is not good. You can lose data. Imagine typing a long Tumblr or Google+ post and losing it halfway because the tab reloaded.

This is not a problem on Android or iOS, since apps on those platforms are expected to save data and be prepared for termination at any point. One could argue that web apps should do this, too. Moreover, continuous autosave is useful even if the browser doesn't reload tabs, because then you can resume your work seamlessly on another device. You can leave an email half-composed in Gmail, or a document partially created in Google Docs, walk away, wait for a few seconds, and then use another machine and take off seamlessly. This is possible only because of continuous autosave. But then there is also a lot of more transactional stuff, like creating an event in a calendar web app. It would be a heavy burden on all web apps if they must constantly keep saving state.  Expectations are also different. On a mobile device, if I am in the process of creating an event in a calendar app and navigate away and return to it after days, I don't expect the half-filled form to be persisted. But on the desktop, web pages are supposed to retain their entire state indefinitely until you close them. Chrome OS violates this expectation, resulting in data loss.

The solution is not to increase memory — that's a crude solution, because more memory consumes more power, leading to a shorter battery life. Maybe the browser can transparently save and restore the state of the app. After all, saving the exact state of a web app — HTML, CSS and JS, along with data in forms, etc — should be quick and not take too much space on the SSD, unlike saving the entire memory of a native app, which can easily run into a hundred or hundreds of MB. The higher-level nature of the web should help here.

Independent of whether data (local state) is restored, the reload should be faster than it is from the network. Chrome on Android does this — if there are too many tabs, it saves the contents of some of the tabs on the device, and restores them quickly, quicker than loading from the network. Chrome OS should do this too, loading a tab in 100ms.

The Pixel has an Intel Core i5 CPU, which is probably needed to power the high-resolution display with good performance. And it works well, with smooth scrolling. Hopefully, one day it will all be offloaded onto the GPU, and we'll be able to use a low-power ARM or Atom CPU, for a longer battery life. After all, there shouldn't be a real need for a powerful CPU on a device that's only a web browser. Ditching the Intel Core CPU will also save money. After all, the biggest complaint about the Pixel is its price.

The GPU, unfortunately, is not very powerful. When an external monitor is connected, the resolution of the built-in screen seems to drop below Retina territory. This is unlike the 15-inch Retinabook, which has a very powerful GPU that can power the built-in Retina display and three external displays simultaneously. The Pixel uses only the integrated GPU — Intel HD Graphics 4000 — as does the 13-inch Retinabook.

The Pixel has only two USB ports, like the Retinabook. This is irritating, and I can never understand why laptops costing more than a thousand dollars scrimp on USB ports, of all things. The Pixel also has both its ports on one side, which is inconvenient compared to the Retinabook.
The Pixel has a Mini DisplayPort, which is modern enough compared to outdated ports like DVI or (god forbid) VGA, which you still see on Windows laptops. I wish the Pixel supported Thunderbolt so that I could connect and disconnect a single cable for my external monitor, keyboard and mouse. And another for power, though they should have integrated that into Thunderbolt. Unfortunately, having Thunderbolt is an advantage only on paper, since Thunderbolt docks cost insane amounts like $300 (you could buy a cheap Chromebook, Nexus 7 or Nexus 4 for less). Actually, DisplayPort supports an auxiliary data channel running at 1 mbps (suitable for keyboards, mice, etc) or 720 mbps, but I don't know if it's widely supported by monitors. If it were, it could be an affordable Thunderbolt.

The Pixel also doesn't have a MagSafe connector for power, which is a step back. But the connector does have an LED which glows yellow-green (lime) to indicate it's charging, and green to indicate that it's charged. Unfortunately the colors are similar, so it's easy to mistake them if you don't look carefully. Google should have used colors that are more different.

Chrome OS is generally a good operating system. If you haven't used it before and are wondering whether it's powerful enough to get work done, the answer is: mostly yes. This is not Android or iOS, which are good for light use. I would dread the prospect of being asked to use one of these OSs on a laptop, where I need more power to get real work done. But I can imagine using Chrome OS as my primary OS, soon enough.

On earlier Chromebooks, I always felt a very slight and subtle but persistent lag compared to OS X, noticeable only if you're switching back and forth between the devices. I never noticed Chrome OS suffering from the more irritating kind of occasional blips that Android used to have (and still rarely has). We can get used to a very slight but consistent lag, as opposed to things randomly freezing for a fraction of a second. Thankfully, Chrome OS never had the latter, at least not that I noticed. But on the Pixel, even the former is gone. I don't know if it's the hardware or the software (recent updates to Chrome OS), but the problem is gone — it's as responsive as OS X.

As you know, Chromebooks don't have native apps. They do have a Start menu-like launcher, but these are just bookmarks. And if you open the Google Calendar "app", it often opens a new copy of Google Calendar rather than switching to the one already opened. But not every time — it would sometimes switch to the existing tab. This is extremely confusing. I ended up ignoring the launcher and just using browser bookmarks or typing URLs, as on Chrome on OS X.

Chrome OS is not as well-designed in terms of esthetics and visual appeal as OS X is. But this is a minor point overall, since it's a small difference, and I'll choose a simpler system to one that's visually more beautiful.

I'm a native apps person, not just on mobile, but also on OS X. A lot of my colleagues at Google use their Macbooks as platforms to run Chrome, but I'm the opposite — I use native apps heavily — Dropbox, Picasa, Mail, Calendar, Contacts, Twitterrific, and many more. They are often faster than web apps, work offline, and are more polished and beautiful, and better integrated with the system. For example, using the Mail app on OS X rather than Gmail in a browser means that mail is a first-class citizen — I can fid it in the Dock, Command-Tab to it, compose a mail without obscuring my inbox, etc.

I can use Spotlight to launch Mail, or to search through my email quicker than I can open the right Gmail account in a browser, wait for it to load, and then search. Besides, we use multiple services, so I don't want to perform separate searches in Gmail, Dropbox, Twitter, Facebook, etc. I may not even remember which service has something I need. For example, if I am looking for a scan of my driving license, I don't have to remember whether it was a Gmail attachment or a file in Dropbox. I can just use Spotlight to find it. Absent Spotlight, I may not even find it because it may not occur to me to search a particular silo.

That all goes to say that I'm a native apps person. However, I was pleasantly surprised to find that I wasn't missing native apps when I was using the Pixel. While I prefer native apps when they are available, I didn't miss them when I could do what I needed to do in a web app. Unfortunately, a lot of things require native apps — programming, video transcoding, syncing with Dropbox, SkyDrive or Amazon Cloud Drive, BitTorrent, syncing with iDevices, etc.There isn't a Dropbox app, which is significant because I have everything in Dropbox. I end up having to manually upload and download files and keep them in sync. For example, if I have a document in Dropbox that I want to email, Chrome OS forces me to find it using Dropbox's web interface (not as convenient as Spotlight), download it, attach it, and then delete it. Or end up with a cluttered Downloads folder.

Sure, I could switch to Google Drive, but it has its own pros and cons and is a separate discussion. I also miss the Picasa app, which I use to manage my photos.

Chrome OS can't connect to a file server using SMB, SFTP or WebDAV. I had to regress to copying stuff onto SD cards to move files back and forth. This was a little tedious and reminded me of the good old day of floppy disks [3]. I often ended up with three copies of the files — on my Mac, on my Pixel, and on the SD card. And when I plugged in my external hard disc, Chrome OS wouldn't recognize it. The disk is partitioned, with a FAT32 partition and a HFS+ partition. I expect Chrome OS to mount both, with the HFS+ mounted read-only, or at worst, ignore the HFS+ partition and at least let me access the FAT32 partition, but even that didn't work. I had to plug in the external disk into my Mac, copy the files to an SD card, put the SD card into the Pixel, and then copy the stuff into the Pixel. Even when I was able to get the videos I wanted onto the Pixel, they often wouldn't play, because they were in a file format Chrome OS didn't recognize — mkv, avi, flv, etc.

Printing is also a pain. I found Cloud Print unreliable — it would sometimes not print, and not give an error message. This happened when my printer was accidentally turned off, but Cloud Print didn't give an error. The result is that I can no longer trust it to work. Cloud Print also wouldn't let me print to an office printer, since I had signed in to Chrome OS with my personal account. I set up my printer on OS X to print using less ink, which still produces good output. Since inkjet ink is so expensive, this matters. Cloud Print can't do this.

Google talks of living in the cloud, which is fine, but living in the cloud doesn't mean living in Chrome. Chrome is an excellent browser, and I probably use it more than all other browsers combined. But there are situations when it's not the right tool for the job. For example, some web sites, like Morning Star India, work only on IE and Firefox. When you're making a huge investment, finding the right mutual fund is important, so I reach for my Mac. Yes, Morning Star India should be fixed to work on Chrome and Safari, but at the end of the day, I want to get the job done. I'm not Stallman. As another example, I download YouTube videos to watch offline, using a Firefox extension, which is not available for Chrome. Given the low bandwidth in India, HD videos don't often play without stuttering. Besides, bandwidth caps are often low, so if I really like a particular video and want to keep it, it wouldn't hurt to download it and then play it offline whenever I want to.

Even if Chrome works better than Safari or Firefox every time, you need different browsers to log in to the same site using multiple accounts. I heavily use my work and personal Google accounts, so this affects me every day. Google does support signing in to multiple accounts in one browser, but it doesn't work for all Google products, which sometimes force you to sign out of all accounts and then sign in with the chosen one, which is a pain, especially with 2-factor authentication, and defeats the whole point of multi-login. As another example, a real estate search website had a limit that forced me to create another account and use it with both accounts simultaneously (don't ask). This may seem like an edge case, and it is, but when you have ten days before your deadline to vacate your apartment, finding another apartment becomes critical, and the difference between Chrome OS and OS X becomes a difference between a tool that doesn't work and one that does.

Chrome does support the notion of multiple profiles. Maybe I'll end up creating another profile. But that also has its own drawbacks — if I create a profile for my work Gmail account, and another for my personal Gmail account, I should remember, for every site, which profile I opened that site in, check if I'm using that profile and if not switch profiles, and then open the site. At the end of the day, I don't want to choose between options that kinda sorta work and which require me to do my own research to find out what works and what doesn't. I want one tried-and-tested solution that works in all cases, and with a great user experience.

Chrome OS is also a great exercise in simplifying the user experience, removing a lot of cruft that piled up in desktop operating systems over the decades.

The main simplification is getting rid of native apps, which I don't miss when I can just as well use a web app, and which opens up many avenues for further simplification.

For example, the distinction between apps and windows is gone. No more thinking about when to use Cmd-Tab vs Cmd-`, in OS X parlance, to switch between apps and windows of the same app, respectively. Or the difference between Cmd-Q to quit an app and Cmd-W to close one window or tab. Imagine explaining to someone like my mom that there are multiple apps, each of which has multiple windows, each of which has multiple tabs. And this is not even considering Spaces, or virtual desktops. Is it any surprise that she (and many like her) reject these complex desktop operating systems?

Chrome OS does support overlapping windows, which can be maximized or not. I don't see the point of this on a 13-inch laptop. I almost always wish for more space, not less. But then, a simplified model of windows being maximized all the time wouldn't work on external monitors, like 30-inch ones. Maybe the control to un-maximize a window should be hidden in a right-click menu or something, because it doesn't make sense on the internal display, which is what I assume is used most of the time.

The persistent Mac menu bar at the top of the screen (or the equivalent in each window on Windows) is gone. Good riddance. The menu bar never made sense to me as something that must be present in all apps or windows. Menu bars aren't really required in many apps, whether Chrome, Terminal, Contacts, etc. They also duplicate actions found in the toolbar, which is undesirable for some apps. I would like the app's designer to decide how to present the app's UI, not have the OS force it upon them. Mobile OSs do away with the menu bar, and so does Chrome OS.

The function keys on the keyboard are also gone. They were already half-gone in OS X, where they would perform another function, like adjusting the volume or brightness, unless you press Fn. But it's still complex, for someone not into computers, to understand that a key has two functions, and that you need to press a third key (Fn) to switch between them. Thankfully, Chrome OS gets rid of them, and the associated Fn modifier. The Mac is too complex here, with five modifiers — Shift, Command, Ctrl, Alt and Fn. PC laptops are one step better, without a Command modifier. The Pixel is one step better, without the Fn, too. I wonder if it's possible to get rid of Alt, as well.

In summary, the Pixel is a great device, far more powerful than a tablet, but not as powerful as a real laptop. It's 80% there, but that's not good enough for most people. These limitations mean that the Pixel can't be your only device or even your primary device, for a lot of people. I often find myself using my Retinabook. I think this is the heart of the problem with the Pixel, the reason why the reviews unanimously praise it but tell you not to buy it. It's too limited for a $1300 device. If it were $300, sure, we could buy it as another machine. But not at $1300. Money aside, even though I have a Pixel at home, I haven't used it in a week, instead opting for my Mac, because I often run up against the Pixel's limitations.

What Can Google Do?
Google has been iterating and fixing the limitations of Chrome OS (and Android, for that matter) over time. Chrome OS today is far better than it was an year ago. So I'm sure many of these problems will be fixed soon enough.

Google already provides an escape valve, by letting users use desktop apps, by way of clients for Remote Desktop, NX, SSH and Citrix. Together with a Windows VM in the cloud, as with OnLive, users can use Windows apps. At least users in Western countries, with high-speed connections to nearby datacenters. If Chromebooks were more popular, maybe we'd have a robust market for Windows VMs in the cloud, with different features and price points and located in datacenters around the world (for example, Indians would need a VM hosted in India or nearby, not in America or Western Europe).

Another option would be for someone to use Native Client to build a VM. Assuming NaCl itself has a 20% overhead, and that running a VM in NaCl has another 20% overhead, we should be able to run Windows on Chrome OS at 64% of native performance, which may be good enough [4].

[1] Reviews or articles that go on and on before giving you the meat of the matter are a waste of time. This is not a detective novel. Give people the information they're looking for with a minimum of fuss. And then, if they want more, they can always continue reading. Don't hold them hostage and make them read the whole thing just to get the bottom line. Newspapers do this well — you can stop reading anywhere, and you'll have covered the most important aspects of that story.

[2] I wonder if the long tail is really long. I also wonder if it's different for different people. Maybe 80% of everyone's needs are covered by the Pixel, but the other 20% are different for different people. If so, it will be harder for Chrome OS to reach a point where it's widely accepted.

[3] Not that it's any worse than having to use iTunes to manage my iPad.

[4] A third option would be for Google to modify Chrome OS to directly support running a VM, but perhaps presenting Windows apps in Chrome tabs rather than windows. A variant on this idea is dual-booting, but in 2013, VMs make more sense, and suffer less from the risk that users always end up booting into Windows, which defeats the point of building Chromebooks.

I don't think Google should explicitly work on making any of these four options, or others, possible or easier to build or use. If users find themselves unable to do certain things on Chromebooks, that pressure will drive Google to improve Chrome OS and the web platform. Besides, even if something is possible on Chrome OS, there's the risk that users will stick to tried and true ways of doing things (Windows apps) so there's the risk that Chromebooks will become merely platforms to host Windows, via a VM, dual-boot or Remote Desktop. That's the problem with backward compatibility — that enabling a solution that's not ideal for the environment can dissipate the pressure that would otherwise result in either the first or third party developers building a solution that's more suited to the environment, which is web apps in case of Chrome OS. Besides, Google's engineering, UX and management time is better spent pushing Chrome OS forward than on backward compatibility. So, I don't think Google should explicitly work on making it easier to use Windows apps on Chrome OS.

No comments:

Post a Comment