Final Projects Fall 2013, CS 584
Students will each pick their own "consumer", whether it be a particular professional programmer, a business owner doing their own web applications, a school teacher setting up educational simulations, or whatever. This consumer will motivate (almost) everything the student does all term. Finally, by the end of the term, the student will present a design of a (portion of) a language or programming tool/environment for this consumer.
- The consumer can be anyone except a computer science student. Professional software developers are fine. So are end-user programmers. It cannot be you. Think concretely about the background, training, motivations, interests, etc., of your consumer.
Ideally your consumer is some specific person you already know, like your Mom or someone you worked with last summer, or whatever. If you can't pick someone you already know, pick someone you can observe or interview.
Here are some consumers from prior years: Mom (designer consultant), Dad (small business owner), sister (accountant),
wife (designing a parameterizable family of interiors), professional software developer co-worker, professional software developer team lead, animation programmers, husband (video game player), owner of a local crafts shop, Dr. Erwig (programming language researcher).
- The task the consumer is doing must be some aspect of software development.
Examples: refactoring, debugging, testing, reusing code, maintaining, designing, comprehending source code, learning to program, documenting, explaining the software's logic to someone else, creating a new program collaboratively with someone else, ...
- The thing you are designing to help support the consumer in the task can be a language, environment, tool, new feature in a language/environment/tool, or etc.
- (Later) You'll also pick a primary intellectual technique to help you inform and guide your design.
It can be Cognitive Dimensions, qualitative empirical work, Attention Investment, the premises put forth by Detienne's book, Representation Benchmarks, Information Foraging Theory, or ...
Any HCI Foundation except a controlled experiment, which is outside the scope of this class. Choose 1, or 2 at most, at least for purposes of your presentation.
- Your deliverable will be a design.
When you present it statically, do so with a sketched storyboard.
For your final presentation, tell the story your storyboard depicts.
Center your story around your _consumer_ when s/he is given the help of your system.
Don't instead focus only on your wonderful new system while neglecting thinking about your consumer's circumstances in using it.
- Here is an example storyboard from a student in this class a couple of years ago.
- Here are 2 lectures with example storyboards, from HCI researchers at other places: Landay and Greenberg.
What/when to turn in:
- Your storyboard (see above). You can create it with any kind of artwork you like (eg, scanned-in drawings or using some kind of computer art device or powerpoint or whatever). Whatever you use, it should look like pictures and arrows, not like bullet points. (But you can add text to explain things if you want.)
- Justifications of the decisions you made, using your intellectual tool(s) (eg, Cognitive Dimensions, Information Foraging, etc.) and your user research. You can do these as text/callouts on your pictures, or give me a list in a later document. Be clear but short -- I'm not looking for a paper here, just a clear indication of justifications.
- Use no more than two intellectual tool(s) "publically", ie on the storyboard you present in class.
- Turn in by emailing to Dr. Burnett
- Deadline TBA
Approved projects list:
- Theresa and Michael H.: consumer=5-year-old daughter. task=learn a little programming. tool=online, automated (ie, dynamic not just static text) tutorial.
- Michael M. and Pratik: consumer=Amanda, a book author. task=create a web site. tool=web authoring tool that enables her to think about, design, and develop such a site.
- Sergii and Catharina: consumer = English teacher living in Ukraine, who is also professional architect and designer.
task=use a visual language to convert existing UI design into a list of software development tasks for communicating to the development team. (Including changes if requirements change?). tool=visual language that works on mobile devices.
- Michael S. and Rana: consumer=Faris, a civil engr using SketchUP to model buildings 3D. task=develop/test/modify specs for custom design doors/windows. tool=a specification input/definition/editing plug-in to SketchUp to allow Faris to develop, test, and modify specifications for custom doors and windows.
- Will and Super: consumer=Phaedra, an amateur photographer. task=create a website to show off her portfolio, using animations, varying layouts, and so on. tool=visual language.
- Sheena and Karl: consumer=Dr. Metoyer. task=quickly define, compose, and analyze browser-based visualizations. tool=text-based visualization schema which can be used to define either a complete visualization, or a visualization template which can be reused with different data sets. Additionally, we'd like to integrate this schema into a browser-based graphical environment for editing and displaying these visualizations in customizable ways.
- Chad and Wojtek: consumer=LLNL software developer, task=debugging/maint of physics simulation software, tool=tool to help him debug new code & compare it to older code in a variety of languages (with benchmarking).
- Jun and Chao: consumer=researcher in MIS R&D center at Beihang Univ., task=debugging, tool=new Eclipse feature to help him find the most relevant solutions to his bugs on Stack Overflow
- Rithika and Sumanth: consumer=friend in India who supports NGO's. task=he will build a website using HTML and PHP which will have the details of various NGO's, interviews of people involved in the NGO, maps, a PayPal connection, etc. tool=web authoring tool for this friend to use to build such a site.
Last updated: Oct. 14, 2013