Appropriate software design

It makes sense to have an option only if an unsophisticated user can understand what it does and how to set it. Otherwise you should Do The Right Thing for those users.

That’s a comment from an LXDE developer on their mailing list. LXDE is a Linux desktop environment (i.e. user interface) with a focus is on lean code, and a level of usability appropriate to new users. Principles like the one above are central to what makes the project work so well.

Of course it can be more complex – it can be good to have advanced options, as long as they’re marked as such, and the default is suitable for regular users.

2 thoughts on “Appropriate software design”

This is okay as long as that “advanced options” menu exists and isn’t hard to find. If not, then this philosophy tends to evoke my principle of STDWSO (Stab The Developer With Simplified Objects), because all too often “the right thing” is completely not the way I want it.

as long as that “advanced options” menu exists and isn’t hard to find.

That’s definitely the ideal – I have no idea whether LXDE does this well. LXDE’s specific focus is on newbies (new to computers or new to Linux) so I’m guessing they might sometimes prioritize the needs of newbies over developers. But having said that, the lean code and logical operation could appeal to developers, and I hope that LXDE packages work for everyone. (And if they’re not there yet, I’m sure they’re very open to input, and especially coding assistance.)

So far I haven’t found anything that seemed too dumbed down for me (though occasionally needing a lot of development, e.g. the very lightweight application monitor, LXTask 0.1.

Btw, Woozle, one thing that might appeal to you is that it’s very modular, each package often having no dependencies at all.