DaCoPAn Software Engeneering Project

- Home  - Overview  - Members  - Documentation 

- Resources/Links - Project Website

 

Comments on the scenario "format"

I hope this time everyone bothers to read this documents, Vesa in particular. To assure that, I'll try to keep it as short and simple as possible.

Anyway, as you already know I am not satisfied with the scenario idea by Vesa that was discussed in the last meeting. It has some good things, but still it isn't as user-friendly and "optimal" as it should be. In this memo I present the reasons and then a different approach to the issue so that we wouldn't go on doing something just because we don't want to think of different options.

What's good about the current ideas?

These ideas are something that I use as a basis for my new idea presented later in this document.

What's wrong with the ideas?

In addition to some good ideas there are things that I think are not good and make me think the user will not feel himself confortable with the product if the current idea is implemented.

What can be done differently?

Let's think about the software and how the different users use it. First the teacher wants to create material for two uses: lectures and self study. He could do two different files with different ways of editing the breakpoint information, but why should he have to go through that trouble? Doing it once would be enough if the software was well-designed! (And isn't that what we want?)

Here's what I think he would like to do:

  1. He selects the default layer for the animation (where the scenario starts)
  2. Then he starts adding events to the animation. Not recording, but just clicking in correct places in the event column (that was called breakpoint column in my earlier notes.) The events can be of different types: breakpoint, note, change layer, ENC. In explore mode they would all be shown as breakpoints/notes, but in scenario mode they would control the animation automatically.
  3. Once he has added all the breakpoints and ENCs to the different layers he starts thinking in what places he wants to change the layer. He adds "layer change" events to the scenario.

The result could look like something like this: (Only two layers are shown as they already present the idea)

Then the teacher goes on to give a lecture. He starts the animation and it will automatically run through:

  1. The animation starts on the TRANSPORT layer MSC
  2. First breakpoint with note is shown
  3. Encapsulation is shown
  4. Layer is changed to NETWORK
  5. Breakpoint
  6. Layer is changed back to TRANSPORT
  7. Breakpoint

Very nice, and actually just what we want. But notice that now here comes the extra values of this approach. When the teacher notices that one breakpoint is in a wrong place (people make mistake, you know) instead of recording the scenario again, he can just remove the breakpoint and add a new one in the right place.

But this is not all. :) Then the teacher uploads the scenario on the web, and a student downloads it to study by herself. She starts the animation in explore mode on the transport layer. The animation breaks on all these events telling her that if she likes, there would be something interesting she could do. If she wants to, she does what is suggested and if not, then she just goes on on the same layer. No extra hazzle is needed, all this can be done with just one set of "scenario information".

We just need not to be too attached to the ideas that we have aquired earlier! If this is different from the previous approaches, that doesn't necessarily mean it's worse - it could as well be better.. :)

Some technical stuff to end with

The technical issues are not that important here, because in any case the technical part of the scenario stuff is not the difficult part. It's always quite easy and straight-forward. Instead we need to concentrate on the usability of the software and its user-friendliness.

Anyway, as we all like to speak about data structures, here we go :)

The scenario data would be saved in three lists instead of one so that there would be one list for each layer. This would make it possible to have events on each layer in the explore mode simultaneously, so that whichever layer the user is watching, he gets information about it. When the animation is running, the software would keep track with each of the lists so that when the layer is changed (by user interaction or automatically by the animator triggered by an event), we can just move to the right list and read the events from there.

Conclusion

Okay, these are my ideas. They might have something that's not good, and of course they can be discussed and changed again. Anyway I think this approach is already much better than the one we were discussing in our last meeting. It might not be optimal, but it is better. So, don't discard it too quickly. If you don't like this idea, I would really like top hear why. :)

-- JarkkoLaine - 22 Mar 2004