Thursday, July 12, 2012

Failing Gracefully

Fred Wilson's Friendly Failing blog post reminded me of one of my favorite phrases: fail gracefully. I think I first heard this term when I worked at Yahoo. Engineers and product managers would talk about what would happen when users experienced an error on a web site and they always wanted to be sure that the site would "fail gracefully."

Failing gracefully in this context means that a site shouldn't just deliver a random error message, but should explain to the user, in plain language, what had happened and what their next steps should be. These days, you see this done frequently with good 404 pages and other types of error pages on sites.

Ideally, an application will fail so gracefully that a user won't even realize that a failure has taken place. At Palo Alto Software, our site search uses a custom Nutch and Solr configuration to regularly crawl and index our sites. But, as with all things, this solution sometimes fails. In that case, the system automatically fails over to a basic Google custom search. The Google solution is still quite serviceable and works well. Most importantly, end users won't even know that our preferred solution failed and is off-line. For me, this is the best way to fail gracefully and we strive to achieve this kind of seamless failure in all of our development.

The other context for failing gracefully is when you actually lose. You lose a contract, a game, whatever. You failed to win. My high school rowing coach drilled this into me and my teammates: that no matter the situation, if you lose you take the loss gracefully, always respect the winner, and learn from the situation.  Not that we lost often (my coach was excellent), but if we did, we needed to learn as much as we could from the situation so that we could compete better the next time. When we failed, we failed gracefully and were never the sore losers who blamed a loss on others.

Tuesday, July 10, 2012

Microsoft Surface: This was my computer...8 year ago

When Microsoft introduced their Surface tablets a few weeks ago, I had a deja-vu moment. Hadn't I already seen this computer? Hadn't I used it as my primary computer for nearly two years around 2004/2005?

What I was remembering was my trusty Motion Computing tablet running Windows XP Tablet Edition. Granted, the Motion tablet was nowhere near as slick as what the Surface looks to be, but it honestly doesn't seem like Microsoft has evolved too much in the meantime, either.

I used my Motion tablet as my primary computer. Because it ran full Windows XP, I could run any applications that I needed to. I could grab the tablet and take it to meetings and take notes using One Note (which had excellent handwriting recognition, by the way). When I got back to my desk, I would drop the tablet into it's docking station and it would instantly connect to an external monitor, keyboard, mouse, etc. Although the image to the left isn't my personal setup, it did look something like that.

Although I am now a truly converted Mac guy, this setup was really very good. No hassles syncing devices. No reduced set of applications on the tablet. No missing files. I always had my full computer with me and it could be easily converted from tablet, to desktop, to laptop (with a keyboard case not un-like the Logitech Keyboard Case for iPad).

So, while the Surface looks like a pretty cool device, it doesn't feel like Microsoft has innovated very much in the past 8+ years. We're still looking at a laptop replacement that runs a complete version of Windows (with the Pro version of Surface). Granted, Windows 8 is very different than XP, but has Microsoft actually evolved all that much?

But, regardless of whether Microsoft has evolved or not evolved, the concept of a "complete" OS on a tablet is a good one. For those in the enterprise, all your applications will still work, and you'll be able to work on them in some form from both a tablet interface or from a "normal" laptop-style interface. The situation I described above was a great working environment. And, while I do work mostly in the cloud these days, I would love to be able to dock my iPad to a large monitor and keyboard/mouse and have a solid desktop computing environment that could easily convert to tablet format at a moment's notice.

Some are raising the question of whether Microsoft will have an "app" ecosystem to rival the Apple app store. I believe this is almost a non issue in the short term. There is tons of Windows software still out there and there is plenty of custom software in the enterprise that will ONLY run on Windows computers or in Internet Explorer. Hard to believe, but true.

Most Windows developers will only have to do a little work to make their software work for Windows 8. Many won't have to do any work at all. Microsoft has an app ecosystem that they've been developing for over 2 decades and it's not quite dead...yet.

And, by the way, isn't it ironic that we are now talking about the availability of software for a Microsoft product? That the major problem with choosing a Mac for over a decade... not enough software. Now, it looks like the shoe is on the other foot. Funny how the world changes.

I'm looking forward to see how the Surface does in the market. I think it has a decent chance at stealing market share from traditional Windows laptop makers. Will it steal from the iPad? I don't think so. Surface will succeed in the enterprise, though.

Thursday, July 05, 2012

Writing a one-page business plan

If you're like most people, writing a business plan is something that frequently gets pushed to the bottom of your to-do list. After all, who wants to write a 30-60 page paper?

Well, gone are the days of the long, draw-out business plan that does nothing more than site in a drawer. My latest blog post over on the Up & Running Blog details how to get a business plan done in one page.

Check it out and let me know what you think.