March 28, 2004

Anger, Maintainence, Automake

Apparently there have been some people who have decided I am a ... 'difficult' .. person (attempting to stay as pc as I can be). Trust me, I am not as bad as my reputation might lead you to believe. I am just a very unsympathetic person. I don't exist to pat your back, or cuddle you, or make you feel better about your existence. I am absolutely not around to be your shoulder to cry on, trust me. Anyway, just wanted to clear the air publicly on that one.

Recently there has been an influx of interest in MonoDevelop. This has given birth to some cool stuff (like nemerle language bindings) and also some interesting things. For example, I was asked about a Glade -> C# autogenerating code feature (I thought this was hashed out years ago ;) ). Now, regardless of if this is a bad or a good idea, because I am sure it is useful to some people, with it comes ui. I have recently learned ui is bad, for every option, and every feature, you have to have a user interface (obviously), and pretty quickly you will end up with an editor with 5 lines of text visible and a lot of buttons, menus, side widgets, and other cruft. I am sure all of you have seen pictures such as this, or this, or even this. I could go on, but I don't feel that I have to.

My new rule is that for all new ui I ask myself "If I allow this in, what else would people want to put in, and is that something I am willing to maintain, and support?" Overwhelmingly the answer is no :).

One thing we have been working on is the concept of 'modes'. This allows us to pack the displayed ui with things that are actually important to you. For example, if you aren't debugging, do you really want the debugger ui being shown? Probably not. The other thing we are promoting is configurability. Now in MD, you can create a series of custom layouts that are specific to your mode. This allows you to switch between a heavy ui to a light ui relatively quickly.

I know the attraction to add a checkbox for everything exists, and I even have it myself. Hell, there was a time i toyed with the idea of putting the dockbar (where your docks go when they are iconified) into the statusbar. These are all great and fun to play around with, but don't get carried away. You have to keep in mind that you are still creating an application for users not ui scientists.

</rant>

Update: As much as this is true, a wise Apple UI scientist once told me that top-down UI should be in every application, especially this one.

I guess I will save my automake rant for another day.

Posted by tberman at March 28, 2004 07:54 AM
Comments

Mo' buttons, mo' betta! All kidding aside, I completely agree with your point of view. Injecting an IDE with some serious usability considerations is a breath of fresh air. I *still* have no idea what the vast majority of VS.NET buttons and options are actually for, and I've been using it non-stop for over two years now.

Posted by: JPerrin at March 28, 2004 03:38 PM