Luis Villa on Open vs. Bottom-Up

As usual, I agree with pretty much everything Luis Villa has to say about yesterday’s post here:

Tim makes the assumption that open projects can’t have strong, coherent vision- that “[t]he decentralized nature of open source development means that there’s always a bias toward feature bloat.” There is a long tradition of the benevolent but strong dictator who is willing to say no in open projects, and typically a strong correlation between that sort of leadership and technical success. (Linux without Linus would be Hurd.) It is true that historically these BDFLs have strong technology and implementation vision, but pretty poor UI design vision. There are a couple of reasons for this: hackers outnumber designers everywhere by a large number, not just in open source; hackers aren’t taught design principles in school; in the open source meritocracy, people who can implement almost always outrank people who can’t; and finally that many hackers just aren’t good at putting themselves in someone else’s shoes. But the fact that many BDFLs exist suggests that “open” doesn’t have to mean “no vision and leadership”- those can be compatible, just as “proprietary” and “essentially without vision or leadership” can also be compatible.

This isn’t to say that open development communities are going to suddenly become bastions of good design any time soon; they are more likely to be “bottom up” and therefore less vision-centered, for a number of reasons. Besides the problems I’ve already listed, there are also problems on the design side- several of the design texts I’ve read perpetuate an “us v. them” mentality about designers v. developers, and I’ve met several designers who buy deeply into that model. Anyone who is trained to believe that there must be antagonism between designers and developers won’t have the leadership skills to become a healthy BDFL; whereas they’ll be reasonably comfortable in a command-and-control traditional corporation (even if, as is often the case, salespeople and engineering in the end trump design.) There is also a platform competition problem- given that there is a (relatively) limited number of people who care about software design, and that those people exclusively use Macs, the application ecosystem around Macs is going to be better than other platforms (Linux, Android, Windows, etc.) because all the right people are already there. This is a very virtuous cycle for Apple, and a vicious one for most free platforms. But this isn’t really an open v. closed thing- this is a case of “one platform took a huge lead in usability and thereby attracted a critical mass of usability-oriented designers” rather than “open platforms can’t attract a critical mass of usability-oriented designers”. (Microsoft, RIM, and Palm are all proof points here- they had closed platforms whose applications mostly sucked.)

There’s more good stuff where that came from. I think a big part of the problem here is that I chose my title poorly. It should have been “Bottom-up UI Design Sucks,” which is closer to what I was trying to say. I definitely didn’t mean to pick on free software in particular; Luis is quite right that there are plenty of proprietary software vendors who suffer from exactly the same kind of problems.

This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Luis Villa on Open vs. Bottom-Up

  1. Curtis Faith says:

    The problem with any sort of bottom-up organization is that it still requires leadership and a hierarchy of domain experts and designers to maintain sound architecture and to make sure the pieces fit together into a coherent whole.

    This is never done in open-source projects, at least not that I’ve seen, I intend to change that.

    Here is my first bottom-up project with a significant open-source software component. The logistics software will be written for iOS. We’re going to document the development and film its development. So we’ll post videos of progress and how this works so we can learn and get suggestions from those who were not there when decisions were made.

  2. Jess says:

    …leadership and a hierarchy of domain experts and designers to maintain sound architecture and to make sure the pieces fit together into a coherent whole…. This is never done in open-source projects…

    I have to disagree with this. I think that at least the Linux kernel, most of Apache, and the Python programming language contradict this assertion. There are certainly numerous other examples but they don’t spring to mind as readily.

Leave a Reply

Your email address will not be published.