Déjà Vu: Constructing Apps from Clichés

Research project by Santiago P De Rosso and Daniel Jackson of the Software Design Group

Undergraduate students: Shinjini Saha (UROP Summer '16, SuperUROP FT16-ST17), Barry McNamara III (UROP Summer '17), John Parsons (UROP ST17), Stacy Ho (UROP ST17), Teddy Katz (UROP ST17), Eric Manzi (UROP ST16)

Déjà Vu is a new platform for end-user development of apps with rich functionality. It features a theory of modularity for binding concepts; an extensive library of reusable concepts; and a WYSIWYG tool for specifying bindings and customizing visual layout.

As a user you might have noticed the fundamental similarities between the many applications you use daily. Maybe it was the day you were scrolling through your Facebook news feed and then through your Twitter feed? Or when you gave a 5-star review to a restaurant in Yelp, and then to a book in Amazon? Or that time when you replied to a tweet and found yourself later replying to a comment on Reddit?

Now picture the many software engineers developing web applications, ranging from internal business applications to those used by millions of users. How many of these engineers are, at this moment, working on implementing a password recovery mechanism? How many are adding some kind of news feed to their application? What about adding chat functionality? A shopping cart? Adding star ratings or likes? Letting users write comments? In each of these instances, developers are not all doing the exact same thing. In some cases, the feed is listing posts authored by users, in other cases it’s showing shopping products, or books. Some developers need the feature to be tweaked in a unique way, or are using different languages and frameworks. Fundamentally, they are all doing the same thing: combining pre-existing concepts in novel ways. If we could successfully exploit this fact, applications could be built much faster than how they are built today. Déjà Vu does exactly this.

We expect to release an early prototype that illustrates our vision in Fall 2017. If you are an MIT student looking for a UROP, SuperUROP, or M.Eng project, we have multiple exciting openings to work on Déjà Vu.