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

Alasdair Allan 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.

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.



More information about the apps mailing list