This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
uf:flockr [2008/09/05 11:46] elisag |
uf:flockr [2009/11/30 16:49] dharnie *correct |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Flockr ==== | ||
- | Each Flockr contains following info : | ||
- | * [[Profile]] | ||
- | * list of its [[Flock]]s where it is registered. | ||
- | * Note: maybe it should be stored in the profile. | ||
- | * list of its [[Flock]]s. | ||
- | * predefined [[Flock]]s ( e.g. buddyList). | ||
- | * user-defined [[Flock]]s. | ||
- | * list of [[Proximities]] that are registered for this Flockr. | ||
- | |||
- | A Flockr will have a local and remote interface. | ||
- | The remote interface is the entity that gets exported to the ambient. | ||
- | |||
- | 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 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]], | ||
- | |||
- | * xtof suggestion to implement this: | ||
- | * Make " | ||
- | * 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 | ||
- | < | ||
- | registerProximity() | ||
- | friendAdded(uid, | ||
- | friendRemoved(uid, | ||
- | </ | ||
- | |||
- | * Remote Interface | ||
- | < | ||
- | joined(uid, | ||
- | left(uid, | ||
- | changedProfile(uid, | ||
- | getProfile() | ||
- | </ |