Archive for the ‘in English’ Category

Testing: Phew.

Wednesday, June 25th, 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 :).

Prototypicalifragiolistic

Thursday, June 19th, 2008

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.)

Video posting… Call for help: In pursuit of scenarios

Monday, June 16th, 2008

Published this on Saturday in the Quiz forum.

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.

Scenarios, Use Cases, Jazz

Monday, June 9th, 2008

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

Download diagram: PDF, Openoffice ODG

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.

Use cases

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.

When designing the actual user interface, the designer takes all the use cases (=the goals), and merges them using his/her creativity and experience. As the use cases may conflict, the resulting user interface is usually some sort of a compromise between the different use cases. Also platform restrictions pose threats to the ideals: technology requirements (no dependency on Javascript in this case) and needing to conform to existing UI conventions would be examples of this.

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

Scenarios

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).

Getting somewhere

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

Having Openoffice.org Impress not change slides when clicked

Tuesday, May 27th, 2008

I am currently designing semifunctional prototypes using OOo Impress, and found myself in with the challenge that while in full screen (in a slide show), I need Impress to react to only mouse clicks that hit a button or some other element.

The normal behaviour, which is taken for granted of course is that when you click on a slide you go to the next one. There is no setting for this that I could find, but it is possible. I am using Impress 2.4:

  1. Draw a rectangle around the slide, covering all of the slide
  2. Right-click the rectangle, select Arrange => Send to back
  3. Right-click the rectangle, select Interaction…
  4. Select Action at mouse click: “Run program” and type /bin/ls for example, though this might only work on Linux “Go to page or object”  (no, “No action” won’t work), Select the current slide from the list (Update 2008-06-02: Having here something that can be the same for every slide allows you to paste the magic rectangle on all of the slides without having to change the action of the slide.)
  5. Type the name of something that will run but will not show or use much processor power, such as /bin/ls on linux.
  6. Click OK
  7. Set the background fill for the rectangle to “invisible”
  8. Done!

I do admit this is an overkill, and OOo really should have the feature to just disable advancing the slide show for the entire show at once. However, it works. Do report to me if it doesn’t work for you, please. :)

P.S. Once I get the prototype tested, I will publish it here next week, along with the test questions. It is, however, in Finnish (since my test persons are Finnish).

The finals presentation

Tuesday, April 15th, 2008

I decided to publish the winning presentation I gave in the Kesäkoodi finals (Open Document format, 202kb) a couple of weeks ago. It gives a pretty good overall idea about what the change will be about.

Also online: more detailed descriptions of the related use cases and how the change affects them.

Meeting the Finnish Moodle users

Wednesday, April 9th, 2008

On Monday, April 7th I was in the Spring meeting of Moodle käyttäjärinki, which consists of Finnish Moodle users and administrations from universities around the country. I presented the project briefly (without having told them anything about myself before the meeting) and requested contacts so that I could have real users to talk with, and usability testing subjects once I have a working prototype. Three people contacted me immediately and I got a recommendation to ask the ITPEDA network/list, as well.

There was plenty of discussion about other Moodle topics, such as administration and localization. I think I will post about those to the Moodle forums at some point - I’ll notify about this here.

Also, added some of the project introductory text as pages on this site, see under “Pages” on the right ->.

Also, I’ve started to get a grip of Getting Things Done using ThinkingRock, which, erm, rocks. What this means for the project? A more organized project leader is more probable to stay sane ;).

Media visibility

Saturday, April 5th, 2008

The COSS Summer coders were yesterday visible in the Finnish web media:

Also, I added links to the blogs of the other kesäkoders on the right-hand sidebar, as well as plenty of links to other places related to the project.

Getting started

Monday, March 31st, 2008

Got Wordpress installed in order to get Kesäkoodi started. Though actual work will only start in June, I will prepare by catching up on HCI literature and by thinking about how to make the entire process as transparent as possible. This is in order to learn with and hopefully to help the Moodle community get more ideas of what usability and working on user interfaces is about, in practice, in everyday software design.

Also the original application for Kesäkoodi is available for now, until I move its contents to Moodle Docs and other appropriate places. This site now contains the gist of it so I removed the original site; see the links under “Pages”, on the right-hand sidebar ->.