Linux Loop
Advertisement


Predictive Dynamic Actions

Today, I am going to do something a little unusual. I have been thinking about a way of making application interfaces more productive. To explain it, I am going to use the example of a word processor.

Right now, in traditional interfaces, every button and menu item is locked to a particular place. You can manually move them around, but they never move on their own. This system really makes very little sense if you think about it. Two seconds after pressing save you don’t need the save button in the same place as 10 minutes after last pressing save. Similarly, if you have just selected all the text, you are much more likely to change settings such as the line spacing, than while you are typing. You can apply this sort of logic to almost all the buttons and options of any application, so why do these buttons always stay in the same place no matter what you are doing?

Taking this idea to an extreme, every button would be free floating and would simply move towards or away from you depending on how likely it was that you would need it. This is probably not practical, though, since you would never know where an icon was at any time. A better implementation would be a small toolbar that follows your mouse and is populated with the 5-10 buttons you are most likely to need.

The only challenge with this approach is keeping the toolbar out of the way and yet easy to access. Some effort would have to be put in to this, but as long as the toolbar stays well behind the mouse, it should be fine.

Finally, there is the challenge of actually deciding what buttons the user wants at any time. Some buttons, such as save, are pretty obvious, but others are not. Probably the best way would be to watch the user’s actions and learn from them. Thus, the selection of buttons displayed at any time would reflect how the user uses the applications and would get better over time.

Would you use this sort of feature if it existed? Should this sort of thing be applied to the entire OS?

AddThis Social Bookmark Button

4 Responses to “Predictive Dynamic Actions”

Note on comments: Trackbacks are disabled to prevent spam. Feel free to link to an article you wrote about this post, but only if it adds to what I have said and please tell readers why they should be interested. Comments will be held for moderation. Don't worry, it is just to keep spam off this site. If your comment does not appear in 24 hours, please use the contact link at the bottom of the page to let me know. Thanks!

Also, if all you want to say is something like "Linux sucks. Get real," please don't say it. It doesn't help anything. (Plus, you're wrong. :-))
  1. Vadim P. Says:

    I’ll be polite – this is the worst idea ever in terms of usability. You’re forgetting that the majority of computer users are not power users.

    They have enough trouble remembering things where they are. When those things will start flying about, it’ll be hell.

  2. r_a_trip Says:

    Would you use this sort of feature if it existed?

    No, I wouldn’t use it. It sounds like the UI equivalent of Clippy. Clippy, on average, managed to answer/guess 97% of my questions wrong (way back when I was on MS-ware). Clippy drove me up the wall.

    Guessing user intentions is laudable, but impractical, because every user is different. Even after extensive user studies you’d end up with a lowest common denominator system, which would alienate all but the most basic users.

    Similarly, if you have just selected all the text, you are much more likely to change settings such as the line spacing, than while you are typing.

    True, most likely, but maybe I just higlighted the text as a means to have more focus while proof reading it and subsequently I want to save it. The proposed taskbar gives me all sorts of neat formatting options and no save button. That taskbar just broke my workflow. I either have to deselect the text and wait for the save button to appear or have to go File –> Save anyway.

    The above is just an example. How do you know if you’ve guessed the context right? Nothing is more annoying than a program offering the wrong options most of the time.

    Should this sort of thing be applied to the entire OS?

    Does Linux or any other FOSS OS need its own Microsoft BOB? Menus may be dumb, but they are consistently dumb and don’t assume anything. As such they are a pretty out of the way method of interacting with a computer. Remember, the wheel is still round after a few thousand years…

  3. InTheLoop Says:

    I agree that trying to assume that all users are the same will never work, but there is a better solution. The second to last paragraph says that:

    “Probably the best way would be to watch the user’s actions and learn from them. Thus, the selection of buttons displayed at any time would reflect how the user uses the applications and would get better over time.”

    Thus, the application would learn how you use it.

    Also, icons can remain where they are and just be duplicated in the moving menu bar.

  4. frank Says:

    Personally, a large part of what motivated me to switch to linux from Windows was trying out the “dynamic” interface Microsoft put into its latest version of Office… which could not be switched off. There’s a great quote from someone along the lines of, “no matter how cool your user interface is, it would be better if there was less of it.”

    Heck, I had to figure out how to hack OpenOffice to get it to stop automatically popping up menu-windows. Same thing, only with something open source, I eventually figured out how to force it to stop inflicting such things on me.

    My view is that your computer should absolutely never fiddle with the screen unless explicitly instructed by the user to do so or unless it is displaying immediately important information that the user needs to respond to right now. It’s like popup ads and animated flash ads, really. Furthermore, my experience watching computer-illiterate people use computers is that they want a simple, straightforward, push-this-button-then-that-button recipe for How To Accomplish The Tasks They Need To Accomplish, which they can rote-memorize and then repeat verbatim.

    Ultimately, I find that any time the computer acts as if it knows what the user wants better than the user does, it’ll end in hardware getting smashed. This sort of thing should never have been implemented anywhere, and it should not be implemented anywhere. Also, the idea of a “learning” application is much like a perpetual-motion machine: the application will never actually learn anything unless the user takes a lot more time up front to learn the application’s own assumptions, by which time the user may have given up in disgust or memorized whatever the user thinks the application expects of him or her.

    You do describe a very real problem with user interfaces that are simply so overwhelmingly complex that newbies haven’t got a chance of figuring out how to do what they want unless someone shows them. Unfortunately, the simplest solution, I believe, is the traditional method of offering a simplified interface by default with the option of enabling extra stuff.

Leave a Reply