GNOME Do White Paper

Abstract

The typical computer user interacts with a number of different resources on her computer. These resources are accessed via many interfaces, including menus, location bars, icons, file browsers, and shortcut keys. We plan to consolidate these interfaces by creating an application that indexes items found in the user’s desktop environment (e.g. documents, contacts, applications, multimedia) and lets the user search for these items, and perform common actions on these items (e.g. open, run, email, play). Our goal is to optimize our search using, among other techniques, information about items considered as members of type “ontologies” and as individual entities.

Of special note, our project will be free and open source, which means that all specifications, source code, documentation, and other project resources will be publicly available on the Internet for anyone to scrutinize at any stage in our development process. We will publicize our project and encourage others to participate by contributing bug reports, code, documentation, etc.

Read the rest of the GNOME Do white paper. It contains pretty diagrams like this one:

First keypress results for GNOME Do

8 comments

  1. guillem wrote,

    Great job!

    It works fine and it’s very usefull! Thanks!

  2. nate wrote,

    Hey, I’ve got a question, is there any kind of priority thing for this? I’ve got an image, firefoxglass.svg, that I use as an icon, but unfortunately it wants to open that rather than, well run Firefox, if I type “firefox”. Personally I’d rather stick with just an application launcher, similar to how I use Launchy on Windows.

  3. Dave wrote,

    Nate, I know it’s a lot to ask, but if you had read the document that this blog entry is focused on, you would have read this:

    To address the issue of item relevancy, we plan to implement a scoring system that does type-based, global prioritization of items considered as members of our type “ontology,” and token-based, local prioritization of items considered as individual entities. By “global,” we mean across all sets in the prefix tree. By “local,” we mean specific to a single set in the prefix tree; this set corresponds to the initial letter pressed in a search resulting in a changed relevancy score. The figure below illustrates the inheritance tree for ImageFileItem, a type representing an image file in the user’s filesystem. Suppose one were to search with the query “por” for the item “Family Portrait.jpg,” and execute the command “Rotate 90° Counterclockwise” on that item. GNOME Do will increase the relevancy score of each type on the path from ImageFileItem to the root of the item type hierarchy, IItem—this results in global, type-based prioritization because these type-based relevancy scores are used to rank all items in the prefix tree. The relevancy for the “Rotate 90° Counterclockwise” command will also be increased. If the next search is for “face” and I have two items with equal string relevancy for the query, such as a bookmark for “facebook.com” and an ImageFileItem for “face.jpg”, the type-based prioritization will ensure that the image is considered more relevant than the bookmark.

  4. Vax wrote,

    Hey,

    I’m giving this project a quick spin. I just wanted to mention that your install command for apt doesn’t need a semi-colon in it. I don’t know why I was pasting it, but I was…

    Cheers!

  5. nate wrote,

    Ok, I have no idea what any of that really means, which I would see as a problem. Basically, what I got out of that is “if you run something more often, it will jump to the top”, which is really how you should put it if you want an audience (as opposed to developers) to understand. But I suppose that’s more important later.
    However, that doesn’t seem to happen (and if so, it doesn’t happen fast enough), which is to be expected from a project in its early states. Regardless, what I would add is some kind of priority editor, for example, I would like Programs to be the most important function here, thus typing terminal would give me a terminal, instead of a picture of, say, an airport terminal. Another great alternative would be multiple key combinations, for example Control Space will filter out everything but programs (or whatever you want it to filter out) and Super Space will give you everything else.

  6. Dave wrote,

    Nate, what all that junk means is that eventually (by April), GNOME Do will figure out which things are most important to you – you don’t need any special keystrokes or messy preferences, you just have to use the program and it will adapt. That technobabble was written for my professor, not for “developers” or for you, so that’s why it’s written the way it is.

  7. hubuntu wrote,

    Ok… Now I understood how this works…

    LAzy me.

    Nice work!!

    R

  8. Mr Green wrote,

    Hi David,

    I have just started using Gnome-Do think it will take some getting used too. The only thing that is bugging me is when I launch Gnome-Do I get a pair of out of focus binoculars [icon!] is there a way to correct this?

    If you need a screen shot then please let me know.

    Great App

    Thanks

    Mr Green