Archive for the ‘Usability’ Category

Google Docs or MS Word?

Monday, April 14th, 2008

Recently our business has been experimenting with using Google Docs, and we’ve been having some limited success. I’ve noticed there are a lot of articles on the web about Google Docs, and they all seem to either praise the system as a Microsoft Office killer, or imply it’s just a kindergarten toy. So far it seems to be neither. Here’s why.

First - What is it?

If you’re recently emerged from a long sub-rock siesta, maybe you still haven’t heard of Google Docs, Google’s new online suite of office web applications. If you use other Google services such as GMail, then you already have an account, and in fact when you receive an MS Word or Excel document through GMail, you have the option of opening it as a Google Document.Google Docs Example

The idea?

  • Instead of firing up MS Office every time someone emails you a spreadsheet or Word document, you can open the document directly from GMail.
  • Where did you leave that document? At home? In the laptop? At work? Instead, just store them online and access them from anywhere.

The Good

The first time I used MS Office for collaborative work, I was co-writing a book (Slackware Linux 4 Unleashed). The revision process involved me sending a new chapter to the editors, receiving their revision comments, and sending back my revision. Sometimes we had several layers of revisions contained in the same document. It was a lot better than the old marker-on-the-printout method, but still slow.

Google Docs is a big step up from that. As with other online collaborative systems, several people can update a document simultaneously, in real time.

Recently at Swing Dynamite we used Google Docs to collaborate on making a schedule for an event, and sharing registration and financial details about the event. Here are some of the things I loved about doing it this way:

  • Chat. The Google Talk chat system is built-in, and as soon as you’ve invited someone to collaborate on a document, they’re available in a chat window when they’re editing the document. When we were working on our event schedule, this was very useful, and it saved a lot of time. Instead of getting together physically to meet, we saved time by doing all the revisions and discussions online. In total we took about 30 minutes instead of several hours.
  • See changes in real time. You can actually see the other person make changes as they happen. This is handy–you can easily respond in the chat window and discuss what they’re doing: “are you sure those numbers are correct?” This was useful for building our event schedule, and also for going over some of the numbers.
  • Permanently share. What I mean here is that, instead of having to email your colleagues every time you make a revision, they always have access to the most recent version.
  • Customizable notifications. In my case, I wanted to know when any update was made, so I had the documents set to notify me by email whenever there was a change. However, if I was only interested in looking over the final version, I could have turned notifications off. What’s nice is that unlike email collaboration, where typically you get emailed every time a collaborator deems appropriate, you choose how often you get pinged.
  • Surprise: Spreadsheet formulas work. That was my initial fear: that the formulas wouldn’t work, rendering spreadsheets basically useless. But in the simple spreadsheets we were collaborating on, the formulas and even formatting worked perfectly.
  • Soon: Even work offline. Google is also slowly rolling out an offline capability, enabling you to use Google Docs even without an internet connection.

The Bad

The system still has a lot of limitations, however. Here’s where we hit a wall:

  • Word processing is very limited. More to the point, usually when we use a word processor, we’re not just writing a strictly text document–if we were, we’d probably just send an email. Usually there’s a lot of formatting involved. When I tried collaborating on a staff handbook, I found that the version I uploaded ended up looking nothing like the original when I viewed it as a Google Doc. All the text was there–but none of the formatting. So if you’re collaborating on a Word document, I suggest using Docs in the early stages of collaboration, as you work on the text itself. Afterwards, import it back into Word and finish it off with style.
  • Spreadsheets: Keep it simple. I found Docs to be much more useful for spreadsheets. I didn’t encounter major issues with formatting or formulas, although I’d advise not trying to work with spreadsheets that contain complex formulas. The big difficulty, though, was in the limited functionality. For example, you can sort a column–but only the entire column. You can’t just sort an area without affecting the rest of the sheet. So to collaborate you’d want to make the spreadsheets fairly simple, or realize that you need to do more complex updates offline and then upload them. It’s a little annoying, but then it’s really just a return to the old email revision process.
  • Lossy Saving. That’s lossy as in loss of information: remember that if you upload a document that’s too complex for Google Docs, you lose all of the extra formatting. So you can collaborate and make changes, but even when you download the revised file, you’ll have to re-format it.

Is it useful?

The proof is in the pudding: I’ve started to use Google Docs more frequently after my recent experiments were a success. The key is that I wouldn’t work on a document for public release through this method… yet. However, as a method for sharing information between members of a project, Google Docs is a very useful tool, especially if your collaborators already use GMail. I’d especially recommend it for internal documents, not for collaborating on something your clients will see unless you switch to something more sophisticated in the final stages.

Where are they going with this?

Is it going to last? Between the enthusiasts crying “MS Office Killer” and the pundits claiming Google Docs is too limited… they’re both right.

The one thing we know about technology is that it improves. Today Google Docs is a useful collaborative tool, but in no way sophisticated enough to replace MS Office. In any case, there’s already a major alternative to MS Office, and completely free: OpenOffice. And yet MS Office still thrives. There’s no reason to think that Google Docs will kill MS Office tomorrow.

However, looking to the future, the entire reason OpenOffice exists as a completely free Office suite is that to a large degree, the Office application space is stagnant. Basically spreadsheets and word processing documents do what we need them to. Little vertical improvements aren’t really enough to charge money for. In fact, it really doesn’t make sense to me that anyone whole pay for MS Word anymore, when OpenOffice is available. So the lateral leap that Google has taken with Docs is essential. For now, Docs is just a limited (but very useful) online collaboration tool - not full-fledged Office suite. But as the technology improves, Docs may set the standard. Still, MS Office has a major asset if it can leverage the combination of its existing MS Office and .NET technologies combined with the Hotmail/Live system, behind their new Office Live Workspace edition.The question will be: who can do it the right way? So far Google’s been winning on that point.

In the meantime, my advice is to download OpenOffice and start using Google Docs for online collaboration.

Vista and Ubuntu: Somebody’s Grown Up

Thursday, July 26th, 2007

As I write this, I’m installing Linux.

The funny part about this is that I’m installing Linux on the same computer I’m working on. Using something called a “Live CD” I’m able to actually run Linux, complete with a web browser, while I install the system. This is insanely cool.

I’ve always had a love/hate relationship with installing operating systems. My geeky side enjoys the excitement of the upgrade, of trying something new. But the business side of me knows that upgrading or installing a new operating system always means a few weeks of lost productivity. Sure, months later everything might work better, but that first day of installing the operating system and new drivers, re-installing all the old programs, migrating data, re-configuring settings… it’s a lot of wasted time.

Having just installed Vista on a new computer, I had mixed feelings. The install was fairly easy, although I had to install some new drivers, and with Vista’s driver reputation, who knows if they work properly. The look and changes to the operating system seem decent, little things like the way that you navigate through folders, or additions like more sophisticated CD burning programs.

However I also found Vista to be surprisingly slow, and I encountered some small bugs that led to some bigger problems. This morning while doing some updates, the system crashed and wouldn’t start up again without recovery.

(Linux has finished installing now. No joke.)

Ubuntu-Logo

I figured that would be a good reason to try installing Linux for dual-booting. Already I’d tried out a new brand (ie. “distribution”) of Linux called Ubuntu. The cool thing is that you can use a Live CD to try out the system without even installing it. I found that even running from a CD, Ubuntu was faster than Vista.

I started using Linux back in ‘94 or so, and since then I’ve used both Windows and Linux on a regular basis. The big question I’ve been asking myself for years is, which one makes the better business case? And since the introduction of OS X, MacOS has been looking pretty good, too.

What we’re seeing is a huge convergence. It used to be that MacOS was a beautiful system for artists with a rickety back-end, Linux was the technologically superior system that only geeks could understand, and Windows was somewhere between the two, making it the best option for business.

But now it’s different. MacOS now runs a BSD system under the hood, putting it technologically on a par with Linux, and Windows has both improved its usability and shifted to using its server-oriented technology (eg. NT-based OSes) even for home users. Finally, we’ve seen many groups try to create Linux brands for the masses. And it seems that Ubuntu is succeeding mightily.

Currently, I’m still using Windows because of a few minor things: needing to verify web sites in Internet Explorer, which is possible but not easy under Linux; the slightly greater ease of use with movies and multimedia; and the comfort of knowing that all of those popular Windows programs will run.

Most of that is changing. Multimedia seems to work just fine with Ubuntu, and the system is at least as easy to use as Windows. Updating the system is extremely easy, and there are tons of programs included right off the bat. In fact, as for the programs, my preferences are mostly with the open source software in any case. It’s just a sensible business choice: the programs do everything I need them to do, are easy and quick to download, and cost nothing.

Of course, we’ll see what I think in two months, but so far Ubuntu may be the first time I’ve felt Linux was a definitively good choice for business, especially for entrepreneurs starting out, who don’t have a lot of investment in other software. People have been saying this for years, from the first appearance of Red Hat, but now Linux has really grown up.

Now it’s time to boot into my new Ubuntu system.

Be a Tool

Thursday, April 12th, 2007

For ages developers and business people have been trying to get to the heart of the usability question. What things, or ideally, what one underlying factor determines the greatness of an interface… or better yet, a tool?One of the questions I ask myself is, what makes Google, Gmail, the Mac, Basecamp AND bash and vi all great? Could there possibly be something that all great interfaces have in common? Better yet, why stop there–what makes iPods and staplers and cars so cool? Why do people love Moleskine notebooks?

1 - The Real World

One of the first parts of the interface question lies in the physical world. The mind more easily grasps how tools and appliances work than how complicated mechanisms work. We definitely prefer going to the toaster and then to the fridge, over having one big clumpy appliance that toasts, freezes and blends.

The only reason that integrated solutions are appreciated is that they all work together according to one paradigm. But when you can eg. cut and paste or drag and drop across unrelated applications, then integration becomes of no use. Even if MS Office thinks that spreadsheets and sales presentations are both “documents,” we think more in terms of context. Just as granny knew whether to use a typewriter or a calculator, it feels natural to use different tools for different things.

Even though we have “MS Office,” people clearly refer to using “Word” or “Excel” depending on the context. Unlike MS Works, which was a bunch of bad apps that could talk to each other at a time when no others could, MS Office understands that integration is all about several tools or appliances that share a useful paradigm (eg. cut and paste).

2 - Smart integration

We see it to some degree in Gmail. Gmail doesn’t really require you to use anything else. It happens to have integration with Google Calendar, and Google Documents, but it’s all optional. On the Gmail side, it doesn’t piss anyone off because Google Documents is only one of the options–you can download documents or even see them in HTML. So it’s not quite an MS Works all-in-one, it’s more like MS Office. Independent apps that just happen to work well together.

3 - The Brain and the Domain

Most of the time, a great tool comes as close as possible to integrating into the way we think about the problem domain. Spreadsheets are great because it all starts with how you’d do it on paper. You write out a bunch of numbers. Then you want to add them at the bottom. Or on the side? You put labels… somewhere. It really just enhances the way you’d naturally do things. Just general-purpose enough to act like pen-and-paper on crack. It’s just LIKE writing down your budget on a napkin, except that with the napkin, as soon as you try changing a value or two, you have to recalculate yourself. So the spreadsheet JUST does what you’d do yourself, only better.

Similarly, Basecamp just acts like glorified pencil-and-paper. And it’s really reflected in the names 37 Signals use for their other products: Basecamp, Campfire. Why use Campfire? You’re basically trying to emulate the water cooler or the conference room. If you take Campfire and add too many features, it’s not a camp fire anymore. It’s a can-opening, waffle-making fridge that also offers online chat. What’s wrong with that?

An improved tool is one that does its own job better, not just more jobs badly.

So this says to me that the optimal interface or tool is:
“The same as you would do by hand, but BETTER.”

4 - Complicated Really Means Mental Reflexes

Poor interfaces often occur when we try to go beyond that principle. When we try to get too complicated.

I mean, we already know this, but how exactly? It reminds me of something I started to understand through sports and martial arts. That it wasn’t about reflexes or how fast you move. That one of the main factors in success was training your mental reflexes - by which I meant your reflex to make certain decisions. It’s the difference between having the reflex of turning off or on a light when you enter or leave a room, and having the reflex of thinking, “do I need this light on?” In Judo, it would be the split-second decision, do I block this throw or go with it and try to turn it around? THAT is what clearly differentiates the master from the amateur.

Because it’s hard.

So that’s why poor tools cause you to have to make a lot of split-second decisions. Right, do I click on X or Y to do Z? Or worse, having to really think through how something is going to work.

Tasks and tools feel complicated when they require mental reflexes.

5 - Complexity Can Be Simple

This doesn’t mean that interfaces can’t do complex things. But the key is that they have to reflect the way people think about the problem domain.

What’s great about vi is that it does just that. Although this infamous text editor is, well, infamously hard to learn, those who succeed in learning it well, love it. What’s so great about this old hacker tool?

When we edit text, we think in terms of “delete those three words” or “replace the X in ‘thxre’ with an E” or “delete everything up to the word ‘hand’.” So even though vi is a real “challenge” to start using, it’s only because of the memorization. Once you get it, you just feel like you can FLY. Why? Because all of a sudden you’re freed from the old word processor thing of “select a group of letters and then press delete.” You can just do what you MEAN. That’s obviously why MS made its mouse selection snap to words by default: because they knew that this is usually what we want to do. But it’s annoying when it isn’t what you want.

Comparatively, vi does *exactly* what you want, almost as you think it.

6 - Lego Blocks Are Easy and Fun

Also, you take the elements humans already understand and they can use them to build complex tasks, just like a child playing with Lego. In a paint/drawing program like the GIMP or Inkscape, you have basic elements–brushes, type, boxes, circles, etc. But by keeping the elements simple and fine-grained, we can do all sorts of things with them. Ditto for Excel.

Another common thing is languages. The vi editor works based on a very simple atomic language. Want to move forward a word? “w”. End of line? “$”. Delete a word? “dw.” Delete to the end of the line? “d$”. Language is built into the human brain, so it’s part of how we think. Knowing what “$” means isn’t intuitive, but once you get the idea, the interface directly follows your thought patterns.

Google does this well with Gmail. It’s a little harder because it’s web-based, but they have “gi” to go back to the inbox, for example. The “g” is a verb meaning “go to” and of course “i” represents the inbox. Simple language.

Conclusion

  1. Be a tool. Mostly this means sticking to a set of functions that naturally go well together, and focusing on doing one function well rather than adding new functionality.
  2. Work the way we think. How do people think about the problem domain? What is the simplest, pen-and-paper, old-school approach? How can you work the same way, only better?