Wednesday, May 12, 2010

Hyper-Desktop Markup Language ?

Among the "funny ideas" I had for Clicker, many has echoed in other's mind and some eventually got implemented here or there.

I won't call myself as "spolied inventor of tags", of course. I'm not. Though I have to admit tags are 100% aligned with what'd have pushed for Clicker if I had any resources to make things move by just pushing them.

Now, let's have a look at the box #7 of this "clicker desktop mockup" I made up somewhere near 2K++ ... the "one-key-command-line" for quickly spawning things is now mainstream ... Even Windows has it (or at least as some plugin) where you type [ESC]word[ENTER] to search and launch your report editor rather than crawling through clobbered menus.

"Incoming" (last imported documents) and "favourite" meta-folders are of lesser significance given we've got the "download history" window of Firefox. But let's check out that box #7 ... It was claiming "users do tasks, more than they use applications". That thing is starting to change as well, the welcome panels of Thunderbird 3, Wireshark (Lucid release) and K3B (a while ago) being an obvious example of it. They also claimed "a task is performed using a collection of tools operating on a collection of documents". We haven't got anywhere near that so far, afaik. Do I want to integrate something to the wonderful Tomboy application ? I have to learn C# ... Do I want to have Gimp able to learn new key combos for filters ? I bet I'll have to dig into some GTK+ and maybe some scheme or Python would help me.

Yet, all I'll be doing somehow is moving boxes around, connecting wires between blocks of code, etc. This is something that should be as easy to do as writing HTML, but there doesn't seem to be any Hyper-Desktop Markup Language around.

-- edit -- Btw, I was about to attach a picture in a thundermail while thunderbird crashed at me because I was also moving directories around. *sigh*. Long is the road.

Thursday, May 6, 2010

shell companion windows

To some extent, it isn't necessary to write a whole new application for the futureshell. What we need is a connection to a "graphical tty" that is associated with the current shell, so that e.g. if I want to offer a preview of an image or show graphical relationships between items, timelines, etc., all I have to do is sending "drawing commands" to that companion window. Where the companion stands, whether it sticks and move along, what's its size, etc. can be managed by the window manager. That may not be as sweet as having "file descriptor #4" ready by default, but that'll certainly be easier to evolve to.

Tuesday, May 4, 2010

Formerly known as "FutureShell"

I once made a little mockup of "FutureShell", a sort of mix between Enlightenment terminal and nautilus. It had many "killer features" such as "intelligent icons" that can inspect the type of data you drop to them in order to move data to the "most appropriate place".

While working today, there's another feature I wish my shell/terminal had: transfer of configuration. I'd love I could somehow drag-and-drop the value of SSH-AGENT variable or the label of a directory so that it cd' to that directory in another window.

I wonder whether the SDL-for-perl could help me prototyping this ... since I've realised that I don't need to build up my own kernel / X server to experiment with document access.

Wednesday, January 13, 2010

It's all about tuning!

A major improvement in user interfaces is the ability to tune things into your own needs. When people says they are glad when things are uniform (Windows file selection dialogs, anyone), they typically forget how mad they were at MS the last time they faced an unwanted change in their application behaviour.

Right-click on the gnome bar to add/remove widgets or to drag the bar around is neat. global-set-key in emacs is neat. Do I have trouble remembering that F2 isn't for saving the current file ? I can just tell the application how I work rather than training myself to new commands. In that respect, I do love the ctrl+right-click of Enlightenment's terminal where I can tell "off with their scroll bars!" like the Wonderland's Queen of Hearts. I'd just have loved something more such as "tweak'n'tune" menu entry that would have dumped the current settings in /tmp/eterm-current.rc that would have had a comment saying "tweak at wish and save under $HOME/.etermrc to validate the current settings as defaults".

Let's face it, application designers: you cannot anticipate all the possible tuning needs of your users. A config file is 200 times worth any wizard you can come with. If you deliberately and definitely hide configuration away from users, you also remove them the opportunity to learn more and to repair things when they're broken (how long did i wasted investigating the output of strace -eopen in search for an undocumented resource/config file!)

All this because I couldn't close a tab in emacs by middle-clicking it (a firefox habbit) nor to adjust an Eterm background intensity with the scrolling wheel ...