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

From: Alasdair Allan <aa-at-astro.ex.ac.uk>
Date: Mon, 30 Apr 2007 15:01:20 +0100

John Taylor wrote:
> 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.

Yup.

> To make use of these annotations, you need a human in the loop to
> interpret them. What if my application depends on your app, and
> absolutely must have the function "convert votable to fits"
> available? If these annotations aren't controlled then how can my
> application rely on process.table.votable-at-convertToFits? You could
> change it tomorrow.

Yup.

> My answer would be that you don't _need_ to use the annotations all
> the time, and it's perfectly sensible to have a specialised
> unannotated mtype that maps onto the same function. If my app is
> so closely coupled to yours that I can't do without it, then I need
> to speak to you about exposing your API through (potentially
> private) mtypes. Ideally I'd do it through this forum, and if the
> function is of general interest then the mtype could become part of
> the IVOA-controlled vocab.

Agreed. This is how I think it should work...

Al. Received on 2007-04-30Z16:01:43