Archive‎ > ‎2010‎ > ‎Pocket Campus‎ > ‎


Campus Buddy


An Android application targeted at the members of the EPFL campus, primarily students. The key goal is for this app to make it easier for students to find what they are looking for, be kept updated on things, and enabled them to better interact with each other and with the EPFL infrastructure.

Possible Features

  • Social network: who of my neighbors might be somebody I know through other persons
  • EPFL Scientific map: a map of the EPFL Lab competencies, based on keywords, images, names and location
  • GPS based map (showing in real time the path to find a person/office in EPFL)
  • layers based maps (to find nearest ATM, metro stations, WC, etc.)
  • locate the nearest... (GPS + 
    • bathroom
    • pay phone
    • parking lot 
    • we'll have to talk to the epfl plan guys about an API. Also, the site does not show the coordinates of found items which might make the locating the points of interest trickier. 
  • show the availability of bike rentals; where is the closest station with free bikes; same for Mobility cars
    • There is already an iPhone app from, so we can implement it on Android
    • Ad-hoc organization of biking events - if you want to bike, but don't have someone to go with, you can organize an event, or join other existing ones ("e.g. biking along the lake to Ouchy and back") - tie in with Facebook events
  • when will the next metro depart (can store user prefs, such as which direction I usually take, how fast I typically walk, etc.)
    • fancier: which is the next metro I can catch, given my current location on campus
  • social network
    • see if any of my Facebook friends are nearby, so we can grab a coffee/lunch/etc. (Facebook + GPS + maps a la BuddySuite)
    • tie in with Twitter
    • birthday reminders
    • people you want to avoid: if X is logged in and I want to avoid meeting X, the phone can warn me when it looks like our paths are about to cross on campus
  • if I'm near a new building (e.g., RLC), allow me to pull up information on that building: history, architect, etc.
    • equivalent of Google goggles (perhaps use Google goggles and update their info with EPFL campus info?)
    • guide to visit/walk through Rolex, based on Google goggles
  • show the nearest departments (architecture, IC, etc.) overlaid on a map
  • restaurants (Thomas sent an email to ask admins to add more data in the RSS feeds)
    • easy access to restaurant menus (depending on current time, automatically bring up lunch, dinner, etc.)
    • real-time ratings: students eating menu #1 at restaurant X can rate it, so others know whether to get it or not
    • average ratings of the restaurants
    • find out last-minute special deals (e.g., if a restaurant has made too much food, they can advertise it at a lower price)
  • interesting event series in EPFL: GSA Talks, KTN, Job presentations, etc.
  • exam results: as soon as exams are graded, push the student's grade to his/her phone. Also email parents?
  • save day track around EPFL. EPFL usually does mobility studies and students can choose to participate and have their movements while at EPFL be saved.
  • given a course schedule, create a track for the student that shows him how to get to the next class. New students are usually lost on campus.
  • make videos of SwEng and other courses playable on the phone... it could be quite satisfying for students to view the lectures on their Android phones, and they could review lectures on the metro while heading home (combine with Pierre Dillenbourg's tool)
  • as GPS does not work indoors, we need a special positioning component, which can rely on:
    1) the GPS signal, if it's working, or
    2) the visible access points, if there is WiFi signal (to distinguish between them - all of them have the "epfl" SSID, but different MAC addresses, link between bssid and locations :, and triangulate the signal from them, based on its strength, or
    3) the accelerometer - by integrating the acceleration vector we obtain the velocity, then we integrate again and obtain the position.
    4) code bar scanning (use door IDs. (Ask Remi for the csv file of all rooms/barcodes)
  • ADMIPRO: replace all authentication, micropayments (e.g., for food) that is currently done with Camipro, with technology based on Android phones. We should also be able to open doors using Android Phones. The communication can be done over bluetooth or WiFi. Users should be able to add cash to their accounts and exchange money with other peers, as well as pay for food. Several challenges are:
    • building the authentication features
    • detection of double spending and forgery of the electronic coin
    • building a customizable service description (e.g., the communication with the door will be different than the one that performs food payments).
    • if authentication is done via WiFi, the service should be able to authenticate the location of the user. This is something like reverse location lookup. The service needs to determine that the user is located in its proximity (e.g., a user needs to stand in front of a door to be able to open it).
  • Augmented reality (or mixed reality) view: display what the phone camera sees on the screen in real time and overlay contextual information on top of it (for instance, it can be used to locate your friends in a crowd, to find a particular room/building, etc.). For a better idea of the concept, see this video.
  • Project: Electronic pay system that uses the "funny pictures with black and white rectangles" to tell who to pay and the amount to pay. m1 stations have this system to identify stations. There is an app that photographs the picture, goes on line to the developer's servers and then forwards you to the appropriate website that tells you when the next metro is coming. It's really cool.
  • Project management tool: help simplify organizational aspects of group work. This could be integrated into Campus Buddy or it could simply be a standalone app. Features would allow to:
    • Divide the work in tasks among group members (taking into account each member’s strengths and weaknesses?).
    • Monitor the overall progress (using the milestones and deadlines dates) and each member’s progress on its assigned tasks.
    • Facilitate meetings (for example, the app. could find the best time for a meeting given the group members’ timetables).
  • Project idea: a cloud computing infrastructure-like, based on android phones. Everybody has them, they're the most pervasive piece of technology. We can also implement something like Fold@home or SETI@home on top of it.
In the context of Campus Buddy, the app. would use campus/school related data to do its job.


  • provide a server that allows the various campus services to enter data (e.g., the restaurant menus : )

Other Similar Projects

  • MIT's iPhone app

Collaborative self-testing application 

Can create a self testing application (the application itself does not matter that much, can be a campus map application) that  automatically figures out new paths in the code while the application is used. The application can then upload the testcases to a distributed or centralized database.  The paths/testcases can then be clustered by equivalence class. The application should detect idle times and run batches of these tests in a sandbox and report any found bugs. This ensures that a given test case is executed on multiple platforms, in different locations, with different user credentials, etc. This idea is based on ideas from James Withtaker's presentation.