Undergraduate Research and Innovation Scholar
Building Apps from Concept Clich°s
- Software Design and Programming Languages
Daniel N. Jackson
Many web applications feature similar concepts including reviews, ratings, and marketplaces, which are implemented in unique ways with the context of the application in mind. If we could exploit this similarity, we could accelerate web application development. Though content management systems (CMSs) make it easier to develop web applications, users are restricted to a subset of simple applications because their components and plugins lack a compositional mechanism. As a result, any desired interaction between them must be programmed. D°j° Vu, a new software paradigm developed by the MIT CSAIL Software Design Group, aims to allow end-users to create complex and multifaceted web applications by abstracting implementation details into modular concepts, known as clich°s, and widgets, an array of interactive components. Each clich° has its own user interface elements; and maintains state and domain logic in the backend. To evaluate the current prototype, I will build sample applications from the catalog of existing clich°s, add new clich°s (through solving design problems), and extend functionality of existing clich°s as necessary. Future users will be able to create applications with an interface builder, without writing any code.
After taking Software Studio (6.170) and User Interface Design and Implementation (6.813), I decided to participate in SuperUROP to explore my interests in system design and human computer interaction. I hope this research experience will be the stepping stone towards my MEng thesis, and I am excited to develop a tool that enables inexperienced and experienced programmers alike to construct complex web applications.