This portfolio represents a sampling of project work and coursework done in pursuit of my Masters degree in Computer Science at Stanford University. (Degree conferred June 2003)
What's the deal with water filters graphic

Human-Computer Interaction Design Studio
(CS 247A, Winter 2003)

From the course description:
Design is a skill best learned through actual experience and reflection on that experience. In a studio format you have an environment where you can explore new design ideas and experiment with new ways of working, as well as share and compare your work with other students. You will learn basic design skills such as brainstorming, enactments, idea-sketching and quick mock-ups. You will also gain experience with interaction design tools such as personas and scenarios, models and metaphors, sketch prototypes and user testing. As a comprehensive record of your design thinking and a medium of reflection, you will create and maintain a detailed Idea Log throughout the quarter.
Project Highlights:

Explanatorium: Identify a phenomenon, process, or event that interests you and design an interactive on-screen simulation that gives insight into how or why it works. First find a way to deepen your own understanding of the phenomenon, then develop a tool that enables someone else to understand it.

MMMadlibs input screen "Picasso's Robot": Create or identify a new art form, and design, build, and test a tool that will let (almost) anyone use it to create expressive works within that art form. The works may be in any medium or format, though the composition tool should be computer based. An individual user should be able to learn how to use the tool in about 30 seconds and should be able to see a satisfying result in less than 2 minutes, though a successful tool could engage an artist for longer periods.

Our 4-person team created MMMAdlibs, a collaborative, internet-aware storytelling process. So what is MMMadlibs?
MMMadlibs is a multimedia, interactive version of Mad Libs, where users can type in words, sketch drawings, using wall display and pen, and search for images via Google Image Search. The user input is assembled into a pre-written story, and then the story is presented to users as a finished slideshow or "movie", in Flash format.
Stanford.You graphic

Contextual and Organizational Issues in HCI
(CS 247b / Management Science & Engineering 430)

From the course description:
This course focuses on the context of technology in use. It is intended to provide insight and experience into issues within work and consumer settings that influence the use of technology. Students will develop skills in: observing technology in use; identifying constraints and tradeoffs on designs within the context of use; and using models of work and other activity as guides to interface design.

This course is structured around a quarter-long team research project. Teams are assigned an industry client and a specific research problem or goal. My group worked on behalf of Stanford's ITSS IT technology department to research existing use patterns, issues, and deficiencies of the Stanford-only Stanford.You web application. Stanford.You provides users view and edit access to all (or most) of their University-related contact, address, and email-related information in one centralized location.

Using informal polling and a series of in-depth interviews with student, faculty, and staff populations, our project team devised a set of user personas, design principles, and specific design recommendations to ITSS to serve as a springboard for ITSS's upcoming Stanford.You redesign effort. Our results were enthusiastically received by our ITSS clients, eventually resulting in a series of incremental design changes and a larger redesign that incorporated many of our recommendations.

(See ITSS customer feedback in the September 2003 issue of Stanford's IT publication Speaking of Computers - search for "Stanford.You" to quickly jump to the relevant section)

TM sketch by Bill Verplank

HCI Theory & Practice: Designing New Devices
(Music 250a/250b, Fall 2002)

Teams worked in small groups to design new computer-based musical instruments (or, more loosely, physical sound manipulation interfaces) over the course of several weeks, using basic electronic components and a microcontroller chip. My group built the Musical Tape Measure ("MusicalTM", or just "TM"), an 8-button tube housing a tape measure with a squeeze ball handle. The TM communicates via MIDI with a computer running the Pd software synthesis program. Excerpt from our project writeup:
Musical instruments with continuous pitch manipulation capabilities are fascinating in the breadth of musical tones that they can produce. Traditionally, however, their interfaces present significant limitations and disadvantages. They tend to exclude the use of chords, limiting the performer to one note at a time, and they often give insufficient, if any, user feedback (other than the sound itself), making it very difficult for a novice user to accurately command the musical output. This problem motivated the creation of MusicalTM, a new computer instrument that combines the continuous controllability of the trombone and the theremin with a unique and programmable interface for enhanced user control.
SleepBuddy screenshot

Persuasive Technology: How Computers Influence People
(CS 377A, Winter 2003)

Also known as "captology" ('CAPT' is an acronym for "Computers As Persuasive Technologies"), this course is taught by BJ Fogg, the pioneer of the field. The course was structured around several projects:
In The Rough graphic

Designing Characters for Video Games
(CS 377A, Spring 2003)

This course explored issues surrounding the design and mechanics of successful video game characters. The material covered, though, has a broader applicability to technology design as a whole, especially as concerned with how to design autonomous or semi-autonomous agents, online or electronic user avatars, and understanding the tradeoffs between a user's identification with or alienation from her electronic counterparts.

In The Rough

As our final project, I and my four teammates conceived and began a design for In The Rough, which we bill as "the next generation of golfing action", a "combat golf" hybrid of cartoon-style fighting, non-bloody violence, and competitive golf. Each golfer has a "partner" character serving as their caddy, and players can choose to play either as a golfer, a caddy, cooperatively or competitively.

At our final project presentation, In The Rough was awarded Best In Show by a games industry panel that included superstar game designer Tim Schafer (creator of LucasArts' Grim Fandango, Full Throttle, and most recently DoubleFine's excellent platformer Psychonauts), and was voted People's Choice by the class at large.

You can find out more about the game and our design process by exploring the following:

Client-Side Internet Technology
(CS 193c, Winter 2003)

I took this course as sort of a maintenance or 'refresher' on some of my web skills. The focus of the course was on client-side web development using Cascading Style Sheets and Javascript (including DOM manipulations). My focus in industry was primarily on server-side technical architecture and implementation, so this course complemented my existing skills quite well.

As a final project for the course, I created SiCSO -- the "Simple Client-Side Outliner". This is a very basic proof-of-concept outlining tool written entirely in HTML/CSS and Javascript, using standard W3C DOM manipulation techniques to alter the content of the viewed outline. Because I chose to adhere to the W3C standard, SiCSO is only guaranteed to work right now in a Mozilla-derived browser. In general, I recommend the Firfox browser not only to view SiCSO, but as an everyday alternative to IE. SiCSO does not work properly in Internet Explorer. On Mac OS X, SiCSO mostly works in Safari, but has some bugs with text highlighting and a few other minor issues. Note that SiCSO is presented to you in the unvarnished, unaugmented 2003 original, warts and all.
Cybernetics concept map graphic

Cybernetics and Design
(CS 377A, Fall 2002)

Like most people, prior to taking this course I didn't really know what the term "cybernetics" actually meant. The prefix "cyber-" has been used in front of just about any other word you can think of in order to generically connote "futuristic" or "computer-enabled" or "electronic". Actually, cybernetics is, quite generally, the study of "observed and observing systems", or the study and theory of any system that uses feedback and correction in order to pursue specific goals.

Yes, it's all supremely high-level and theoretical, but also quite helpful in framing problems and abstracting complex systems away to simpler metaphors. One of the more valuable assignments for the course was to create concept maps to help answer the following questions:
IF YOU CAN READ THIS... that means you're looking at this page on a browser that doesn't support Cascading Style Sheets and advanced Javascript, and the like. Please email me at 'pjs' at this domain for work samples.

Valid XHTML 1.0 Transitional