Ruby on Rails has the same appeal as the MacOS

Why do people flip out over RoR? Primarily, because it’s fast. It’s so fast to develop new applications in RoR. But why? What separates RoR from any of the other frameworks out there? The approach that defines RoR is “convention over configuration,” and that’s where much of the speed comes from. I had an epiphany this morning: “convention over configuration” sounds familliar. That’s why I use a Mac.

My current job is really the first time I’ve had to use Windows regularly since Windows for Workgroups 3.11. That’s way back in 1995 when Windows 95 was still vaporware, much like Vista is now. Isn’t it already 3 years overdue? Anyway, that’s not relevant to this discussion.

I’ve had many discussions with people over the years about the old Mac vs. Windows debate. I’m no rabid Mac advocate: it’s not the best solution for all people at all times. Hardcore Windows users frequently complain that on the Mac there is no Registry, that you can’t really configure hardware devices etc. I would argue that on the Mac you don’t have to. It’s convention over configuration.

When I first started using a Mac, I had many of the same misgivings. Where were the menus with the bazillion options to choose from? Why couldn’t I regulate every little detail of the interface? As I used my Mac more, I realized that I didn’t have to. The configuration options I wanted were absent, but the need for them was absent as well. And I say the MacOS is better off for it, because it lowers the barrier to entry.

I frequently think about interface design in terms of my mom. I know, a lot of people do this, but it works. My mom has fought with Windows for years: it doesn’t do things the way she wants. What she doesn’t realize is that she probably can make it work the way she wants it to, if only she knew how. And therein lies the problem. It’s too complicated to get Windows configured just so, and so most users end up just living with it. Why should a $300 piece of software just be “lived with?”

The MacOS takes a different approach. It comes with a working configuration that is easier to use than what you get with Windows, and with fewer options. This means that the application and system interface isn’t cluttered with 1001 widgets all of which let you configure system, and so all you see are the features you want access to. This seems to be the goal of the UI revisions in “Office 12,” but they still don’t seem to have figured it out. Too many options mean that most of them just don’t get used.

If the system has good conventions, or default options, then you don’t have to spend your time fighting with it, and it generally does 95% of the tasks that 95% of users need done without any hassle. This is true of the Mac OS, and it’s true of RoR. The main difference is that the RoR folks have made their goal explicit.

Accomplishing 95% of what I want to do easily: that’s design elegance.

</epiphany>

No comments to date

Subscribe to comments

Leave a Reply