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 revision Previous revision
Next revision
Previous revision
at:urbiflock [2009/11/18 14:33]
elisag
at:urbiflock [2015/02/04 19:06] (current)
elisag
Line 1: Line 1:
-====== Urbiflock ======+====== Mobile Social Networking ======
  
-==== What is Urbiflock? ==== 
  
-UrbiFlock is a framework sculpted for the development of //pervasive social network applications//: an emerging type of applications that enable spontaneous interactions of people by means of handheld devices (such as their cell phones). These applications exploit the colocation of a number of mobile devices in the proximity to enable social interaction //on the move//+===== Scripting Mobile Social Applications =====
  
-Urbiflock is a Facebook-like application framework for mobile devices written in AmbientTalk. As in Facebook, users that join Urbiflock can meet other users and interact with them. For example users may broadcast announcements to each other, they can browse one another’s profile, launch interactive  +The recent profusion of mobile devices such as the iPhone and Android-powered smartphones has given rise to a new type of applications that exploit the physical location of users to help people interact //on the move//so-called //mobile social networking// applications. Developing such highly distributedlocation-dependent applications is challenge
-polls, etc. The framework takes care of managing 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 examplea 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 Facebookusers 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 developmentwhich is why these pages mostly lists development information thus far.+In this work we propose Urbiflocka software platform for the development of mobile social applications running on Android phones interacting via wireless networks. The framework is built on the concept of flocksa declarative representation of user groups. Flocks represent the user’s social network in terms of intensionally specified sets. To interact and exchange data with these sets the framework incorporates a tuple-based communication library
  
-==== Terminology ====+===== What is Urbiflock? ===== 
 + 
 +Urbiflock is a Facebook-like application framework for mobile devices. As in Facebook, users that join Urbiflock can meet other users and interact with them. For example users may broadcast announcements to each other, they can browse one another’s profile, launch interactive 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). 
 + 
 +Users can also 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 also counts with two user applications //I rate you (IR8U)// that allows users to ask proximate users to rate them on a certain subject, and //Guanotes// that allows user to send message to each other.   
 + 
 +===== Terminology =====
  
   * Flockr: a user of the Urbiflock framework   * Flockr: a user of the Urbiflock framework
Line 16: Line 20:
   * To flock: to become part of a group   * To flock: to become part of a group
  
-==== Urbiflock architecture ====+===== Demo =====
  
 +<html>
 +<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/-M06e7tS998&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-M06e7tS998&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
 +</html>
  
-The architecture of the Urbiflock framework shown below is divided in three layers: applications, Urbiflock core, and Urbiflock infrastructure.  +===== Target Platforms =====
-{{ :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 editorsand 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 Urbiflock framework has been 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
-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.+AmbientTalk runs on a regular J2SE Java Virtual  
 +Machine supporting version 1.3 or higher, Java 2 micro edition (J2ME) platform, under the connected device configuration (CDC), and Android Platform version 1.6 or higher
  
-  * [[uf:flockr|Flockr]]: A flockr represents a user in the framework.  +We have implemented a AWT UI interface for Urbiflock's deployment on HTC touch cruise phones running J2ME. In order to configure your HTC Touch device for our framework you can follow the instruction [[at:amophtc|here]]. 
-  * [[uf:profiles|Profile]]: manage user'profile and cache profiles of other flockrs + 
-  * [[uf:flock|Flock]]: loosely defined group of users.  +{{:uf:urbiflockonx10.jpg?160X190  Urbiflock running on a X10 mini }} 
-  [[uf:proximities|Characteristic Functions]]: "functions" that determine whether or not a user is proximate+ 
-    * isNearby: physical proximity +We are currently working on an Android UI interface for Urbiflock's  deployment on number of Android phones ( HTC Hero, Legend and Desire, and Sony Xperia X10 series).  
-    * isFriend: static encoding of friendship relationships + 
-    * doesProfileMatch: tests an attribute of a user's profile, form ATTR OP VAL, where ATTR is e.g. agenamegender, hobbies, ..+The Urbiflock framework is available in the AmbientTalk distribution library under the frameworks/ folder. Visit  [[http://code.google.com/p/ambienttalk/|our google code repository]] to download the AmbientTalk distribution
-    * combinatorsand, or, not + 
-  * [[uf:application|Application]]define the API of an "application object"What follows is the list of applications in Urbiflock.+===== The Urbiflock framework architecture ===== 
 + 
 +The architecture of the Urbiflock framework shown below is divided in three layers: applicationsUrbiflock coreand Urbiflock infrastructure.  
 +{{ :uf:urbiflock_architecture.png?375x400 |:uf:urbiflock_architecture.png}} 
 + 
 +The application layer includes the API of an "application object" to be plugged in the frameworkThere exists several core applications:
     * [[uf:viewer|Flock Viewer]]: a viewer and editor to view existing flocks and to create new flocks.     * [[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: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:app_viewer|Application Viewer]]: a viewer and editor to view existing applications and install/delete them. 
 + 
 +There are also several user applications in the framework:
     * [[uf:guanotes|Guanotes]]: a messenger application that sends post-its to flocks.     * [[uf:guanotes|Guanotes]]: a messenger application that sends post-its to flocks.
-    * [[uf:ir8u|IR8U]]: an application that allows you to rate your friends.+    * [[uf:ir8u|IR8U]]: an application that allows users to ask proximate users to rate them on a certain subject. 
 +    * [[uf:iflocku|IFlockU]] (Coming): a friend suggestor based on profile similarity and time spent in proximity.
  
-==== Applications ==== +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
-  * [[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 ==== +  * [[uf:flockr|Flockr]]: A flockr represents user in the framework. A flockr is also the gateway that other applications can use to get information about the user or about the applications that the user has installed. 
-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 languageAs suchno configuration is required to be able to quickly script new applications on it once AmbientTalk is running on the target platform+  * [[uf:profiles|User Profile]]: Profiles in Urbiflock represent the user identity (e.g. namegender, hobbies, etc.).
  
-AmbientTalk requires regular J2SE Java Virtual  +  * [[uf:flock|Flock]]: loosely defined group of usersIt is an alternative representation of user groups that allows the semantic specification of user groups in a modular manner and manages the constant changes of the group's contents in mobile social networking applications in an event-driven way. A basic flock is defined in terms of a characteristic function. Basic flocks can be composed to form more complex flocks (e.g. "nearby flockrs who like Belgian beers" can be defined by composing the "nearby" flock and a flock with "people who like Belgian beers")
-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).+  * [[uf:proximities|Characteristic Functions]]: "functions" that determine whether or not a user belongs to a Flock. 
 +  * [[uf:totam|TOTAM]]: tuple-based middleware for flock communication.
  
-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]]. +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
- +
-We are currently working on deploying our framework on HTC Hero, phone running on the Android platform.+
  
-==== Development ====+===== Further Reading =====
  
-  [[uf:todolist|Bugs and TODO List]] +**FlocksEnabling Dynamic Group Interactions in Mobile Social Networking Applications**. E. Gonzalez Boix, A. Lombide Carreton, C. Scholliers, T. Van Cutsem, W. De Meuter, T. D'Hondt. To appear in Mobile Computing and Applications Track at 26th Annual ACM Symposium on Applied Computing (SAC 2011), ACM, Taiwan, March 2011. ([[http://soft.vub.ac.be/Publications/2010/vub-tr-soft-10-20.pdf|pdf]])
-  [[uf:Design|Whiteboard Design]] +
-  [[: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.1258551221.txt.gz · Last modified: 2009/11/18 14:35 (external edit)