Skip to content

Software Arrogance/Choose Your Document

Saturday, 5 March 2005  |  njaard

Lots of programs in and out of KDE suffer from a condition that I call software arrogance. Consistently, I find such applications completely unusable and thus refuse to use them. Software arrogance is when a program feels it is more important than its user's document.

How is it that a program is written such that the user may feel that the importance of the application is greater than of eir document? First of all, the document has what is seemingly a minor role in comparison to its container. This is obviously apparent in MDI (window-in-window) applications like KDevelop in which you can minimise source windows.

What? Why would you want to minimize the source code window but still have visible all the tools for editing the source code?

It is reasonable to want to show two at a time, and to hide one while looking at another. Then lots of horrible user interface restrictions become apparent as a result of the two documents becoming inseparable from the other. You can't move one of the documents to another virtual desktop, the taskbar becomes meaningless, and, like KDevelop and Microsoft's Visual Studio, your application uses valuable real estate like Starbucks.

Now, some of you may say that you like this window-in-a-window thing because logically, when you use KDevelop, you aren't editing just a source file, but you're editing your entire project, and each window of source code you're editing is fundamentally linked in that regards.

So, I ask, what really is the document? Is the document the project, or is it the source window? Hopefully, at this point in my rant, you'll agree that both are the document. However, KDevelop (and for that matter, Kate) don't treat the project as the document, they just treat the source code as the document, and then add a few tools to manage the project (almost like an afterthought).

Take a look at this screenshot of Kate, and let's look over some of the silly things in it.

  • There are ten menu items
  • What's the difference between a File and a Document, in the menu (apparently it lets you select the file to edit)
  • In the File menu, when you save, does it save the project? It doesn't, but why not? Why make it so easy to not save something?

We should actually let the user know that there is both a project and also a text window. Both of these would be the documents, and it's clear what everything actually is for. (Both of these screenshots are fake)

For now, KWrite remains a great text editor, and it doesn't have the flawed Project stuff.

Maybe my next rant will be on how stupid "IDEAL" is, like how it hides the document when you click on a tab.