Lessons Proprietary Software Can Teach Open Source
cdlu writes "Kris Shaffer at Newsforge argues that just because software is open source doesn't mean it should be unpopular. What lessons, he asks, can open source projects learn from popular proprietary software?" From the article: "In the absence of a monopoly, there are three traits that are likely to make an application popular: it is cool or attractive in some way, it provides easy entry, and it is addictive. Barring these things, most average users will stick with the status quo. In fact, many users never use a program on their computer that did not come pre-installed. However, by creating an attractive, easy to set up, addictive application, a developer can motivate the average user to break this barrier and try something new. And several such applications can generate strong popular interest in the open source movement in general."
Any doubts about that? Check out the latest wave of Linux distros and their adoption rates. The distros that have live CDs are thriving. See Knoppix and Ubuntu for examples.
Agile Artisans
During my freshman year, I've watched a huge number of college kids switch to FireFox because of peer recommendations. Some of them even get OpenOffice.org and Thunderbird. I OSS software, especially for Windows, will continue to grow in popularity on quality alone.
The vast majority of closed source apps are sold, marketed. Partnering gets them on the desktop.
If we were talking about religions, closed source is Chrisianity, with missionaries, and wars and such.
Open source is Buhddism, where one must go and seek out enlightenment himself. There are no wars fought, to missionaries spreading the word. One adpots buhddism dur to principal, and not because someone else tried to sell it to me.
Appropriately, I think the world population of Christians vs Buhddists resembles that of closed-source vs open source. The same goes for adotion rates.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
That is frighteningly true. I made a program a while ago that tunnels a connection to another server while relaying the incoming stream to other users (a sort of MUD TV, called snoop, download it at www.poromenos.org), and I was amazed at the amount of questions I got about what I thought was self-explanatory. I ended up making an installation program with an option to install the settings for the MUD as default, because noone would use it otherwise (well, not without asking me dozens of questions about what the "remote server" should be).
Send email from the afterlife! Write your e-will at Dead Man's Switch.
All Your Base Are Belong To Us.
if it's not open source, that's the attitude/lesson.
-- Tigger warning: This post may contain tiggers! --
Good FOSS projects seem to need more polished marketing. Firefox has made a good first step in this direction, but I have inevitably encountered resistance to adopting FOSS solutions in various workplaces, including small companies.
I'm not sure why this is, but when I show the decision makers a potential solution, the idea seems to be well-received until mentioning that it is free and open source, at which point interest seems to diminish. Recently, I was unable to get much consideration for pdfcreator, and it looks like we'll be buying a half dozen licenses of Acrobat, even though we just need each user to be able to generate a few (sometimes encrypted) pdfs each week.
I'm not sure why this is. Is there a perception of lower quality? A desire to have an official support channel (even though current support for most purchased software is atrocious)? Perhaps it's a mistaken, subconcious association between FOSS developers and hacking.
If it doesn't already exist, someone should set up a slick marketing website advocating FOSS solutions with materials for advocates to use in their workplace and content aimed toward purchasers who could use better education regarding what FOSS can provide.
Well, I think that for any piece of software to be popular:
It must provide functionality that is useful/interesting/fun (Productivity/Information/Games)
It must be easy to use, intuitive and of high enough quality that bugs are minimal
Software needs some form of advertising to make it popular. Popularity feeds popularity (Microsoft). Usually if the functionality offered is unique enough and useful enough, word of mouth/search engines take over and help with this.
Those people who think they know everything are a great annoyance to those of us who do.
Irfanview is one of the best pieces of software I have used. I really really wish that it was ported to Linux, I haven't found anything close to it. It is free and it simply kicks ass. It is fast, feature-rich, and has new features added often. It isn't full of restrictions and is not evil. It is the exception to the proprietary software model.
My beliefs do not require that you agree with them.
Well, I wouldn't be using it, but we all know managers, PHBs and coworkers who would use it in a heartbeat.
Hell, I used to work with a network admin who played his favorite porn clips for general IT consumption, with the volume cranked loud enough for the customer service people upstairs to hear it!
If you want to make money off the CD, then start selling the links. Want links to your site included in PornLinux? Pony up the fee. Want some of your video clips (Complete with watermarks of course) on the CD in such a way as to make your site seem faster than the competitors? Pay the fee. Want to be a "preferred vendor" in the links on the CD, complete with links on the desktop instead of in the Bookmarks on the web browser? Pay the fee.
We all know Porn was the first thing on the Net to make money. Why should Linux be any different.
Now watch some bastard steal my idea, make a fortune and not pay me a royalty for the idea. I should patent it. Heaven knows the US Patent office would grant it in a heartbeat.
"Live Free or Die." Don't like it? Then keep out of the USA
No, don't follow that advice when making software. If you want it to be popular, make is useful and easy to use. That does not mean dumbing it down, but make good MAN pages. If you are a tech wizard, let 2 or 3 people who are tech idiots read the MAN pages to see if they can figure it out. A english major would be a good person for this task.
I'll give you a clue. When there is some new tool in linux I want to use, if I can't figure it out in an hour, I move on to something else. My time is valuable. Don't make it a puzzle.
Rosco: "If brains were gunpowder, Enos couldn't blow his nose."
This is an axe I've been meaning to grind for awhile now. OSS is like the world's biggest development and research laboratory. Given infinite resources and gallons and gallons of free code sloshing back and forth out there, OSS has yet to come up with something stellar.
That's not to say the OSS world hasn't made progress, and even come up with some interesting and useful things. I love it that I can open remote files over FTP from a KDE "open file" dialogue. I really love Jedit's plug-in architecture, not to mention its plug ins. I love auctex and emacs and save time with bash scripts and catalog my crap with a Mysql database.
So where's the radical new approach to software? I'm off to buy a copy of OS X Tiger because I want spotlight and dashboard for my Mac, knowing full well I can download Beagle and zeroconf for Linux.
I'm afraid all of the "but Windows users won't go for it" mentality is damping the creative juices of developers who are afraid to radically alter the computing paradigm in fear of alienating the Windows sheep that won't switch to any OS that doesn't exactly mimic the Windows software they use mediocrely. So we're forced to shoot for the lowest common denominator.
What would happen if, just for a moment, a group of smart people with full access to OSS code and no particular interest in pandering to the sheep put their minds together and came up with something radical?
I don't know what that radical thing would be -- I'm not one of those smart people -- but I do know computing is remarkably unchanged compared to the state of things 10 years ago. Linux has caught up with Windows as far as I can tell. So where is the innovation? What could we do if we weren't so busy trying to keep up with the boring monolith in Redmond?
If this were Usenet, I'd killfile the lot of you.
Actually a friend and I had thought about this
4-5 years ago. The name of the distro would be
PAL (Porn Again Linux) Linux, and the slogan
was going to be "PAL Linux -- for when you need
a hand from a good friend!"
We figured if any distro was going to be insanely
profitable it would be PAL Linux, since what
made it different from the other distros was
the
a) Porn themes with all sorts of Porn images --
straight, gay, lesbian, group, you name it
b) The sound effects -- you know, when you
login into your desktop, you would hear this
sultry voice say "oh yeah, Baby it's gooood
to see you!" and when you log off you would
hear this beautiful voice begging you
"Noooo!!! Don't Stop!! I'm almost there!"
This would be a guaranteed winner we figured with
the male 18-to-Dead age group.
Feel free if you can get the venture money to
take this idea and run with it. I figure if anyone would like to sell this distro it would
probably be one of the many online porn sites.
--- Unknown Hacker
Just like anything that's already said, this one seems quite obvious.
.fla instead so someone could edit the presentation and make it, well, flashier.
Any FOSS product will be popular if:
- It is easy or easier to use than alternatives
- It gets the job done
- It gives something alternatives don't
- It provides as little as possible disruption
I would like to point out a couple examples:
I use Gaim on Windows XP (and under Linux - under OSX I prefer AdiumX, which is libgaim-based anyway) all the time. I have converted some people to it, but most of the non-conversions are due to lacking features like video or voice (I know it will be solved soon, if not already). It gives something MSN, Yahoo, ICQ and AIM don't: having more than one account logged on at the same time. Lacking features, tough, limit adoption. Running under Windows is a must - anything else limits adoption to, at most, 10% of the market.
My girlfriend was sold on Firefox because of the tabbed browsing. RSS is great and being able to import bookmarks is very convenient (But I am not very happy to lose the standard RSS links when I do so)
Similarly, OpenOffice.org Calc could win some users if it did something Excel would not do, like Monte Carlo analysis (I would love this one) or more than 256 columns on a single sheet (A client of mine would have switched from Excel just because of this). As it is, OOo Calc does neither. As a whole, OOo not being able to run natively under MacOS's GUI is also a problem.
I love to be able to export OOo Impress presentations as Flash movies, but I would like to add, forgive-me, more flashy features, like animated transitions. I would be very happy if I could export it as
Please note that ease of use means "it's easy to make it do what I want it to". Apache may be devilishly hard to use by a casual user, but a trained professional can make it do things IIS cannot, will not and would not even dare to try.
Well. My US$ 0.02...
http://www.dieblinkenlights.com
As ridiculous as this may sound, epsecially to the nerdier crowd, a project's image has alot to do with its popularity and success. Sure, inside the OSS community, any project that's good is instantly recognized and widely used. But outside of the nerd crowd, people are not impressed by the things they have no idea about. A logo, a website, and what is probably most important a GOOD NAME, go a long way towards promoting a project and creating a sort of brand name to associate with the software. Look at Ubuntu, OpenOffice, Evolution. Then look at the Gimp, k3b, and rest of the amazing, but poorly named and buried in boring text pages covered with build numbers and READMEs, projects. It goes back to the RTFM mentality hurting the popularity of open source software.
As always, quality is undefined. What kind of quality are we looking at here?
Some apps are rock solid while looking like hell being insanely difficult to install. That's not quality for me, even though you don't mind the looks and find the install easy (perhaps cause you've done it 15 times, getting the hang of it at your fifth time?).
Most if not all FOSS software are rock solid but are sadly lacking at 2 and 3. And that's what this is all about.
Neither Firefox nor OO or even Thunderbird have these problems. They're easy to install, run well and look decent. I'd guess all three factors came into play when your college kids decided to get and keep them.
In this context its easy to see why web apps are becoming more and more popular. As technologies improve the gap between RIA and desktop application narrow, and yet the threshold for using an application online, ie visiting a url, vs installing software and all that entails (security risks, uninstalling if you didn't like it, etc) is substantially lower.
This actually gives me an idea.. why not have a framework for the installation/removal of applications which removes most of this hastle, making installing (and removing) an application as easy as visiting a website?
Ignoring the security problems for a second, isn't this possible? I know I just click "next" a x times until the app installs. Just standardize and automate this process completely, everytime I use the software download a new version if its available, etc..
Webstart and Central come close, but there is nothing like this for native apps.. or is there?
-ashot
suit that has spreadsheet funtionality of more than 256 columns. I am running into data table with more than 1000xtens of thousand elements i=on a daily basics.
Does anyone know of a spreadsheet with this large table capacities?
Usability is all too frequently seen as a "bonus add-on" than one of the core pieces of software design. Slick icons and app "skinning" do not make anything more usable. If you developers aren't down with taking design criticism from a non-coder [as many I've encountered are] about things other than the way something looks at least take the time to read up on these subjects yourself. People like Don Norman, Steve Krug, Alan Cooper, and teams from Apple and Microsoft all have a great deal of writings on these subjects available.
Relevant reading on this subject by John Gruber:
Ronco Spray-on Usability
Sundry 'Spray-On' Clarifications and Corrections
Most proprietary software is rigorously tested on the lamen to see how well he/she can negotiate around it. Where as all but the most popular open source projects, frankly, don't give a shit.
While I agree generally with the thrust of your argument I think it may go a little to far. I do think many open source folks care about the interface. They just aren't very good at it and lack the resources. Serious interface testing requires a lot of resources that many open source projects find difficult to come by. They need to be able to observe how people use the product and that's not always easy.
I do think there is an opportunity for someone to create some open-source tools to help open source (and closed) with interface testing. (Maybe this exists, I'm just not aware of it) Imagine a tool which essentially records (screen capture) movies of users conducting certain tasks and also provides statistical data about things like time between button clicks, which menus were looked at and for how long, etc. I'm thinking something along the lines of a set of debugging tools (vaguely similar to a profiler I guess but for actions instead of code) which are oriented towards user interface work. The results could then be sent back to the programmers similar to how Mozilla uses TalkBack. This would solve at least one of the problems open source projects have in getting information about user interface problems.
Of course that doesn't mean the programmers will necessarily do anything with the data but at least it provides a method for those who take interfaces seriously to get some data to improve theirs.
When I am in need of any software/tools, the first place I look is sourceforge. Others start at BestBuy.
http://www.joelonsoftware.com/printerFriendly/arti cles/fog0000000052.html
Most people, however, will view a product with a large company backing it as being higher quality. It isn't really true, as we can all attest to, but marketing is all about perception, not truth. Its harder to convince someone to use a product thats written by some random people on the internet than a product written by an established company.
You know what's really scary? When you fall asleep and find yourself playing the game in your dreams!
I've done that with Tetris, Bejewelled, Doom and Counter-Strike, so obviously a mark of quality.
~~~~~ BigLig2? You mean there's another one of me?
am i really the first to mention it? AutoPackage should make things better for linux.. once users see some Click-Install action, they'll love it. (Personally I don't have a problem with Synaptic, but it's not what users are used to. I watched my friend using OS X once and he downloaded an app, and installed it without even thinking. Drag-dropped it right into the dockbar and he went and used it. Users tend to prefer this than starting up a special "install new software" app..)
I think that the actual reason that there is limited adoption of F/OSS software is that most people who use it don't want to see Joe User using their software, I think that at the end of the day, a lot of the geeks would perfer to see uncle joe and aunt tilly to go with a proprietary/semi-proprietary solution like Apple, or yes even Microsoft.
I think the real reason that a lot of people shout about wanting F/OSS adoption is they actually just want a little more support from commerical vendors.
Famous Last Words: "hmm...wikipedia says it's edible"
That is the benchmark I would use. Commercial, proprietary hardware and software is tested time and time again with focus groups of all sorts of demographics. I visit this guy once a week who is 80 years old. He uses the internet via cable modem, has a scanner, printer, and digital camera all attached to a laptop that he can pack up and take with him on vacation if he wishes. He has Windows everything + AOL despite the cable connection. It all does exactly what he wants it to do for him.
I'm sure Bill Gates and Co. go through endless rounds of focus group testing, developing their products around each group's results. Successful software is designed as close to your target market or user base's requirements as possible.
Now why in God's name would anyone add the cost of AOL on top of broadband? Ask my 80 year old client how wonderful it is that AOL puts everything right in front of him. He doesn't have to go digging to find the function he wants to use, there are pretty buttons and animations to guide him. Anything he would want to use the internet for is packaged right into AOL's software. And guess what, AOL's software is FREE (yes I know its useless without AOL service, but still). So here we have an example of a corporation that publishes software for FREE that is so popular that despite already having an internet connection, millions of people subscribe to AOL just to use the software on a CD they give away in every post office across the United States.
What kind of resources do AOL and Microsoft pour into researching what their user base wants to see in their software? Now compare that to the research some dude living in their parents' basement does on their target market or user base before posting their code on freshmeat or sourceforge. Which one do you think is going to win over a huge population of non-geek users? When's the last time an Open Source vendor sat me down in front of a computer in one of their offices and said "Here's what we came up with, now here is a survey. Please stay for the group discussion afterwards." When did they do that with grandma and grandpa, or a classroom of fifth graders? Even if they did, did they listen to grandma and grandpa or the fifth graders and implement their comments, ideas, and needs into the next release of their product?
Now tell me how a person or organization can accomplish market research and focus studies on the level of AOL, Microsoft, or any large vendor that the average Slashdotter love to hate? That's right people, they are capitalist, money hungry corporations that jump at any chance they get to make an extra dime off of John and Jane Doe, cause some percentage of that extra dime is going into really high level market research and a shitload of developers to churn out a response to that research.
In the real world all a product really needs to be is what your target market wants at the price they're willing to pay (or free, for that matter). Doesn't matter if it's software or chicken shit.
I think a great analogy for this is the automotive industry: the people that design and build the engine are not the same people that design the dashboard/body/etc. The software created by the OS community are great engines. That's it.
While user testing is the best way to develop user friendly apps, there are known values and 'best practices' available to GUI designers that the hard core coder is not familiar with. Millions of dollars worth of university research is poured into understanding users and a lot of that info is freely available. Just using the basics can already improve many apps out there.
So, 2 things need to happen: 1- the OSS community needs to breed/recruit designers with a background in UI development. 2- Integration of the code and the UI needs to be easy to prototype and finish. As a designer, I know layout, but I don't know anything about windowing or developing in APIs. So I would need another piece of software (like VB or at the least the Design View of Access) where I can move around the widgets and components and graphics then mesh it all together later.
Lots of spreadsheets can handle tables that large, but they call themselves databases.
Devil's advocate:
Why does Open Source want to be popular? Seriously - this is a question we need to ask. With proprietary software, the reason is simple - income. With open source software, however, that isn't so often true.
To an extent, Free/Open source software do require popularity. But it isn't user popularity - what is required in an input of developers, code-tinkerers, programmers to take an interest in the software, and to help develop it. If not directly, then at least add some positive feedback. Bug reports, feature requests, etc. Now, making the software easy to install and use does attract more users - but realistically, what sort of positive benefit would an open source project derive from being used by people who would normally never use a program on their computer that did not come pre-installed?
Much of the time, open source developers are just playing straight into proprietary software's hands. (In many ways, Microsoft etc dictate users' perceptions of what is 'user friendly'. Many complaints about alternatives are that they fail to replicate proprietary software's flaws.)
It looks like what Open source really needs is really some sort of social engineering, to coax more people into viewing software as something other than essentially singular 'products' but instead as an ongoing process in which participation is required. Perhaps open source needs free software?
People tend to have abilities that polarise into 2 camps:
- `empathy` with code
- empathy with people
So the people who code best aren't so good at getting into the mind of the numbskull.
The problem isn't quite as bad as you think.
Non-coders, this is where you come in.
I have often noticed things in OSS that can be improved and as someone who doesn't enjoy coding I find I'm really good at noticing useability problems.
I sometimes put in requests but I feel I'm stepping out of line because I don't code. In fact it seems rude to use someones gift to you and then critique it. Value the views of the non-coder.
- so you have to be massively diplomatic and even then your suggestions will probably be ignored because...
- there's little incentive for OSS to work well for non coders.
If anyone can think of ways to improve these problems please get in touch. Computers are annoying enough.
A blog I run for the wealth