CS 4470: User Interface Software
Spring 2006 Jeff Pierce
Syllabus Policies Individual / collaborative work
Jeff Pierce HCI
– Mobile computing – PIEs – Adaptive Interfaces – 3D UIs
Now, it’s your turn
Name (pronunciation if non-obvious) Major, Year Interests Why UI SW
What is this class about?
Organizing principles of UI software
Practice in UI implementation
Part 1: Traditional 2-dimensional GUI
Part 2: Advanced topics
What this class is NOT about
That is 4750 (and Beki G’s new course).
Basic Course Info
“Prerequisite”: CS 4750
General info (books/readings, exams, homework) Related classes syllabus (thematic organization)
Will be updated Will contain some lecture slides
6 homeworks (milestones): 6 x 10% Midterm: 20% Final exam: 20%
Homework assignments will use the .NET Framework and C#
What you turn in must compile and run.
There will be minimal C# / .NET training in class. If you are not comfortable with C# / .NET programming:
1) Learn 2) Drop course
Most systems are built for a user.
Good “user interfaces” are critical for software survival and economics. Designing for users is important and difficult, and requires iteration.
Motivation for developers
It is necessary to have tools for:
rapid prototyping (quick feedback) iterative development (rapid response)
of (semi-) functional systems.
As we move “off the desktop” the tools we need to develop change.
What is the User Interface?
Since late ’60s
Since early ’90s
pointing device WIMP/GUI
An extension of our physical environment
The “UI” is typically viewed as one component of the overall system
The part that “deals with the user” Separate from the “functional core” or “application”
Software Engineering the UI
Separation of concerns
UI from app Isolate changes Leads to more modular implementation Will see other specific examples
Sometimes a conflict
Rapid feedback / performance
Basic parts of the UI
Understanding “traditional” GUI
Output & Input
Technology and programming models
Interaction models and architectures
Toolkits and programming environments
Advanced topics …
Multiscale input and output
“Natural” interaction types Sensing-based interfaces Paper technologies Intelligent environments Requests?
Audio, video, pen Large surfaces, handheld, wearable