RESEARCH PROJECTS

Crowd Computing

  • Project

    Soylent

    Project Lead: Michael Bernstein
    Soylent is a word processor with a crowd inside: an add-in to Microsoft Word that uses crowd contributions to perform interactive document shortening, proofreading, and human-language macros.
  • Project

    TurKit

    Project Lead: Greg Little
    TurKit is a Java/JavaScript API for running iterative tasks on Mechanical Turk. You can safely re-execute TurKit programs without re-running costly side effects on Mechanical Turk, like creating new HITs, but still write your program in a straightforward imperative manner - there is no need to unravel the program into a state machine.
  • Project

    TweeQL

    Project Lead: Adam Marcus
    TweeQL is a SQL-like query language that turns the tweetstream into a stream of data in real-time. Using TweeQL, we can detect earthquakes, map the weather, and find out how people on Twitter feel about politicians.
  • Project

    TwitInfo

    Project Lead: Adam Marcus
    TwitInfo provides a timeline-based visualization of topics as they are discussed on Twitter. The interface also visualizes locations of Twitter users, and displays the sentiment of the tweets users write.
  • Project

    VizWiz

    Project Lead: Jeffrey P. Bigham
    VizWiz is a mobile application that lets blind people take a photo, speak a question about the photo, and receive answers from the crowd quickly from their existing iPhones.

UI Automation & Customization

  • Project

    Froggy

    Project Lead: Chen-Hsiang (Jones) Yu
    Froggy is a Firefox extension for improving the readability of web pages. It reduces the distractions and transforms the text content for non-native English readers.
  • Project

    Sikuli

    Project Lead: Tsung-Hsiang Chang and Tom Yeh
    Sikuli is a new way to automate GUI interactions using screenshot patterns to direct mouse and keyboard events. Users can programmatically control a web page, a desktop application running on Windows/Linux/Mac OS X, or even an iphone application running in an emulator as long as you can see them on the screen.

    Completed Projects

  • Chickenfoot is an extension for the Firefox web browser that supports end-user automation and customization of web pages -- without having to look at the page's HTML source.
  • Exhibit creates interactive, data-rich web pages without programming or database tools.
  • Inky is a sloppy command line for the Web, using keyword commands instead of rigid syntax, and rich graphical feedback.
  • Keyword Programming, also known as sloppy programming, is a new programming paradigm that eschews rigid syntax and strives to parse suggestive and loosely grammatical expressions.
  • Potluck is a web user interface for making data mashups from multiple Exhibits -- no programming or data modeling skills required.
  • Smart Bookmarks introduces the idea of automatic retroactive macro recording, which allows you can create a bookmark for any point in your web browsing, even dynamic or hard-to-reach web pages where the URL alone does not recover the correct page.

Software Development

  • Project

    Collabode

    Project Lead: Max Goldman
    Collabode is a web-based Java software development environment designed to support close, synchronous collaboration between two or more programmers.

    Completed Projects

  • Codetrail is a system that shares information between Eclipse and Firefox so that documentation and other web resources can be easily and automatically connected to source code.
  • Quack is an Eclipse plugin that applies keyword programming to Java, using keywords to direct automatic code completion.
  • Relo & Strata is a plugin for Eclipse that provides incremental, interactive exploration of code using familiar graphical notations (UML class diagrams for Relo, layered architecture diagrams for Strata).
  • User-Directed Sketch Interpretation is a system for creating structured diagrams from hand-drawn sketches, particularly for software diagrams.

Intelligent Text Editing

    Completed Projects

  • Cluster-based find & replace improves the standard find & replace interface by clustering matches by similarity, so that whole clusters of similar matches can be replaced at once while outliers can be judged individually.
  • LAPIS is an experimental text editor/web browser that demonstrates a range of novel techniques for automated text editing. Most of the techniques below are implemented in LAPIS.
  • Mass Edit is a web user interface for rapidly editing many lines of a file at once, using multiple cursors.
  • Outlier finding reduces errors in large-scale editing by directing the user's attention to unusual or inconsistent data.
  • Simultaneous editing is a method for automatically editing repetitive text, using multiple cursors at the same time. As implemented in LAPIS, this technique is more powerful than Mass Edit.

Usable Security

    Completed Projects

  • Kangaroo (originally called Facemail) is a Firefox extension that tries to reduce the chance of misdirected email by automatically displaying the faces of an email message's recipients while the message is being composed.
  • Phishing defense studies seek to understand why people fall for phishing attacks (fake emails and web sites that lure unsuspecting victims into revealing their passwords, credit cards, or other private information) and reproduce their behavior using laboratory user studies, so that new defenses can be tested before deployment.
  • Secure email is a series of studies aimed at understanding why secure email is not more widely adopted, despite its wide availability.
  • Web Wallet is a browser sidebar that helps manage a user's sensitive information, with the goal of reducing the effectiveness of phishing by making safe actions easier than unsafe ones, integrating itself into the user's workflow, and respecting the user's goals.