|
|
Log in / Subscribe / Register

Villa: The Linux desktop's change problem

Luis Villa has put up a thoughtful post on the difficulties of innovating on the Linux desktop. "Discussion in this bug about the Sugar filesystem is fairly typical of what happens when you try to implement radical change- people used to the old system focus intensely on the transition costs (it doesn't work RIGHT NOW and my old system WORKS RIGHT NOW DAMMIT) and give varying levels of thought (usually little) to the potential upside of the change- maybe tagging and search really have vastly more potential than hierarchies now that our computers have more capabilities than they did in the time of Aristotle. Kudos to the Sugar folks for persisting despite that resistance."

to post comments

Villa: The Linux desktop's change problem

Posted Dec 8, 2008 19:41 UTC (Mon) by drag (guest, #31333) [Link] (16 responses)

The problem is that unless you have something useful then nobody can use it, even if they wanted to.

For example:
How can you have a web-enabled desktop presence with all this hooks to online relationships and whatnot... when your only providing about 0.5% of the desktops out there? Sure if your a Fedora developer you can connect with other Fedora developers and have a good time, but the actual people that are using a system that can share with your experience is actually extraordinarily small number of people.

I mean lets say a teenager is using a web-enabled gnome that is setup to talk to other people and have hooks into all sorts of online resources. Now they want to use all this stuff with their freinds... wait they can't. Their friends are all using Windows Vista and XP. They are using MSN for file transfers and Skype to talk to one another.

Oh, wait. People using Gnome desktop can't transfer files over MSN. Web-enabled desktop hard fail. Now the person teenager is in a position to tell all her friends that she can't see their photos or play their games because her dad makes her use Linux.

--------------------------------

Innovation in the desktop is like the sugar/fats section at the top of the food pyramid. You have several levels of priority for the software your trying to produce...

at the bottom you need to meet the hard requirements for the task at hand. These are features that unless you have the software will be worthless. This is the biggest and most important thing you require and unless you meet all the hard minimal requirements then nobody can use your software. Without a solid foundation your program is going to be constantly shifting and sinking like a house built on sand.

Next level up is going to be features that make your software useful. Without these features then your software won't be useless, but it will be undesirable. People will use it without these features, but only if they really really have to. Features like having a comparable feature set to your nearest competitors. Features like having quality documentation and relative bug-free operation as well as a UI that doesn't cause emotional distress.

Now at the tippy top, the fat, salt, and sugars that make software tasty is the 'innovation' part. That's the features that make your software stand out, that make people want to use it.

What you have to do for any software project is then identify what features fall into what category and then manage your resources effectively to take care of the first two groups first then use what you have left to work on innovation. If you use up all your resources on innovative features and fixing bugs while your foundation has missing hunks then your wasting your resources and are going to end up with a lot of waste.

-------------------------------------

So saying that Gnome should now start worrying about 'innovation' as a priority then assumes that:

A. Gnome meets all the basic requirements for a desktop shell and environment for end users as well as meeting the development needs of programmers.

B. Gnome has features and application set that are equivalent to the functionality that is present in OS X and Windows. Yes this is a moving target, and yes Gnome has to meet the expectations of users using those two competing requirements.

-------------------------------------

So lets take a look at Apple and what they do.

Lets look at at a common user misconceptions (or illusions) about Apple vs Linux and Windows and see if we can find the real basis in it:

I hear people say how Apple has hardware that 'just works' and how much better it is then Linux and the out of the box experience is better then with Windows. 'Just open up the box and plug it in'.

This of course is not technically correct. Linux supports vastly more hardware then OS X does and you have a much easier time just plugging in random hardware into Linux and having it 'just work' then you will ever get with OS X.

Of course, having proper support for a User's hardware is a hard requirement for the success of that OS for that particular user. At that point, from that user's perspective, all other support is fundamentally something they couldn't give a shit about. They only worry about their own stuff.

So is how Apple able to pull this off?

Well.. the first reason is obvious. You can only legally obtain OS X bundled with hardware that is very well supported by the OS. Apple very carefully only provides very specific hardware configuration tailored to work with it's OS. Apple doesn't have the resources for testing all hardware nor does it have the Microsoft-like muscle to demand compatibility on all consumer hardware, so this is the only way they can do this.

The second reason is a little less obvious. When people purchase peripherals they are trained to seek out 'Apple Compatible' products. The stores they shop at have 'Apple Sections' and the hardware they purchase has OS X logos and Apple branding on the back. There are Apple stores that go out and support those people and when they shop online at places like Newegg.com they have apple searches and sections were they only provide links for Apple compatible hardware.

So Apple is able to tackle a technical issue, lack of driver support, and turn into a advantage by non-technical means. By advertising, branding, trademarks, business relations and programs with third parties, and support options.

-----------------------------------------------

You may ask:
How does this affect Desktop Innovation like web-based desktops or whatnot?!?

Well, like I mentioned before there are hard requirements for your software and without it then all the innovation in the world is just pissing into the wind. Obviously driver support is a hard requirement.

Look at the OS X desktop. It's a lovely composited desktop. Animations, smooth interfaces... a layered virtual desktop approach which each application type has it's own 'space' with a very good 'spatial' design to finding application options and whatnot (file/edit/tools/etc are always at the same location at the top of the screen).

One of the big 'innovations' that Apple made that appealed to a lot of users and was actually useful for a lot of people was the "Expose" feature.

Another nice attractive feature for Apple is nice media playback.

Both of these are things that Linux can do, and actually can do better (except accelerated video playback). IF the the hardware support is there.

If Linux folks 'out innovated' Apple by thinking of Expose feature first it didn't f-ing matter because the hardware and graphics capability of Linux/X was not there to allow for that idea.

All of this requires very good hardware support. Without that then all the Gnome desktop and innovative graphics and web-y stuff is like a house of cards... one big puff (like people installing Linux on random hardware with no prior Linux experience) and it all blows down.

Linux and X folks are doing everything they can on a technical standpoint to correct this issue, but that's not all that is needed.

Apple has shit for 3D support on 'randumb' hardware, but it has good support for the stuff that people actually use.

---------------------------------------------------

That's my point. Apple is able to take a technical weakness and turn it into a actual advantage as perceived by end users. They do this by taking advantage of non-technical matters, which I described above.

-----------------------------------------------------

Lets look at Windows and 'usability' issues and competitiveness with Linux desktops.

From my perspective Gnome is actually pretty easy to use. I know that Windows is very hard for lots of people to use. I've experienced this first hand with more then a couple of people I try to help out time to time with 'computer stuff'.

Soooo... How is Windows able to maintain the idea that it's relative easy to use while Linux is a mystery and is written off to the 'their be (nerd) dragons' section of the computing landscape map?

Well familiarity, of course is a big one.

Windows is taught in schools, which is obvious enough. Gradeschool kids will use Windows in their libraries and classrooms. Play Windows video games, etc etc.

In highschool they are taught how to use various pieces of Microsoft Office to 'prepare them for the real world' and such things.

In college Windows skills is taught as every 'computer 101' style class. Any night college you care to look at you will see rooms and rooms full of people struggling with learning how to use Windows. People will actually be driven to tears and drop out of classes if they are not familiar with Windows like most of the other students are, because it's so hard to use... but yet they will consider that a personal failing and try again.

And support options:

Windows admins are being cranked out at a record pace.

95%+ of the laptops sold are sold with Windows pre-installed. They are warranted and there are various support options from the stores that they purchased the items from, from third party peripheral makers, and from the OEMs that make the hardware.

There are people like 'Geek Squad' and every Mom and Pop computer store place that offers computer repairs and support options that involve just handing over your computer when it's broken and getting it back when it's fixed.. and all of these things only support Windows for the most part.

So Windows sucks, yes.. but the costs of dealing with that and turning that problem into a advantage is absorbed at all levels of our society. This is a HUGE advantage for Microsoft.

The only way Apple can combat this is by providing their own stores, at probably massive costs.

------------------------------------------------------

So pretty much all Linux innovation is going to fall by the wayside until those sort of issues are tackled.

Sure they can be compensated by making Linux excellent technically, but I don't think that Linux can ever be THAT much better then OS X or Windows then to succeed on purely technical merits alone. There are a lot of catch-22's associated with LOTD.

That's not to say that innovation shouldn't happen. But that's to say that unless many non-technical issues are dealt with then very few people can benefit from those innovations.

And, of course, at all times we need to have working and useful software. Abandoning functionality and usefulness for the sake of imagined future gains isn't going to be a terrific approach and should only be done when absolutely necessary.

---------------------------------------------

So, of course, OEM support is critical.

But what else can be done?

I was thinking about this and it would be terrific to have a Linux Logo program.

Right now, GregKH and friends have a developer program were they give free support to hardware makers to get their products supported in the Linux kernel. This is very very cool and is a nice thing.

But the perceived benefit may still be low. The price is very low, so the benefit does not have to that high to get people to go along with the developer program, but it can be made more spicy.

So the Linux term and Penguin logo is a trademark. It's a bit diluted, but you can probably combine them and make a specific 'Linux hardware program' logo that will be used by hardware makers to specifically advertise Linux support.

Right now I go to the store. I want to by a Wifi card. Some have good Linux support, others do not.

How do I tell?!

Right now the only way to tell is either memorize some charts on chipset mapping to consumer products and Linux driver support, and then opening packages in-store to find out which chipset is actually being used (which is very rude)... or just purchasing it and hoping for the best. Returning it if it doesn't work.

What would be nice if I turned the package over and saw a Penguin logo with 'tested with 2.6.26' in nice easy to read letters under the logo.

Then I could fire up my PDA or web-enabled phone and go to the Linux hardware program website and see what users have to say about the hardware and compatibility with specific distros.

You could engineer this trademark program into the hardware development program and offer the trademark free of charge (or with a low fee) to hardware folks that submit hardware for testing. There would have to be a few more restrictions, like for revisions to hardware would require extra testing or something like that. But it should be relatively low overhead with no requirements for bundling drivers or code with the products (maybe..).

Then also possibly provide a support option that people can contact and get Linux help for a small fee. That way hardware makers won't be flooded with angry emails and phone calls every time Ubuntu (or whoever) introduces some retarded regression into their kernel with bad udev rules or weird patches.

So this would:
A. Provide a easy way for consumers to identify Linux.
B. Provide a inexpensive way for users to get help with Linux.
C. Provide additional cheap advertisement for hardware makers
D. Get hardware in the hands of Linux developers so that they can test chipset variations and other weird quirks.

------------------------------------

Like I said before this sort of low-level features is necessary for building innovative products that people can actually use.

If people have to spend a minimum 6 hours on trying to get a webcam (with or without success) to work with Linux, what advantage is there to having the best video and VoIP integration out of all other common desktop OSes?

Villa: The Linux desktop's change problem

Posted Dec 8, 2008 19:48 UTC (Mon) by jospoortvliet (guest, #33164) [Link] (4 responses)

wow, that's one long post...

I do agree with the point that the Free Desktop has to be 'ready' first.
When giving presentations the last 2-3 years I've always emphasized that
KDE 3.5 and the latest Gnome were pretty close to that point. And they are.
KDE 3.5 might be less so these days as things like MSN support haven't been
maintained, but when it was released, it was very competitive to Windows
XP. Now MS has moved on, and so has apple. So the FOSS desktop had to focus
on getting to a point of equality again - KDE 4.2 pretty much accomplishes
that. Gnome probably does as well. Sure, there are still little things to
fix, but that is something which will never go away.

In other words, it is time to do new things. KDE has been preparing for
that - they've build the foundations to innovate, and the next release will
prove them right - or wrong. There already is some innovation going on (see
the latest Amarok - while not even on par with the previous release, they
are trying pretty new stuff in the UI). More will come.

I have no idea what the snarky remarks were Villa removed - but I can
imagine he's envious of the potential and strategy KDE has. After all, it's
clear KDE is going after Vista & Mac OS X.

Villa: The Linux desktop's change problem

Posted Dec 8, 2008 20:28 UTC (Mon) by johill (subscriber, #25196) [Link] (3 responses)

But what part of OSX and Vista is KDE 4 actually going after? So far, I've mostly seen it go after the _bling_, not actually useful features like dashboard for instance.

Villa: The Linux desktop's change problem

Posted Dec 9, 2008 3:56 UTC (Tue) by dkite (guest, #4577) [Link] (1 responses)

Somehow I think your comment and the article above miss the point.

The reason that there is little innovation on the desktop is that it is
simply too much work to do before you get anywhere innovative.

Any non trivial application, library, or whatever, will run into serious
limitations in the linux desktop stack. Anything innovative will do things
that haven't been done before, running code paths that haven't been
exercised, or find holes in the stack that haven't been thought of let
alone written and tested.

So an neat idea may be announced, or described. A working implementation is
years away, even a testable implementation.

And in the mean time, you have situations where the innovators are trying
to convince maintainers of libraries to implement or accept changes where
they don't see the necessity of or don't have the resources to implement.

This isn't unusual. For google to implement web applications required them
to do huge amounts of infrastructure work, for starts.

Much of what you see in KDE 4.2 is essentially the beginning of the
completion of the infrastructure within KDE. Not all, but much of it is
close to being done. That's the result of years of effort and coding. Now
there is the possibility, within the design of the new infrastructure, to
innovate. And in a few years innovators will be hitting ceilings, and the
whole cycle will happen again.

Derek

Villa: The Linux desktop's change problem

Posted Dec 9, 2008 4:19 UTC (Tue) by dkite (guest, #4577) [Link]

Further,

And the article seems to be focusing on innovation that is market changing
as opposed to changing the way people use or interact. Google innovated
with web apps because no one could move the installed base of Microsoft
products. So much of the effort was to route around that business problem.
In the end we still have spreadsheets and documents, in silos that we can't
touch, only use.

Derek

Villa: The Linux desktop's change problem

Posted Dec 9, 2008 5:31 UTC (Tue) by aseigo (guest, #18394) [Link]

We had a dashboard in 4.0. Since 4.1 it can even view a different Activity
than your desktop. We've made it better by letting you have multiple
switchable sets of widgets, and to use different kinds of widgets so you
aren't stuck in an Apple or Microsoft only separate silo.

We could also talk about Nepomuk, Marble, Akonadi or so many other things
in KDE 4.

I'm not sure how much you've been paying attention (so maybe your comment
is just derived from looking at some screenshots here and there, trying
out some random things once in a while, etc..) butt here's a lot more than
*just* bling.

That said, the bling's been coming along nicely, too.

To be able to do both is an accomplishment I don't think anyone else has
manage on the free desktop yet.

Villa: The Linux desktop's change problem

Posted Dec 8, 2008 21:37 UTC (Mon) by jspaleta (subscriber, #50639) [Link] (4 responses)

Your analysis of how Apple has carved out a section of the market by focusing on the usability of a narrow selection of hardware underlines my qualms with the public statements Shuttleworth has made about trying to be better than Apple. If Apple's success really comes down to targeting a subset of hardware configurations and making sure they work flawlessly, Canonical isn't doing that yet.

http://www.eweek.com/c/a/Linux-and-Open-Source/Shuttlewor...

I don't see Shuttleworth positioning Canonical to make that narrow hardware focus that Apple has done. Now maybe with the new netbook market, Canonical can do that. They could focus down on a narrow range of hardware specifications and put in the work into the upstream linux hardware support for those specific netbook product targets that come pre-installed with Ubuntu as part of the contracted engineering work that OEMs pay Canonical for.

That would be a reasonably good trade-off between near term business interests and long term linux ecosystem interests. Hardware driver enhancements, get paid for my the netbook OEMs, Canonical does the engineering and QA work to do the hardware support enhancements, and submits that enhanced hardware support upstream into the linux kernel and other associated plumbing components like X.org. I think most people would agree that sort of arrangement would be the ideal way to have Canonical leading a targeted usability effort and getting credit for it in the upstream project activity.

-jef

subset of hardware

Posted Dec 8, 2008 23:50 UTC (Mon) by dmarti (subscriber, #11625) [Link]

Can't you just go to whatever conference follows the Kernel Summit, see what the kernel developers are carrying around, and go buy one of those? Works for me.

Villa: The Linux desktop's change problem

Posted Dec 9, 2008 2:12 UTC (Tue) by sbergman27 (guest, #10767) [Link] (1 responses)

"""
Your analysis of how Apple has carved out a section of the market by focusing on the usability of a narrow selection of hardware underlines my qualms with the public statements Shuttleworth has made about...
"""

Five hours and 56 minutes from story post time to the first Spaleta anti-Ubuntu troll. (I'm keeping an informal log.)

Villa: The Linux desktop's change problem

Posted Dec 9, 2008 11:47 UTC (Tue) by Rehdon (guest, #45440) [Link]

LOL, I just wish the Desktop Linux improvements were as constant and predictable as this guy's anti-Ubuntu tirades! ;)

Apart from that, very interesting thread with many insightful comments.

Rehdon

Villa: The Linux desktop's change problem

Posted Dec 9, 2008 17:30 UTC (Tue) by Los__D (guest, #15263) [Link]

Damn troll, go make Fedora suck less instead, please.

Forget kernel versions

Posted Dec 9, 2008 10:38 UTC (Tue) by epa (subscriber, #39769) [Link] (5 responses)

Not 'tested with 2.6.26'. The end user shouldn't have to care what the kernel version is. Instead, we need 'Linux 2006', 'Linux 2007', and so on, with each newer version being backwards compatible with earlier milestones. What I am suggesting is to expand the LSB slightly and release a new standard every twelve months, with distributions prominently saying which year-release of 'Linux' they support. If the LSB won't do it then the distributions could agree among themselves.

So 'Linux 2008' might imply kernel 2.6.24 or later, GNOME 2.22 or later, and so on. But the end user doesn't need to know that, they just know that if their system is Linux 2008 then any software or hardware marked with Linux 2008 or an earlier year is going to work.

Anything more complicated than that is going to confuse people - apart from us techies, who are already able to work out what hardware to purchase.

Forget kernel versions

Posted Dec 9, 2008 13:41 UTC (Tue) by tialaramex (subscriber, #21167) [Link] (1 responses)

Over time I've come to believe we're Doing It Wrong.

The best route for everybody /except/ Apple is class drivers. For hardware makers it means lower returns (the device you sell works, because it implements the class specification, which means OS drivers work with it, so the user gets a good experience). For Microsoft it means less vendor drivers (vendor drivers are poor quality, but the user experiences this as "problems with Windows"). For all the Free Software systems it means less drivers at all, and more chance of documentation which matches the hardware.

If it had been up to a hundred separate Far Eastern factories working independently, each USB flash drive would be accompanied by a CD, you'd install the software and then use the flash drive. They'd sell less, it'd cost more, everybody loses*. By introducing a Mass Storage class early in USB's adoption period, all the drives implement that, they work anywhere, cost less and are more useful. If I was one of the manufacturers making those flash drives I'd never want to write my own drivers ever again.

So maybe some Linux R&D money should be spent on promoting new classes. Let's see if we can get an 802 series standard for /programming/ Ethernet devices over a PCI(e) bus so that we don't need one driver per card. Are USB DVB devices adopting a class specification yet? If not maybe someone can come up with one. Scanners. Surely there's no need for every scanner manufacturer to have their own protocol. Is that saving anybody money? I don't think so.

* Except Apple, the alternate situation suits Apple because they can take a $10 product, add a simple driver to Mac OS and call it the "Apple iDisk" for $50 in Apple stores. See iPod, AirPort, etc.

Forget kernel versions

Posted Dec 12, 2008 22:52 UTC (Fri) by giraffedata (guest, #1954) [Link]

Hardware makers have the opportunity to do this today, just by copying some protocol that already exists. For example, for a while, most Ethernet cards were NE2000 clones. An even better example is ATA host adapters; I've never seen a Linux driver for a particular brand of ATA adapter.

Obviously, some hardware makers find this too constraining, so I assume they wouldn't be interested in a formal class specification either.

Forget kernel versions

Posted Dec 9, 2008 15:50 UTC (Tue) by drag (guest, #31333) [Link] (1 responses)

> Not 'tested with 2.6.26'. The end user shouldn't have to care what the kernel version is.

I suppose what your saying would be nice. But it would be necessary the way things are done now. Linux hardware support is pretty good and I don't think many people would welcome the change in the development process. The thing is that the current way Linux does releases is something that has evolved over time to best meet the needs of the development community and distribution folks. That's a good thing.

Also it's less relevant to when a Linux release was made to what version that is actually being used.

As long as it was very easy for users to know what kernel version they are using then that would be what I would change. They don't need to know what a kernel is or what the version numbers mean or anything like that. Just the number. It'll be just another number like 'at least 650MB of disk space' or '256MB or more memory (512 recommended' system requirements that typically are printed on boxes.

Something would read like:

Installation requirements:
1.3ghz processor
256MB of RAM (512 recommended)
640MB of Disk space
Supported OSes:
Windows XP, Windows Vista.
OS X 10.2
Linux 2.6.26 tested (or newer)

Distributions would be encouraged to simply present this number on the login screen or splash screen during bootup. That way it would get noticed and be easy to find.

Plus it would put pressure on Linux developers and distribution-level maintainers to double check for regressions. Linux devs, at that point, should have access to all the hardware with the logo program, and as long as somebody was willing to maintain the testing facilities then automated test cases could probably be ran on most hardware.

It would be humiliating to know that hardware that worked fine for users, with documented proof, with Linux 2.6.26, failed to work with Linux 2.6.28-xen-fedora-2523423766 or whatever.

Forget kernel versions

Posted Dec 9, 2008 16:31 UTC (Tue) by drag (guest, #31333) [Link]

One thing to keep in mind about what I am saying....

On newegg.com, for example, I often purchase hardware just because it says Linux compatibility. However that sort of thing is not hard to find and often people will purposely remove any mention of Linux from their products after the fact. This is because they are going off of Vendor-supplied drivers which while not always proprietary almost only works with specific kernel versions (which is a issue that people are trying to address)

One example that I've seen is:
http://www.newegg.com/Product/Product.aspx?Item=N82E16833...

The Asus WL-167 USB Wireless adapter.

It started off advertising Linux support, but later removed it. Now they seem to have added it again, which is promising.

Notice how they advertise Linux support:
Easy to use with drivers for Windows XP, Windows 2000, Windows ME, Windows 98 SE and Linux Redhat (version7.1 or later)

Asus supplies drivers for those devices for Linux. It's a ralink chipset and Ralink open sourced those drivers for Linux to use. However they seem to be hacked up Windows drivers so they were very large and code quality was low. So the folks at rt2x00.serialmonkey.com did double duty in cleaning up the Ralink-supplied drivers while at the same time re-writing entirely new drivers to be included in Linux.

So while the 'Redhat 7.1 or later' may be accurate, it's not really that useful for most people. Lots of versions of Fedora or Ubuntu or whatever have a very hard time using this device, despite the open source drivers. It entirely depends on what kernel version they are using.

Also they were working well on Redhat 7.1 on x86, but since they were hacked up Windows drivers they only worked under x86 and on non-SMP machines. Even after being cleaned up and made SMP-safe they didn't work on anything other then x86, and those cleaned up drivers were not the ones that were supplied by Asus or Ralink.

Now the driver support has been added to recent Linux kernel systems via the mac80211 stuff, so it should 'just work'. Later Ralink devices require extra firmware, unfortunately.

All of this is very confusing and very difficult for people to understand. Most folks would have no idea what I am talking about when mentioning this sort of thing.

Forget kernel versions

Posted Dec 10, 2008 7:54 UTC (Wed) by mjthayer (guest, #39183) [Link]

Rather late to comment, but still. I'm actually surprised that no one has organised something like this yet. You could have an informal testing process, based on user input and without action needed by the hardware vendors, which establishes that a piece of hardware is e.g. "Linux-Compatible, 11.2008", which means that it could be used properly with the version of the kernel available in that month and was also supported by the standard set of user land tools for that sort of hardware. If the device was partly supported, the certification could be qualified by a list of supported features. The vendor would then be allowed to display the certification logo on the packaging of their hardware, and most would probably be happy to, since it is additional advertising which needs no effort on their part, and can be clearly explained if a customer has doubts about what it means. Distributions could also carry a logo to say up to which date they supported hardware (possibly qualified by the types they support). If this got established, it would of course put additional pressure on non-compliant vendors to become compliant, but that is another story.


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds