Idea: implicit indirect objects

3 views
Skip to first unread message

Atul Varma

unread,
Aug 15, 2008, 1:25:39 PM8/15/08
to ubiquity...@googlegroups.com
I imagine that others have thought about this but I haven't seen any discussion on this list about it, so I thought I'd get the ball rolling ...

I was just applying a link to some selected text in Gmail today and thinking about how it'd be nice to have a Ubiquity command of the form "linkify <text> with <url>", and for the direct object to default to the current selection and the indirect object to default to the contents of the clipboard.

Any thoughts on this, or what some other potential "implicit indirect objects" might be?

- Atul

Blair McBride

unread,
Aug 15, 2008, 7:16:22 PM8/15/08
to ubiquity...@googlegroups.com
That's freaky - I was just thinking about the clipboard last night (or
was it the night before?) but was too tired to post anything about it.
So thanks for reading my mind!

By "implicit" I assume you mean that it comes up automatically without
having to type in "clipboard" or something similar. Would that be
confusing to users? With so many sources of data, to use them
confidently people will have to start building internal representations
of the priorities of each of the sources. That's why I don't like adding
too many meanings to "this", and would like every source to have its own
unique word such as "selection" and "clipboard" in addition to "this".

The clipboard is a tricky thing - its hidden from users, and they can't
clear it, just replace its contents (at least on Windows). So there's
always going to be something in it, and most of the time the contents
are going to be irrelevant. So that's another reason to have an explicit
word for it.

Ideas for other potential "implicit indirect objects":
* the URL of the current page
* block of text/image where the mouse pointer is

- Blair

Abi

unread,
Aug 16, 2008, 12:26:46 PM8/16/08
to ubiquity-firefox
I've been thinking about the same thing, as well. There are many
potential "implicit indirect objects". For example, in the get-lyrics
command in the tutorial, the input can either be typed normally or
another option can be chosen from the suggestion list. One of the
options would be the song that is currently playing on your media
player (this is obtained from the FoxyTunes extension if you have it
installed). Similarly, if you are on the Youtube page, another
possibility would be the title of the video (which might be a song)
that is currently playing . So maybe, for some common cases like
"selection", "clipboard" or "current page", Ubiquity itself should
handle it but for others, the commands can do it themselves.

Abi

unread,
Aug 17, 2008, 12:38:52 AM8/17/08
to ubiquity-firefox
In the previous post, I was talking more about direct objects. But the
same thing could also apply for indirect objects. The way to make
something easier to do should be to add it to the suggestion list. So,
if you have some text selected and you Ubiq "linkify", the first
suggestion could be "linkify [selection] with [clipboard contents]".
Depending on the command, of course, we need to sort the command list
in a way that makes the most sense in that context.

Jono

unread,
Aug 18, 2008, 6:49:04 PM8/18/08
to ubiquity...@googlegroups.com
Yes.  We will need to sort the command list, period!  Right now no sorting at all is happening, but sorting will become more and more important to solve the UI problems that arise when there's lots of suggestions or an ambiguous input.

Also, I am increasingly thinking that there shouldn't be any difference between direct and indirect objects.  A command just has several arguments, period, and some are identified by a preposition while at most one is identified by no preposition.  The input parsing should be the only difference between the direct object and the modifiers -- command developers should be able to treat them programmatically the same.  (So directObject might become part of the modifiers dictionary, with the key "direct".  So for instance, the argument list for Translate could become:

takes: { direct: noun_arb_text,  to: noun_type_language, from: noun_type_language}

What do people think of that?

--Jono

Blair McBride

unread,
Aug 18, 2008, 11:19:48 PM8/18/08
to ubiquity...@googlegroups.com
Well, that would simplify some things - so I'm all for that. And
programmers are more used to that way of thinking.

What about differentiation between required/optional arguments?

- Blair

> <mailto:abimanyur...@gmail.com>> wrote:
> > I've been thinking about the same thing, as well. There are many
> > potential "implicit indirect objects". For example, in the get-lyrics
> > command in the tutorial, the input can either be typed normally or
> > another option can be chosen from the suggestion list. One of the
> > options would be the song that is currently playing on your media
> > player (this is obtained from the FoxyTunes extension if you have it
> > installed). Similarly, if you are on the Youtube page, another
> > possibility would be the title of the video (which might be a song)
> > that is currently playing . So maybe, for some common cases like
> > "selection", "clipboard" or "current page", Ubiquity itself should
> > handle it but for others, the commands can do it themselves.
> >
> > On Aug 16, 7:16 am, Blair McBride <unfocu...@gmail.com

Reply all
Reply to author
Forward
0 new messages