User Tools

Site Tools


uf:flockr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
uf:flockr [2008/09/04 16:06] elisaguf:flockr [2008/09/05 11:44] elisag
Line 6: Line 6:
     * Note: maybe it should be stored in the profile.     * Note: maybe it should be stored in the profile.
   * list of its [[Flock]]s.   * list of its [[Flock]]s.
-    * predefined [[Flock]]s.+    * predefined [[Flock]]s ( e.g. buddyList).
     * user-defined [[Flock]]s.     * user-defined [[Flock]]s.
 +  * list of [[Proximities]] that are registered for this Flockr.
  
-A Flockr should have a local and remote interface.  +A Flockr will have a local and remote interface.  
-The remote interface is the entity that gets exported to the ambient which at least contains: +The remote interface is the entity that gets exported to the ambient
-  * [[Profile]] +
-  * predefined [[Flock]]s +
  
-[[Flockr]] actually should be able to decide who can see him. How? maybe Profile?+Profile won't get exported to the ambient but it has to proactively asked to the Flockr. This allows: 1) Remote Flockr does not need to ask the [[Profile]] again (if you rediscover the Flockr) if it didn't change and 2) allow the Flockr to decide who can actually see its [[Profile]].
  
-The local interface receives the 3 types events from the discovery.+The remote interface receives 3 types events from the network (join, left and changeProfile) and notifies the local interface of the Flockr which notifies the necessary [[Proximities]] objects.   
 + 
 +The local interface contains also receives the events on changes on the buddyList. 
 + 
 +The buddyList is a list of its friends Flockrs such that the [[Profile]] can be consulted offline. When a Flockr is connected for which there is a cached [[Profile]], he should propagate the necessary changed events to make sure that both the cached Profile and the Flocks of the other Flockrs are updated.
  
-There should be a list of its friends [[Flockr]]s such that the [[Profile]] can be consulted offline. When a Flockr is connected for which there is a cached [[Profile]], he should propagate the necessary changed events to make sure that both the cached Profile and the Flocks of the other Flockrs are updated. 
   * xtof suggestion to implement this:    * xtof suggestion to implement this: 
     * Make "cached" object abstraction. It is just a proxy object which forwards to the online version when it's online, otherwise the catched version. Every update, replaces the cached version with a clone. In other words, keeps a cached object that gets updated when you are connected.     * Make "cached" object abstraction. It is just a proxy object which forwards to the online version when it's online, otherwise the catched version. Every update, replaces the cached version with a clone. In other words, keeps a cached object that gets updated when you are connected.
-    * This abstraction could be used for any list of [[Flockr]]s that need offline Profile visualization. Maybe useful also for applications.+    * This abstraction could be used for any list of Flockrs that need offline Profile visualization. Maybe useful also for applications. 
 + 
 +Other Comments: 
 + 
 +[[Flockr]] actually should be able to decide who can see him. How? maybe Profile? 
 + 
 +===== API ===== 
 + 
 +  * Local Interface 
 +    <code>  
 +    registerProximity() 
 +    friendAdded(uid,flockr)    
 +    friendRemoved(uid,flockr) 
 +    </code> 
 + 
 +  * Remote Interface 
 +    <code>  
 +    joined(uid,flockr)  
 +    left(uid,flockr)  
 +    changedProfile(uid,flockr,updatedProfile) 
 +    getProfile()  
 +    </code>
  
 ==== API ==== ==== API ====
uf/flockr.txt · Last modified: 2009/11/30 16:49 by dharnie