This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
at:urbiflock [2008/09/05 11:21] tvcutsem |
at:urbiflock [2015/02/04 19:06] (current) elisag |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | ==== What is Urbiflock? ==== | ||
- | Urbiflock is a Facebook-like application framework written in AmbientTalk. The framework takes care of managing a user's buddy lists, called " | + | ===== Scripting Mobile Social Applications ===== |
- | ==== Terminology ==== | + | 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// |
- | * Flock: | + | In this work we propose Urbiflock, |
- | * Flockr: a user of the urbiflock | + | |
+ | ===== 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 | ||
+ | |||
+ | 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 | ||
+ | |||
+ | ===== Terminology ===== | ||
+ | |||
+ | * Flockr: a user of the Urbiflock | ||
+ | * Flock: a group of users | ||
* To flock: to become part of a group | * To flock: to become part of a group | ||
- | ==== Modules | + | ===== Demo ===== |
- | * [[uf: | + | |
- | * [[uf: | + | < |
- | * [[uf: | + | <object width=" |
- | * isNearby: physical proximity | + | </ |
- | * isFriend: static encoding of friendship relationships | + | |
- | * doesProfileMatch: | + | ===== Target Platforms ===== |
- | * combinators: | + | |
- | | + | The Urbiflock framework has been written in the AmbientTalk language. As such, no configuration |
- | * [[uf:applications|Applications]]: | + | |
- | | + | 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. | ||
+ | |||
+ | We have implemented a AWT UI interface for Urbiflock' | ||
+ | |||
+ | {{:uf:urbiflockonx10.jpg? | ||
+ | |||
+ | We are currently working on an Android UI interface for Urbiflock' | ||
+ | |||
+ | The Urbiflock framework is available in the AmbientTalk distribution library under the frameworks/ folder. Visit [[http:// | ||
- | A flock is defined as a list of references to ' | + | ===== The Urbiflock framework architecture ===== |
- | Predefined Flocks: | + | The architecture of the Urbiflock framework shown below is divided in three layers: applications, |
- | * friend flockrs: isFriend | + | {{ :uf:urbiflock_architecture.png? |
- | * nearby flockrs: isNearby | + | |
- | * nearby friend flockrs: isFriend & isNearby | + | |
- | ==== Architecture ==== | + | The application layer includes the API of an " |
- | An ad hoc RETE-network. Events are triggered by: | + | * [[uf:viewer|Flock Viewer]]: a viewer and editor to view existing flocks and to create new flocks. |
- | * discovery: '' | + | * [[uf:profile_viewer|Profile Viewer]]: a viewer and editor to view existing |
- | * profile changes: '' | + | * [[uf:app_viewer|Application Viewer]]: a viewer and editor to view existing applications and install/delete them. |
- | * friend changes: '' | + | |
- | These events | + | There are also several |
+ | * [[uf: | ||
+ | * [[uf: | ||
+ | * [[uf: | ||
- | As a first implementation | + | The Urbiflock' |
- | < | + | * [[uf:flockr|Flockr]]: A flockr represents a 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. |
- | def flockrTemplate | + | * [[uf:profiles|User Profile]]: Profiles in Urbiflock represent the user identity (e.g. name, gender, hobbies, etc.). |
- | | + | |
- | def age := constraint: { _ < 25 }; // must be younger than 25 | + | |
- | def address := template: { | + | |
- | def street := *; //any street,but street name must be filled | + | |
- | def city := " | + | |
- | }; | + | |
- | def greet(); // person must have a greet method | + | |
- | } taggedAs: [ Flockr ]; // object must be tagged as a Flockr | + | |
- | </ | + | |
- | ==== Applications ==== | + | |
- | | + | * [[uf: |
+ | * [[uf: | ||
- | er to view installed applications, | + | The infrastructure layer consists of three low-level abstractions on which the framework core is based: a RETE engine which orchestrates the flock composition, |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | ==== To think about ==== | + | ===== Further Reading ===== |
- | * [[uf: | + | |
- | | + | **Flocks: Enabling Dynamic Group Interactions in Mobile Social Networking Applications**. E. Gonzalez Boix, A. Lombide Carreton, C. Scholliers, T. Van Cutsem, W. De Meuter, T. D' |
- | * [[uf:privacy|Privacy]]: restrict access of applications to a user's flocks | + |