Beyond Plug & Play
Monday at 1:00, at the Desktop Linux Summit in San Diego, I'm going to give a talk titled Plug 'n' Pray to Plug 'n' Play: What's it Going to Take? If you follow that last link, you'll find no details. I'm looking for your help with that, fellow Linux Journalistas.
When I gave the organizers that title, I was still laboring under the assumption that Linux was still a little bit behind in the desktop area. Since then I have been assured by Kernel Hackers of the First Water that this is not so that in fact this assumption belongs among the collection of myths and lies about Linux (which Greg Kroah-Hartman will detail at the July 2006 Linux Symposium in Ottowa).
What I'm learning is that Linux not only drives many common devices uncommonly well, but drives them better by making Linux device-ready in the kernel tree. No need to load some CD full of drivers and lameware before your device can start interoperating with your desktop or laptop.
Point is, there isn't much keeping Linux from being the benchmark desktop and laptop OS. Greg KH nails the gating factor:
Only 2 words, "vendor involvement".
Yes, it's that simple. Get the hardware vendors to care that their devices work on Linux and they will work. Look at how well things work today for network and scsi devices on Linux. It is that way because the vendor companies care about Linux and work to make sure that their drivers are in the main kernel tree and are stable and fast.
Oh, and if a vendor doesn't know how to get involved in Linux development, point them at the all-inclusive Linux Kernel HOWTO. It's in the main kernel source tree at Documentation/HOWTO, or on the web in a variety of places:
...why the OEMs are avoiding desktop Linux like the plague. In addition he will share why it has little to do with the technology and nothing to do with Microsoft "dirty tricks." If Dell would seriously consider the Mac OS on their systems why wouldn't they take Linux? We will also explore why the Chinese PC vendors have cut back on Linux desktop shipments sharply. If you want to know why you won't see Linux on a major branded PC from any vendor anytime soon, this is the session for you.
But I'm not buying that, and I doubt the audience will either. The OEMs have been increasingly supportive of Linux on their desktops and laptops. These days Dell, HP and Lenovo all have a growing assortment of Linux-ready or -installed products. Sony is less out-there in its Linux support for desktops and laptops, but they're making progress with open source work, and the community takes up plenty of slack. All of the major distros are doing their share. And let's not forget the Linux-friendliness of Intel, which makes a huge percentage of the innards in most PCs today. True, none of the big hardware OEMs are pushing desktop or laptop Linux hard at the retail level. But the time will come.
So let's think about what happens then. What will it mean when Linux desktops and laptops are the baseline? How will this change markets not only for hardware, but for software, dataware and devices as well? I don't think these are blue sky questions. I think they're ways of looking past the clearing clouds.
For one thing, products will be driven more by users and developers and less driven by marketing. That's because users and developers will be in closer contact and collaboration with each other.
I'm possibly best known for coming up with the idea that "Markets are conversations"., which became the first thesis of The Cluetrain Manifesto. Thanks to the Internet, we said, "markets are getting smarter and getting smarter faster than most companies". Since then (1999) we've learned (from Cluetrain's readers) that markets are relationships as well. So let's try looking at markets, for all their complexity, in terms of three simple concepts:
You might say that most of what we know that is, what the science of economics has studied about markets is centered around transaction. Economics courses and texts are chock full of information about the connections between price, supply, demand, competition, value, distribution and the commodity we call information.
Yet traditional economics is challenged by the Internet's facility for communicating and multiplying information without limit. It is also challenged by both the free-as-in-freedom and the free-as-in-beer natures of software developed by free-range programmers in free-range environments. How do you value something which, in terms of how it works in the marketplace, is NEA: Nobody owns it, Everybody can use it, and Anybody can improve it? And what do you make of rampant independence, where "free market" no longer means "your choice of silo"? How do you account for consumers that are also producers? How do you make sense of the Because Effect where people and companies make more money because of something (such as Linux just ask Google) than just with it?
We have to understand, and welcome, the roles played by conversation and relationship in networked markets.
Today, engagement is everything. The "vendor involvement" Greg KH talks about is just one part of it. As independent and responsible actors in a free and open marketplace, everybody is free to become engaged. Same goes for every device. And for every engineer or programmer in a position to improve a device, the relationships between devices, and between devices and their human operators.
Look at it this way. In markets that put a premium on conversations and relationships between independent actors, dependencies are both voluntary and subject to constant improvement. Think about what this means for relationships between devices.
Linus says, "Don't think of the 'community' as some group that is going to do or not do stuff for you. You are the community, so if you want to do something, then just do it." Greg KH adds, "This is very indicative of how the whole 'I'll wait here until some other company does what needs to be done", isn't really going to work well. Companies need to act like individuals here too. Actually, they just need to free their individuals to act like they want to act and let them interact directly with the rest of the world, instead of putting a zillion levels of management and legal between them."
About a half of those zillion levels are what we call "marketing". It's no accident that The Cluetrain Manifesto was written by three marketers and one hacker. As Jakob Nielsen put it to me not long after Cluetrain came out, three of the authors "defected" from marketing and went over to side with markets. And the engaged parts of markets don't have much use for marketing.
"Lead, follow or get out of the way," Ted Turner says. In today's networked technology markets, marketing has to get out of the way before it can follow, much less lead. Engineers and users need to converse and relate.
Usability is critical. At the Austin BarCamp last month, developers on the open source panel was asked if they employed usability experts. With the exception of Simon Phipps of Sun, the answer was generally "no". But I don't think the reason was because developers are allergic to "experts" (even though many probably are). I think it's because developers think users are the best usability experts. And developers would rather relate directly with users than through intermediaries.
When I asked the linux-elitists list "What happens when users, developers and vendor engineers collaborate without interference from marketing?" Greg KH answered,
We get good things done :)
Look at the many fine drivers that we have in the Linux kernel tree that are maintained and developed by individuals working at companies that let them interact with the community directly. Just look through the MAINTAINERS file for email addresses with ibm.com and intel.com for examples of this.
Business is critical too. Markets are places where people and companies do business and make culture. Open source makes plenty of business possible. But a lot of that business doesn't look like it did in the Age of Silos. This will be especially true in the device business.
Take the example of a challenge that is especially interesting to me these days: hand-held GPS devices. I have a Garmin eTrex Legend Cx. It's an awesome little device. I can go geocache hunting with my son and his friends, following street and topo maps marking waypoints and otherwise enjoying a fine combination of techno and outdoor experiences. Problem is, Garmin only provides maps and PC software for Windows. To load in street maps or topo maps, or to pull off waypoints or other data, I need to fire up a Windows box (actually, boot my Linux laptop in the Windows partition I reserve only for this purpose).
To Garmin's credit, the device has a standard USB interface, and takes standard MicrosSD memory in its tiny card slot. What will it mean for Garmin to become involved with Linux, and with the open source development world, including users there? Right now Garmin makes money selling its MapSource Trip and Waypoint manager, plus a pile of maps as well. It also has a substantial international development community of MapSource developers. What is the open source value proposition to Garmin?
I think it's this. You will sell more GPS hardware, and develop better GPS hardware, if your engineers are engaged directly with your users, as well as engineers at the PC hardware companies, along with the open source developers with interests that intersect your converging fields. You will have better real-world market intelligence, and better debugging on an ongoing basis. You can turn MapSource into a Web service, and sell maps and other goodies as subscriptions or a la carte services as well. You can make new devices that take advantage of growing inter-device plug-and-playability. For example, you can take a lead in bringing GPS capabilities to cell phones, or cell phone capabilities to GPS units. In other words, you'll have more ways to grow and leverage the expertise that is uniquely Garmin. It won't look like the old packaged software and dataware business, but it will be a lot bigger and do a much better job of informing and improving your development process.
That's the blue sky I see on the other side of the clouds. To get there, we need engineers to do some work. So I asked the linux-elitists list, "Can we relieve Garmin of that development burden (or cost) of doing Windows-only software development? Can we describe to them a better way to relate to the GPS market?"
Funny you should mention Garmin... I gave my "Write a real, working, Linux driver" tutorial a few weeks ago at the CELF conference, and there were about 6 developers in it from Garmin. I got to talking to them later and they were all very excited about Linux and had been working with it for a while. But they were doing this because they were going to be using Linux _inside_ their devices, as maintaining their own custom operating system was just too hard over time (porting to new platforms, new feature requests, etc.) So Linux will be inside Garmin devices, and all of their engineers will be using it.
Now because of that, these engineers will be needing to test their devices with Linux, as Linux will have suddenly become their desktop environment in which they do their work (much easier to develop embedded Linux work on a Linux workstation, it's possible to do it on Windows, but tough, everyone eventually switches over...) So those developers will start to make sure that their userspace tools and other stuff works just fine with Linux on the desktop. They are talking already about following the USB standards for mass-storage, as they don't want to write a special driver. Once they do that, it's only a matter of dropping your newly purchased GPS maps into the device, using any operating system you want to.
So there is hope, it's an evolutionary process (get the engineers using it, and it moves outward from there). It's what happened with Linux on the server years ago, and now we have a huge chunk of that market. Same thing is happening right now with embedded. Combine those two ends of the markets, and they will start to bleed into the middle (the desktop) without much trouble at all.
Remember, we are in this for the long haul. Things are getting better and we aren't going away any time soon. We have already evolved to being the operating system of choice on the huge supercomputers and on the tiny embedded systems. World domination is continuing as planned :)
Meanwhile, plug & play is a large problem that isn't just limited to complex devices. In the silo-vs.-silo world we've lived in since the Industrial Revolution, rampant incompatibility was the result of competing private "standards" that served to lock in customers and lock out competitors. Solving the problem today requires maximum engagement between the people doing the work and the people needing the work. Namely, engineers and users.
This became clear at CES this past January, when Larry Page of Google gave the consumer electronics industry a hard time for making a huge variety of clunky and incompatible external power supplies for portable devices and then, half an hour later, announcing Google Video, an online store that only works with Windows computers. In fact, nearly everything Google showed off at its CES booth was Windows-only. This, I am betting, is a temporary condition. Google not only has a first-rate open source legacy and reputation, but freedom-loving developers and free-range users who will both benefit from interacting in a free marketplace that values and rewards openness and communication more than secrecy and control.
In the long run the former will outperform the latter. And when it does, I'm betting device relations involving Linux will lead the way. But I'd also like to inform my bets with ideas other than my own. Which is why I'd like to know what the rest of you think. Hopefully before 1pm Monday.