» Research » (Data and Computing Substrate) Mobisocial


an open API and framework for decentralized social applications


PrPl is aimed at letting individuals participate in online social networking without giving up ownership of their data. The vision is to have an open standard and API so that applications can work on a social group's data, honoring the access control imposed, regardless of where the data is stored and where the application is running. By making it easy for users to store all their data in a personal ``safe haven'', social applications can get access to all the users' data generated by all the applications used and thus make possible even better personal and social applications.


PrPl is a decentralized person-centric architecture, where a service we call the Personal-Cloud Butler indexes and shares each individual's data while enforcing fine-grained access controls. These Butlers may reside on different administration domains. One major emphasis is to create a programming environment for (mobile) social applications that access data in the decentralized PrPl infrastructure. We are extending Datalog to create SociaLite, a declarative database language for a social multi-database. Many social applications can be written by adding a UI to a SociaLite query. The language helps application writers to cope with the details of the decentralization and authentication management associated with a multi-database, as well as the data management issues on the mobile devices.

In Situ

every personal app is a social app


We have available to us large volumes of personal information generated by various personal applications, from our GPS and camera on our cell phone, email, SMS, tweets, calendar, and documents. All this information can be used to enhance our daily life and provide a full personal history useful for retrospection and preservation for posterity.


The In Situ project aims to add a social networking component into the personal and communication applications we use daily, so we don't have to make special effort to upload our data to social networking sites. As an example, we wish to extract friends' relationships from our emails directly. Such a procedure can automatically keep our friends' list up to date. This information is useful for example in seeding the specification of access control, the difficulty of which has been a barrier for people to share personal information easily.


a decentralized cross-platform application framework for multi-party applications


The cell phones create a new demand for multi-device interactions. Because the phones have all our personal information and are with us all the time, we wish to use them together in social applications, such as sharing our favorite you-tube movies. In the mean time, because of the phones limitations, we wish to complement them with the display, keyboard, and processing power of PCs. All this calls for a cross-platform application framework that enables phones and PCs to participate in an activity easily. We are interested in creating a decentralized design for the sake of privacy, exploitation of locality and independence empowerment.


Junction is a decentralized cross-platform application framework for multi-party applications on phones, PCs, and servers. With the help of a program called the Activity Director, a user can participate in ad hoc interactive applications built using Junction by clicking a Junction URI or by snapping a displayed QR code with his phone's camera. The director automatically downloads the necessary software, launches it, and joins the user to the session.

Junction is a decentralized architecture; interacting devices themselves carry out all the application logic, relying only on an arbitrary third-party Junction switchboard for routing messages. This infrastructure keeps personal interactions away from the prying eyes of centralized application service providers, while offering easier scalability.

Junction has been implemented and runs on web browsers and natively on the Android OS. With Junction, we found it easy to develop a large number of applications: contact exchange, cross-platform chat, playing music and YouTube videos together, multi-party games, challenge-response authentication, and a utility to make use of the phone and the PC simultaneously.


a decentralized service architecture for cell phones


It is desirable to make it easy for cell phones to leverage compute and communication resources over the network because phones have no permanent IP address and limited battery life. To handle the billions of smart phones in the future, we favor a decentralized architecture, which also has other advantages such as providing privacy and independence empowerment, and leveraging locality. We imagine that just as wifi access is provided locally, computational services can be provided locally to authorized phones.


Concierge is an infrastructure that supports two important uses:

  • Cell phones offloading computational and network communication to nearby resources.
  • Cell phones all contributing data to a common real-time database, which filters and processes the real-time feeds and returning answers to cell phones. In particular, the database can be a location-specific resource.


Faculty Students
Monica Lam
Dan Boneh
Jeff Heer
Ruven Chu
Ben Dodson
Michael Fischer
Bobby Georgescu
Sudheendra Hangal
Te-Yuan Huang
Diana MacLean
Chanh Nguyen
Andreas Nomikos
Jiwon Seo
Seok-Won Seong
Chinmay Soman
Steven Soneff
Seng Keat Teh
Ian Vo

Research Associate

Kelvin Yue
Visiting Scholars

Hiroaki Kameyama, Fujitsu
Kyu-Han Kim, Deutsche Telekom
Angela Nicoara, Deutsche Telekom
Previous Members

Matthew Nasielski
Debangsu Sengupta