at:urbiflock
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
at:urbiflock [2008/09/05 11:32] – * 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:application|Application]]: define the API of an " | + | 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: | ||
+ | |||
+ | We are currently working on an Android UI interface for Urbiflock's deployment on a number of Android phones ( HTC Hero, Legend and Desire, and Sony Xperia X10 series). | ||
+ | |||
+ | The Urbiflock framework is available in the AmbientTalk distribution library under the frameworks/ folder. Visit [[http:// | ||
+ | |||
+ | ===== The Urbiflock framework architecture ===== | ||
+ | |||
+ | The architecture of the Urbiflock framework shown below is divided in three layers: applications, Urbiflock core, and Urbiflock infrastructure. | ||
+ | {{ :uf:urbiflock_architecture.png? | ||
- | A flock is defined as a list of references to ' | + | The application layer includes the API of an " |
+ | * [[uf: | ||
+ | * [[uf: | ||
+ | * [[uf: | ||
- | Predefined Flocks: | + | There are also several user applications in the framework: |
- | * friend flockrs: isFriend | + | * [[uf:guanotes|Guanotes]]: |
- | * nearby flockrs: isNearby | + | * [[uf:ir8u|IR8U]]: |
- | * nearby friend flockrs: isFriend & isNearby | + | * [[uf:iflocku|IFlockU]] (Coming): a friend suggestor based on profile similarity and time spent in proximity. |
- | ==== Architecture ==== | + | The Urbiflock' |
- | An ad hoc RETE-network. Events are triggered by: | + | |
- | * discovery: '' | + | |
- | * profile | + | |
- | * friend changes: '' | + | |
- | These events are received by the local flockr user object and propagated to all local proximities. Proximities translate these events into addUser / removeUser events | + | * [[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. |
+ | * [[uf: | ||
- | As a first implementation | + | * [[uf: |
+ | * [[uf: | ||
+ | * [[uf:totam|TOTAM]]: | ||
- | < | + | 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. |
- | def flockrTemplate | + | |
- | def name := *; // wildcard, can be anything | + | |
- | 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 | + | ===== Further Reading ===== |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | * [[uf: | + | |
- | ==== To think about ==== | + | **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 | + |
at/urbiflock.1220607120.txt.gz · Last modified: 2008/09/05 11:45 (external edit)