Showing posts with label Google+. Show all posts
Showing posts with label Google+. Show all posts

Sunday, September 1, 2013

Living with the Acer C710 Chromebook (Review)

The end of the financial year saw me with a few spare dollars to put back into the business for tax reasons. Now, I've moved a lot of my business technology over to Google (and GoDaddy) and have grown to appreciate the convenience and functionality of my Nexus tablet and phone, so the obvious next step was to investigate a Chromebook. Fortunately, JB Hi-Fi had a special deal on the Acer C710 Chromebook that weekend, so I hopped in the car and an hour later was unboxing the new beast in order to explore further.



Hardware

The left side of the C710, showing (L-R) Ethernet, VGA, HDMI and USB ports.
I had chosen the C710, rather than the more expensive Samsung Chromebooks, for one simple reason - I do a lot of presentations, and need VGA output to drive an external projector. The Samsung devices offer HDMI output only, while the Acer has both VGA and HDMI. However, despite the low price, the Acer machine is quite nicely built. It has the grey finish made popular by recent Macbooks, although it is obviously made of plastic. The 11.6" screen opens up with an even force on its hinges, and is coated with a glossy, reflective finish. The right side of the machine has a slot for a locking cable, inlet for the external power adapter (which is just a largish wall-wart), two USB ports and the headphone jack. The left side has wired Ethernet jack (another plus for the Acer compared to the Samsungs), VGA, HDMI and a third USB port, while the front edge conceals a dual SD/MMC memory card slot.

At 1366 x 768, the screen is a little smaller than I'm used to (my main laptop is a Thinkpad T500, since it does duty as a backup development workstation), but it is sharp, the colour saturation is good and it is quite bright. The keyboard is a weak point, though - the keys feel slightly spongy, with only short travel; while it's quite usable, it's not in the same league as the Thinkpad (but then, it's darn near one-tenth of the price). The trackpad is quite usable, with various shortcut gestures (e.g. sliding two fingers to scroll a window), although I still prefer the Thinkpad's Trackpoint - this is more a matter of taste, though.

Finally, my model came with a 320 GB hard drive. That really is ridiculously large for a machine that's intended for use with Google's cloud services, and I note that the current model now ships with a 16 GB solid-state drive. In fact, the day I bought my Chromebook I also ordered up an additional 4 GB of RAM (which upped it to 6 GB in total) and a 120 GB Samsung SSD. When I opened up the Acer to swap the drive, I noticed that the construction was quite solid, with all the parts securely mounted in a very confined space, yet easy to work on. The only moving parts left in my machine are the CPU fan and the power button, so I'm expecting it to be quite reliable.

The Software

While Google already has a platform for its cloud and email services in the form of the Android OS and the related tablets and phones, the Chrome browser represents another platform which has made strong inroads, becoming the dominant browser in the marketplace. Google's enterprise business (as opposed to its ad-sales and analytics business) is based on the SaaS (Software as a Service) and PaaS (Platform as a Service) cloud service models (see NIST SP800-145, "The NIST Definition of Cloud Computing").

For most individual users, the SaaS component of interest is email, delivered as a cloud-based application presented in a browser. (In fact, from teaching undergraduates how to encrypt email, I've learned that a whole generation has grown up not knowing that there's such a thing as an email client!). However, Google has extended Gmail into related services such as contact management and calendar management.

This has led Google to enterprise customers who require additional functionality - hence Google Apps, which additionally provides word processing, spreadsheet and presentation graphics functionality. The technology that underpins these is AJAX (Asynchronous Javascript And XML), which allows Javascript code, running in the context of the browser, to dynamically communicate with a web server while updating the onscreen window via the DOM (Document Object Model). This allows what are sometimes called "single-page web apps", i.e. web applications which present as a single, continuously-updated page, as opposed to older web applications which required an entire page refresh when a form button was pressed. Remember what a breakthrough Google Earth was? AJAX.

What has really made this possible is the maturation of JavaScript as a programming language, along with the development of libraries like JQuery. I admit, I used to be somewhat dismissive of JavaScript, relegating it to such tasks as mouseover graphics (pop-ups, etc.) and basic form validation (although the server always has to perform its own input sanitization for security reasons).

But the fact is that, whether by accident or by good design is not clear, JavaScript is actually a rather sophisticated programming language with some advanced features, such as closures and the ability to treat functions as first-class objects. These functional programming paradigms are then capitalized on by libraries like JQuery to achieve a high level of productivity for the programmer and a high level of functionality for the user.

Because they are pushing JavaScript and the DOM pretty hard, it was obvious that Google would try to minimise cross-platform problems by developing their own browser. The result is Chrome, a browser based on the Blink rendering engine. And one important component of Chrome is V8, a JavaScript engine developed by Google in Denmark. V8 is actually an incremental compiler - it compiles JavaScript down to machine code (for 32-bit or 64-bit Intel, ARM and other architectures) then performs sophisticated optimizations at run-time - and therefore achieves high performance. And although it was developed for the Chrome browser, V8 has also found its way onto the server, in the form of Node.js, making JavaScript an option for both client- and server-side development.

The result is that JavaScript, today, isn't your mother's JavaScript. People have made it do some bizarre things, down to implementing a virtual machine that can boot and run Linux - in the context of the browser!

As a consequence, Google has been able to implement quite a high level of functionality in the SaaS applications. As an initial test, I exported the introductory slide set for my "CISSP Fast Track Review" class in Powerpoint format (I usually maintain them in Libre Office, for historical reasons) and then imported them into Google Slides. While there were some initial alignment and scaling issues, I was quickly able to clean them up and the result has been quite effective.

Given that these applications run in the context of the browser, there is no longer a need for many other native applications and utilities. Without them, a lot of other OS and run-time library services can be dropped as well. All that is really required is a stripped-down kernel that can boot a restricted graphical desktop on which the browser is the major application. And that's ChromeOS. Install it in flash memory on an otherwise diskless machine, and you have a Chromebook. Although most are laptop devices, Google also sells (in some markets) a desktop (or -side) device called a ChromeBox, which works with an external keyboard, mouse and monitor.

The Chromebook boots near-instantaneously, since the operating system is minimal. On first startup, the purchaser is offered the opportunity to register a new Google account or to sign in with an existing one. Since I already have three corporate/education Google Apps accounts, I signed in with one of them, and immediately the device displayed my photo (probably from my Google+ profile) and the browser bookmarks were immediately populated with my desktop Chrome bookmarks.

The operating system binaries are signed and checked on startup via a public key stored in the TPM (Trusted Platform Module), although it is possible to install other operating systems such as variants of Ubuntu and other Linux distributions. However, the result is an unmodified OS kernel on every boot; soon after initial setup the latest OS will be downloaded and a reboot is all that's required for installation - it happened last night and took less than 10 seconds.

Applications

By default, the Chromebook has icons arrayed in a launcher at the bottom of the screen. Where Windows would have a "Start" button, the Chromebook has a "Chrome" icon, which just launches the browser. There's also an icon for GMail, and a 3x3 matrix which pops up a window with all other application icons (rather like the equivalent on Android). However, you can "pin" other application icons to the launcher, and so mine now has icons for Google Drive, Plus, Keep, Slides, Docs, Sheets, etc. Each icon can be configured to open the application as a standard tab (default), as a "pinned" tab, as a window or maximised.

I don't propose to review the major applications here - they're software which is, to some extent, external to the hardware - especially since, if you want to explore their functionality, all you need is a free Google account and a browser; they work fine in both Firefox and Chrome. What you will find is that they do not provide all the functionality of a high-end suite like Microsoft Office. However, they work adequately well for personal, educational and small business use, and are continually being upgraded and improved. The Docs word processor, for example, is considerably more powerful than a cloud-based note database like Evernote, and not far off the capabilities of Open Office or Libre Office.

The applications also have their own unique capabilities - for example, it's possible for multiple users to edit documents and spreadsheets simultaneously, with coloured highlighting (and a key at top right of the window) indicating the cells or locations where each user is currently working. This makes collaboration easy - a popular feature for students working on group assignments and projects. However, I've also used it myself, to work on two different areas of the same document simultaneously.

Apart from the usual office productivity applications, you also get a scratchpad app of dubious value - the Google Keep application does that kind of thing much better - Google Forms for data collection, Google Drawings, Blogger, an SSH client, Google Play books, music and movies, a calculator, camera and web-conferencing apps (Google Hangouts). There's also a "Files" application, which allows management of both local and cloud-stored files.

Google Keep started life as a very basic notebook program, but has been revised to add functionality such as checklist formatting and reminders, so that it now fills a niche for those simple to-do list and shopping list requirements that do not justify the use of a full word processor. And this is one of the nice features of Chrome - the applications are continually evolving and because they load from the cloud on startup, you always get the latest version. There's also no obvious way for a virus to infect the programs - another subtle benefit. And more apps are on the way - there are hints (search in chrome://flags) that Google Now cards are coming to Chrome in the future.

Additional apps - as well as extensions and themes - can be obtained from the Chrome Web Store (https://chrome.google.com/webstore/category/apps). These are mostly apps that run  within the browser itself.

By default, all work files are stored in Google Drive, and the Chromebook comes with 100 GB of cloud storage, free of charge for two years. As a Google Apps customer, I already had 30 GB of storage, shared transparently between Gmail/Calendar/Contacts and Drive, and I've used less than 1% if it so far, even with a number of quite large documents in it.

The Google Infrastructure and Ecosystem

As mentioned above, Google also sells PaaS cloud services. Developers can write applications in their choice of JavaScript (Node.js), Go, PHP or Java, and deploy them in the Google cloud. The result is a large collection of applications that are available to Google Apps customers - the enterprise market for Google. Additionally, Google Apps customers have access to a device management console which they can use to enforce corporate policies across Chrome devices.

Wi-Fi Dependence?

Because the applications are written in JavaScript, they load at run-time from Google's servers. At first glance, this suggests that the Chromebook is of no use without an Internet connection, but surprisingly, that isn't the case. The device comes with GMail for offline use as standard, and this can be used to read and reply to emails, schedule appointments, etc. In addition, Google Drive - the storage application for Google Apps - has an option for "Offline" which can be used to cache folders and files for stand-alone use - rather like Windows' "offline files" and "Sync Center" feature.

My Hardware

Feeling that 360 GB was far too much local storage for this type of machine and that rotating media wasn't the most reliable for a lightweight, highly portable computer, I pulled the drive out of mine and replaced it with a 120 GB Samsung SSD (solid state drive). The result is even faster to boot and shut down.

I also upgraded the RAM from 2 GB to 6 GB - it's easy to slip in an extra DIMM, following the instructions at http://normcf.net/~john/chromebook/Acer/acerChromebookUpgrade.html. However, examining the memory usage in the system configuration report (chrome://system) it appears that it rarely gets much above the 2 GB usage level anyway.

Misconceptions

It's not a netbook. Netbooks were typically underpowered, especially those machines which ran a stripped down Windows XP and were built down to a price in order to fund the MS Windows software licence. In addition, many netbooks offered no cloud storage, but were totally reliant on local SSD storage only, and ran minimalistic sets of applications.

The trick is to realize that JavaScript today has moved to fulfill the promise of portable applications, originally made by Java. Whether by accident or design, it's a very powerful programming language with functional programming idoms such as closures, functions as first-class objects, etc. When coupled with AJAX capabilities and libraries like JQuery, running on a fast, low-powered processor, it can deliver extremely sophisticated applications that happen to run in a browser.

And then there's Google's PaaS cloud - you also have the ability to script the server side with JavaScript, or run entire Java, Python, PHP, Go and Node.js applications - and that, in turn, has created the applications that we see in the Chrome Web Store and the Google Apps Store.

In essence, then, the Chromebook is a low-maintenance thin client backed up by Google's cloud services, and not a simple cheap laptop.

Usability

It's nice to have a lightweight machine for working outdoors.
I am already well-catered-for, in terms of computing resources - my desktop machine is an i7 quad-core box with 32 GB of RAM and 5 TB of disk, while my regular laptop is a large-screen Thinkpad T500. I use these large machines because I develop and run large simulations using Eclipse and Java. But I find that I do some of my best creative thinking away from my desk - over a coffee or in a quiet library, or even, as shown above, sitting on the deck wishing the pool was just a little warmer (it's only the first day of Spring as I write this).

While I have a Nexus 7 tablet, and am experimenting with a Bluetooth keyboard for it, I find that the Chromebook occupies a rather nice niche - it's much lighter than the Thinkpad, but much more useful for serious work than the Nexus 7. In fact, I sometimes find myself using the two together - the Nexus 7 to display reference documents and the Chromebook to write. It's also light enough to carry as a backup laptop - the week before last I took it on a business trip and worked in the evenings, using the Chromebook by itself at a restaurant table, and the three-screen combination of the Thinkpad, Chromebook and Nexus 7 at the desk in my hotel room.

In addition, like many others, I've moved a lot of my work from the local desktop to separate compute engines, either on dedicated servers or in the cloud. For example, as I write this, I have another tab open to perform complex calculations (calculating the transition probability matrices of Markov Decision Processes, if you must know) using Sage on one of my servers. The resultant output renders just fine on the Chromebook and because the number-crunching is done on the server, there's no difference in performance compared to using my desktop machine.

Summary

My conclusions are that the  C710 Chromebook represents a highly attractive platform for several types of user:
  • Business customers using Google Apps
  • Education customers using Google Apps
  • Those who need a spare computer
  • Those who want a lightweight, simple (nearly no management) computer
  • Those concerned about loss or damage, with consequent loss of their work
The latter is highly appealing to many users who are losing patience with the issues of patching, securing, backing up and generally maintaining more conventional (Windows, Mac and even Linux) computers. Essentially, the Chromebook represents the most successful implementation yet of software as a service - all the stressful maintenance is taken care of by the provider, and the user can simply concentrate on getting their work done.

At $US199, I'd say the C710 Chromebook is tremendous value, and the potential for ongoing savings make it better and better.

Sunday, October 7, 2012

Do Androids Dream?

Good question. But certainly, not of electric sheep.

I've now had a couple of months with the Google Nexus 7 tablet, and a month or so with the Galaxy Nexus phone, which I bought to match it (you don't want to know how dumb my previous 'smart' phone was). It's been an interesting experience.

While the Nexus 7 hardware represents excellent bang for the buck, the experience hasn't been about the hardware at all. Nor, strangely enough, has it been primarily about the Android Jelly Bean software. It's been about what lies behind it: Google.

In recent years, I've relied heavily on the aging infrastructure of my home office: Lotus Domino servers for email, calendar, web server and various home-grown applications, such as my bibliographic database and PhD work journal, augmented by CentOS boxes running a lot of standard open-source apps for mail, etc. The whole thing was fun to set up, useful for learning and an utter pain in the rear to keep running. Even more nerve-wracking was the fact that my wife's business depended upon it, and any system failures would have devastating consequences.

So I set about a long-term plan to get off it. The first step was to move the email and calendar off Notes/Domino and over to Google Docs. I did this first with my wife's business, and it worked so well that I soon moved my email over. Rather than Notes on the desktop, we switched to the combination of Mozilla Thunderbird with the Lightning calendar plugin with Google provider, and the gContactSync plugin for contact synchronization. The migration proved fortuitous, for a couple of months later a hard drive in our main Domino server died - but by then, it was only running my web site (which I am still working on migrating - another story).

The bibliographic database was replaced with Zotero (http://www.zotero.org) and the work journal shifted to Evernote (http://evernote.com/).

So, it was with this migration achieved that I decided to explore the Nexus 7 (which actually arrived as a birthday gift from my better half). Although I had initially planned to use it as a reading device like the Kindle, as well as maybe to play music, etc. in practice it turns out to be a portable Google box. Initial setup requires a Google account (Gmail or Google apps) but the Nexus happily deals with my three accounts (two businesses, plus university email/calendar). All the calendars are merged but can be turned on and off individually). I quickly installed Evernote and found it to be the perfect complement to my desktop usage (which replicates between my home and work desktops and notebook, the way that Lotus Notes used to).

The lack of wireless broadband (3G/4G/LTE) soon led me to consider upgrading my phone. Kogan (http://www.kogan.com) had the Galaxy Nexus at only $379 - perhaps because the Nexus is under-rated by comparison with the newer Galaxy S III - and since it is the reference platform for Android phones, guaranteed to have the newest version of Android available first, and my existing Telstra contract was nowhere near running out, I decided this was the way to go. The phone came with Ice Cream Sandwich installed, and I left it like that for a few days, but soon unlocked the boot loader and flashed it with the Google factory image of Jelly Bean, so that it matched the Nexus 7. The decision to do this was driven by one key feature of Jelly Bean which makes it a killer: Google Now.

It's hard to describe the impact Google Now has on your time management and phone usage. Here's a little example, which illustrates how it integrates with other Google services:

A company I do some work for wanted me to sit in on a meeting with a prospective client in North Sydney. So, I made sure that my contact there was in my Google Contacts, and scheduled the meeting. Because we would need to go over a few things before the meeting with the client, we'd need to get together somewhere nearby - but where? Google Local provided a list of nearby coffee shops, so I schedule a pre-meeting meeting at one of them. Parking could be a problem, but Google Local sorted that out, too.

I live around 25 minutes drive from North Sydney, and sure enough, about half an hour before the pre-meeting, the Nexus 7 chimed that it was time to leave. I've previously noticed from experiments that Google Maps and Navigate have good information on traffic density, and will pick the best route - it can offer me at least two different routes to work, for example. So I clipped the Galaxy Nexus into a windscreen mount and let it navigate me to the car park, and once out on the street, I used it to find the coffee shop. Shortly before the client meeting, it alerted us in time to walk there, and I used Evernote on the N7 to take conference notes - which I then emailed to my client.

It's the ability of Google Now to present information before you need it that is so radical. There's an article in MIT Technology Review that stresses this point (http://www.technologyreview.com/news/429345/googles-answer-to-siri-thinks-ahead/) as well as an interesting article on Google's Knowedge Graph (http://www.technologyreview.com/news/429442/google-puts-its-virtual-brain-technology-to-work/).

The Knowledge Graph lies behind some of Jelly Bean's other neat features. For example, while using it for navigation, I'd noticed that the voice prompts include information read from road signs - this is obtained from the Google Street View camera cars and integrated into Google's maps databases.

The other really neat Jelly Bean feature that depends upon the Knowledge Graph is voice search:


I haven't done a direct comparison with Siri on the iPhone, but I suspect she wouldn't come out of it too well.

Apart from these killer features, there are lots of other things to like about the Galaxy Nexus / Nexus 7 combination: transparent synchronization of all contacts, email, etc. It's not without problems - for example, each of my Google accounts contains my wife as a contact, with various different email addresses (because we're in each others' businesses and they're both now Google Apps domains), but Google also wants Google+ to become a central feature of the Google world - so my better half has wound up with multiple entries in my consolidated "People" app, and Gmail invariably picks the wrong email address when I start to type her name. However, it's rather cool to see someone's face, picked up from Google+, when they ring you.

I'm learning to love Google+, and I'm coming to agree with those who say that it's been a sleeper that is now rapidly growing to rival Facebook. I have very different circles on G+ compared to groups on FB, so there's no rivalry at this point. However, there's no doubt that the tight integration of Google+ with the other parts of the Google ecosystem and especially with the Android apps makes it far more functional than Facebook. For example, scheduling an event through Google+ puts it straight into the calendar, and on arrival at the event, it prompts to put the phone's camera into "party mode" in which every photo is automatically uploaded to the Google+ event page for sharing with the invitees.

Similarly, there's tight integration with Blogger/Blogspot, Youtube, etc. - all of which are supported on the Android devices. This does lead to one of the other sources of pain: getting your Gmail accounts sorted out. Both my wife and I had ordinary Gmail accounts, started before we'd migrated our business email to Google Apps. I'd started this blog using my old Gmail account, and she'd started her blog using her old Gmail account. Now, while I was easily able to add my new Gmail account to this blog and then take over administration - I want to do everything while signed in as me, myself and I, just one account - for some reason she ran into terrible trouble doing the same process. At one point, we thought she'd completely lost access to her blog - months of blog entries effectively lost - and we had to create yet another Gmail account for her as part of the transition. It was a tricky, nerve-wracking process, which leads to another major recomemendation:

Before you buy a Nexus device - phone or tablet - make sure that you get your Google accounts consolidated, rationalized and squared away, with everything running smoothly with one primary account you intend to use. Multiple accounts are certainly possible and useful - as I say, I have two business accounts and one university account - but you really want to have as much as possible consolidated to one primary account.

I do use the Nexus 7 for other things: I have the Kindle app for various books, especially textbooks, and I use Free42 and go41c as replacements for my trusty - but aging - Hewlett-Packard programmable calculators. I dabble on Twitter using Slices, and I shop on eBay using the official app.  I even use the Galaxy Nexus to talk to people, occasionally, but I have probably taken more photos than made calls, to date.

However, for most applications, it seems that most of my data - certainly, most of the data that organizes my life - has moved into the cloud. I access it via a conventional computer, or I access it via the tablet, or I access it via the phone - but in most cases, it seems that Google has it, and places it before me before I need it.

So, to answer the question: No, I don't think Androids dream - in fact, I'm not sure Androids even sleep.