bad ui on display in dia

September 7th, 2007

Dia is a really useful application. Perhaps there is some better one out there, but it's the best app I've seen for drawing diagrams. When I need to draw a diagram for a technical paper or a presentation, dia is essential.

Having said that, it has some really bad interface problems. Not that ui is any kind of expertise of mine, to me it's just common sense and if something gets in my way I think it's badly designed. For that matter, I have read quite a few criticisms of bad ui, but never one that strived to be complete, to give a full review of the application. It seems that ui critique is really about pointing out one or two bad bits. And that's what I'm doing here as well. So obviously this doesn't mean the whole application is useless and everything is wrong.

MDI/SDI

Some people have really strong feelings about this issue. Personally I think it has to be settled on what is best for the application in question. Firefox is Single Document Interface, ie. you have multiple windows. Opera is Multiple Document Interface, where you have one main window and more windows inside of it ("multiple" refers to these sub-windows). To me there is no question that Firefox is much better off for this. Everything you need to do in Firefox is constrained to the one window, you don't need multiple windows visible unless you're doing some kind of copy/paste activity.

But editor apps have other needs. Photoshop is SDI (as are most image editors), the gimp is famously (and painfully) MDI. Dia copies this bad choice. I suppose the argument is that when you have your canvas window separate, you can maximize it and work on your document full screen. However, unlike Firefox, you need a lot of tools to do this, so unless you've memorized keyboard shortcuts to select them, you have to bring the palette, layers and other windows to the front anyway. This is a huge pain when you don't *dedicate* your workspace to editing, but you also have half a dozen other applications open.

No menubar in the canvas window

This is my biggest gripe with dia. For better or for worse, this is the kind of diagrams I draw in dia (below). I rarely use the in built stencils, because they all assume some specific kind of diagram other than what I need.

dia_filemenu.png

As it happens, one of the more useful functions in dia are the layers, when dealing with more complicated diagrams. To bring up the layer window, I have to right click on the canvas to get the main menu first. Why this menu isn't fixed at the top perplexes me (apparently it's possible to change this, but defaults are much more important than configuration options). Well, you might think what's the difference, either way it's just one click away. The difference is that when it's a fixed menu, it's always in the same place, it makes it easier to use, you locate items quicker visually.

A lot of useful things are in the main menu. Like alignment of objects. This is found in the Objects > Align submenu. Needless to say this is quite a pain to invoke more than a couple of times. This should probably be made into a palette window.

One thing I really like about dia is the number of different formats it can output. Most of my diagrams are pngs. This is called Export in dia. But to export my diagram (rather than save it in dia's own format), I need to choose File > Export from the menu. There is no keyboard shortcut for this action. If I'm tweaking my diagram to see if it looks good in a report, I have to do this export ritual several times. Awful.

Other quirks

And do you see that zoom control in the lower left corner? I can't change the zoom level with my mousewheel (like in the gimp). Bad.

In the above screenshot, if I wanted to place some object above the rectangle, a distance greater than what I see in the canvas, I have to scroll up. Except that the scrollbar doesn't seem to allow this, it seems to indicate that the canvas can't be larger than this. The mousewheel will actually scroll up, which is inconsistent with the scrollbar.

:: random entries in this category ::