User Tools

Site Tools


Sidebar

Jump to
AmbientTalk
CRIME
iScheme

at:urbiflock

This is an old revision of the document!


Urbiflock

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.

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 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. The framework is currently still under development, which is why these pages mostly lists development information thus far.

Terminology

  • Flockr: a user of the Urbiflock framework
  • Flock: a group of users
  • To flock: to become part of a group

Modules

  • Profiles: manage user's profile and cache profiles of other flockrs
  • Flockr: a representation of the user
  • Proximities: “functions” that determine whether or not a user is proximate.
    • isNearby: physical proximity
    • 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, …
    • combinators: and, or, not
  • Flock: a group of 'proximate' users
  • Applications: manage applications
  • Application: define the API of an “application object”

A flock is defined as a 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.

Predefined Flocks:

  • friend flockrs: isFriend
  • nearby flockrs: isNearby
  • nearby friend flockrs: isFriend & isNearby

WhiteBoard Drawings:

Applications

  • Flock Viewer: a viewer and editor to view existing flocks and to create new flocks.
  • Application Viewer: a viewer and editor to view existing applications and install/delete them.
  • Profile Viewer: a viewer and editor to view existing flockr profiles and to update your profile.
  • IFlockU: a friend suggestor based on profile similarity and time spent in proximity.
  • Guanotes: a messenger application that sends post-its to flocks.
  • 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 here.

Development

To think about

  • Persistence: saving/loading framework and application data and prefs.
  • Privacy: restrict access of applications to a user's flocks
at/urbiflock.1258548300.txt.gz · Last modified: 2009/11/18 14:17 (external edit)