Skip navigation.
KDE Developer's Journals

Software Arrogance/Choose Your Document

njaard's picture

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.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
brockers's picture

Are you kidding me?

Say (for instance) I have 10 windows open for a given application I am working on. This is neither an unusual situation nor a excessive request. If space, distance, consistency, and simplicity make for usability than MDI makes much better sense from a usability standpoint:

--If I cascade those windows I have taken up WAY more space then Kate's MDI interface.
--Not only that but it has become MUCH harder to actually switch to any given document because its always n+x keyboard shortcuts away (x being the number of documents opened from the last time application n was used.) Consistency is out the window.
--In addition mouse movement is non-consistent and the distance (and therefor accessibility) varies from the current document you are working on to the document furthest from your current mouse position.
--Title bars (and panel tabs) always give WAY more information than is necessary for a given document reference making them unusable (my file names are longer than the damn panel tabs) and annoying (10 documents that all look like KWrite- /the/path/to/your/current/project/named/whatever/xxx.cpp.) Tabs (or similar MDI widgets) present much less information but that information is much more significant. Both a simplicity and space problem.

Users like MDI because it creates "containers" for organizing their information. They know that each Konqueror tab represents ONE web page, and each Kate tab represents one source file. I use a single shortcut (or click in a very specific area) to switch between each document in a given container... I can switch containers with a totally different command.

We do the same thing in real life... at my office we have an inbox and an out box. This does not mean that the box has become more important than the mail. Just that its easier to organize information based on particular criteria. I guess would could have a table sitting out to just toss all incoming and outgoing mail onto, but I don't think anyone would believe that it makes life easier to do so.

For example; from your rant, having multiple desktops would be a frustrating mess that is both functionally worthless and cognitively frustrating. But instead users LOVE multiple desktops because it allows them to organize in a way that coincides with how they think ( Desktop 1 is writing papers, desktop 2 is Internet stuff, desktop three is games... etc..)

Bobby

njaard's picture

so what's your document?

Are you working on a project, or ten source files?

In the case that you think you're working on a project, then maybe it would be better if the window manager supported grouping... Oh wait, it does, it's called Virtual Desktops. (Although it would be nice if it allowed you tab any group of windows, or do it automatically based on window class if the user so chooses).

If you think you're just working on 10 source files, then why is the editor allowed to group them implicitly?

tjansen's picture

Symptoms of the window management problem

What you describe are mainly symptoms of the window management problem. Yes, it would be logical to have different windows for projects and files, but this would be unusable with today's windows management mechanisms. Other symptoms are that Kate embeds a file manager in the side bar (instead of letting you use the existing file manager), Kate's list of open files (instead of opening a window for every open file) and the ever-increasing popularity of tabs in editors, web browsers, Konsole...

All these symptoms are the result of the window management problem. It's extremely inconvenient to find and switch to a window when you have more than 10 windows open. So apps try to work around the problems by inventing new ways to make finding and switching documents easier. Solve the window management problem, and you can fix the apps. Unfortunately it's not an easy problem to solve.

zander's picture

IDEA

The IDEA editor where the IDEAL interface was stolen from has loads of really good ideas; I think its a good idea that the kdeveloper guys get their hands on a copy and play around with it a lot more.
Maybe they will notice that the company that build the original had a good designer team behind them and that the kdevelop guys should look a lot closer to what they are copying..

But that will probably never happen..

mattr's picture

got a link?

You got a link for the IDEA editor? I'll take a look

zander's picture

idea

IntelliJs IDEA editor is a pretty expensive piece of software that I don't have a link to or anything like that. I have it on my pc at work.

Maybe you can get a free version, so take a look: http://www.intellij.com/idea/

Notice that its primarily a Java IDE.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.