Annotations [was Re: Apps Messaging -- A New Approach
aa at astro.ex.ac.uk
Mon Apr 30 07:01:20 PDT 2007
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.
> 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.
> 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...
More information about the apps