Real Desktop Linux, Part II
by Mark Stone
The Good News about Desktop Linux in the Enterprise
The enterprise setting actually works to the advantage of desktop Linux in several ways. First of all, enterprise system administrators can standardize on a common, tested hardware platform for all installations. It doesn't have to be the latest and greatest hardware as knowledge worker applications don't put the stress on a system that, say, computer games do. Thus the installation woes I described in Part I need not plague the enterprise user, or the admins who support them.
Enterprise settings also require a relatively small set of applications for productivity, and those applications can be standardized across all desktops. Key application types include:
- Text processing, including printing
- Presentation program
- Web browser
- Email access
- Instant messaging
- File management
- User-proof backup
To the extent that users share files only internally, enterprise admins have a great deal of latitude about what applications to pick. A more important, but subtler point, is that the enterprise can dictate applications that require actual learning and expertise, but yield greater productivity.
Let me expand on this point a bit. The pro and con of most Windows desktop applications is that they are self-evident in a familiar point and click paradigm to the user. Anyone vaguely familiar with the paradigm can sit down at an application for the first time and have a basic level of proficiency. The problem is that basic level of proficiency is seldom exceeded. This is in sharp contrast to applications that are initially more complex, or at least less user-friendly, but in the end deliver more power.
Consider a couple of editing tasks:
- Insert 5 blank rows into a table
- Replace the second occurence of a given word on every line
In Microsoft Office there's no way to do the former short of repeating "Insert Row" five times. There's no simple way to do the latter at all. With any common Unix editor, either of these can be accomplished in a single command. The problem is, Unix editors require actual learning. Microsoft Office users become minimally productive very quickly, but remain shackled by certain inefficiencies that limit productivity in the name of "user-friendliness".
I do the majority of my text processing using the vi editor. It isn't all that easy to learn, and you have to actually spend some hours familiarizing yourself with its commands and their peculiar syntax. Even then you have to be willing to pause in the middle of a task to think if there's a better way to do it, and take the time to learn it if there is. After years of use I'm reasonably proficient, but still in awe of what a real vi master can do. But even the learning I've invested pays off in greater productivity.
I'm not advocating that everyone learn vi, but I do think that getting the benefit of Linux means embracing the idea that powerful capabilities come from an investment in actually learning the system. Accepting and embracing this idea is, in fact, one of the biggest obstacles to Linux use in the enterprise because the Linux desktop, no matter how simplified, will always have greater power but also a substantial learning curve.
The Bad News about Desktop Linux in the Enterprise
The reality is that a large amount of file sharing has to be done between enterprises as well as within enterprises. That means that typical users will have to deal with files from various Microsoft Office applications. They must be able to view them, create them, and edit them.
For desktop Linux there are options that will get you a high degree of compatibility with the world of Microsoft Office, but nothing that will get you 100%. This is, without a doubt, the single biggest stumbling block to Linux acceptance as an enterprise desktop solution.
The Good News about Desktop Linux at Home
In some ways, home users require less from their applications. At home, I don't need spreadsheets with pivot tables. At home, I don't need text documents with multi-user enabled revision tracking. At home, I don't need a presentation program at all. And I care relatively little about file compatibility with users outside my home.
Linux also has several advantages to the home user that they don't really need to know about, but will appreciate: more stable, less prone to viruses, able to run on older, less expensive hardware. My assortment of machines at home includes a 486, a Pentium II, and a couple of Pentium IIIs. The 486 is still quite useful, and I have yet to figure out what I'd need a Pentium IV for.
The Bad News about Desktop Linux at Home
In the home environment, Linux is caught on the horns of a bad dilemma. Home users fall into two general categories: tinkerers, and appliance users.
Tinkerers probably have the patience and the curiousity to learn and master Linux. They are, however, likely to be frustrated with the application offerings: not enough games, not enough device support for things like digital cameras and DVD burners, media center programs that just aren't polished enough. My father-in-law is a typical tinkerer. As a retired engineer from Ampex he has plenty of technical savy. He sees Windows as offering everything he needs, and sees no benefit to learning Linux.
Appliance users see the computer as a single function or limited function device. It's like the TV or the stereo. It needs to do the one or two things they expect of it, but the less they have to think about how or why it does those things, the better. These are the users who want to be able to send and receive email, browse the web, and perhaps do a little word processing. They have the opposite problem from tinkerers: the range of applications available on Linux is perfectly fine for their needs, but they don't want to climb the Linux learning curve.
I have two systems I work with: a laptop that is my main work machine, and a desktop machine that I share with my wife at home.
My laptop is fairly sparse. I don't run either Gnome or KDE; I've never seen why I should add the extra system bloat for functionality that didn't matter to me. All I need is a window manager that is simple, light weight, easy to use, easy to configure, and has readily available menu items and keyboard shortcuts for the most common applications I use. My choice is Window Maker, although I suspect that either Blackbox or Ice would do just as well.
The desktop machine runs KDE. It resembles Windows enough that my wife can find menu entries and desktop icons to get to the handful of applications she needs.
What's interesting is that my wife has become a dedicated Linux user. I set the desktop machine to dual boot between Windows 98 and Linux, and showed her how to get back and forth between the two. I didn't push Linux on her, but just let her try the two out side by side. At first her instinct was to go to Windows, but gradually she switched over on her own. Several things sold her on Linux: first, the system never locked up (this was a daily occurence for her in Windows). Second, she got hooked on tabbed browsing and no pop-up ads using Mozilla under Linux. Third, for simple games (solitaire, yahtzee, etc.) Linux actually offers more that is readily available than Windows does out of the box. Fourth, all the familiar application types (word processing, etc.) were right at her fingertips and just as easy to use.
She's a classic appliance user who didn't understand Windows any more than she understands Linux, so for her there was no advantage to using Windows, and there were clear advantages to using Linux -- as long as she had me there to "admin" for her.
For me to function as a road warrior/business professional, here's what I need on my laptop:
- Text processing, including printing. Open Office, Office XP/Word, CUPS.
- Spreadsheets. Open Office (though Gnumeric would be a reasonable alternative), Office XP/Excel.
- Presentation program. Office XP/PowerPoint.
- Web browser. Mozilla.
- Email access. PPTP, Various webmail clients.
- Scheduling/calendaring. JPilot.
- Instant messaging. Gaim, XChat
- File management. I do all this from the command line, but Konqueror is a quite servicable graphical file browser/manager.
- User-proof backup. A cron job running rsync.
Several things to note about this list. First, I do and must run Microsoft Office under Linux. I use Codeweavers' Crossover, and I'm more than happy to pay the money to do so. It enables me to run Office XP without having to reboot, and the hard reality is that there's a level of compatibility with Microsoft Office that Open Office simply doesn't provide. I have Open Office installed, and use it quite a bit, but for certain documents I have to resort to Office XP. PowerPoint in particular is an application that really has no effective subsitute in the Open Source world, at least not if you have to share your presentation files with others.
The other piece of proprietary software I need is the kernel module that enables me to run the Microsoft version of the Point to Point Tunneling Protocol (PPTP). This enables me to get secure access to the company network from outside, without which I could not retrieve my email. No, it isn't necessary to use the Microsoft version of PPTP; there are Linux PPTP servers available. I, however, don't get to make that call, and once our IT department has made their choice I have to comply with it.
Let me comment a little on email clients, and on scheduling/calendaring. There's a "Holy Grail" of groupware out there, an ideal world in which meetings are scheduled without an endless thread of emails saying "I can't make this time; can you make this time?" That ideal world is not Microsoft Outlook, and indeed has not been found. I cannot count the number of times I have called on a client only to have one of several people who was supposed to be at a meeting not show up. "I don't understand; Joe accepted the meeting, he should be here." Groupware in general, and calendaring in particular, work well only if everyone using the system is equally committed to using the system. There is ample evidence to demonstrate that this is simply expecting too much of the user. People aren't that vigilant about keeping their schedules up to date.
Given that that's the case, I want calendaring to be for me only (hence JPilot). And I want an email approach that's as flexible as possible. With the advent of IMAP, web mail systems became the way to go, in my opinion. I can sit down at any networked computer with a web browser, anywhere, and handle my email.
If you're going to use a Linux email client, and you aren't a Linux aficianado, I suppose Mozilla's email client, or Evolution, would be fine (although I think Evolution is overkill in the same ways Outlook is). If you are a Linux aficianado, then you already know you're supposed to be using Mutt.
While I take a dim view of dedicated groupware applications, I find that Instant Messaging has become a de facto requirement for collaboration. Instant messaging offers the right level of access to others in remote locations, without being as intrusive as a phone call. My colleagues on Windows tend to use AIM, and hence I use GAIM. IRC has some advantages over conventional IM (it's easier to create, moderate, and otherwise manage channels), and hence I still use XChat a lot as well.
Backup is another of those problems where great technical solutions run afoul of simple human laziness. There are lots of technically sound ways to do file backup, for either Windows or Linux. The reality, though, is that most of us are too busy or too lazy to back up as often as we should. My solution has been to put an rsync server on my home network, and to have a regular cron job that syncs files from the desktop machine to that server. I never have to think about it, it just happens. Every couple of months I burn a secondary backup to CD.
This is a backup strategy that makes perfect sense for desktop Linux in the enterprise. But again, it requires a minimal level of admin knowledge of computer systems, something that is reasonable to expect in the enterprise setting but not commonplace in the home setting.
Where Things Stand Today
A desktop based on purely Open Source software is not something ready for the mass market today, either in the enterprise or in the home.
The problem is not the ease of use of Open Source desktop software, nor its the capabilities. The problem is really one of compatibility. Enterprise users will not find that purely Open Source software offers enough compatibility with the world of Microsoft Office. Home users will not find that Open Source offerings provide enough hardware compatibility with a rapidly changing hardware world.
Home users are also likely to feel constrained by the limitations of pure Open Source software in the area of multimedia and computer gaming. This is a different challenge from compatibility, but one where greater strides could be made if compatibility were less of an issue.
But it's important to realize that Open Source is not the same as Linux. Expanding the software you'll countenance on Linux to include proprietary software changes the picture dramatically, at least in the enterprise.
For the majority of enterprise end users, applications like Open Office should do just fine. They'll never push the capabilities of these applications, nor push their limits of compatibility with Microsoft Office. A significant minority -- maybe 10-15% of enterprise end users -- need a higher degree of compatibility. There's still no reason why enterprises have to pay for a Microsoft operating system license for these users. Running Office XP via Codeweavers' Crossover should suffice in all but a few rare circumstances. In those cases, there's no reason not to have a few Windows machines available. In an enterprise of, say, 250 desktops, cutting back from 250 Windows XP licenses and 250 Office XP licenses to 10 Windows XP licenses and 30 Office XP licenses would represent a dramatic savings in costs, quite apart from the reduced overhead in administration.
But I have to wonder if Linux and Open Source will ever close the remaining gap. The problem is that too many people in the Open Source world are trying to do just that: close the gap. They are imitating a user interface paradigm -- Windows -- with the assumption that that's the right thing to do.
Looking at the Bigger Picture
Windows and Linux have always had fundamentally different emphases, and fundamentally different strengths. I have yet to see anyone look at Linux's strengths -- security, network-awareness, small server footprint, implementation on many hardware platforms -- and try to imagine how those strengths could redefine what the desktop experience is supposed to be.
We've seen some interesting attempts to redefine parts of the end user computing experience in the last 10 years. Notable efforts to me seem to be BeOS, Palm, MacOS X, and Eazel. Of those I would have to call BeOS the most innovative, and Palm the most successful. It's interesting to note that the only effort that was in the Open Source arena was Eazel, and Eazel was energized with a lot of vision from some of the early Apple gurus.
If you want a glimpse (not Linux-related) at a radically different view of what the end user experience might be like, I heartily recommend Jon Udell's Practical Internet Groupware. The book, sadly, is out of print, a sign that the time for its ideas has not yet come. But that's a topic for another time.
Where have you seen desktop Linux in the enterprise, and what has your experience been?
Picky point about one of the examples
You used the example of inserting five rows into a table and said "In Microsoft Office there's no way to do [this] short of repeating "Insert Row" five times." At least in Word and Excel, you can do this by selecting five rows and choosing Insert Rows. (Not that this is much use if you don't yet *have* five rows in your table... *grin*) Possibly not readily discoverable (though I found out about it by just trying), but definitely there if you know about it.
Agree with previous post and more
Just because *you* don't know how to easily add five rows to a table or change every second occurance of a word using MS Office does not mean the functionality does not exist. When you first began using vi and other GNU/Linux related programs, was that functionality immediately obvious? No, you had to investigate (read help files) and learn how to do it. Apparently you do not do such with other programs.
Additionally, you forget an application type or category that is quite important in some enterprises: MPS/ERP system access. Comparing the programs used to access such systems on MS Windows platforms versus those available for GNU/Linux and the MS Windows programs easily win. Simple to use and teach to non-technical users and supporting far more features than those for GNU/Linux. For example, try accessing a GEAC System 21 running on an IBM iSeries (AS400). For MS Windows there is the very uncomplicated GEAC System 21 Explorer, for GNU/Linux the closest I could find is a terminal emulator (tn5250). While somewhat usable it is by no means a drop in replacement. In my company, such applications are more important than typical Office programs.
I make it simple
I am lucky ebough to be able to say.
users limited by will, not tools
>Microsoft Office users become minimally productive very
>quickly, but remain shackled by certain inefficiencies that
>limit productivity in the name of "user-friendliness".
Re: Agree with previous post and more
A couple of points in response to your comments.
Linux in the enterprise???
Your article is interesting and I am really fascinated by the notion of Linux on the enterprise desktop. However, you don't seem to have much experience supporting Linux in an enterprise environment. I worked in several environments supporting Windows desktops over the last 15 odd years and I can tell you that the list of application types you presented is the tip of the iceberg. Productivity apps are the "easy stuff" and its inconsequential that Linux can do those reasonably well. The really hard parts are line-of-business applications of varying types and flavors-everything from stuff written on Siebel to those freaky one-off apps for calculating the rate of return on Treasury bonds.
Having seen this weblog, it appears pretty clear that the author doesn't have a thorough background in enterprise (or even mid-sized company) IT support, nor in what the average corporate user is looking for on their desktop. He at least admits his bias up front for the CLI environment and the strength of the standard UNIX tool set. But to think that these are sufficient offerings for most corporate users is not only an outdated attitude, but is exactly the problem that held Linux back in the past from wider adoption. Thank goodness there are more forward-thinking, farsighted development teams out there, making a useful Linux (for a larger population) a reality.
Re: Agree with previous post and more
I wanted to mention a particular app I use on Linux as part of my "corporate" arsenal. Not sure if it fits into this thread or not, but here it is...
Linux in the enterprise???
Okay, a couple of things about Enterprise Linux:
Mutt for email? Outlook is an overkill?