User Tools

Site Tools


at:urbiflock

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
at:urbiflock [2009/11/18 13:38] elisagat:urbiflock [2009/11/18 14:35] elisag
Line 8: Line 8:
 polls, etc. The framework takes care of managing a user’s social networks, called “flocks”. A flock represents a loosely-defined group of users. A flock can be compared to a Facebook group (for example, a group of your old classmates), but it additionally allows for the definition of groups of proximate flockrs (for example, a group of all of your friends that are currently nearby). polls, etc. The framework takes care of managing a user’s social networks, called “flocks”. A flock represents a loosely-defined group of users. A flock can be compared to a Facebook group (for example, a group of your old classmates), but it additionally allows for the definition of groups of proximate flockrs (for example, a group of all of your friends that are currently nearby).
  
-Similar to Facebook, users can build applications and plug them into the Urbiflock framework. Several core applications are currently available in the Urbiflock framework, such as flock creators and profile viewers, and also users applications such as //I rate you// (IR8U) that allows users to ask proximate users to rate them on a certain subject, and //Guanotes//. +Similar to Facebook, users can build applications and plug them into the Urbiflock framework. Several core applications are currently available in the Urbiflock framework, such as flock creators and profile viewers. The framework is currently still under development, which is why these pages mostly lists development information thus far.
-The framework is currently still under development, which is why these pages mostly lists development information thus far.+
  
 ==== Terminology ==== ==== Terminology ====
Line 17: Line 16:
   * To flock: to become part of a group   * To flock: to become part of a group
  
-==== Modules ==== +==== Urbiflock architecture ==== 
-  * [[uf:profiles|Profiles]]: manage user's profile and cache profiles of other flockrs + 
-  * [[uf:flockr|Flockr]]: a representation of the user + 
-  * [[uf:proximities|Proximities]]: "functions" that determine whether or not a user is proximate.+The architecture of the Urbiflock framework shown below is divided in three layers: applications, Urbiflock core, and Urbiflock infrastructure.  
 +{{ :uf:urbiflock_architecture.png?375x400 |:uf:urbiflock_architecture.png}} 
 + 
 +The application layer includes several core applications which are currently available in the framework such as flock and profile editors, and several users applications such as //I rate you// (IR8U) that allows users to ask proximate users to rate them on a certain subject, and //Guanotes//. The Urbiflock's core is composed of three main facilities specially designed to enable social interactivity and deal with the highly dynamic environment to which mobile devices exposes them: flockr, user profile and the TOTAM framework for flock communications.  
 +The infrastructure layer consists of three low-level abstractions on which the framework core is based: a RETE engine which orchestrates the flock composition, and the service discovery and communication APIs to discover and communicate with nearby applications, respectively.  
 + 
 +In the rest of this subsection we list the relevant parts of the Urbiflock framework. 
 + 
 +  * [[uf:flockr|Flockr]]: A flockr represents a user in the framework.  
 +  * [[uf:profiles|Profile]]: manage user's profile and cache profiles of other flockrs 
 +  * [[uf:flock|Flock]]: a loosely defined group of users.  
 +  * [[uf:proximities|Characteristic Functions]]: "functions" that determine whether or not a user is proximate.
     * isNearby: physical proximity     * isNearby: physical proximity
     * isFriend: static encoding of friendship relationships     * isFriend: static encoding of friendship relationships
     * doesProfileMatch: tests an attribute of a user's profile, form ATTR OP VAL, where ATTR is e.g. age, name, gender, hobbies, ...     * doesProfileMatch: tests an attribute of a user's profile, form ATTR OP VAL, where ATTR is e.g. age, name, gender, hobbies, ...
     * combinators: and, or, not     * combinators: and, or, not
-  * [[uf:flock|Flock]]: a group of 'proximate' users +  * [[uf:application|Application]]: define the API of an "application object". What follows is the list of applications in Urbiflock. 
-  * [[uf:applications|Applications]]: manage applications +    * [[uf:viewer|Flock Viewer]]: a viewer and editor to view existing flocks and to create new flocks. 
-  * [[uf:application|Application]]: define the API of an "application object"+    * [[uf:app_viewer|Application Viewer]]: a viewer and editor to view existing applications and install/delete them. 
 +    * [[uf:profile_viewer|Profile Viewer]]: a viewer and editor to view existing flockr profiles and to update your profile. 
 +    * [[uf:iflocku|IFlockU]]: a friend suggestor based on profile similarity and time spent in proximity. 
 +    * [[uf:guanotes|Guanotes]]: a messenger application that sends post-its to flocks. 
 +    * [[uf:ir8u|IR8U]]: an application that allows you to rate your friends.
  
-A flock is defined as list of references to 'proximate' Flockrs. The definition of 'proximate' is defined by Proximities, which may define proximity in terms of physical distance or in more abstract terms.+==== Target Platforms ==== 
 +Rather than building platform-independent framework, our aim is to assist in the rapid development of pervasive social networking applications. The Urbiflock framework has been entirely written in the AmbientTalk language. As such, no configuration is required to be able to quickly script new applications on it once AmbientTalk is running on the target platform
  
-Predefined Flocks: +AmbientTalk requires a regular J2SE Java Virtual  
-  * friend flockrs: isFriend +Machine supporting version 1.3 or higher. The implementation also runs on the Java 2 micro edition (J2ME) platform, under the connected device configuration (CDC).
-  * nearby flockrs: isNearby +
-  * nearby friend flockrs: isFriend & isNearby+
  
-WhiteBoard Drawings:  +We have done some test to deploy our framework on HTC touch cruise pda's. In order to configure your HTC Touch device for our framework you can follow the instruction [[private:AmopHTC|here]].
-  * [[uf:Design|Design]]+
  
-==== Architecture ==== +We are currently working on deploying our framework on HTC Hero, a phone running on the Android platform.
-An ad hoc RETE-network. Events are triggered by: +
-  * discovery: ''joined(uid,flockr)'' / ''left(uid,flockr)'' +
-  * profile changes: ''changed(uid,flockr,updatedProfile)'' +
-  * friend changes: ''friendAdded(uid,flockr)'' / ''friendRemoved(uid,flockr)'' +
- +
-These events are received by the local flockr user object and propagated to all local proximities. Proximities translate these events into addUser / removeUser events to be processed by flocks. To process these events, flocks register themselves on their dependent proximity. +
- +
-==== Applications ==== +
-  * [[uf:viewer|Flock Viewer]]: a viewer and editor to view existing flocks and to create new flocks. +
-  * [[uf:app_viewer|Application Viewer]]: a viewer and editor to view existing applications and install/delete them. +
-  * [[uf:profile_viewer|Profile Viewer]]: a viewer and editor to view existing flockr profiles and to update your profile. +
-  * [[uf:iflocku|IFlockU]]: a friend suggestor based on profile similarity and time spent in proximity. +
-  * [[uf:guanotes|Guanotes]]: a messenger application that sends post-its to flocks. +
-  * [[uf:ir8u|IR8U]]: an application that allows you to rate your friends. +
- +
-==== Target Platforms ==== +
-  * UrbiFlock will work on any computer which has java installed. +
-  * We are currently testing our framework on HTC touch cruise pda's. In order to configure your HTC device for our framework you can follow the instruction [[private:AmopHTC|here]].+
  
 ==== Development ==== ==== Development ====
-  * [[uf:todolist|Bugs and TODO List]] 
  
-==== To think about ==== +  * [[uf:todolist|Bugs and TODO List]] 
-  * [[uf:persistence|Persistence]]: saving/loading framework and application data and prefs. +  * [[uf:Design|Whiteboard Design]] 
-  * [[uf:privacy|Privacy]]: restrict access of applications to a user's flocks+  * [[:uf:urbiflock_design.pdf| Design Diagram]] 
 +  * To think about: 
 +    * [[uf:persistence|Persistence]]: saving/loading framework and application data and prefs. 
 +    * [[uf:privacy|Privacy]]: restrict access of applications to a user's flocks
at/urbiflock.txt · Last modified: 2015/02/04 19:06 by elisag