Tag Archives: desktop

Linux Desktop Speedups

Phoronix recently published an article regarding a ~200 lines Linux Kernel patch that improves responsiveness under system strain. Well, Lennart Poettering, a RedHat developer replied to Linus Torvalds on a maling list with an alternative to this patch that does the same thing yet all you have to do is run 2 commands and paste 4 lines in your ~/.bashrc file. I know it sounds unbelievable, but apparently someone even ran some tests which prove that Lennart’s solution works. Read on!
More info, including the commands you need on Ubuntu, here.

Do we still need a Save button?

Doing some basic mobile development for Android has led me to question a lot about what we take for granted with Desktop applications, and one of the reasons people find these smart phones and tablets a bit more intuitive to deal with. One of the big points is around the Save question.

Ask yourself for a moment, is there any desktop application you use where automatically saving every key stroke would be a bad thing? And for the few of you that can come up with an example, is that content that you are already explicitly versioning with some other system, like source code?

The existence of Save is part of what make computers fragile, or at least feel fragile, to people. You have to be ever vigilant of your data. The price of that vigilance is less productivity, as you always have to remember that you have to Save. Everyone has a moment when they lost some really hard work when they lost that vigilance for a short period of time.

In mobile, there is no time to Save. You have a mobile app open, you are waiting for a bus, and it shows up. You are done, and the phone goes in your pocket. If you had to remember to save, that state is lost. This is a much more natural interaction, and a much more expected one.

When you leave your house in the morning, you don’t nail all your furniture to the floor. You have a pretty good expectation that when you return home your couch and tv will be where you left them, they won’t all have been pushed to a corner, requiring you to reassemble your living room every night when you come home.

The way the real world works is when we push something someplace, it stays. The fact that personal computers broke this metaphor is part of what makes normal people get really nuts about computers. Yes, making software without a save button is harder for developers, but it creates a sense of durability that users really do resonate with. It’s a best practice in mobile, and hopefully something that will bleed over into the desktop application space.

gwbn – goto window by name in Linux

Years ago when I was using the Ion window manager.  Ion had many very nice features, not the least of which was goto window by name, which you could do from an interactive console or script into other tools.  I created an “e” command, which loaded the file in emacs, then moved you to the emacs desktop window.  This was a great minor productivity boost.

Ion went off the rails for me in a number of ways, so I left, and started using stock gnome in ubuntu.  Using a combination of tilda, superswitcher, and devilspie you can get very close to the functionality that I missed, with the added benefits of all the modern bits of the gnome desktop, like dbus, nautilus, and hardware just working and doing the right thing when you plug it in.  But I never got goto window by name back.  I played with libwnck for a while 2 years ago, and never could figure out what I was doing wrong.

Yesterday, with an hour of idle time in the morning waiting for people to get back to me, I decided to look at the problem again.  This time I started with the libwnck perl bindings, because getting rid of the compile time meant I could experiment a lot more in less time.  After about 20 minutes of guessing on the API I figured out what I had probably missed before, the screen object needs a second stage initialization.  After 20 minutes more, I had gwbn, a perl program that took a regex on the command line and moved my desktop to the first window that matched.

The code is available on github now, and probably on cpan or a ppa for ubuntu before too long.  Now I have my “e” command again, and am a very happy camper.

The Good and Bad of Open Source Desktop Apps

The Bad

Dear Open Office,

Why can’t you insert a table? All I want is a simple table. Tables are good ways to organize some information. No, I don’t want to embed a full spread sheet, that uses entirely different fonts, and may or may not size correctly in my viewport, depending on the size of my window at any given time. You import tables from Power Point reasonably well, even if it is just a bunch of grouped lines. Why couldn’t you just draw me that in the first place!

The Good

Dear Inkscape,

You are brilliant, and keep getting better. Putting the color palette horizontally right above the status bar is so nice for doing quick fills of objects on the screen. Plus, all your drawings always look incredible once they are done.