Chromebook First Impressions by Mark Stone
December 2012. An aging laptop that finally failed left me in the market for a new computer. After considering my options, I settled on a Chromebook. I've been using it as my primary computing platform for about three weeks now, and thought I'd share a bit of my experience.
First some context: I have been a long time Linux / open source consumer, and Linux has been my desktop operating system of choice since 1994. I haven't used an Apple product of any kind since the early 90s, and while I don't have any ideological bias against using Microsoft Windows (I'm not a Free Software zealot), I have to have a good reason to spend the money and management time needed for a Microsoft operating system.
A little more context: while I'm not a professional programmer, I do a fair amount of hobbyist hacking on my own. The resources for that, however, are mostly servers: on my home network I have a file server running FreeNAS that I use for backup, and another server running Ubuntu Server 12.04 that is my primary development environment. I have a shell account on a public-facing Linux server that a friend of mine maintains, and I run a website and blog off of an Amazon EC2 instance that runs Ubuntu Server 12.04. Thus the device that puts a graphical interface in front of me is only one of my computing resources, and not necessarily the most important one.
Final bit of context: We're a Google household. We all use Gmail, Google Calendar, Google Maps. Chrome has been our default browser for years. We have three Android phones, a Nexus 7 tablet, and a Nook. In fact the Google portfolio of applications has gradually displaced some of my open source stand-bys. I switched from Pine and Mutt to Gmail. I switched from Open Office to Google Docs. I switched from Gnumeric to Google Docs. Picasaweb takes care of most of the photo editing needs for which I used to rely on the Gimp. In sum, our household is about as Chromebook-friendly as a household can be.
Alternatives. Here are a few of the obvious alternatives, and why they were inadequate for me:
- MacBook. Apple lists the 13" MacBook on their website for $1200. That is just a staggering price. It has been decades since I've spent more than $600 on a computer, and $1200 is simply nowhere close to being within my budget.
- Low end Windows laptop. Something with specs comparable to the Chromebook I have would probably run around $400. So the "Microsoft tax" is about $150. I'd get a device that is in some sense more versatile; after all, I could install the Chrome browser on it and run it very much like a Chromebook and then use the extra Windows features only if I wanted to. But I'd also be in the world of anti-virus software, anti-spyware software, and having to manage software installations and updates. And there isn't an application in the Microsoft software ecosystem that I need or rely on. On balance, not a good trade-off. I'd rather save the $150.
- Linux laptop. To be clear, Chromebook is Linux under the hood, just as Android is Linux. Its just -- as with Android -- a very locked down Linux system. I could spend the $400 for a low end Windows laptop and put Linux on it. That way I get the extra capabilities without the extra management overhead. But I could also install Linux on the Chromebook when and if I felt stifled by the Chromebook's limitations. Meanwhile I want to actually see what the limitations of Chromebook are.
- Android Tablet. I picked up a Nexus 7 over the summer, and it is the first tablet that really makes sense to me. Paying laptop prices for a mere tablet seems wrong, but at $200 the Nexus 7 offers real value. And I have experimented with what it would be like to use as my primary computing device. I've gotten used to the swipe-style keyboard input, and I'm almost as fast swiping as I am touch typing. I've also gotten a USB adapter that enables me to plug in a mouse and keyboard to the Nexus 7's micro USB port. As a media consumption device its excellent, and its still the first device I reach for in the morning to catch up on news, email, and social media. It supports at least one important media app that the Chromebook does not (Netflix), and has several key media apps that just work better than their Chromebook equivalents (Pandora, Nook, Kindle). But even with the swiping and optional keyboard, the Nexus 7 is just not a fully capable content creation device. And for me, content creation is important; I don't want to be making compromises in that area of my life.
- Other Chromebooks. The Samsung 550 has a somewhat bigger screen and somewhat better specs than the basic Samsung Chromebook model I settled on. But at $449 instead of $249, the 550 is just too expensive. At that price, a straight Linux laptop would make more sense. The Acer Chromebook for only $199 is tempting. It has the same size screen, and because it uses a conventional hard drive instead of an SSD, it has more internal storage capacity. But it is heavier, feels a bit cheap and clunky where the Samsung model feels sleek and elegant, and I prefer the quiet of the SSD. A close call, but for something that is to be my primary computing device, the extra $50 was worth it.
Hardware. Here are the basics of the specs:
- 11.6" (1366x768) display. My laptop that I'm replacing had a 13" (1024x768) display, so this feels in all respects like a step up.
- 0.7 inches, 2.42 lbs. I absolutely love how light and portable this device feels.
- 6.5 hours of battery life. This is long enough that I seldom use the Chromebook while it is plugged in. I move it with me around the house, or head out to a cafe without taking the power cord. When I'm not using it, I occasionally remember to plug it in. I also pretty much never power it down, so its always on.
- Dual Processor, 2 GB of RAM. Generally I've found the processing power to be just fine. Somewhere around 8 to 10 tabs open the Chromebook does start to struggle a bit, but typically this just means tabs that have been idle for a while have their data swapped out, and thus may take a few seconds to be ready when you tab back to them again.
- 16GB Solid State Drive. Honestly this is plenty of storage for my needs. My large file archives (photos, music, and videos) are on the servers on my home network, and also online (Picasa, Google Music, and Youtube). I use Google Drive for documents, but you can fit a lot of documents in just a few gigs of space.
- Wi-Fi (802.11n). The built in wifi has been stable and easy. And I have no need for 3G/4G. if I'm in a location without wifi I tether off of my T-Mobile hotspot device, so I'm really never lacking connectivity.
- VGA Camera. This is rear facing, and really only there for video chat purposes. I haven't tried video chat with it yet, but I do a lot with Google Hangouts so I'm glad this feature is present.
- 2 USB ports (one 3.0, one 2.0). I have a 64 GB thumb drive, and plugged into the USB 3.0 port that makes for a nice expansion in local storage space. I use the USB 2.0 port for a wireless mouse, which I prefer to the touchpad.
- SD Card Slot. This has two modest advantages over USB. First, our camera uses an SD card for storage, so this provides an easy way to get photos from the camera to somewhere else. Its easy, for example, to move photos to Picasa this way (or FaceBook or Flickr if that's your preference). What is not easy is moving files from a plugged in SD card to the FreeNAS file server on my home network; more on this shortly. Second, an SD card doesn't really protrude from the Chromebook, in contrast to a thumb drive plugged into USB. So you can insert an SD card and just leave it there as a semi-permanent extension of your storage capability.
- HDMI Port. I did get an HDMI cable so that I could connect the Chromebook to the TV, and while I have no immediate use for this it is a nice capability. I have a wireless keyboard and mouse combo that functions off of USB, so this setup enables me to sit on the couch with my mouse and keyboard and use the TV screen as my monitor. If Google Play ever gets a decent selection of movies or a better business model than pay per view for TV shows, this setup will actually be useful. And it may prove useful for Hangouts.
- Bluetooth. I haven't even turned on bluetooth yet. But depending on my experience with Hangouts, I may want to connect a bluetooth headset for better audio during Hangouts. Good to know that I at least have that option.
- Keyboard and Touchpad. I'm a reasonably fast touch typist (65 wpm), so a good keyboard is essential. This one is crisp, fast, and even fitting inside 11.4" does not feel at all cramped. I've never been a big fan of touchpads, but I used the touchpad on the Chromebook exclusively for the first week and was surprised at how functional it is. I still prefer a mouse, so that's generally what I use with the Chromebook.
- Speakers and Mic. The speakers are tinny. Might be adequate for Hangouts; we'll see. Haven't tested the mic yet.
Software. In some sense, the only software is the Chrome web browser, and the only "apps" are web pages. In actuality things are a bit more complicated than that, but its important to keep the overall perspective in mind: as a device, the Chromebook is really meant to be an appliance for the Chrome web browser. Here's the software picture in a little more detail:
- System software. System settings, management, and configuration are accessed by clicking on the right hand side of the task bar.
Most of these are self-explanatory. I did have to do a little digging to figure out how to find the Chromebook's MAC address; I use DHCP reservations on the home network.
- Native apps. This is a somewhat arbitrary distinction, but there are basically five apps that are designed to feel like native apps:
- Scratchpad. A simple note-taking app that caches notes locally when offline and can sync with Google Drive when online. It uses Google Docs format exclusively, with no option for plain text, which is actually a problem (more on that later). So far I prefer Catch for a more capable version of the same functionality.
- Chrome Remote Desktop. Desktop sharing between chrome-enabled computers. I haven't used this at all, and don't expect that I will.
- Camera. Very basic app for using the camera stand alone. Given that its a rear facing camera and not very high res, I don't imagine I'll be using this standalone often.
The real value of the camera is for video chat in Google Hangouts.
- Files. The Files app lets you browse and manage files between Google Drive and the Downloads folder on the Chromebook.
"Downloads" should really be called "Home" since it is the root folder to which you have access, but I'm sure Google's intent is to get people away from thinking of local storage as a typical hierarchy of folders (even though it is) and get people thinking of Google Drive as their default file hierarchy. You can do all the normal file operations in the Downloads folder: copy, delete, paste, rename, and make new folders.
- Google apps. The standard suite of Google apps are pre-loaded onto the Chromebook: Chrome (obviously), Gmail, Google Search, YouTube, Google Maps, Google Calendar, Google Drive along with separate links for Docs, Sheets, and Slides, Google+ with a separate link for Google+ Hangouts, and the Google Play options for Books, Music, and Movies. The value of these varies depending on how bought in you are to the Google ecosystem. For me, Chrome, Gmail, Search, Maps, Calendar, Drive, and Google+ are all really vital. To these I've also added Google Reader, Google News, and Picasa. The integration between all of these, and the integration across devices is really impressive. For example, on the Chromebook I can open a new tab and down at the bottom is a little drop down list that says "Other devices" showing other devices on which I'm logged into Chrome, what tabs I have open in Chrome on those devices, and giving me the option of opening any or all of those tabs on the Chromebook. For me, though, the Google Play options don't add much. I do my book reading on the Nexus 7, relying mainly on the Nook and Kindle apps. My music collection is primarily with Amazon. And I just haven't found anything of interest in Google Play Movies and TV Shows that I can't get more conveniently and less expensively elsewhere (Netflix and Amazon Prime in my case).
- Chrome Web Store apps. The Chrome Web Store is positioned as something like the Google Play store for Android. It presumes to be a place where you can find apps that run in, and is some cases are optimized for the Chrome browser. At present this is really stretching the notion of "app" beyond any useful meaning. Really, the Chrome Web Store at this point is just a curated list of websites. Some of these websites offer useful services (Pandora, Runkeeper, Catch, and Chess.com are daily parts of my online experience), but they are just websites. And honestly, most of these sites have more thoughtful integration with Android than they do with Chrome. Integration specific to Chromebook is nonexistent. Its hard to see why any of these should be called an "apps" in the Chromebook context. What's even worse is that some of the listings in the Chrome Web Store don't even work. I eagerly added Battle for Wesnoth, for example, since it is one of my all time favorite games. And was promptly greeted with a message that says "This app is not currently supported on this device". Why, then, is it in the store? To be fair, though, the Chrome Web Store does serve as an important reminder to the user that much of what we used to think of as desktop applications that had to be installed and managed locally now have reasonable competitors that run inside a browser. Word processing, spread sheets, photo editing, games, music and video players are all available in good quality and from multiple sources, not just Google. The Chromebook can only really exist as a usable appliance now that we have reached this critical mass with web apps.
The Developer Workstation: Or, the Curious Case of Source Code Files and Plain Text Files.
So far I haven't mentioned the feature of the Chromebook that is essential to me, one without which I would not have purchased a Chromebook: "ctr-alt-t". This key combination opens up a new browser tab with Crosh running inside it. Crosh is the Chrome OS Shell, the command line interface for the OS. Among Crosh's limited command set is ssh, which enables me to log in remotely and securely to other computers.
Ssh gives me access to the various servers on which I have accounts, and on which I do my programming. It turns my Chromebook into a developer workstation. Given Google's open source roots, and the importance of third party developers to Google's ecosystem, it makes sense that the Chromebook would include features that are a nod to developers' needs.
So its curious that ssh's functionality is limited on Crosh, and that these limitations interact badly with limitations on Google Drive. Here's an exercise for you: using your Chromebook, copy a file from Google Drive to a remote server to which you have only command line access.
You can't do it, can you?
That's because the scp component of the ssh tool is not included in Crosh's version of ssh. This puzzling omission prevents one from copying a file from Google Drive to the Chromebook's Downloads folder, and then using scp to copy it to a remote server. I can't think what the rationale is here; given that Chromebook only runs the ssh client, and not sshd, its hard to see what added security risk scp presents.
But in any case Google Drive turns out to be a very poor place to handle the sort of files that a developer works with: plain text source code. While Google Drive stores such files easily enough, Google Docs does not support the creation or editing of plain text. Certainly there's nothing like an IDE mode for Google Docs. In other words, the Google portfolio of apps actually pushes a developer away, making it easier to write, edit, and manage code on a non-Google platform.
This approach seems significantly out of step with the times. Sites like Cloud9 and Jolicloud offer mature browser-based IDEs that are well integrated with tools for deploying code. Sites like Python Fiddle and JSON Editor offer focused browser-based editing tools for developers. Google should be at the leading edge of this trend, not trailing it. The Chromebook could then be a bona fide developer workstation.
To this lengthy rant I do have to add a significant caveat. You can reboot the Chromebook into Developer Mode. Once running in Developer Mode, you can bring up a Crosh terminal and enter the command "shell". This will put you in a normal Bash shell environment with access to many common Linux commands.
Crucially, Developer Mode:
- Restores full ssh functionality, giving you access to scp.
- Includes vim, giving you a solid code editor native to Chromebook.
- Gives you unfettered access to the Chromebook file system. You can see, for example, that "Downloads" is actually "/home/chronos/user/Downloads".
What's disappointing about relying on Developer Mode to make your Chromebook more of a workstation is that this is not Google's aim with Developer Mode. Developer Mode was created for those who wanted to do software development for ChromeOS, not for those who wanted to do software development from ChromeOS. So while you can use Developer Mode to get the basics of what you want, you have to go against the grain of Google's intent to do so.
Conclusions. At $249, the Samsung Chromebook is an astonishingly capable device. I expect it to be my primary computing device for a long time to come. Lightweight and portable, with great battery life, and yet a crisp display and responsive keyboard. For our Google-centric household the available web apps really offer everything we need. Really, for anyone who has moved most of their digital life online, a Chromebook should meet 80-90% of their needs.
While the Chrome Web Store has few offerings that are really Chrome-specific, it still serves as a useful curated list of website that offer features for which installed desktop apps used to be needed. This list has a lot to offer now, and will only improve as the ecosystem around Chrome and Chromebooks improves.
For the developer / Linux / open source crowd I recommend rebooting into Developer Mode and simply leaving your Chromebook there. In the future Google may open up the default capabilities further, or enhance the developer experience for Google Drive such that the "intended" Chromebook configuration is sufficient. Until then, Developer Mode should get you from web appliance to basic developer workstation. That the Chromebook can function in this mode at all is a remarkable achievement.