COMS 6181 Projects
All projects should consist of teams of three students. The topics
below are suggestions; I'd be happy to discuss other suitable topics that
match one or more themes of the class.
Projects can be implemented on PCs, MacOS or a mobile OS (IOS,
Teams need to submit a project plan.
- Contextual security
- Build a simple Android or IOS app that reports back the user's
location to an authentication system, either PAM (for Linux login) or a
web authentication framework (such as PEAR Auth for PHP). If the user
location agrees with the location estimated by IP address of the login
request, use the normal login process. If not, add Google Authenticator
or another two-factor method (e.g., FIDO U2F) to the authentication
process. Consider other authentication factors, such as web browser and
- Performance monitor
- Network traffic monitor
- Indoor location accuracy measurements
- Adjacent offices or apartments.
- iPhone/Android rich presence
- Using the iPhone, Android or other smartphone platforms, build a
system that reports the value of its sensors, including local time,
geospatial location, acceleration, speed, light level, sound level and
user activity, via "rich presence".
Build a web interface for a SIMPLE rich presence server. Try to detect
common activities, such as walking, by the output of the accelerometer.
- Home intercom
- Build a home intercom using standard protocols. The intercom should have
no central server, and work by push-to-talk and multicast.
- Location measurement using Bluetooth
- Use BlueTooth devices such as keyboard and mouse interfaces to
determine where a mobile device (e.g., Android, iPhone) is located.
Only take into account fixed devices, if possible.
- What kind of Internet am I on?
- Many parts of the Internet, whether in homes or hotels, businesses
or buses, are no longer transparent and only offer a limited subset of
capabilities, from delivering unicast packets only to restricting the
ports that applications are allowed to use. A draft prepared for Internet2
describes some of the distinctions. Extending our DYSWIS tool (written
in Java), the project should implement an easy-to-use tool, using Java
or Flash, that detects the capabilities of the current Internet
- Automatic speaker recognition
- During phone conferences, it is often difficult to tell who is
speaking, particularly if the group meets only infrequently. Using
existing speaker recognition technology, build a tool that, given a list
of names and speech samples, tries to determine the most likely speaker,
sending the name by IM to the participants and/or displaying it on a web
- Web 2.0 conferencing
- Using Ajax and similar technologies, create a simple web
conferencing application that allows a group to collaborate by text
chat, file exchange, floor control and voting, possibly supplementing a
- Echo detection for VoIP
- Detect whether a voice channel has echo, so that a network
management application can monitor the quality of a call or
- Location privacy
- Consider how to improve location privacy for users, e.g., in Google
Latitude. Consider location fences, Facebook groups and similar
- Acoustic user location
- Using two or more microphones, determine the approximate location of
a speaker in a room. (You may need to acquire additional hardware for
this project; please discuss possibilities with the instructor.)
- Content distribution network using NetServ
- Using our NetServ (Java-based) programming environment, build a
content distribution network that optimizes content delivery on a national test
- Location-aware BitTorrent
- Make BitTorrent location-aware, so that it preferentially retrieves content
from nearby sources, such as within the same home.
- Proximity-aware devices
- Discover other devices within close geographic proximity, if they
match the same interests or group. Example uses: games or
collaboration (e.g., in a classroom, at home or conference).
- Location-based information
- Build a web or smartphone application that uses location-based
annotate locations on a map with text, photos or audio narration. This
could be used, for example, for building guided tours for nature areas
- Multiple interfaces
- Accelerate downloads by using both wired and wireless (802.11) interfaces,
or both cellular data and 802.11. Consider mTCP and SCTP, as well as application-layer