What does the future hold when we have billions of users with personal smart phones? Like the PCs automating the office, smart phones will transform our social life. The Stanford MobiSocial Computing Laboratory focuses on creating novel user experience, system architecture, infrastructure design, development frameworks, and security protocols for the programmable open mobile internet (POMI) by year 2020.



mission

To create disruptive mobile and social computing technology that serves consumers' interests and benefits the economy in the long term.

We saw the rise of smart phones as a huge opportunity for disruptive changes in existing computing paradigms, and have started doing research in mobile and social computing in 2008, as a part of the NSF Expedition Programmable Open Mobile Internet (POMI 2020). Results from this work have attracted industry interest and the MobiSocial Computing Laboratory, an industrial affiliates program, was formally launched in April 2011.

The mobile is the fourth of the world's major computer revolutions. The transition from mainframes to PCs gave individuals an unprecedented amount of computing power at their disposal and has led to the automation of offices and more. Cloud technologies shift computing back to centralized services, giving individuals access to their data from anywhere. The resulting Big Data phenomenon has had significant impact on the market as well as personal privacy. With mobile, control will swing back to the individuals as the aggregated power and communication bandwidth of billions of smart phones will surpass any centralized cloud service. The phones are more available than just the cloud, as they can operate offline. Moreover, the phones have a full record of the individual's digital life. All this translates to huge opportunities for paradigm shifts.

ThingEngine

Help the world connect the dots, with the open source platform for Internet of Things

ThingEngine is our new research project (starting 2015) in the area of Internet of Things. ThingEngine is an open source implementation of a distributed IoT control hub and personal data store. The main goal of this project is to design an IoT system that gives users ownership over their own data; also our system aims to provide user-friendly interface that helps make use of one's own data. To this extent, we are designed as a distributed system and are able to run on a variety of devices, including shared cloud services, private cloud servers, private home servers such as the Raspberry Pi and even mobile phones, allowing the user the flexibility of choosing the storage solution he prefers.

Access control is also at the core of ThingEngine, making it possible by design to share the data with multiple parties such as doctors and health institution, in a manner as seamless as possible, but also retaining the revocation privilege. All data is grouped by access control, and all parties can subscribe to changes only to the data they have access to at any given time.

Additionally, a goal of ThingEngine is to be programmable by educated people without a computer science background (such as doctors and care givers), such that the programming logic can be distributed using a crowdsourcing platform (called the ThingPedia) to all endpoints running the engine. To this extent, we're designing a declarative domain specific language, with an intuitive syntax but also a powerful set of semantics that would cover most, if not all, the use cases of IoT control hubs.

We also don't want to sacrifice the ability to do rich static analysis and automated code generation, with the ultimate goal of automatically suggesting the most useful programming based on observed behavior pattern, as well as being able to infer the desired pattern from the shared collection based on natural language analysis, using the Sabrina chat interface.

SociaLite

a graph query language based on Datalog

SociaLite is a high-level query language for large-scale graph analysis. SociaLite is based on Datalog, and extended theoretically as well as practically to make large-scale graph analysis possible. For example, SociaLite is extended to support aggregate functions inside recursive queries as long as they are meet operators; the functions can prune out unnecessary computations for faster convergence. Also, its tail-nested tables can compactly store graphs for faster data access. With the two optimizations, SociaLite is more than 30 times faster than the state-of-the-art Datalog engines including LogicBlox, a commercial Datalog system, and as fast as highly optimized Java programs. Moreover, its location operator makes it easy to efficiently partition tables on cluster of machines, and apply distributed join operations. When we compare SociaLite with other distributed frameworks for shortest paths algorithm, SociaLite is more than two orders of magnitude faster than Hadoop and Haloop, and an order of magnitude faster than Hama and Giraph [2]. When we compare with Giraph, SociaLite programs are 4 to 12 times faster for six core graph algorithms including PageRank and Connected Components; yet SociaLite programs are 22 times more succinct than Giraph programs.

With Intel research lab, we compared state-of-the-art distributed graph frameworks including GraphLab, Giraph, and Combinatorial Blas, and we demonstrate that the performance of SociaLite is very competitive across different benchmark programs. On one benchmark, Triangle, SociaLite is the fastest among the four frameworks; for the rest benchmark programs (BFS, PageRank, and Collaborative Filtering) SociaLite is second in the performance, next to Combinatorial BLAS.

This project is partly supported by AWS Research Grants.

musubi

mobile, social, ubiquitous

Musubi attempts to create a social mobile INTERNET where users can have a rich and carefree social sharing experience with any group of friends, with the freedom to choose their own cloud storage provider and apps on their mobile devices. This open architecture can disrupt the lock-in seen in existing social INTRANETS which imposes rigid control over both the users and the developers.

The social network infrastructure consists of a set of core secure encrypted messaging services. Data are decrypted on users' phones and can be backed up to PCs or cloud services of the user's choice. The Musubi social platform supports a new class of applications: peer-to-peer applications, centralized applications with identity protection, peer-nominated proximity applications, leverage of local devices, and personal analytics.

  • This research has led to the spinoff of a startup called MobiSocial Inc. which has produced an iPhone app called OMlet. OMlet stands for Open Messaging with applets. You can download it from here.

Corktastic

Software for Mobile Devices and Large Displays

Corktastic is software that is designed to run on mobile devices and large displays that are typically situated in public places. The software converts a large display into a digital corkboard on which people can post messages and images by using their mobile device. A person uses their mobile device to text a message to the display. The message then appears on the display in the form of a “Post-it” note. Images can also be emailed to the board and appear as Polaroid pictures. Additionally, different types of multimedia such as videos and posters can be added to the board.

Along with the gathering and sharing information in a specific location, Corktastic can be used to gather information from the Internet that is relevant to the users to keep them aware of local events. For example, there are applications built for the Corktastic that will display relevant tweets on the board depending on the context of the setting. There is also an application that gives local weather information, for which the board can automatically suggest clothing options.

Moreover, Corktastic is an application platform that can have other third party applications run on it. Some of the other applications that have been built are a refrigerator magnet poetry game that allows people to use their mobile devices to move magnets around on the display. There is also a photo booth application that uses a camera attached to the display to take pictures. The pictures can then either be shared through email or sent to a mobile device.

We are continuing to bridge the connection between applications on the display and the mobile device. For example, just as people can add information to the screen using text or email, we are adding functionality for people to move information from the display to their mobile device. For example, if a user sees an event on the screen that they would like to attend, that event could be added to the calendar on their mobile device. Additionally, a person could walk up to the display in a hotel lobby and choose from a list of events that are currently happening. They could then transfer a mini application from the screen to their mobile device that would direct them to the event.

Corktastic is enabled by three current trends in computer hardware. Firstly, the decrease in price and increase in size of flat panel displays is a trend that enables displays to frequently appear in public spaces and in new buildings. Secondly, the trend of smart mobile devices becoming increasing ubiquitous and tied to users' preferences allows for increasing modes of interactions and personalization with the display. Thirdly, new small form factor computers are being developed which use the same chipsets as mobile phones but do not have the screen or 3G connection. With Corktastic, these computers can be made to transform a passive display into an active piece of communal computational infrastructure. Thus, the implementation of Corktastic binds these three trends together. By turning public displays into a resource that can be personalized to the user, we envision an ecosystem of applications that tie together public displays and mobile devices.

Dispatch

Secure, authenticated instant publishing for citizen journalists.

Social media has played a significant role in the Arab Spring movement that has toppled oppressive regimes in many countries. Regimes under attack often responds with crackdowns on protesters and shutting down the internet to disable social media. Dispatch is a mobile app that allows users to publish instantly, to Tumblr for example, authenticated information based on an anonymous identity. We will also make it possible for Dispatch messages be passed around person-to-person, in case the internet is not available from a locale.

Many journalists, let alone citizens, are not aware of the danger of publishing with their real identities. This project works closely with journalists to get the word out and to use Dispatch in real-life scenarios.

Dispatch is a joint project with the School of Journalism and the Computer Science Department at Columbia University and Tumblr. It was awarded a Magic Grant from the Brown Institute.

  • Dispatch was used in a trial for reporting on the US election, November 2011. You can view the results at here.
  • Dispatch has been released on the iPhone app store! You can download it from here.
    Dispatch is built on top of the open-source Musubi software.

experience-infused software

what if our software knows everything about us?

Much of our lives is captured in online communication and digital transactions. Our passively acquired digital life-logs capture interesting stories and facts about ourselves. Who were our forgotten friends in high school or college? What are the significant people, places and things in our lives? When were we happy, sad, angry or in love? What happened in our lives in the year 1999?

We are particularly interested in solutions that respect privacy, e.g. by processing information on our own devices, so users can be comfortable to use all their data from different sources.

muse

Muse (Memories Using Email) is a program that helps users muse over long-term email archives. It mines email to help the user to reminisce about the past. It automatically derives the user's social topology based on email patterns and lets user browse and further edit groups in the topology.

Click here to try out Muse on your own email archives.
Muse is reviewed by New Scientist.
Muse is being commercialized by Stanford Libraries to give readers access to email archives of eminent individuals. Click here to see an early demonstration.

slant: personal search engine

Why get served thousands of results from unknown and untrusted websites when you search the web? Instead, create custom search engines that index only websites mentioned in social chatter (e.g. email and tweets we read). The search engine knows what's on our mind and can return results with very little typing. Just type in 243, and you may get the home page of the CS243 course you are taking currently. Our user study suggests that the results of just thousands of web pages can return different but equally rated results than the billions indexed by generic search engines. Slant respects privacy by running on behalf of the end user and only submits a list of preferred domains to a Google custom search engine.

Click here to try out Slant.

personalized browser

Our personal browser reads pages we visit and highlights all the terms that are meaningful to us based on the names mentioned in our email archives. This helps us read dense pages faster and is useful to tackle the constant information overload we face. We may also be serendipitously reminded of people we have forgotten; simply click on the highlighted term to get transported to the exact conversation involving the individual of interest.

Click here to try out our browser extension that annotates your web pages with connections to your email archives indexed by Muse. You can also try out Bookify, our new project that reads multiple web pages and lets you scroll through them smoothly. If Muse is running, Bookify will personalize the experience, introducing highlights and reordering pages according to relevance.

bspoke: personalized news

Bspoke is a project that builds an online profile of a user at their end, and uses it for news personalization. The profile is gathered automatically from online activities such as Email, Facebook, PC Documents, and Browsing history. This profile is private to the user, portable and transparent. It is used to automatically identify personalized news by an agent that monitors hundreds of news sources and applies filters that surface only the most relevant articles based on the profile.

Click here to try out Bspoke.

Personalized Memory Testing for Names

Personalized Memory Testing for names is a novel research approach to testing human memory. Using text analysis techniques, our system automatically generates fill-in-the-blank questions a user's email archive; the answers to these questions are names that appear frequently in the archive.

Click here for more information.

groupgenie--discover your social groups without tears

By analyzing our tagged photos and email correspondences, we can deduce and discover our circles of friends, including important social subgroups within larger groups of friends. This presents a much richer, nuanced view of our social landscape, which is missing from today’s plain, old view of our flat social graph. We have developed an algorithm that derives our social topology from our personal data, and a publicly available system called GroupGenie, that enables users to deduce, browse, edit and save their social topologies. Eliminating the tedium of group creation encourages more private sharing, and helps users make sense of their ever-growing social graph of friends.

GroupGenie is publicly available as a Facebook application, try it out here.
Our project, previously known as SocialFlows, was reported on the front pages of MIT Technology Review Today's Stories.

junction

ad hoc network between people and between devices

We view the phone as an extension of ourselves--we can wield our digital identity and personality to interact with people we meet and things we see directly. We carry our favorite bookmarks, photo, games, and share them with people we meet. We can also connect different devices together for activities, such as playing music on a friend's jukebox or sharing youtube on a big-screen TV with a tap using NFC (near-field communication) technology. It is important that we can interact socially with the assistance of our phone without requiring any prior arrangement such as signing up to the same social website, nor do we wish all our activities be monitored by a big-brother portal.

We coin the term partyware to refer to the class of social software that assists us in our real-world social encounters. Junction is an infrastructure designed to support partyware. On the Junction platform, partyware run on end-point devices, with the help of a generic rendezvous service in the network, thus enhancing privacy as well as scalability. We believe this design will encourage the creation of more multi-party software. The conventional server-client model used in multi-party software is a barrier to entry--many would-be application developers do not have the ability to write and host scalable services. We have created a large number of applications using Junction including multi-party games, collaborate media sharing, and collaborative learning applications for under-served children.

For more information: read about our NFC demos in an Engadget article.
Junction is publicly available and its documentation is available here.
Junction is used as the underlying platform in SMILE, the Stanford Mobile Inquiry-Based Learning Environment.

mr. privacy

an open federated social networking platform based on email

Currently, friends wishing to participate in social networking must join the same proprietary social network. We believe proprietary social networks will give way to open, federated social networking systems that are supported by a variety of vendors. Competition made possible by openness will offer consumers more choice and better services.

Our approach is to leverage email, allowing anybody with an email address to participate in social networking. Why email? Email is more pervasive than any social network; it is an open, federated platform that lets consumers choose their providers, including hosting their own if they so wish. Mr. Privacy keeps the communication in users' email. It provides an API that allows any application developer to define the data structures, which are automatically saved in distributed email repositories. Developers need not provide a central server; this requires significantly less effort and provides consumer with privacy automatically. We have validated the concept with SocialBar, an extension to Firefox for social browsing, and a GPS sharing application for both Android and iPhone.

The project is reviewed in an MIT Technology Review blogpost.
You can download SocialBar here.

personal cloud butler

sharing and mining of personal clouds

Especially because of the mobile phone, there is a digital record of just about everything we do these days: our entire GPS traces, photos, videos, events on our calendar, emails, phone records, credit card histories, music and movies played. We refer to this body of knowledge as our personal cloud. We imagine that everybody will have a safe haven that enables one to store all this information in one place without hesitation. Automatic or semi-automatic techniques help us control access to our personal cloud. Not only can we access our own data, we can also tap into what our friends allow us to see.

Controlled sharing of possibly large amounts of personal data is supported by our Personal-Cloud Butler platform. The Personal-Cloud Butler service can be hosted at home on existing consumer products such as set-top boxes, game consoles, and broadband gateways. The Butler works in concert with mobile devices. Mobile devices collect data, which are then backed up to the Butler, they also provide users quick access to the data while on the road. Our Personal-Cloud Butlers implement the decentralized and standard OpenID protocols, support search of all data with an semantic index, and provide a high-level query language that hides the complexities of authentication, communication, and distribution from application developers.

We have just created a Wiki for developers interested in working with our software. A high-level query language for large-scale graph analysis and big data mining. A non-proprietary social internet and application platform. A program for browsing long-term email archives, and using them for personalized search and browsing. Software for libraries and archives to provide partial access to the email archives of eminent donors (a spin-off of Muse). A browser enhancement for rapidly browsing collections of web pages. A Facebook app that automatically extracts your social groups from your email and tagged photos. A Firefox extension that supports social browsing without Big Brother. A platform for mobile, ad hoc, multi-party application development. Real-time bus arrival information for the Stanford Marguerite using NFC or GPS locations (Android). The social way to walk, jog, run, cycle, or even... ski. A music client for the Android platform

Faculty

Students

Monica S. Lam
(Faculty Director)
Michael Bernstein
Dan Boneh
Paul Kim
James Landay
Jure Leskovec
Nick McKeown
Roy Pea
Giovanni Campagna
Michael Fischer
Rakesh Ramesh
Silei Xu

Lab Personnel

Sudheendra Hangal
(Consultant)


(Program Manager)

Former Members

Prof. Jeff Heer
Prof. Scott Klemmer
Kazuya Yokoyama, Sony
Hiroaki Kameyama, Fujitsu
YongQiang Liu, NEC
Kazumine Matoba, Fujitsu
KwangYong Lee, Samsung
Sangho Yi, Samsung
Munjo Kim, Samsung

Former Student Members

Kanak Biscuitwala
Hristo Bojinov
Chris Brigham
Jesse Cirimele
Aemon Cannon
Ruven Chu
Ben Dodson
Alex Favaro
Steve Fan
Sadjad Fouladi
Bobby Georgescu
Te-Yuan Huang
Joy Kim
Nicolas Kokkalis
Diana MacLean




Abhinay Nagpal
Matthew Nasielski
Chanh Nguyen
Andreas Nomikos
Neil Patel
T.J. Purtell
Arvind Satyanarayan
Jiwon Seo
Seok-Won Seong
Debangsu Sengupta
Seng Keat Teh
Ian Vo
Xiangyu Yue

Papers

Demonstrations

  • SocialFlows: A System for Mining Social Topologies from Ego-centric Social Networks
    Diana MacLean, Sudheendra Hangal, Seng Keat Teh, Monica S. Lam, and Jeffrey Heer
    In the 16th ACM SIGKDD Conference on Knowledge Discovery and Data Mining
    Washington DC, July 2010.

  • Dunbar: Mining Email Archives for Reviving Memories
    Sudheendra Hangal and Monica S. Lam
    In the 16th ACM SIGKDD Conference on Knowledge Discovery and Data Mining
    Washington DC, July 2010.