App metadata [was: Re: Apps Messaging -- A New Approach

John Taylor jontayler at gmail.com
Mon Apr 30 13:41:07 PDT 2007


On 30 Apr 2007, at 20:42, Mike Fitzpatrick wrote:

>
> Hi John,
>
>>> 	If an app supplies the metadata at all (either as part of the
>>> registration or as separate calls) an API could still respond to the
>>> requests automatically in the listener interface even if these never
>>> get passed up to the app for special handling (i.e. "built-in
>>> messages").
>>
>> Sorry Mike - could you explain this bit again?  I'm not getting it.
>
> 	Assume we have some API allowing something like
>
>     appID = register ((name="myApp"));
>     (void) appAddMetadata ("Description", "long blather....");
>     (void) appAddMetadata ("iconURL", "http:....");
> 	     :
>
>     while ((msgid = appListener()) {
> 	switch (msgid) {
> 	case DISPLAY:
> 		<....>
>     }
>
> What I mean is that the appListener() could reply to a request for
> metadata without explicitly returning that as a message for the
> application to handle, the same could be done for other housekeeping
> messages like AreYouAlive, GetStatus, etc.  The name and other  
> metadata
> could be held statically within the API but if the user never made  
> a call
> to appAddMetadata() the request for the Description would return a  
> NULL.
> 	Anyway, this is an issue for the API developer.

Thanks - that make sense.  As you say, whichever way we go we can  
insulate the client from it with a library.

> The question for
> us is whether to centralize the metadata in the Hub or access it  
> from the
> app when requested.  Hubs asking remote Hubs for metadata about an app
> through a message is reasonable.  One case where this might get  
> messy is
> if an app wants to store state metadata likely to change as the app  
> runs;
> if we centralize in the Hub then each change would require the app to
> issue an update, if we get it on demand then we only need to check  
> it at
> the time of the message (if we're ever asked at all).
>

I think there are cases when a client is going to want to cache  
metadata about other clients (when using it to populate menus, for  
example).  In this case the client is going to need a notification  
when the data changes, however we get hold of it.

John



More information about the apps mailing list