Re: Cluehunting: Expanding The Future



>  Cluehunting is an advanced Expansion Agent, defined as a system
>  that allows the computer to search possible “expansions”
>  throughout given contexts given a “clue” by the user.

OK.  Your Cluehunting proposal looks to me like auto-completion
extended to be available from more places than the usual ones (shell
prompt and one or two text entries), as well as having a nicer
interface to select from completions than simply iterating among them.

>  Universal Expansions
>  Inputstream Aware Expansion Styles
>  Application-Dependant Clue Contexts
>  Clue Context Overrides
>  Pluggable Context Servers
>  Regular Expressions
>  Batch Expansions
>  Cluelists
>  General Accessability

>  Univeral Expansions:  Expansion should be available in all interface
>  components.

Every GNOME application that uses text entry lines is supposed to use
the GnomeEntry widget, so you could implement your Cluehuntint
functionality in it.  Glib already has a nice GCompletion abstraction
upon which you could build your stuff.

As for using Cluehunting in something other than text entries, you may
want to provide a nice API to do completion in a "cluehunt-enhanced"
way.

>  Regular Expressions:  Regular Expressions should be available for usage in
>  clue expansions.  Many users are familiar with using * to signify a
>  wildcard.  While the default expansion would, in general, presume a * at the
>  end of the provided clue and expand from there, there is no reason this is
>  necessary.  A user searching for dictionary words that end with “sort”
>  should be able to expand *sort into resort, consort, and plain old sort.
>  The only problem--how to differentiate between a clue containing a regex for
>  search purposes(execute context for ls -l *.gz) versus a clue that wants its
>  regex expanded before search(command history context for ls -l *.gz).  It’s
>  quite probable that most contexts will only fit one or the other, but I’m
>  unsure.  Email me if you think that a specific “begin regex” keybinding
>  would be necessary.

(Those are not regular expressions; those use simple shell globbing,
but your point is taken)

Please propose a programming interface and implement it as a
proof-of-concept so that people can begin testing it.  It would be
useful to have completion functionality in as many places as possible.

For more information about this sort of stuff, I would suggest you
read the Remembrance Agent documents in the wearable computing site at
media.mit.edu.  There are also some ideas you could take from Emacs
tags, abbrevs, and dynamic completion.

  Federico



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]