phone: (310) 825-7154
This class reconstructs the classical computer science topics of "systems analysis and design" -- mapping information flows and data modeling -- within a framework derived from industrial design. Compared with the traditional approach, our focus of attention will shift from systems to services, mainframes to networks, the desktop to the street, organizational workplaces to institutionally organized relationships, cognition to physical activity, and individual users to communities of practice. The class will be organized around presentations by interdisciplinary teams, with minimal lecturing and written work. We will attend closely to the design process, and the teams' own experiences will become raw material for their projects.
Two books are required:
David G. Messerschmitt, Networked Applications: A Guide to the New Computing Infrastructure, Morgan Kaufman, 1999. This is an outstanding plain-language introduction to the structure of modern information systems.
Donald A. Norman, The Invisible Computer, MIT Press, 1999. This is a polemic against the personal computer and in favor of a new generation of diverse and specialized computing devices.
Another book is recommended:
Jeffrey L. Whitten and Lonnie D. Bentley, Systems Analysis and Design Methods, fourth edition, Irwin McGraw-Hill, 1998. This is a thorough introduction to the conventional practice of systems analysis and design. If you are going to work with people who have the conventional training then it will be useful reference book. But as I say, I regard this material as out-of-date.
Here are summaries of the group projects from week to week:
Assignment for week 2: Team-Building Exercise. Everyone writes down their skill set and gets copies of everyone else's. Class members then form themselves into teams. Each team's members discuss their past and future, and how they complement one another. They draw a diagram that gives clear form to the conclusions they have reached, and they design a presentation around it.
Assignment for week 3: Seeing information happen. Each team gets a distinct assignment, all of which involve going out in the world and watching information happen. Bring back what you've observed and show us. If you use what you've learned in other classes about information seeking then that's great. But we really want you to be observant and name things, and learn how to show what you've seen in a way that changes how other people see the world.
Assignment for week 4: Growth of the technology. Each team again gets a distinct assignment, this time involving library work on the state of information technology ten years from now. Because of Moore's Law and related phenomena, we can predict reasonably well the quantitative properties of computing. Processors, for example, will be 100 times faster. What about mass storage, memory chips, wireline and wireless bandwidths, penetration rates of the technologies both domestically and globally, and so on? What important standards will be widely deployed by then? Show us what you've found.
Assignment for week 5: Layering. Building on last week, we will do an exercise about the concept of a platform: a service upon which a diversity of other services can be built. The hard part is figuring out what belongs in the generic service, and what the interface should look like between the platform and the services that are built on it. This is going to be a central concept for design in the future. By this time we will have discussed several examples of platforms.
Assignment for week 6: Show us your collaboration patterns. All the while you've been documenting your team's work process. This might mean keeping notes, taking pictures, drawing diagrams, videotaping, saving your work, etc. You have probably also settled into something of a routine. Show us how you work together. Along the way we will offer several ideas about what to look for. For example, where is the borderline between "routine" and "improvised"? This will be important in the coming weeks as we mess with the traditional concepts of systems analysis. This is the first week of a six-week iterative design exercise.
Assignment for week 7: Ontology of collaborative work. Data modeling is the only idea from traditional systems analysis that is intellectually hard, so we will spend some extra time in class working an example of it. Then your assignment will be to model the data that will be required to implement one or more of your prospective services. Whereas earlier assignments have called on you to invent your own representation schemes, for this assignment we'll have you use a conventional notation scheme for data models. Having done so, sketch an information service that you might like to design to support collaborative work activities.
Assignment for week 8: Service design. Now it is time to spell out the details of a potential information service for collaborative work. To prepare for this, think about your service from several angles. What institutional roles are people playing as they use the service? Where are they located? What actions do they need to take? Who gets access to what information? Who creates the data that goes in the databases? Which parts of the data should be structured, and what should the structure be? What existing services does your service exchange data with? And so on. Having explored all of these questions, draw a dataflow diagram for the service you are designing, decomposing the design into enough component processes and databases to get a clear idea of its properties.
Assignment for week 9: Information design. Using cardboard, crayons, glue, and other materials found in kindergarten classrooms, build a mockup of one or more of your services. Show what your service will look like in practice, and tell us how it is comprehensible. We will have discussed some examples of information design, including several that have nothing to do with computers. We want computers to be more like the diagrams in Edward Tufte's books. We also want them to be more like the information appliances that Norman argues for.
Assignment for week 10: Service architecture. Having sketched first the insides and then the outsides of your service, it will be time to return to the inside, applying serious architectural concepts this time. How are the processes and databases that comprise your service divided among the various networked devices that they run on? You will have been reading Messerschmidt throughout the quarter, and this is where you will apply everything in that book.
Assignment for finals week. We don't imagine that anyone will be around during finals week to see your work, and so instead we will have each group videotape a final presentation that we can put on the Web. This will include your service mockup, its information design and internal architecture, how it works cognitively, how the information flows, and generally how it works as a service in the full sense.