• On GameFAQs: What causes the Red Ring of Death?
July 10, 2009 5:58 AM PDT

What open source can learn from Apple

by Matt Asay

Open source's greatest strength may also be its Achilles' heel.

As a developer-driven phenomenon, much of the best open-source software ends up being written for other developers. For example, it's not surprising that Linux wins on the server (technical audience) but largely loses on the desktop (non-technical audience). Companies like Canonical and MindTouch can mitigate this by paying for usability design. But as an overall movement, it remains a weakness.

Apple has the opposite problem. It is religiously focused on usability, but struggles to open up to outside developers.

Even so, its attention to the user is something open source must emulate to reach the next level of adoption. Jason Snell of MacWorld writes:

Apple excels at creating products that the general public likes because the company is driven by design, not by engineering. Most tech products--heck, most products in general--aren't as good as they can be because they're put together by the people with the technical knowledge required to build them. And so the technical aspects of the product get pushed to the forefront.

The more complicated a product gets, the more technical acumen is required to put it together. Bad Web sites are built by people who know how to code HTML and JavaScript but don't understand how people use the Web. Bad software is written by people who are experts at knowing how a computer works and how to write code to make it do what they want, but no idea about how regular people behave and how those people expect to interact with that software.

Apple's the kind of company that makes decisions based on people, on users, and then challenges its engineers to find ways to fulfill those needs.

Why can't open source do this? Isn't there room in the open-source development process for the product manager, the focus group, and various other tools that software companies employ to determine what average users want and then to translate this into development plans?

The company (or project) that figures out how to do this will win.

Some projects already accomplish this to some extent. The strength of Mozilla, for example, is that it has figured out how to enable 40 percent of its development to be done by outside contributors, as BusinessWeek recently wrote. The downside is that these contributors are techies, but the upside is that they're techies who add language packs, accessibility features, and other "niche" areas that Mozilla might otherwise struggle to deliver.

This suggests a start: enable your open-source project to accept meaningful outside contributions that make the project reflective of a wider development community.

But the real goldmine is broadening the definition of "developer" to include lay users of your software. The day that I, as a nontechnical software user, can meaningfully participate in an open-source project is the day that open source will truly have won.

Until that day, don't be surprised to see Microsoft, Apple, and their ilk win most battles for the hearts and minds of common users. This is why Google comes across as naive in asking open-source developers to help it fight Microsoft on the "desktop." It's not a market developers are well-equipped to win because they're aren't reflective of the vast majority of end users.

Most people don't care how the software is written, and care even less for the supposed elegance of a given program's code. They just want the software to work in an easy-to-use manner, to look nice, and to fit their budget.

Open source does the last one better than most, but struggles at times with the first two. Fix that problem and open source will know no boundaries.


Follow me on Twitter @mjasay.

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to The Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. You can follow Matt on Twitter @mjasay.
Recent posts from The Open Road
Google shifts software value to operations, away from IP
Mobile: Still waiting to see what sticks
Google privacy controls: Most people won't care
Amazon's move mocks EU's fear of Oracle
Skype to open-source far too little
The difference a few years makes to open source
Novell cuts 3 percent of its workforce, plus benefits
Data's one-two punch in open-source business models
Add a Comment (Log in or register) (30 Comments)
  • prev
  • 1
  • next
by lalomartins July 10, 2009 7:03 AM PDT
You're still operating under the delusion that we care how many people use our software. You're right, if ?we? is IBM, Red Hat, or any of the other big companies that use open source. But for the majority, what we care is how well we're solving our problems.

So let me fix that summary for you: until ?average? users find a way to include themselves in our development process, our software won't be relevant to them. There, that's closer to the truth.
Reply to this comment
by vikinzer July 10, 2009 11:09 AM PDT
Wow, I have heard about this attitude being prevalent, but seriously what strange elitist world do you live in? The fact is if Linux gains broader adoption then it only helps those of us who are hard core techies who use it. Why is there not a good free driver for Canon printers? Because Canon doesn't care enough to write one because the money they would invest doesn't translate to enough increased revenue from printer sales. Wireless has suffered from the same problem. The same issues translate into video games being written natively in Linux, Firefox's performance in Linux, etc. etc. Many of the desktop performance issues that lead back to the kernel can be tied back to the fact that Linux has a larger deployment on the server, so the developers have been fairly up front about not being willing to maintain two separate kernel code bases, and the server wins when they do design.

So in fact many of us do care if other people use open source. It increases our ecosystem and economic voice. It results in a better product because more people care about the things that make the system great. Many applications such as the Adobe suite, and games will not be ported until there is a serious market for them to sell into. So perhaps you might want to be a little more inclusive in your attitude. No matter how mainstreamed Ubuntu becomes you will always have Slackware to fall back on. The techies will build their tinkering distros, so stop blocking the rest of us from getting an easy to use product because you want to feel "special" for using Linux.
by Random_Walk July 10, 2009 11:54 AM PDT
"The fact is if Linux gains broader adoption then it only helps those of us who are hard core techies who use it."

Even Linus Torvalds has said that desktop adoption among normal folk is vital to Linux' continued existence in the long run.
by ewsachse July 10, 2009 7:16 AM PDT
"Apple excels at creating products that the general public likes because the company is driven by design, not by engineering."

This was the same battle fought between John Romero and John Carmack in the Doom/Quake days of id Software.

We all know who won that battle.

Carmack is still the king of 3D FPS games, and head honcho at id Software making money hand over fist.

Romero had that disaster with Ion Storm and Daikatana. He currently has zero impact on the gaming industry.
Reply to this comment
by aMUSICsite July 10, 2009 7:46 AM PDT
Didn't ID software just get bought out, so I guess they both failed and Valve/Epic won.

The 'Apple source' way does make sence, You still need the tech kings/queens to build good software. But it can't hurt to have good designers, marketing and UI people on board too.
by hockeymass July 10, 2009 8:25 AM PDT
@aMUSICsite

Getting bought out doesn't mean failure. It means your product was good enough that another company had to have it and saw fit to spend lots of money for it. Blizzard was bought by Activision and I don't think anyone would consider that a mark of failure.
by Random_Walk July 10, 2009 10:15 AM PDT
I'm thinking that both are required.

Without a technically superior foundation, the product will look pretty, but it will behave like crap. Google around a bit for the app named Poser, version 5 specifically. Real pretty interface (one of Kai Krause's code-gasms), but a royal PITA on system resources thanks to spaghetti code and poor planning. Now, to their credit the Poser team has cleaned up a lot of their act (and Moore's Law helped them out greatly), but it's the same problem - pretty interface, but it can rapidly get maddening to actually use, and you can easily send a multi-core CPU into fits of rage, especially if you start tinkering with dynamics and animation.

Without a user-friendly interface and feature-set, your user base will be limited severely to only those who are willing to invest the time and effort into learning what you've got going. This time, let's go googling for Blender. It's a very bad-assed modeling suite, but you don't see too many folks taking to it because the interface is a screamer to learn, specially to the artistic types that the thing was intended for.

Good argument WRT Romero vs. Carmack, but seriously I think that's a little too simplistic. Daikatana had a crap engine and a crap interface (let's face it - it was crap all around. The somethingawful.com review of it still gives me a laugh, even all these years later). Quake 2 and 3 OTOH did have a crap default keyboard binding set, and the first thing any serious gamer did was re-rig them to taste (and in Quake 2, you were better off writing your own bindset as a text/script file than to use the in-game thingy).

Also, I think you discount the fact that gamers (at least of the hardcore PC variety) tend to be a bit more willing to dig into an app and learn its guts than most other types of user would. MODs, binds, bots (unfortunately), and etc stand out as evidence for this...
by cvaldes1831 July 10, 2009 7:34 AM PDT
You forgot another main contributor to bad technology products/services: inadequate, poor QA.

Someone needs to put their foot down and say, "this hardware/software/service needs to be broadly qualed." Apple's situation is unique in that they basically control their ecosystem end-to-end. That ability to only QA a small number of hardware-software combinations probably contributes to the fact that Apple sports the highest customer satisfaction ranking in the industry: things just work.

They stumble more in the rare areas they don't have full control over (e.g., iTunes on Windows).
Reply to this comment
by drocha184 July 10, 2009 7:47 AM PDT
lalomartins is 100% correct. That is why I use OS X.
Reply to this comment
by rmwc July 12, 2009 5:47 AM PDT
I also use Apple's Mac OS X, but I don't agree with lelomartins above.
by Galois July 10, 2009 8:41 AM PDT
Besides the hardware driver problem, I don't see anything keeping Linux from being widely adopted on desktop. Matt, you should get a Thinkpad (they have good Linux support in term of driver) and see how Ubuntu rivals your beloved Mac. I have just sold my old Thinkpad running Linux and bought a Mac (I wanted to give it a try) and I regretted it deeply. Deeply enough that I decided to trade it for another Thinkpad. Forget it, what Linux really need is support from hardware manufacturers.

In term of Open Source in the whole. Tell you what, Open Office UI is exactly the same as MS Office 2003's, which someone still believe to be better than that of Microsoft Office 2007. Firefox is much better than any browsers from big company. The GIMP is both more powerful and user friendly than any cheap Photoshop alternatives, etc.

The problem is that average users never heard about these thing. We don't have money to run a long series of "Download an Open Source" on TV. That's the problem.

And you should shut your mouth up. What do you know about usability? You think the Mac dock is more usable than the Windows/Linux quick launch bar? Mac is pretty, but not more usable than any OS I have ever used (that included all Windows versions since 3.1 and a bunch of Linux distros.)
Reply to this comment
by ckh1272 July 10, 2009 9:28 AM PDT
@Galois--Welcome to the world of "well that's your opinion". Obviously he knows how to use a Mac better than some people. The ease of use between the two doesn't even compared. Perhaps you would do well to remember that while you're compiling. Unbuntu is a step in the right direction but there is a reason why a lot of netbook buyers were unsatisfied with them and returning them. Ease of use my friend.
by naijadev July 10, 2009 10:45 AM PDT
@ckh1272--"Unbuntu is a step in the right direction but there is a reason why a lot of netbook buyers were unsatisfied with them and returning them. Ease of use my friend."

I don't think most netbooks users with Linux on them returned them for usability issues. It has more to do with familiarity. Most were expecting to see MS windows and they are seeing something different. They were looking for IE, My Computers etc. I just talked a netbook owner with Ubuntu installed to try using it and he hasn't come back!

What I think is slowing down Linux adoption is good advert on T.V. Canonical and co needs to step up on advert real big. If they do that, Linux will no longer be strange and adoption will be swift.
by Random_Walk July 10, 2009 11:23 AM PDT
"You think the Mac dock is more usable than the Windows/Linux quick launch bar?"

The OSX dock and the WM (and KDE) applet launchers are nice and all, but think about this: You're Joe Sixpack. How are you going to know what an applet is, and how are you going to configure it w/o documentation and a bit of googling? In OSX, it's all already there, and it is highly intuitive to figure out where to put what, and how. In KDE (and GNOME nowadays, I suspect), it still takes a bit of doing.

Now either of us would have no problems with this (Hell, I used to use Fluxbox exclusively as my window manager). OTOH, Joe Sixpack isn't going to have a clue.

As for Windows? Well, until Windows 7 is RTM, we only have the RC to go on. While somewhat useful, it is a poor imitation of the OSX dock, wrapped in a KDE blanket, and boxed in by the reheated Vista-graphics taskbar. Using Windows 7, the only thing missing is KDE's movable separator bars, and I often find myself scratching the cursor over the taskbar looking for one at times. The pseudo-button at the right-hand side of the taskbar is something I keep hoping would slide the taskbar out of the way (like in KDE, gnome, etc), instead of clearing the desktop (which is what the thing actually does). I'm sure it's all Microsoft's code, but the concepts and ideas are drop-easy to trace back to their rightful owners (and the aesthetics could use a bit of help... seriously).

Anyrate, before we fly off on too much of a tangent, the point is pretty simple: OSX built a user-friendly graphical and dynamic taskbar/dock/whatever long before KDE or gnome got polish, and longer still before Microsoft got into the act with Windows 7.
by viper396 July 10, 2009 2:32 PM PDT
@naijadev ..."I don't think most netbooks users with Linux on them returned them for usability issues. It has more to do with familiarity."

Familiarity vs Ease of Use....to many people that means the exact same thing. It's easy to say something is easy when you use it every day. I think the point being made is existing Linux users are not the best people to judge on ease of use. You're too attached to the product to be truly objective.
by kelmon July 11, 2009 4:19 AM PDT
@Galois

The current Linux distributions aren't being widely adopted for a few reasons:

1. You almost never see it. Linux neither exists in stores much nor is it widely known about. If you are lucky, you might have heard of Apple as an alternative to Microsoft but the chances are pretty low that you've heard of Linux, let alone have a clue about the various distributions.

2. The Linux desktop is pretty much based on Microsoft Windows so there is little incentive to change. Why bother switching to something that is essentially the same as what you already have?

3. It needs differentiating software - something that shouts "look at me, you can't get this on Windows". Mostly, what Linux has are lesser versions of software that already exists for Windows whose sole benefit is that it is free. Often, being free is not enough...
by chrisjames80 July 10, 2009 9:28 AM PDT
I myself come from a tech standpoint and agree with you 100%. there needs to be an easier way to install applications in Linux, sure the "add remove programs" is easy but I have found one needs to install quite a few things not listed there.
Reply to this comment
by AaronMK July 10, 2009 11:47 AM PDT
Exactly!!

Good usability for Linux is heavily dependent on sticking with the software that happens to be in the default repositories of your distribution, and installation using its package manager. Otherwise, it becomes dependency h#ll, configuring paths to dependencies and properly configuring the dependencies themselves, making sure those configurations do not conflict with those required by other programs, etc. just to get a program up and running to serve its intended purpose.
by ckh1272 July 10, 2009 9:29 AM PDT
@Galois--Sorry, I meant to say "Ubuntu".
Reply to this comment
by pentest July 10, 2009 11:20 AM PDT
Given that there are many distros that are three clicks away from a fully installed and configured setup this article seems more than a tad dishonest.

How can you participate in a meaningful way to a software project, when you are totally ignorant of software, programming and hardware? Your ideas of what makes a good UI is different then mine which is different then Joe Blow's which is different then...

Developing a good UI is a different skill set then developing back end and low level code, it is much closer to being an art, rather than a science.

The "average" computer user has nothing to contribute besides high level documentation. Please tell us, what do OS X users do to contribute? What does Apple allow?
Reply to this comment
by Random_Walk July 10, 2009 12:02 PM PDT
I don't think Matt was talking about installation, though... usability is a whole world different than the technical side of things.

Have a ten-year-old kid fire up Blender sometime, then tell him he has to build a 3D model of a car in two weeks with it. This is what Matt was talking about... and that "art" of building a good, usable UI is what's really needed in the Linux community. Ubuntu has come a long way, but as a whole FOSS need more UI designers, not less.
by marcobat July 10, 2009 7:51 PM PDT
"The "average" computer user has nothing to contribute besides high level documentation. Please tell us, what do OS X users do to contribute? What does Apple allow?"

i think that, according to the author, user contribution to open source projects would be what focus groups do for apple et all ... I find it a very interesting idea. I wonder how it could be made user friendly :-)
by mangobrain July 10, 2009 11:57 AM PDT
"Bad Web sites are built by people who know how to code HTML and JavaScript but don't understand how people use the Web. Bad software is written by people who are experts at knowing how a computer works and how to write code to make it do what they want, but no idea about how regular people behave and how those people expect to interact with that software."

I disagree with this, and doubt your wisdom in quoting it. There is some truth in there, but just as much - if not more - of the bad software and websites out there are bad because the developers *don't* know how to code.

Even if I were to accept that the majority of bad software comes about in the manner described, it is still a simplification. These may not be accepted meanings, but personally I think there is a difference between "programmers" and "developers": a programmer knows how to write code, and that's pretty much it; whereas a developer knows how to write code, but also knows how to work in a team, how to accept constructive criticism, and that a usable program* is made up of more than just code.

"This suggests a start: enable your open-source project to accept meaningful outside contributions that make the project reflective of a wider development community."

In my personal experience, the quality of the average outside code contribution is so far below average that it just can't be accepted. Understanding someone else's code well enough to make meaningful contributions isn't a trivial undertaking; by the time you've got to that stage, you're likely to make more than just one contribution, and at some point you stop being considered "outside". I've participated in a few open-source projects myself, and am the lead developer of a few (one reasonably large, several pretty small and mostly for my own use); I hate to say it, but receiving an email containing a patch from someone I haven't heard of gives me a mild sense of dread.

"But the real goldmine is broadening the definition of "developer" to include lay users of your software. The day that I, as a nontechnical software user, can meaningfully participate in an open-source project is the day that open source will truly have won."

I'm sorry, but "developer" is a technical position. You might however be welcome as an artist, or a translator, or documenter, or UI designer, or tester, or ... you get the idea. One of the most useful things you can do as an end user is provide bug reports, but even then, there are things to be learned - often, unfortunately, technical - that will allow you to provide *good* bug reports (the kind that actually get bugs fixed). As I said before: a usable program isn't just a bunch of code.

What free software programmers really need to do is realise that they can't always build the stuff they want on their own; this can be a problem, because a lot of hobbyist programmers are introverts who want total creative and technical control. I don't mean that offensively, I can be like that as well. However, people need to take their projects seriously, and act like developers, not just programmers.

Mozilla didn't come from nowhere - remember Netscape? The core team are professionals, not hobbyists. The reality is, the people with serious talent tend to want to get paid for it.

* Sticking within the realms of applications with significant user interfaces; more "Firefox" than "wget".
Reply to this comment
by ec1oud July 10, 2009 9:14 PM PDT
Mumble mumble... tired old stereotype... etc.

Yes it's true that some people write software only for other developers to use, but I think it's possible to meet in the middle: some developers are interested in usability too. Good usability benefits everyone, not just the non-geeks. And some users just need to get smarter and quit expecting everything to be "so easy," or else they can continue paying money for the unenjoyable job of catering to their small minds. It's been fine for them all these years to do that, so why should it change now... some people have more money, and some people who don't, have the time to learn.
by kelmon July 11, 2009 4:22 AM PDT
To be honest, while Apple is very good at developing user interfaces to its software, I do not know how you can contribute to them unless Apple is running a beta program and actively soliciting feedback, which does not happen very much. It may well be that they use focus groups but general users cannot contribute to the development of an application beyond sending feature requests to Apple via their Discussion Boards, which I doubt that the really pay much attention to anyway.
Reply to this comment
by kikl July 11, 2009 9:09 AM PDT
Apple excels foremost in marketing. The i-phone is a very nice product, but there are several rival products that are even better but less known. Nevertheless, everybody knows the i-phone.

Apple builds good user interfaces, but they are not beyond criticism. The i-phone does have a very good interface, but it doesn't blow you away. I tried i-tunes, never liked it, because it is bloated and slow. It got dumped into the garbage bin. In my opinion, apple products try to look good, but don't necessarily excel in usability.

As a user you can actually contribute to the developement process in ubuntu. I filed several bug reports, which were taken care of. Check-out https://launchpad.net/

If you have suggestions for improvements or ideas, check out: http://brainstorm.ubuntu.com/
Reply to this comment
by Windywoo July 12, 2009 11:39 AM PDT
I disagree that Linux is badly designed. Gnome and KDE are now quite simple enough for the average user to be able to browse the web, send email edit documents etc. The real problems with Linux are in configuring it, and even that is simple if you have supported hardware.

Linux issues are the same its always had, lack of user familiarity and lack of hardware/software support from mainstream companies. Neither of those will be fixed by focus groups or learning from Apple.
Reply to this comment
by July 13, 2009 6:07 PM PDT
Great post Matt, I wrote about this very subject here: http://www.seekomega.com/2009/06/quite-simply-best-customer-experience.html
Reply to this comment
by psismondi July 17, 2009 1:36 PM PDT
This argument had gone around in circles for years. The positions people take have been remarkably similar for many years, in my opinion. It may be like debating religion or politics. Having said that, I may as well add my ten cents.

I use all three operating systems. I am a software developer by trade, although these days I end up doing business analysis more than actual software implementation.

Most of my paid work involves doing software for Windows. That's just the way the market goes. I also use use Windows for my digital audio workstation, because the good commercial software I use for producing music runs well on Windows. I can afford to integrate a high-performance machine running Windows for myself for less than it would cost me to buy a high end Mac. Despite being technically competent, I have ZERO interest in fooling around with half-baked digital music software on Linux. When I am making music I completely leave my software developer mode aside. Besides, there are Linux no drivers available for the digital music devices I use.

I use a Macbook for almost all of my web browsing, email, and some fun programming.

I use Ubuntu for a lot of fun programming, especially for learning about operating system design.

Although my use of OS X only dates back about two years, I must agree that for usability, beauty, and solidity neither Windows nor Linux can touch OS X. However, I do find Ubuntu more to my taste than Windows Vista.

Somehow, even though I make my living with Windows, I just cannot love it. Something about it is just wrong esthetically.

I always hope that Linux prospers, but I doubt it will ever move beyond being a marginal player on the desktop. Too bad, I regret that.

So, I'll probably continue to use all three for somewhat different purposes, loving Linux and OS X, hating Windows but needing to use it.

And so it goes....
Reply to this comment
by mkgmkg3 July 20, 2009 11:13 AM PDT
I have put a great deal of time into attempting to use any linux distro and have come across the same problem again and again - its to darn hard to install software or drivers. I am not some neophyte Joe Sixpack, but I am also not a computer coder.
I use my computer for graphic and web design. I am also well versed in digital photo restoration, but to not be able to double click on an installer and have it install is a deal breaker for me.
The promise of Linux is great, the implementation sucks when it comes to being an average or even well versed computer user. Linux needs the ease of use that OS X and even (ugh) Windows has for your every day common user. I think that, until the day comes that I can explain to my grandmother how to install a new printer driver on Linux, there won't be mass adaptation of the OS.
Reply to this comment
(30 Comments)
  • prev
  • 1
  • next
advertisement

After 5 years, Firefox faces new challenges

Mozilla helped reshape the Web since releasing Firefox 1.0 five years ago. Now it's got a reawakened Microsoft and Google Chrome to reckon with.

There's a map for that: GPS or smartphone?

Almost every handset comes with mapping software these days, but standalone GPS devices are becoming more affordable than ever.

advertisement

About The Open Road

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to the Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is general manager of the Americas division and vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.

Add this feed to your online news reader

The Open Road topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right