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)
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.
"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.
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)
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.
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:
-
SleepBuddy: A mobile application to improve poor sleep habits
Experts agree that most people don't get nearly enough sleep. Incurring a large sleep
debt can affect physical health, mental health, personality, productivity. Each group
of 3-4 people was tasked with creating a conceptual design for a mobile phone-based or
pda-based application to encourage or persuade people to get more sleep. My group's project,
SleepBuddy, is targeted at young professional pda owners who know they would
like to get more sleep, but need help making the necessary behavioral change commitment.
- Politics and Persuasive Technology: a domain report
I and a partner researched existing work in the use of
persuasive technologies in the political domain. Politics is all about trying to
persuade people to take action: to vote for a candidate, to support a position,
to volunteer their time for a cause, to even believe that specific claims
are true or false. How is technology being used to further these causes? How might
it be used in the future? As a society, we need to understand persuasion strategies
in order to recognized when they're being used on us.
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 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.