Tuesday, January 16, 2007

The desktop is dead; long live the desktop

Just before Christmas my publisher let me know that they have opted not to publish my Desktop Linux with Ubuntu manuscript. This is sad, as the manuscript is about 2/3 complete and the reviewer comments so far have been extremely positive. The publisher's problem is not with the manuscript, though; it's with the market. They no longer believe that Ubuntu will be the breakthrough distribution that creates a real desktop Linux market.

As I reflect on their decision, I don't think the problem is with Ubuntu either. As a desktop operating system, Ubuntu is a strong contender. I use it for all of my desktop work, and other than the occaisional heavily templated PowerPoint presentation or particularly macro'd Excel spreadsheet, I have no problems interoperating with people generating documents on Windows and Microsoft Office. I certainly find Ubuntu's own desktop applications to be of high quality, and friends and family on Windows are envious of my ignorance of the whole world of virii, spybots, adware, etc.

In general, Ubuntu could make a solid desktop OS in any business environment where the "knowledge worker" in question didn't have to run a specific "business logic application" that was operating system-dependent. And home users, with a little coaching from a Linux veteran, could do very well with Ubuntu. My wife has been using Linux for about five years now, and would never switch to Windows. She neither knows nor cares how an operating system works; to her it's just an appliance. It enables her to do what she wants on the computer without getting in the way, and her perception is that she has an easier time with Linux than her equally computer-naive friends have with Windows.

No, the problem as I see it has to do with the very concept of a desktop operating system. Ironically, Linux has reached maturity on this front at the very time when the traditional concept of a desktop operating system is becoming obsolete. More and more, the Web is the operating system, and the browser is the desktop environment.

Right now I have eight tabs open in Firefox, reflecting a variety of tasks I'm working on. Besides the browser, the only desktop apps I have open are Open Office, XChat, and a terminal window. and I find that more of my "word processing" happens online via something like a Wiki, and more of my instant messaging happens through a web browser as well thanks to Gmail's chat function.

This is just anecdotal evidence, but here's a more substantial case study. In my last job, I ran a product management team for a start-up. We had a total of four product managers working on various aspects of an ambitious web pubishing project, and a key partner/customer with whom we had to interface to develop requirements, track development, field bug queries, etc. This partner had three individuals who were very focused on our project, and formed a vital part of the product management life cycle.

Five years ago the standard tools for this situation would have been something like Microsoft Project, Microsoft Office, and maybe something a little more high-powered like Clear Case. These tools were cumbersome at best. MS Project seems to manage you more than it lets you manage a project. While Word does have a nice revision marks feature for tracking and attributing changes, it gets quite cumbersome when you have more than two or three people editing a document, and it does nothing to solve the problem of keeping track of who has the current "canonical" version of a document.

Our product management team used none of these tools. We used one piece of software: MediaWiki. We had two instances set up, one that could only be accessed via the company intranet, and the other that was password accessible from the outside, what we called the "extranet" instance.

It took us a bit of time at the outset to templatize a set of wiki documents for what we needed for product management workflow: opportunity assessment, product requirements, engineering specifications... the usual suspects. Once we had templates for each of those, however, it was easy to create new instances and manage the whole process. With a little massaging of MediaWiki, we even created another set of "dashboard" documents that pulled key information from our product management documents that upper management wanted to see to track the status of projects.

We put a little work into templating the extranet wiki as well, and we had to go through a couple of training sessions with personnel from our partner to teach them how to wiki. MediaWiki is fairly easy to learn, though, with an almost WYSIWYG interface and a simple set of core tags. Our partner quickly went from "how does this work" to "can we make it do this"?

A wiki has obvious benefits for this kind of project management:
  • Simultaneous editing by multiple users
  • Excellent version control for documents
  • Keeps documents accessible from anywhere you can get online
  • Easy learning curve
This is not just a case of an online tool creating a clunky imitation of a desktop app (think Writely here). This is a case of an online tool doing naturally what desktop apps have struggled to do, and done rather poorly. MediaWiki boosted our productivity tremendously over any available desktop solution.

And that's the future of knowledge worker applications.

The consequences for Linux are significant, and generally not recognized by the Linux community. A desktop OS is the platform that supports an knowledge worker. As the knowledge worker's tools become increasingly Web-based, the requirements for that platform change substantially. This should be great news for Linux; it has always been a better architected network operating system than Windows. If we look ahead to what the platform needs to be, Linux has tremendous potential. However, that's not the way the Linux community thinks. Most Linux developers who think about the Desktop think about reinventing what is already on the Windows desktop.

We're chasing the past, instead of defining the future. Ironically, Microsoft has already figured this out with their "Live" initiative. Once more the Linux community is following where Microsoft is leading. Shame on us.

Labels:

Sunday, May 07, 2006

An Open Letter to Jonathan Schwartz

I've watched the rise in popularity of Linux distributions Red Hat and SuSE from the very beginning, and at various times in the past I've been an enthusiastic user of each. Currently I'm using Ubuntu, and watching its rise in popularity with great interest.

My perspective on Linux distributions differs from many other open source long-timers. I appreciate the value Linux offers as a server solution, and I've done a fair amount of work as a writer and a consultant espousing Linux's virtues in this context. However, I'm neither a programmer nor system administrator myself. My direct experience with Linux is on the desktop, and indeed Linux has been primary desktop operating system since 1994. From this perspective, Ubuntu represents an alluring but difficult opportunity for technology companies.

Everyone frets about the Microsoft monopoly on the desktop, and talks about the potential of desktop Linux as an alternative. At the end of the day, however, technology companies that already have a major stake in the Linux game can pay only lip service to Linux on the desktop. Companies like IBM and Novell have crafted their business models around providing value-add compliments to Linux as a commodity server solution. In considering desktop Linux, then, these companies are constrained to work with those Linux distributions that meet their server needs. For example, an acceptable Linux distribution must meet the requirements government standards and certification.

Ubuntu is a reasonable server offering, as much so as Debian (on which it is based). But it isn't going to qualify as the enterprise and government solution that major players like IBM need. That means that these same companies won't work with Ubuntu as a desktop solution, because none of them see either enough value in the desktop market or a low enough point of entry to spend resources working with two very different Linux distributions.

The Ubuntu community may well think that they don't need an enterprise partner. They could be right. But there's no way that Linux desktop adoption is going to accelerate without that corporate partner. In many ways, its more essential to have that partner in the desktop market than in the server market. Competent IT shops are, at times, willing to "roll their own" solution on the server side. No IT department wants to deal with the nightmare of a "roll your own" desktop solution.

No, to really take desktop Linux to a new level of adoption what's needed is a large technology partner with:
  • An established customer base;
  • A valuable server solution that isn't Linux;
  • A thorough understanding of and commitment to support of key applications on the Linux desktop.
That company, of course, is Sun Microsystems.

Sun's open source moves with Solaris have made Solaris a much more competitive server offering than it used to be, balancing aspects of the commodity advantage Linux enjoys with performance features still not found in Linux. However, Solaris is not, and really should not be, a real desktop alternative.

Nonetheless, Sun has invested heavily in key parts of an alternative desktop solution. Ubuntu would be little more than eye candy without OpenOffice.org. OpenOffice's interoperability with Microsoft Office has improved dramatically in the last 18 months, and in the developing world many organizations are simply avoiding the Microsoft upgrade treadmill altogether thanks to OpenOffice.

Ubuntu has tremendous momentum right now, and deservedly so. More than any previous Linux distribution they have focused on the particulars of desktop requirements. Largely this is testament to the vision and leadership of Mark Shuttleworth and the Canonical team, who have been aggressively user-focused in guiding Ubuntu.

To really be an enterprise desktop solution, though, Ubuntu will need a professional product management process, one that comes from years of enterprise customer experience. Open source has always been at its strongest when the gap between users and developers is minimal or non-existent. The wider that gap, the more difficult it is for innate open source development processes to effectively set and manage product requirements. A respectful partnership between Sun and the Ubuntu community could provide just that professional touch in product development for the desktop. In this capacity Sun does not compete with Canonical, but rather compliment the work that Canonical is doing.

And unlike other major technology companies, Sun could implement a Linux-based, and indeed Ubuntu-based strategy for the desktop without disruption to its existing business model. How ironic that all of the other companies that have jumped on the Linux bandwagon in the past can't quite find a way to be part of the Ubuntu parade. Sun, on the other hand, laid this foundation years ago with its committment to OpenOffice, and is unencumbered by its committment to Solaris.

So take heed, and at least open a dialog with the Ubuntu community. This is a rare opportunity, but one that won't last forever.

Mark Stone:

Saturday, April 22, 2006

Ubuntu: Who Is the Target Audience?

For Linux on the desktop, Ubuntu Linux is clearly the best distribution yet to emerge from the open source community. Why has it taken us this long to achieve:
  • A clearly open source project
  • That offers a stable distribution
  • That supports current hardware
  • And is easy to install
  • With a strong selection of desktop-oriented apps in the default install
Yet for all its virtues, I find myself wondering, "Who is the real market for Ubuntu?"

I've been led to ask this question because I'm in the process of writing a book for Manning Press titled "Desktop Linux with Ubuntu". I'm thrilled that the community will have a genuinely desktop-oriented book on Ubuntu, and I'm honored to be the one writing it. But I, the publisher, and my editor have spent quite a bit of time discussing who this book is really for.

Let me first say who it's not for. Most of my friends who are Linux geeks have worked with Linux on the desktop for a long time. I've been using Linux as my desktop system since 1994 (1.0.8 kernel). In the last couple of years, I've seen a definite trend. About 60% of the folks have switched to using MacOs X as their desktop system, while continuing to work extensively, both personally and professionally, with Linux as a server solution. These people have essentially given up on Linux on the desktop. The other 40% have mostly switched to Ubuntu. These people do not need a book on Ubuntu. They've been through the best and worst with other Linux distros, and Ubuntu is a walk in the park for them.

What we all hope, of course, is that Ubuntu will draw in a new group of Linux desktop users. But who will they be? Home users or "knowledge workers"?

Part of me wants to say "home users". My wife and I are coming up on our fourth anniversary, and since we've been living together she's been exclusively a Linux user. She has no complaints; it seems easy to her, and she's yet to find something she wants to do with a computer that she can't do with Linux. Of course, the key here is that I'm standing over her shoulder to play sys admin, explain things to her, and make sure things like our network connection and backup procedure actually work.

What's interesting, though, is that I'd be doing the same tasks on her behalf even if we were using Windows. She doesn't know that much about computers, does want to know that much about computers, and has little prior experience with them. It would have been as much, or more of an effort for her to learn Windows.

Now, I think that Ubuntu is getting to the point where someone like her could probably figure it out on her own, and get reasonable use out of the system. The problem is, she just doesn't want to. Figuring out computers is not on her agenda in life, and she'd certainly never go so far as to buy a book about computers.

I think there is a certain segment of Linux-curious power users out there that will enjoy Ubuntu and would be interested in a book about Ubuntu on the desktop. But honestly, I think that number is still pretty small.

Which leads me back to the knowledge worker. I actually think the biggest market for Ubuntu is in small- to medium-sized businesses, and organizations like nonprofits or schools. These are organizations that need a certain level of computer technology, but are very limited in terms of budget, human resources, and technology expertise.

The process I envision is one in which a pro-Linux IT guy in an understaffed, small- to mid-sized organization persuades management to give Linux a try on a number of desktops. Ubuntu is the chosen Linux distribution for this endeavor, and a copy of an Ubuntu book focused on the desktop would accompany each Ubuntu installation. In other words, the person buying the book (the IT guy) and the person using the book (the knowledge worker) would not be the same person.

By analogy, this is the way most children's books are sold. The books are written for children, but parents have to be sold on the book since they are the ones making the actual purchase. Perhaps this is an appropriate metaphor for where desktop Linux stands today: Linux "adults" have to make the installation decision and guide the initial usage of Linux newcomers. Seen this way, the workplace has to be more fertile ground for Linux desktop growth than the home market. Even in households with a Linux veteran, the ratio of veterans to newcomers will be on the order of 1-1. In the small office workplace:
  • Linux veterans are more common
  • The ratio of veterans to newcomers is more on the order of 50-1 or 100-1
Thus it is in the workplace that we can use our small numbers to reach a larger audience.

Thursday, April 20, 2006

The Good Old Days

I'm coming up on two years using Ubuntu as my desktop system. For the most part, I'm very happy with it, and Ubuntu certainly filled what had been a gap in the market. It's been interesting, though, to reflect on my early Linux experience and what I liked back then that I miss with Ubuntu.

In 1984 I took out a student loan to buy one of the very first MacIntosh computers. I totally drank the koolaid back then: I'd been thinking about a personal computer, but wasn't sold on the Commodore or the IBM PC; then I saw the Apple Superbowl ad. That was it. For the next ten years, Apple pretty much delivered on its promise. I just used the computer; I never really thought about it. It got out of my way and let me do my work. This computer went through a series of upgrades, eventually adding something called a "hard drive". But I reached a point where it had to be replaced. And in 1994, another Mac was simply too expensive.

I went with a PC, and had my first encounter with Windows 3.1. After a week, I knew there had to be a better way. Windows was the worst of all possible worlds. With the Mac, I had no idea, really, what was going on under the hood, but I never had to know either. Things just worked. With Windows, I had .bat and .dll files to fiddle with, lots of under the hood work to do... and yet nothing about the whole system made sense to me. I didn't have a foundational grasp of how the system was put together, and thus I always felt like I was flying blind.

A few days later, I was browsing in the bookstore and found a book about something called "Linux", which was described as "Unix for the PC". This seemed like a great idea to me. I had a bit of Unix experience in university settings, and Unix had always seemed like a more direct approach than the obfuscation that was Windows. Further, the book had a CD in the back for something called "Slackware Linux"; slackware was apparently a "distribution" of Linux.

It took me about two months to do my first install. After the install, it took me another two weeks of fiddling with CHAP/PAP authentication scripts by hand before I could successfully dial up my ISP. After all that, I still had no effective way to do word processing -- my most important computer application -- at least not in a way that I could share with the rest of the world. My eventual solution was to install a MacIntosh emulator called "Executor", and then run Word 5.1 for the Mac from my old MacIntosh system.

Despite the enormous time investment Linux required for me to accomplish the most basic tasks, I was happy. If I couldn't have the Mac experience of never having to think about the computer, then I wanted the opposite experience: I wanted everything in the operating system open and accessible to me, so that I could understand exactly how it worked. Linux delivered. Windows, by contrast, was horribly in between: it did a little bit conveniently, but required that you get under the hood a bit, but made you feel like you were wearing a blindfold while poking around.

Over the years I became accustomed to firing up "Vi" and editing configuration files directly. I developed a fondness for compiling my own kernel. My favorite programs were all text/command line based (pine, wvdial, lynx, etc.). For a couple of years I switched distros to Linux From Scratch, where every program that ran on my computer was compiled from source code.

Now, though I've dabbled in both, I'm neither a programmer nor a system administrator. I'm basically a "suit", the marketing guy who provides some buffer between the geeks and the executives. So when I talk about my fondness for the directness of Linux, I'm not speaking from a coder/sys admin point of view. I'm just talking about how I think a sensible operating system ought to behave.

Working that intimately with your operating system does take time, however. As my life got busier, I stopped compiling everything from source. I switched to Debian, because apt was just too convenient. A kernel compile became a rare event. Still, setup and configuration meant working directly with the relevant files.

Then I got frustrated with Debian. The "stable" version was too far behind the curve in terms of having support for current hardware. "Testing" was just not stable enough. "Unstable" was a better compromise, but felt like a compromise.

It was at that point that I switched to Ubuntu. In a way, it took me back to my MacIntosh days: the install was painless, and all of my hardware "just worked". Computing felt effortless in a way that it hadn't for over a decade. Was I finally having my cake and eating it too?

After a couple of weeks, I couldn't resist the urge to try and compile my own kernel on Ubuntu. The result was a complete disaster, a system that wouldn't even boot. Once I figured out my mistakes with Grub, I booted into a system that failed to load key modules and thus failed to recognize key hardware components. I thought about it a while, and realized that I was cutting against the grain of the Ubuntu way. This was a distro where I wasn't meant to compile my own kernel, nor hand edit config files. I had to take a deep breath, and resign myself to point and click.

And so I do, for the most part. Certainly for a generation of users who have never experienced a VAX, or a PDP-1170, or the other early systems I used, Ubuntu will seem like a refreshing option. It's the right solution at the right time. But it does take away some of that directness I had come to associate with Linux.

Part of me misses the good old days.

Wednesday, April 19, 2006

Reflections on Open Source

Since the publication last Fall of Open Sources 2.0, a book that Chris, Danese, and I worked very hard on, I've been in a particularly contemplative mood about the present success and future directions of the open source movement. I feel like a have a big personal stake in this:
  • I've been using Linux as my main desktop system since 1994 (1.0.8 kernel, for those of you keeping score);
  • I used to be O'Reilly's Executive Editor for Open Source, and indeed took part in the first Open Source Summit that Tim O'Reilly organized (1997? 1998?);
  • I was part of VA Linux's evangelism team at the time of their infamous IPO, and indeed remained at VA working on Linux.com, SourceForge, and other sites for another four years;
  • I edited and wrote significant contributions to both Open Sources and Open Sources 2.0;
  • I've been a frequent speaker, commentator, and consultant on open source principles and practices.
Working on the most recent book, I've found myself pondering two questions:
  • As open source is more fully embraced by the technology establishment (IBM and Linux, Sun attempting to go open source, recent acquisitions of JBoss and Sleepycat, etc.) will it thrive or be co-opted?
  • Beyond technology and software development, are there principles of collaboration that could transform other online communities.
This blog is my space to explore and attempt to answer, at least for myself, these questions.