Software development is presently in a crisis. As tool chains continue to evolve, developers are expected to build increasingly complex software systems. Yet, creative and breakthrough applications often only arise from the combination of computing resources from multiple, conflicting domains. A new approach is needed to allow teams of designers—some software engineers, others subject matter experts—to combine their expertise in the design of products based on large, heterogeneous software systems.
This course will encourage students (computer science and other disciplines) to think and work creatively in creating radical products. The main goal is to have students gain knowledge, insight and expertise in the radical development process for new objects.
The course has the following main five sections:
- Intro to design and the creative process. In the first 5 weeks of the course, we will have weekly readings, assignments, and class discussions to debunk common ideas about creativity (e.g., brainstorming is a great way to generate useful ideas) and introduce new ones (e.g., IDEO's design process). Assignments will include for example reviewing an award winning product, conceptualizing a new radical product and producing a 1-minute elevator talk multimedia presentation of that product.
- Deep dive into hardware and software APIs. An aspect of the strategy for radical design is the composition of diverse software and hardware APIs -- e.g., Google Maps, TiVo, GPS, PayPal, sensor networks, mobile computing, database search, GIS, telephony, LabVIEW, online news, or home monitoring and others. You will choose and/or be assigned one or several APIs and become fluent with it/them.
- Design the radical product. In a small-group format, you will design a new radical product (different from the earlier one). Your student team will select for its design a highly innovative specific technology demo around a particular theme of interest (e.g., bioinformatics, GIS) which will involve merging 6 to 8 of the base technologies from the above set of base product APIs. This design process has similarities to mash-ups, though mash-ups often involve one API + another source of data, and these radical products will involve 3 or more such entities.
- Implement it. In the last 4 weeks of the course, you will build your radical product to prototype stage. This will be demonstrated in a class open-house near the end of the semester.
- Generalize it. In the last week you will design a generative, micro-API based on your invention (see position paper) that takes your radical design in directions you never imagined.