Skip to content

Re: lessconfig

Here’s a partial response to some ferreting out questions from Dan Davies Brackett.

lesscode and lessconfig

(1) is less config orthogonal to less code?

I don’t think less code and less config are completely detached. (The word “orthogonal” drives me crazy in it’s fancy-pantsness.) Depending on how it’s coded, less config could require more code. On the other hand, it could mean less code because you have fewer different paths to support. As always…”it depends.”

Good or Just Nice?

(2) is less config a demonstrable, philosophical Good or just a frequent user request? (is there a difference between those two things?)

Less is always good in the world of computers and IT I want to live in: the one where everything works exactly how I’d like it to, out of the box. Of course, since not every program does exactly what I want, a defensive move is to add in more options so that the software can behave like Coté wants, like Jane wants, and like Terry wants, all by setting different options. That’s config right there, but it might be unavoidable.

Or, you could take the maven vs. ant approach. Ant is lots of config. Maven is (on the face of it) less config. The trade-off is that Maven enforces convention and constraints that drive the structure of your project, for example, one artifacts per project, e.g., not however many JARs you want.

Sensible Defaults

(4) To what extent does “less config” actually mean “sensible defaults”?

In the same way that helpdesks are the first toe into more ITIL’ed up IT, sensible defaults are probably the first toe into lessconfig. On the other hand, a default implies it can be changed, which means more config. Getting back to the different desires of users above though, you usually want that.


(3) What are the best examples and counterexamples of less config around right now?

I look at OS X (of course! who didn’t see that coming?!) as a less config platform. This results in really hokey things, like a GUI with an option called “Personal Web Sharing” to start up Apache.

And, for another who saw that one coming, you have rails with it’s “configure by convention” instead of “configure by typing.” That leap takes a lot of ego-deflating for programmers: “there’s nothing special about your needs 80% of the time. You can do what everyone else does.” While we may not think that programmers like repeating themselves, they sure don’t act like it when it comes to config do they?

Canned Config

Along those lines, another interesting aspect is to think of virtualization. If you could just make a library of 1,000’s of different configuration in VM snap-shots, then you could avoid a huge part of configuring. For example, you could create 100’s of different web server snap-shots, each customized for different uses. There might be one that’s the “Intel dual-core, Apache server with proxy for XYZ app, WebDAV file-share, and with subversion.” Instead of having to configure all that, you’d just re-image with or deploy that snap-shot.

That kind of thinking with VM’s isn’t my own, it comes from several other people including whurley and Fred Johannessen..except they have even cooler ideas for VM images in the exciting world of systems management.

Disclaimer: Sun, where Dan appears to work, is a client. As is BMC, where Fred works. Fred also bought me lunch today at every Austin BMCer’s favorite, Twin Lions. He is not a Wonderful Chicken man and neither am I.

Categories: Ideas, Programming, Systems Management.

Comment Feed

4 Responses

  1. example – Microsoft IIS used to be more config -which made it insecure and relatively expensive to install properly. Now it is lessconfig – secure by default, and more effective therefore.

  2. If you consider “lessconfig” as having more carefull chosen defaults, I’m all with you. Any product should behave properly out of the box.
    On the other hand, if you’re talking about removing configuration options, Well, I’m totaly against it. We can’t premiate incompetence and lack of knowledge. We have to give users who know the hability to make a better use of our products.
    I’m guessing it’s once again the Microsoft vs. UNIX vision, who knows best what’s best for you? Is it you or is it some guy on the other side of the world?
    It’s kind of strange to read about lessconfig when, not that long ago, one of the reasons for OSS superiority was that closed source SW couldn’t be extended to fit your particular needs. If one believes that, closing / making change harder is the worst idea that could be brought to the table.
    Remember about Openwindows? the coolest feature that GUI had was that you could bring the active window into the front OR NOT, it was up to you. You could make an Windows active with a mouse click or simply by placing the mouse over it (mouse click or mouse position).

  3. @james: great example.

    @jaime: if the coolest feature of your UI is that you can make is so that users have *no idea* what a window is going to do when they mouse over it on any particular machine, that’s a pretty bad UI. And with respect to incompetence and lack of knowledge, generally speaking the person halfway around the world actually *does* know better than you what your config should be. Because he’s an expert in the software, and you’re not, and you *shouldn’t have to be* to use it!

    (plug: I wrote a big, long post on this subject on my blog.)

  4. Dan. Obviously, I don't agree with you. You say that a user shouldn't be an expert to use the software, and I agree, that is why there is the discussion of the defaults that make sense, to stop "the company makes its money in two phases: (selling and installing)" (an altered quote from your own post).
    One thing is to have sensible defaults, another totally diferent thing is to remove the configuration options, that is the Windows way, Users are to dumb to understand how this works so, I'll say they all have to work this way. I'm all for making your software usefull by non experts but, that can't be acomplished at the expense of upseting the experts that also like your product.
    I could give you a million examples on why I don't agree with you but, I'm sticking with the same. My wife is now discovering the wonders of UNIX. She is a translator and, I put her at work with a Solaris 2.5.1 box I still have (with Openwindows). when she saw this Windows feature, she understood that she could be reading from a windows and writing to another windows the translated text. For her, it was a great feature, it saved us the cost of a 21 inch screen or the trouble of finding a specific SW with that specific feature, all we had to do was to change the configuration a little bit. Everyone wins (well, except me that have to maintain a SS20 that I was planing on killing – Note to self: find out if there is anyway I can do the same With OpenOffice or Solaris 10)