SCOPE OF YOUR PROJECT (INCLUDING LIMITATIONS)

advertisement
Video over IP – Remmen
A Grensesnittdesign project
2004
Andreas Bergstrøm
Magnus Fredlund
Harald K. Jansson
Table of Contents
TABLE OF CONTENTS ............................................................................................................ 2
INTRODUCTION ....................................................................................................................... 5
PROJECT SCOPE .................................................................................................................... 6
VIDEO OVER IP – REMMEN ....................................................................................................... 6
LIMITATIONS ............................................................................................................................ 6
Users – The limitation ....................................................................................................... 7
SYSTEM OVERVIEW ............................................................................................................... 8
VIDEO OVER IP – REMMEN ....................................................................................................... 8
GRAPHICAL USER INTERFACE .................................................................................................. 9
APPLICATION INTERFACE ......................................................................................................... 9
BACKEND ENCODING INTERFACE .............................................................................................. 9
DESIGN PROCESS ................................................................................................................ 10
1. REQUIREMENTS ANALYSIS .................................................................................................. 11
2. SYSTEM DESIGN ................................................................................................................ 12
3. PROGRAM DESIGN ............................................................................................................ 12
4. CODING ............................................................................................................................ 12
5. UNIT AND INTEGRATION TESTING........................................................................................ 13
6. SYSTEM TESTING ............................................................................................................. 13
7. ACCEPTANCE TESTING ..................................................................................................... 13
8. OPERATION AND MAINTENANCE ......................................................................................... 13
PROJECT PLAN ..................................................................................................................... 15
VISUAL PROJECT PLAN ....................................................................................................... 18
THE USERS – WHO ARE THEY? .......................................................................................... 19
Two user-groups: ............................................................................................................ 20
DESIGN SPECIFICATIONS.................................................................................................... 22
SYSTEM REQUIREMENTS SPECIFICATION ................................................................................ 22
1 Introduction .................................................................................................................. 22
1.1 Purpose.................................................................................................................... 22
1.2 Scope ........................................................................................................................ 23
1.2.1 Relationships ......................................................................................................... 23
1.3 Definitions, Acronyms and Abbreviations ................................................................ 23
1.4 References............................................................................................................... 24
1.5 Overview .................................................................................................................. 24
2 GENERAL DESCRIPTION ...................................................................................................... 24
2.1 Product perspective ................................................................................................. 25
2.2 Product functions ..................................................................................................... 25
2.3 User characteristics ................................................................................................. 26
2.4 General constraints .................................................................................................. 26
2.5 Assumptions and dependencies .............................................................................. 27
3.0 SPECIFIC REQUIREMENTS ................................................................................................ 27
3.1 System requirements ................................................................................................ 28
3.2 Design constraints ................................................................................................... 29
3.2.1 Standards compliance ........................................................................................... 29
3.5 Attributes .................................................................................................................. 29
3.5.1 Availability .............................................................................................................. 30
3.5.2 Security .................................................................................................................. 30
3.5.4 Maintainability ........................................................................................................ 30
3.6 Use cases ................................................................................................................. 31
3.6.1 Overview of feeds .................................................................................................. 31
3.6.2 Turn feed off........................................................................................................... 33
3.6.3 Turn feed on........................................................................................................... 35
3.6.4 Change feed info ................................................................................................... 36
SYSTEM DESIGN DOCUMENT................................................................................................... 38
PROGRAM DESIGN................................................................................................................. 42
THE PROTOTYPES ................................................................................................................ 44
PROTOTYPE 1 – THE DRAWING ............................................................................................... 44
PROTOTYPE 2 – HTML/ PHOTOSHOP MOCKUP ....................................................................... 48
PROTOTYPE 3 ....................................................................................................................... 49
PROTOTYPE 4 ....................................................................................................................... 50
PROTOTYPE 5 ....................................................................................................................... 52
PROTOTYPE 6 ....................................................................................................................... 53
PROTOTYPE 7- THE DYNAMIC INTERFACE ................................................................................ 55
PROTOTYPE 8 – THE POLISH .................................................................................................. 57
PROTOTYPE 9 – THE FINAL PROTOTYPE .................................................................................. 58
DESIGN HEURISTICS USED ................................................................................................. 60
1. VISIBILITY OF SYSTEM STATUS ............................................................................................ 60
2. MATCH BETWEEN SYSTEM AND THE REAL WORLD ................................................................ 60
3. USER CONTROL AND FREEDOM ........................................................................................... 61
4. CONSISTENCY AND STANDARDS.......................................................................................... 61
5. RECOGNITION RATHER THAN RECALL .................................................................................. 61
6. AESTHETIC AND MINIMALIST DESIGN.................................................................................... 61
USABILITY EVALUATION ..................................................................................................... 62
USABILITY W ORKSHOP USABILITY TEST.................................................................................. 62
Executive summary......................................................................................................... 62
Methods .......................................................................................................................... 63
Results ............................................................................................................................ 64
Findings and recommendations ...................................................................................... 66
USABILITY TEST ONE .............................................................................................................. 68
Executive summary section ............................................................................................ 68
Method ............................................................................................................................ 69
Results ............................................................................................................................ 70
Findings and recommendations ...................................................................................... 73
REDESIGN .............................................................................................................................. 75
FIRST REDESIGN – USABILITY WORKSHOP RESULTS................................................................. 75
Program design - changes needed................................................................................. 75
Program design – changes ............................................................................................. 75
SECOND REDESIGN – FIRST USABILITY TEST RESULTS ............................................................. 77
Program design – changes needed ................................................................................ 77
Program design – changes done .................................................................................... 78
THIRD REDESIGN – SECOND USABILITY TEST RESULTS ............................................................. 79
CONCLUSION ........................................................................................................................ 80
APPENDIX 1 ........................................................................................................................... 81
USER MANUAL ....................................................................................................................... 81
Prerequisites ................................................................................................................... 81
Monitoring the system ..................................................................................................... 82
Making changes to the system ....................................................................................... 83
Introduction
Next summer all the different departments of
Østfold College is going to move to the new
campus at Remmen. At this campus there
won’t be any television sets or coax-cabling
and therefore the TV signal is going to be
digitized and transmitted over the IP network.
This project revolves around developing a user
interface for the administration of this system.
This UI (user interface) will be the front end of
the entire system, allowing the administrator to
configure a multitude of options on each
stream, and even to start and stop a stream.
Project scope
Video over IP – Remmen
The goal of this project has been to develop
the system administrators interface to a livestreaming TV over IP system to be used at the
new College campus at Remmen. The work
has been consentrated on the administrator
graphical user interface, and not on the
underlying system, which has been developed
in parallel, designed to fit the requirements of
the GUI.
Limitations
Although the original plan of the project was to
create a functional prototype of the system,
the final iteration is ready to be used as the
actual application, so the system as such has
no limitations imposed due to time constraints.
Users – The limitation
The system is meant to be used by system
administrators with a good and thorough
understanding of computers and how to use
them, but we chose to impose the additional
restraint of making it easily accessible even to
normal users with only basic computer skills,
such as being able to surf the web.
System overview
Video over IP – Remmen
The Remmen system is a distributed live video
over IP streaming system:
There are several interfaces in the system:
The primary interface, and the interface
worked on in this project, is the administrator
GUI in the web browser on the users machine.
The web interface between the users machine
and the web server, handled by the web
browser.
The Application Interface between the web
server script and the application server
The Backend Interface between the
application server and the encoding server(s)
Graphical User Interface
The GUI is web-based, using XHTML 1.0 and
Python.
Application Interface
The Application Server, although not
developed by the project group, is an import
part of the project. The project server
manages and holds all channel information.
Backend encoding Interface
The backend encoding server starts encoding
channels when it receives communication from
the Application Server to do so. The
Application Server sends this communication
over XML-RPC when triggered by the user
interface to do so.
Design Process
We chose to use the V-model design process.
The design process consisted of eight steps:
Requirements analysis
System design
Program design
Coding
Unit & Integration testing
System testing
Acceptance testing
Operation and maintenance
1. Requirements analysis
During requirement analysis we will analyze
the project contract, as well as user
expectations and feedback in order to
generate a system requirement specification.
Then during acceptance testing, we will use
this document and user feedback to ensure
that the requirements had been met.
2. System design
Using the system requirement specification we
will create a system design document,
specifying the general outline of the system.
This document will be used during system
testing together with user feedback to ensure
that the system meets the requirements.
3. Program design
Using the system design document we will
specify the requirements for the individual
software modules, enabling parallel
development against a common API, the
program design document is used during unit
and integration testing to ensure that the
individual components of the system can
cooperate and work together.
4. Coding
The actual coding of the system
5. Unit and integration testing
The individual components of the system are
tested, both singular and in concert to ensure
that they work together.
6. System testing
The overall system is tested, also with actual
users.
7. Acceptance testing
The system is tested against the system
requirement specification to ensure that all
requirements have been met.
8. Operation and maintenance
The system is used in a real-world
environment and tested and fixed as such.
Project plan
Visual Project Plan
The users – who are they?
The typical user of this VOIP system is one
with basic knowledge of how to surf the web
using a standard web browser. The user
interface should be self-explanatory enough to
let people with less than professional IT skills
handle the administration of the system.
Examples of the kind of people/organisations
that could be using such a system could be:
Homeowners – people who want to stream
video to different units in their homes
Hospitals/Universities/Large firms – easy
distribution of video across a rather large
construction complex
Smaller organisations – hotels, kindergartens,
elementary schools, smaller stores/malls
wishing to be able to easily distribute video
Two user-groups:
We have mainly focused on two user-groups,
which we have to create a balanced GUI for:
Users with good understanding of computers
Users with poor understanding of computers,
but trained at using web-applications
The first category of users will contain system
administrators, network managers and other
skilled individuals. For this group our interface
may seem oversimplified as they have good
knowledge of the underlying architecture. We’ll
have to consider if our system shall contain
more specific information about events and
settings if asked for.
The second category of users will in general
have no understanding of the underlying
system (and they shouldn’t need to). The
information presented in our interface will need
to use easy to understand metaphors for this
group of users.
Design Specifications
System Requirements Specification
1 Introduction
This document describes the software
requirements to the Video over IP (VoIP)
system. The document will define the
limitations and environments of the system, as
well as a description of the complete system,
while this document will only define the User
Interface of the system.
1.1 Purpose
The purpose of this document is to provide
the project customers with an easy to read,
highly defined specification of the software
project, VioIP - User Interface part.
1.2 Scope
An identification of the product to be
developed, what does it do (and what does it
not do), why is the product being developed
(including a precise description of its benefits,
goals and objectives).
1.2.1 Relationships
The product will be the user interface part of a
Video over IP streaming solution, allowing
administrators and users alike to quickly see
which channels are available, choose from
one of them to view, or to administrate these
channels.
1.3 Definitions, Acronyms and Abbreviations
This subsection contains definitions of all
terms, acronyms and abbreviations used in
the document.
VioIP - Video over IP
UI - User Interface
GUI - Graphical User Interface
1.4 References
XML-RPC specification:
http://www.xmlrpc.com/
1.5 Overview
In this document chapter two will describe the
system at the general level, while chapter
three will list all the requirements of the
project.
2 General Description
This chapter will describe the system wide
requirements for the VioIP - UI project. The
functionality, users and limitations of the
system. This general description will make it
easier for the reader to understand chapter
three.
2.1 Product perspective
This project is part of a larger project VioIP.
This project will define a web interface against
the VioIP backend; communication to the
backend will be over XML-RPC.
2.2 Product functions
The UI part (this project) will perform the
following functions:
List all available streaming channels to the
user/administrator
List all known channel identification
information
Allow the administrator to change the channel
identification of a streaming channel
Administrate new streaming channels
Reconfigure existing streaming channels
Administrate the coverage of the individual
streaming channels
Turn individual streaming channels on or off
2.3 User characteristics
The users of the system will have at least
basic computer skills, (powering a computer
on and off, surfing, using web forms.)
The administrators of the system will have all
the skills of the ordinary user, but will also
have at least a general understanding of the
backend technical solution (satelite receivers,
DVD players etc.)
2.4 General constraints
This project will use XHTML 1.0 Strict as
HTML codebase and all webpages must
validate according to the standard.
The web pages must work correctly in all
modern browsers
VLC or QuickTime must be installed on the
client computers
The programming language of the project will
be Python
2.5 Assumptions and dependencies
The system will need to interact with the
backend system, which will be developed in
parallel with the UI, but independently.
3.0 Specific requirements
This section contains all the details, which are
relevant for the design phase to follow. The
ordering given here is just one way to present
the specific requirements in a logical way.
Specific requirements will be such that one
may objectively determine whether they are
fulfilled or not.
3.1 System requirements
In this subsection, a description is given of
how the transformation of inputs to outputs is
achieved. The description is given for each
class of functions, and sometimes for each
individual function. To a certain extent, this
description can be seen as a solution to the
user. This component of the requirements
specification is the main starting point for the
design phase.
The system will adhere and validate to any
and all standards used in the project.
The system shall not need a manual to be
used
The administrator will not need more than ten
minutes to fully understand and be able to use
all the capabilities of the system.
3.2 Design constraints
3.2.1 Standards compliance
All HTML will follow the XHTML 1.0 Strict
standard
All interprocess communcation will follow
the XML-RPC standard
The configuration file must be validateable by
the configuration file DTD
3.5 Attributes
In this section, particular attention is paid to
quality aspects. These requirement must be
measurable and verifiable. They must be
stated in objectives terms.
3.5.1 Availability
The system must be able to quickly (less than
five minutes) recover from a system restart or
crash.
3.5.2 Security
The administration functionality must not be
available to any other persons than
administrators. SSL, IP checking and/or other
security routines must be used to ensure this.
3.5.4 Maintainability
The system must be completely module
based, with a clearly defined API for
communication between modules.
3.6 Use cases
3.6.1 Overview of feeds
Case name: Overview of feeds
Summary: User wishes to get an overview
over all the feeds
Steps:
User logs on to system
The user now has easy access to the status of
the feeds
Result:
The user has gained an overview of all the
feeds
3.6.2 Turn feed off
Case name: Turn feed off
Summary: User turns a feed off
Steps:
User log son to system
User selects the wanted feed
User enters the option box associated with the
wanted feed
User presses the off radio button
User applies the changes
Result: The user has turned one of the feeds
off
3.6.3 Turn feed on
Case name: Turn feed on
Summary: User turns a feed on
Steps:
User logs on to system
User selects the wanted feed
User enters the option box associated with the
wanted feed
User presses the on radio button
User applies the changes
User exits the option box
Result: The user has turned one of the feeds
on.
3.6.4 Change feed info
Case name: Change feed info
Summary: User changes feed info
Steps:
User logs on to system
User selects the wanted feed
User enters the option box associated with the
feed
User changes the info associated with the feed
User applies the changes
User exits option box
Summary: The user has changed the info of
one of the feeds
System design document
The system will be designed along a fully
modular approach, loosely coupled. The
modules can be divided into two main groups,
front end and back end. The front end handles
all user interface tasks, while the backend
handles all streamer interface tasks.
The first interface is between the user and the
GUI engine, and is known as the User
Interface. The GUI engine is responsible for
showing all data and sending user interactions
on to the UI-backend.
The second interface is between the GUI
engine and the UI-backend and is the
Common Gateway Interface/Application
Interface. HTTP and CGI communication will
be used for communication between the two
modules/layers. The UI-backend will handle all
user interaction tasks, interface with the
backend modules, and forward the reply to the
UI-engine.
The third interface is between the UI-backend
and the Application Logic, and is known as the
XML-RPC interface. XML-RPC will be used for
communication between the two
modules/layers. The Application Logic module
has full knowledge of which streaming process
is doing what, and will control the streams and
give the information to the UI-engine upon
request.
The fourth interface is between the Application
Logic and the Application Manager. The
Application Manager is responsible for
managing the various streaming processes.
Program Design
API-specification to the back end.
CreateStream(streamnumber)
Creates a new stream
GetNumberOfStreams()
Returns the number of existing streams
GetStreamCoverage(streamnumber)
Get coverage for stream streamnumber
SetStreamCoverage(streamnumber,
coverage)
Set coverage for stream streamnumber to
coverage
GetStreamMulticast(streamnumber)
Get multicast address for stream
streamnumber
SetStreamMulticast(streamnumber, address)
Set multicastaddress for stream
streamnumber to address
GetStreamStatus(streamnumber)
Get streamingstatus of stream number
streamnumber
ListStreams()
Returns a list of all existing streams
StartStream(streamnumber)
Starts stream number streamnumber
StopStream(streamnumber)
Stop stream number streamnumber
The Prototypes
While
working on this project we have put
together different prototypes. In the following
part of the document we’ll go through these
prototypes and explain a bit about what
changes were made between the different
steps. Our process was an iterative one. We
went through many, some small iterations as
the project took shape.
Prototype 1 – the drawing
This prototype is a free-hand drawing of how
the system would or could look like. We made
three variations on our idea. As you will se
later, one of them made it through.
Before we started out
with the prototyping we
had some basic
requirements to take into
account.
Our system should be
able to present an
Fig1. Three
overview of the current channels
to the
user
different
layouts
The system should be easy to use and not
display too much or redundant information.
The system should give visual feedback as to
what is currently on a channel
Fig1. depicts our first
brainstorming-session.
Firstly we came to the
conclusion that we
needed multiple boxes to
display the information pertaining to the
channel-feeds.
We started out with three different variations
on our basic ideas. The uppermost idea in
fig1. shows a simple implementation with one
box for each channel. The next idea shows
rows of channels with space for more textualinformation. The third idea tries to make the
elements smaller, which gives the possibility of
placing more channel-feeds on one screen.
After a brief discussion found out that we
should go for the first idea, since it is the
easiest to understand and gives a reasonablysized image that shows what the channel-state
(what is is sending).
Fig.2 shows a development of our first idea. It
introduces the concept of a information-bar at
the bottom where general information could be
shown. Further it shows icons in each box that
would pertain to the different choices a user
would have to manipulate a feed. The concept
of pull-down menus to change channel is also
introduced. As we’ll later see this was
functionality that our customer did not want for
technical reasons.
Prototype 2 – HTML/ Photoshop mockup
This
prototype is
really just a
HTML/
Photoshop
mock-up of
our original
idea. The
Fig3. 2
feed-boxes
consists of:
Feed-name
Dropdown-arrow
Feed-image
On/ Off-button
Representation of coverage-mode
Representation of which encoding-interface
that delivers the stream (i.e. 1/3, 1/5, etc.)
This is clearly not a good interface (all-red
buttons with diffuse symbols), but it acts as a
good platform for further development.
Prototype 3
Fig4. 3
Prototype 4
This prototype
This is just a clean HTML-
implements
implementation of the feed-
some basic
boxes. The design is HTML-
functionality –
form based, and implements
an on/ off -
a channel selector. The code
radio switch.
for this design will work as a
There were
platform for building the rest
some
of the
discussions
interface.
about how we
should mix
interactive and
non-interactive
items below
the streampicture (i.e.
Fig5. 4
on/off-switch, coverage-information, interfacestatus). As we added more features to the
interface we found it to become increasingly
cluttered. As a solution we decided to put all
interactive information on a separate page,
and this interface-design road was
abandoned.
Prototype 5
This is really
an interesting
prototype. We
implemented,
by request
from our
customer feed- Fig6. Note; all the feed-boxes
boxes showing
shows live movies in this
live-feeds
prototype.
(pictures
updating in real-time). It turned out to be an
agonizing experience with way too much
information to handle at one. After discussing
it amongst the group, and with the customer,
we decided to put up thumbnails, which
renewed themselves after a certain interval.
By doing this we could still have a interface
which was easy and clean, at the same time
as doing a good job representing the system
status.
Prototype 6
This is our pre-test
prototype. It's a static
representation of the
system that we used for
our first test with users.
Fig7. 6
Prototype 7- the dynamic interface
This is the dynamic
python-powered userinterface. Here we have
implemented a pythonbased backend. This is
Fig8. 7
the prototype we used in
our first user-test. The boxes have the
following static information in them:
Status (shown with a green background if the
stream is currently enabled, and red
background if it’s not enabled)
Coverage (in this prototype we show the
actual ttl(time-to-live) value of the stream.
The prototype also has
an ‘Option’-button which
takes the user to a
separate options-page
for the stream in
question.
Fig9. OptionsWe got some good input
dialogue from
from the usability test.
prototype 7
The most common
feedback we got was the following:
Ugly colours
Misinterpreting coverage-mode
No reload-button
We also came to the conclusion (although the
users did not comment it) that having a
separate options-page was a bit cumbersome
and confusing.
Prototype 8 – The polish
Our prototype 8
represents the near
finished product.
The CSS-code has
been reworked after
negative comments
from users about the
Fig10. 8
choice of colours
and the appearance of the system in general.
Improvements to the general 'niceness' of the
system can also be positive for the usabilityaspects of the system. For example the added
drop-shadows makes the feed-boxes stand
out against the background and separate them
from each other in a good way.
Prototype 9 – The final prototype
This is the result
of all our
iterations. The
following are
added based on
the userfeedback and
Fig11. 8
better design-ideas:
Snapshot-code
‘Reload’-button
‘Flippable’ boxes
More sensible labelling of options
The idea behind the flippable feed-boxes is
that the user
should be able to
see all the
streams while
editing one
particular stream.
Fig12. 8
This is to avoid
confusion of being presented with a ‘new’
page when the user wants to change options.
It should be noted that a user can only flip one
box at a time. This is to keep the interface
simple and avoid that the user forgets what he
is doing.
We are very happy with the final design and
the user-tests done with this iteration is
documented in the usability-evaluation.
Design heuristics used
There has been several usability heuristics
used on the project:
1. Visibility of system status
The systems always show clearly the status of
its various sub-components. The status of the
streaming process in the encoder backend is
colour coded (green: on, red: off), and a
snapshot of the current transmission is also
given, allowing the administrator to quickly
determine of transmission of media is working
as it should.
2. Match between system and the real world
Through user interviews and usability testing,
we have suited the wording of the system to
reflect upon the users language and concepts
as accurately as possible.
3. User control and freedom
No act in the system is binding without using
the OK button, and there is always an easy
way to cancel the operation with the Cancel
button without any dialogue.
4. Consistency and standards
In all situations, all words have the same
meaning throughout the system.
5. Recognition rather than recall
All objects, actions and options are always
clearly visible and self-explaining. The system
is meant to be used easily, without any
training.
6. Aesthetic and minimalist design
The main status boxes show only static status
information, hiding away irrelevant status
information. The option boxes allow allimportant functions to be changed without
showing irrelevant information.
Usability Evaluation
Usability Workshop Usability Test
Executive summary
The test was conducted in one of the
computer labs at IA and all the group
members were present and also the test
person. The test group consisted of 4 persons.
Each test person was given a brief introduction
of the system and what was going to happen.
The test people were made clear that it was
not they that should be tested, but rather the
system. The tests were performed with one
group member guiding the test person and
one member taking notes. All the notes were
entered into the chart you see above.
Over all the testers found the system mostly
enjoyable to use, but some problems were
discovered. The problems consisted of
sluggishness in the system, colour scheme,
unclear labelling and indication of stream
status.
Further development may be needed to find
better alternatives for labelling different
options, other than that the test proved to
confirm the notion that the system was nearly
ready for release.
Methods
The entire test was set up in one of the
computer labs at OS Allé 11. The test persons
were tested one at a time. After the test
person hade been given a brief introduction of
the system, they were asked to perform a
number of tasks. The user group consisted of
computer science students and teachers.
These students/teacher have very good
knowledge of general computer usage, but
they should have no previous experience with
the system we’re testing.
Data collection was done by taking notes of
the actions performed by the test person. The
only person in the test subject’s field of view
was the guide, the others tried to stay in the
background.
Results
The first task proved to be to most diverse
when it comes to the results. Most of the users
were able to point out that the system had
something to do with TV channels, but from
there the descriptions varied quite a lot.
The second task was fairly similar to the first
result wise. The different test persons were
able to differentiate the alternatives, but most
of them had problems understanding what
some the options actually did. The address
option seemed to be the main source of
confusion. The different users had no real
reference point or previous experience to
compare the address option to.
The third task was mostly completed without
any major difficulties. One test person did
however hesitate a bit while performing the
task, although completing the task. One test
person also complained about not
understanding what the coverage option
meant.
The fourth task proved to be no problem to
complete but the system sluggishness was a
major annoyance for all the testers. The
absence of a “back” button made certain users
insecure about getting from the option page
back to the system overview.
The fifth task consisted of three sub-tasks.
Almost all tasks were performed without any
real troubles. But again the slow system
response irritated the testers.
The final task showed that the system proved
to be quite user friendly but also showed that
some problems has to be dealt with to make
the system even better. One test person made
a remark about the option box being too left
centred. A better indication of the stream
status was also wanted. And finally, every user
commented on how slow the system was.
Findings and recommendations
Findings:
The general consensus of the user group
showed that the system proved to be generally
user friendly, and the stream layout was well
recieved. There was however one problem
that all the test persons made remarks about;
the slow system response.
Some users thought that the system colour
scheme was ugly and that the option page
was in need of improvement. Some indicators
were also perceived as unclear, such as the
“status” indicator. Users pointed out that they
expected the indicator to be green when the
status was on.
Recommendations:
Making the system faster is perhaps the most
needed improvement at this stage of
development. Since all of the test persons
made remarks about this it’s recommended
that speeding up the system becomes a major
priority before testing the system again. A
change in colour scheme used is also
recommended, as most of the user found the
current colours rather unpleasing. It’s also
recommended to implement changes in how
the option box is accessed and how stream
status is communicated to the user.
Usability test one
Executive summary section
The test was conducted in a relatively small
room with all the group members present and
the test person. The test group consisted of 4
persons. Each test person was shown into the
room and given a brief introduction of the
system and what was going to happen. The
test people were made clear that it was not
they that should be tested, but rather the
system. The tests were performed with one
group member guiding the test person, one
member taking notes and one member
observing/taking pictures. All the notes were
entered into the chart you may see above.
Over all the testers found the system pleasing
to use, only minor annoyances were
uncovered. Most of the problems were related
to the labelling of different options and what
they actually did.
Further research may be needed to find better
alternatives for labelling different options, other
than that the test proved to confirm the notion
that the system was nearly ready for release.
Method
The entire test was set up in one of the
computer rooms at OS Allé 11. The test
persons were brought in one at a time. After
the test person hade been given a brief
introduction of the system, they were asked to
perform a number of tasks. The user group
consisted of students from the SF line, mostly
language students. These students have
reasonably good knowledge of general
computer usage, but they should have no
previous experience with the system we’re
testing. It is this kind of people we’re tailoring
the system for.
Taking notes and having one of the groupmembers observing/take pictures collected the
data. The only person in the test subject’s field
of view was the guide, the others tried to stay
in the background.
Results
The first task proved to be to most diverse
when it comes to the results. Most of the users
were able to point out that the system had
something to do with TV channels, although
any further description of the system proved to
be pure speculation of possible solutions.
The second task was fairly similar to the first
result wise. The different test persons were
able to differentiate the alternatives, but most
of them had problems understanding what the
options actually did. The address option
seemed to be the main source of confusion.
The different users had no real reference point
or previous experience to compare the
address option to.
The third task was mostly performed without
major difficulties. Two of the test persons did
however hesitate a bit while performing the
task. The first person felt insecure about when
the changes actually took effect and ended up
changing the coverage as well. The second
person really showed a general insecurity
about all his actions but managed eventually
to perform the task.
The fourth task proved to be no problem at all.
The fifth task consisted of three sub-tasks.
Almost all tasks were performed without
troubles, only one of the test persons showed
some hesitation completing the first task. The
problem was what happens after the addresschange? Is it necessary to press apply/ok?
The final task showed that the system proved
to be quite user friendly and only minor
problems existed when it came to
understanding what the different aspects of
the system actually did.
Findings and recommendations
Findings:
The general consensus of the user group
showed that the system proved to be generally
user friendly. There was however some
confusion about the options, and what they
really did. Most of the users found the system
aesthetically pleasing and quite logical to use.
These problems were somewhat expected
since the user group weren’t expected to have
enough computer knowledge to recognize
some of the technical terms used for the
options.
Recommendations:
To clarify different options has to be the most
important aspect for improvement. Maybe
adding help texts to some of the alternatives
could remedy this problem to a certain
degree? Changing some of the option names
is another solution.
Redesign
First redesign – Usability workshop results
Program design - changes needed
The colour scheme needed redesigning
The options screen needed a back link
The system needed to be faster
The stream process indicator was unclear
The options pane needed rewording
General bug fixes were needed
Program design – changes
1. Colour scheme:
The background colour was changed from
lavender to white, which was neutral and more
aesthetical.
2. / 5. Options screen
The first design had a separate page for the
option screen without a back link; this was not
usable. Instead of adding a back link, we
chose to implement a “flip” effect on the
channel boxes. When the user clicks on a
channel box, it is now replaced by the options
box, while the other channel boxes remain.
As to the wording, “Toggle on/off” was
replaced by “Streaming” and “Multicastaddress” with “Address” to allow the user to
easily understand the box.
3. System speed
The system is distributed across several
computers, and the inter-process
communication between computers was too
slow when based on SSH (Secure Shell)
communication, and we chose to use XMLRPC all the way, instead.
4. Stream process indicator
We replaced green background on the status
(On/Off) indicator with text colour (green when
on and red when off), to make it clearer, as
well as change the description to “Streaming”
to indicate that only movie streaming status on
the encoder box was shown.
6. Bug fixes
Streaming status indicator was fixed to show
actual state of encoding, instead of a semirandom value, which a bug returned.
Second redesign – First usability test results
Program design – changes needed
Screen reloading
Help function
Program design – changes done
1. Screen reloading
A reload link was added to the top of the page
to ease page reloading and remove the
problems of the error dialog caused by the use
of the HTTP Post method.
2. Help function
No help was added
3. Stream snapshots
Actucal stream snapshots replaced static
pictures
Third redesign – Second usability test results
As no usability problems were detected and
the application is fully functional, and therefore
no longer a prototype, the project is complete.
Conclusion
Tralalalalala
Appendix 1
User manual
Prerequisites
To use ReStream you will need the following:
Access to a server running the ReStreambackend (encoding and snapshot-generation)
A modern web-browser (Mozilla, Opera etc…)
Fig. ? Showing a
Monitoring the system
feedbox in ‘view’mode
As an example we will
use the NRK1-feedbox. On the picture you can
see the following:
Stream-name
Snapshot of what is currently streaming
Status of the encoder (On/ Off)
Which coverage-mode the stream uses (local,
national or global)
There are mainly two things that may be of
importance. To see if the encoder is doing its
job, check the ‘encoder status’. To check if the
encoder is working with the correct channel,
check the thumbnail.
Making changes to the system
To make some changes
to the stream you will
need to press the
‘options’button. The
feedbox will then ‘flip
around’ and you will be
presented with the
picture shown on the
Fig. ? Showing a
feedbox in
right side.
‘options’-mode.
The parameters that can be set is:
Name – This is the name of the stream. It
works as an identifier and will show up at the
top of the feedbox.
Address – This is the multicast address for the
stream.
Streaming (On/ Off) - Here you can turn the
sream on or off.
Coverage – Use this to set the time-to-live
value of the stream.
When your’re done setting parameters you
must click the ‘OK’-button. The feedbox will
then flip round again and you will se the
normal overview.
If you wish to cancel the changes, just press
the ‘cancel’-button. You will then be sent back
to the overview with no changes saved.
Note: You can not edit multiple streams at the
same time.
Download