Inspired by the history of the user interface for personal computing, we are developing new interaction models for personal fabrication. Instead of working through a digital 3D editor, we propose to let users work hands-on on the physical workpiece and to update the physical object after every editing step. Our long-term vision is to enable direct manipulation for physical matter in the same way as we today manipulate digital data on touch-devices, such as the iPad.
Even though considered a rapid prototyping tool, 3D printers are so slow that a reasonably sized object requires printing overnight. This slows designers down to a single iteration per day. Our concept called Low-fidelity fabrication speeds up design iteration by printing intermediate versions of a prototype as fast, low-fidelity previews. Only the final version is fabricated as a full 3D print.
Gitless is an experimental version control system built on top of Git. Many people complain that Git is hard to use. We think the problem lies deeper than the user interface, in the concepts underlying Git. Gitless is an experiment to see what happens if you put a simple veneer on an app that changes the underlying concepts. Because Gitless is implemented on top of Git (could be considered what Git pros call a "porcelain" of Git), you can always fall back on Git. And of course your coworkers you share a repo with need never know that you're not a Git aficionado.
For decades, 'software design' has been about the internal structure of the code. Recently though, with the growing interest in design thinking, practitioners and researchers have started focusing more on the design of the behavior of the software. The behavior not only determines the user experience, but also shapes the implementation in fundamental ways. In this project, we are developing a radical new approach to software design that focuses on this aspect. The key idea is the identification of conceptual constructs that embody the key behavioral features of the application. To realize the goal of a new design method for software, we analyze existing systems and applications and develop new ones, polishing our design theory in response to what we learn from case studies.
Object Spreadsheets (formerly Relational Spreadsheets) is an enhanced spreadsheet tool with support for storing and manipulating structured data. End-user developers can use it directly to work with a data set, or to build a web application that offers constrained view and update access to a larger population of users. As of December 2015, we have a prototype of the spreadsheet tool that we believe demonstrates the basic vision pretty compellingly, though it is missing developer aids for formula building and many other smaller features that would improve its usability. Completely missing at this point are (1) the ability to edit stored procedures via the spreadsheet UI and (2) integration with a UI builder to design the application UI. To demonstrate the applicability of the tool, we have built several example applications, writing the procedures and the application UI by hand; these are included with the prototype.
Wait-learning encourages users to learn during times when they would otherwise be waiting, by automatically detecting waiting moments and presenting educational exercises during that time. Combining wait time with productive work opens up a new class of software systems that overcome the problem of limited time by making use of existing wait time for productive activities. Examples of wait-learning moments used by our systems include elevator waiting, waiting during pull-to-refresh, waiting for wifi to connect, waiting for email to finish sending, and waiting for instant message replies.
Communication often has a pictorial component, as for example when designers (of many sorts) sketch, or stand at a whiteboard, drawing, gesturing, and talking about their designs. We want the whiteboard to be smart enough to understand that interaction, i.e., understand the sketches, the gestures, and the speech, and be able to draw, gesture and talk in response, as style we call symmetric multimodal interaction.
For many years neuropsychologists have tested people's cognitive status by having them draw simple diagrams. We have been administering these tests using a digitizing ballpoint pen, then analyzing this data using a variety of sophisticated techniques from sketch understandig, machine learning, and signal processing. This research has uncovered very subtle, previously unknown movements made when drawing that are indicative of cognitive status.
Interdisciplinary, project-based course in which small teams of students work closely with a person with a disability in the Boston/Cambridge area to design a device, piece of equipment, app, or other solution that helps them live more independently.
Covers design and implementation of software systems, using web applications as the platform. Emphasizes the role of conceptual design in achieving clarity, simplicity, and modularity. Students complete open-ended individual assignments and a major team project. Enrollment may be limited.
Learn laser cutting, electronics breadboard prototyping, soldering, and computer vision in only two days. In this hands-on IAP we will build a multitouch pad including gesture recognition based on the principles of FTIR.
Covers human capabilities, design principles, prototyping techniques, evaluation techniques, and the implementation of graphical user interfaces. Deliverables include short programming assignments and a semester-long group project.
Teaches how to build cutting edge interactive technologies and provides an overview of each field. Topics covered include multitouch, augmented reality, haptics, wearables, brain computer interfaces, tangibles, fabrication, and more.
📅 Tuesdays, 1pm - 2pm 📍 Kiva Seminar Room, Stata Center (32G-449) 🔓 Open to the public 📫 Subscribe ✉️ Contact
As a PhD student: apply to the MIT EECS PhD program by December 15.
As a postdoc or UROP/SuperUROP/MEng: email individual faculty directly.