Sunday, October 12, 2008

Is User-Friendly the Way to Go?

Everything in the computer world: search, social networking, operating systems, even system administration, is going towards user-friendliness. User-friendliness is the carrot used by various manufacturers to lure consumers towards their products. It relies on humans' inherent laziness: if you can do something more easily, why do it the hard way?

That is also a good argument for user-friendliness: why expend effort (i.e. incur costs) learning how to do things the hard way when the same things can be done the easy way (i.e. at lower cost)?

But there is a hidden cost. It is hidden in the words "same things" above. I think there are things that cannot be done without using more sophisticated methods than the basic, user-friendly, point-and-click methods. How would you rename all files in your system with the extension ".bin" to ".exe" in a user-friendly fashion? This is just an example of a common task. If people could all write basic code, there would be a lot of advanced tasks that would become common. This would lead to greater complexity in the use of computers, and hence faster innovation.

As an analogy: It takes more effort to learn 5th grade math than to learn 1st grade math. 1st grade math is more user-friendly than 5th grade math. But you can do more with 5th grade math than with 1st grade math. Everyone should learn 5th grade math. However, only specialists need to learn masters-degree level math.

So the question is: where are consumer digital products currently poised? If they are poised at the 10th or 12th grade level, there is no need to educate people any more; only specialists need to learn anything more from this point on. If they are poised at the 1st or 5th grade level, people should be expected to learn more; that will lead to more effective use of digital resources.

Wednesday, October 8, 2008

Open Source versus Innovation?

I'm reading The World is Flat by Thomas Friedman, and he asks a question about open source that really made me think. What is the motivation for innovation if everybody gives their innovations away for free and nobody gets paid for their innovations, which is what open source seems to suggest?

I don't have a good answer, but it seems to work. As Friedman himself points out, many important innovations have come out of open source, including the Apache web browser. I would go so far as to say that most innovations in the field have come from not-for-profit efforts. Google's entire search infrastructure runs on Linux; Amazon's entire web presence runs on Apache. It's as real as it gets.

The question is tied to (and perhaps motivated by) statements from Microsoft bigwigs. Here is one that Friedman quotes (the inserts are his):
You need capitalism [to drive innovation.] To have [a movement] that says innovation does not deserve an economic reward is contrary to where the world is going. When I talk to the Chinese, they dream of starting a company. They are not thinking, 'I will be a barber during the day and do free software at night.'... When you have a security crisis in your [software] system, you don't want to say, `Where is the guy in the barbershop?' -- Bill Gates
But Bill Gates is hardly in a position to talk of innovation. Microsoft has not made any significant technical innovations in the last 10 years. Windows Vista's UI is (feature-wise) just a bloated version of Windows 95, with some bling. Microsoft's innovations are almost entirely on the business end: it has figured out effective ways to stifle innovation by competitors. So Bill Gates talking about what drives innovation is like a thief lecturing about honesty.

Gates' comment about security is even more perplexing in light of the extensively poor track record Microsoft has in security. Open source alternatives are far more secure in every way than anything Microsoft has. Maybe the reason you don't want the guy in the barbershop is if you know there's something wrong with the security, it's probably the Microsoft guy who's responsible.

But what Gates says is not really relevant here. None of this actually answers the question: how can you justify, theoretically, the claim that innovation can be sustainably executed within Open Source frameworks?

I don't have a good answer.