Re: Annotations [was Re: Apps Messaging -- A New Approach

From: Mark Taylor <m.b.taylor-at-bristol.ac.uk>
Date: Wed, 2 May 2007 15:52:30 +0100 (BST)


On Mon, 30 Apr 2007, Mike Fitzpatrick wrote:

>>>> Persumably we
>>>> would need a small, controlled vocabulary for these annotations to be
>>>> meaningful to machines, and apps would be free to make up their own.
>>>
>>> No, the vocabulary for annotations is completely uncontrolled,
>>> applications always make up their own. For a controlled vocabulary
>>> you'd stick to the message type (opaque URI in PLASTIC, perhaps
>>> mtype in
>>> future).
>>
>> I think this is the essential difference, and that the annotations
>> can be made up dynamically. Here's an (albeit contrived) example.
>> You've loaded a VOTable into Topcat, called "table1". Topcat
>> immediately declares to the world that it supports a new message:
>>
>> process.table.votable-at-append_to_table1.
>>
>> All the other applications on the user's desktop now magically have a
>> new option in their menus. Assuming that they have a table ready
>> that they can send to other applications, they will have the option
>> "table2->topcat->append to table 1"
>> No long discussion on this list required. You don't even need to
>> recompile. Or even restart.
>
> I'm not sure 'magical' is quite the right word, this is very much
> a designed interaction in a task that 1) knows TOPCAT can/may issue an
> 'append_to_table1' annotation and 2) that receiving that annotation means
> the app should restructure its menus accordingly. Magic is when I can
> send the uncontrolled 'apTab1' annotation from my task and get the same
> effect.

No. The task just knows that applications may issue annotations, and yes it ought to structure its menus with that in mind. But in the kind of case we're talking about here it has no knowledge, at any stage of the interaction, about what any of these annotations (if there are any) mean. The user selects one of the available options, and the sending app blindly passes the annotation along to the recieving app. Any message parameters, return values etc are treated precisely the same at the sending end regardless of which annotation, or whether any annotation at all, is selected.

-- 
Mark Taylor   Astronomical Programmer   Physics, Bristol University, UK
m.b.taylor@bris.ac.uk +44-117-928-8776 http://www.star.bris.ac.uk/~mbt/
Received on 2007-05-02Z16:52:56