Project: Phase 2
In this phase, you will make a "mock-up" of the user interface.
It should show how the product will be used,
even though it will not have the hymn-rendering capabilities.
Think of this phase as a competition to propose the best
user interface.
The user's model (application domain) is based on the two
psalters found in the lab.
The split-leaf "Scottish Psalmody" is the model for what the
product is capable of: dynamic pairing of text and tune.
The "Book of Psalms for Singing" is the model for
what the rendering should look like.
Specifications:
- The user can choose the text and tune independently,
and in either order (and possibly, in addition to that,
both at the same time).
- One common scenario:
The user chooses the text first.
Then he or she is presented with a list of possible
tunes (that is, tunes that have the same meter as the text).
(This does not necessarily mean that the user is automatically
given a wizard-like menu. It could be that the
user needs to initiate the next step.
That's up to you.)
Common tunes for that text are more easily available.
(For example, if the user chooses "Amazing Grace" as a text,
"New Britain" should be easily chosen as a tune;
perhaps it is the default tune.
If the user chooses Psalm 100 in Long Meter, "Old 100th"
should be easily chosen...)
- Another common scenario:
The user chooses a tune, and is then presented with
a list of possible texts, with the common texts make
most easily available.
- Possibly, some pre-selected text-and-tune
combinations can be selected.
- Don't forget that some tunes are in double
meters.
A text in Common Meter can be set to a tune in
Common Meter Double, although it will be a little
awkward if the text has an odd number of stanzas.
(See Psalm 146A in "The Book of Psalms for Singing".)
- When the user is looking at a rendered text and tune,
he or she can change either the text or the tune (keeping
the other as it is).
However, this is a less used feature.
More frequently, when the user chooses a new text,
her or she will also be choosing a new tune,
and vice versa.
- The user should be able to select a specific
portion of the text (ie, a subset of the stanzas),
which will be useful if it is a very long text.
How prominent this option is should depend on how long
the text is---it shouldn't get in the way when
the user is selecting a short text which they
are unlikely to break up.
Being "mock up" means that the window
panel which will contain the rendered text/tune
will not actually have the rendering.
But it should contain some sort of acknowledgement of
the user's actions.
Try to make the user interface able to be
plugged into any backend (since we do not
yet know whose phase 1 we will build on in phase 3).
Also, as part of this phase, you should do
some useablilty tests.
If you want to know how to do usability tests, read chapters
12 and 13 of Joel Spolsky, User Interface Design
for Programmers (in fact, you might as well
just read the whole book while you're at it).
This means:
- Grab a few people to be your users
- Have them try to use your UI-- give them some tasks and see if
they can accomplish them.
- Take note of what happens and what they say about the UI.
- Fix up your UI based on user feedback.
- Write up a report about your usability tests,
describing how you conducted the tests and what your findings were.
You can just put the report under revision control and I'll find it.
I will set up subversion repositories for you.
Details are forthcoming.
We will also decide teams in class.
DUE: March 26.
Last modified: Tue Mar 2 16:44:48 CST 2010