Created an 0.(0)1 version of the functional UI; added it to the new issue in the tracker.
Updates from June, 2008
Just finished the last OOo Impress prototype test, I have now done eight of them in total with different subjects from four different educational institutions. I will publish the results on Friday (and boy, is there a lot to talk about or what).
Tomorrow I will try to code together the first bits of actual code, in order to put them into the tracker, in order to gain Moodle CVS access, in order to start seriously developing :).
The discussion about scenarios has gotten into a nice-ish start. I also published some details about how the scenarios interviews were done. Although I will try to take into account all the feedback from that background data, it does seem quite far from concrete use cases or the UI. The work I am doing just on two – although quite complex – screens, still mostly seems too simple to be affected much by the high-level differences between the personas, though some changes have been made based on them, too.
Nevertheless, I have been working on the prototype again, for the most part making fixes based on the usability tests done on May 28th and 29th. I will probably do some rather quick&spontaneous prototype testing with basically anybody I can get my hands on, not to prove anymore the UI suits the tasks of teachers, but more trying to make sure the functionality is understandable, in accordance with the ideas presented about discount usability testing in Don’t make me think by Steve Krug. After that I will publish the final OOo Impress prototype.
The different areas of focus in the actual implementation and coding work are envisioned to be as follows. Note that most functionality is already present in the current Quiz – this is UI work, after all.
(What was here was moved to the Implementation plan page.)
Published this on Saturday in the Quiz forum.
- Youtube: Moodle Quiz UI: Call for help: In pursuit of scenarios
- The forum thread for discussion
- The scenarios
For each task identified (or major tasks, or particularly special tasks if many tasks are defined), write a description of how that user would accomplish the task independent of how they would complete it within the application.
Still working on the scenarios. I would not have thought it can be such a handful.
However: slowly, but surely, I am starting to get them pretty simple and easy-to-read. Maybe someone else will bother to read them and perhaps, just perhaps even understand them enough to discuss them in the Moodle forums!
From the interviews, I have at least some data about the entire quiz creating process. However, I am going to try to just concentrate on the parts of Quiz that are relevant to creating quizzes, and then move on. That is the focus of this project, after all, plus extracting data into scenarios is a lot of work, and time is sparse.
Yesterday, I started to grasp more comprehensively the relationship between personas, use cases and scenarios.
While trying to piece this together, I drew what used to be a simple diagram. But then it got a bit out of hand:
The reality and the dynamics a UI designer observes and manipulates
First off, there’s reality. That is to say, this is not scientific research. In a small scale guerilla usability project, we do not pretend it is, much. Still, we observe reality and gather knowledge about the users. Iteration in testing and also in interviews must serve as our backup against which we check that our conclusions are hitting their target: we take the knowledge we find to the user interface and to our generalized conclusions, and then verify with our users.
In a sense, modeling use cases equals doing actual UI design: the main difference is in the abstraction level. Use cases will be the actual hard ground when drawing prototypes, representing the idea or ideal about what the UI should be like. That is, what should be possible to accomplish with it, and how.
In the case of this project, I have so far been thinking about the word “use cases” mainly from the point of view of the old user interface – I have understood it roughly as the functionality of the UI, which is to be transferred to the new UI, just better enabling the users’ scenarios (better enabling users to do their tasks). However, this is actually an overly computer-centric approach to use cases, and basically incorrect. More importantly, as is obvious in terms of the definition, use cases take the functionality of the program and model the user in interaction with that functionality.
There are several ways to see use cases. First, when we look at the current UI, you can see three different sets of use cases, from ideals to reality:
- ideal use cases: how the software developers think the software should be interacted with
- observed use cases: gathered by seeing real users (UI testing or otherwise) use the current UI. This is a subset of the next one:
- the real-world use cases of the interaction that is taking place with real users and the current UI
When we just have the use cases of existing software, we do not get very far. At best, with testing, we see the problems users are having with the current software. What we do not see, is whether or not we are even trying to solve the right problems.
Enter scenarios. That is: independent of the application and its UI, what is it that the user aims to achieve, and what is the way s/he does it best?
How do we find out? Talk to the users. It may be scary at first. They are people, after all! But go ahead and try – turns out that people are actually glad if someone wants to learn about what they need to make their lives easier.
Whenever you talk with actual users about their actual tasks and goals, you are in the sphere of scenarios. But the hard part is taking the scenarios and making them somehow digestible pieces. That is: you look at what the users tell you, and tear it in pieces until they are atomary, that is, single actions (you might want to observe this in terms of GTD’s Next Actions: visible, physical actions). It is not just the tasks you need to find out about, but what affects accomplishing those tasks: patterns, goals, skills, attitudes, and environment (as stated in Cooper’s article about personas, link below).
So now we have a set of use cases from the old software. Then we have a set of scenarios describing the actual environment, tasks and goals of the user. Now, we try to match them: scenario 1a fits with use case 1c, and actually, also with use case 1d (that is, the user can do the same thing in more than one way in the application). But then with scenario 1b, the user has to do a task in an unnatural order of subtasks or can’t do it at all because it is too hard for him/her or because it cannot be done at all.
And once we get that far, we can take those differences, and start writing new use cases. That is, designing the interaction that the application should facilitate. Once sufficient iteration has been achieved or the deadlines are too close, we can state: We know – well enough – the interaction and whatever affects what that interaction should be like – now let’s get to business, the actual UI.
Oh yeah, almost forgot – something brilliant: Perfecting Your Personas
This week, I have been working on the scenarios. Today, added a new project page to Docs and created new pages there for each of the major scenarios, filling in details of the scenarios according to the different personas. The pages are still far from complete but can soon serve as basis for hopefully rich community discussion.