Deliverable (public)

Transcription

Deliverable (public)
Project Number
IST-1999-10375
Project Title
INTELLECT
Document Type
Deliverable
Document Title
Documentation on pilots and usability test
Document Number
D15
Due Date
31/05/2001
Delivery Date
01/03/2002
Document Status
FINAL
Workpackage(s)
WP4
Security
Public
File Name
INT-D15FINAL.doc
Short
Description
Keywords
The deliverable D15 documents experiences gathered during the three INTELLECT
pilots (tasks 4.1, 4.2 and 4.3). Specific points of interest are:
•
Functionality testing
•
Performance benchmarking
•
Usability testing
• Recruitment of pilot users
Pilots, demonstration, testing
Partners owning
BIBA
Partners contributed
All Partners
Made available to
Jorge Gasós (CEC)
INTELLECT
IST-1999-10375
Table of contents
1
Executive Summary.......................................................................................................................... 5
2
Introduction ....................................................................................................................................... 6
3
Definition of Usability Testing ........................................................................................................... 7
3.1
Usability testing in standardisation and literature...................................................................... 7
3.1.1
Further Usability factors ..................................................................................................... 7
3.1.2
Usability Testing as a tool for software development ........................................................ 8
3.1.3
Usability Testing as an evaluation mechanism for existing systems ................................. 8
3.2
3.1.3.1
Speed and Error.......................................................................................................... 9
3.1.3.2
Controllability .............................................................................................................. 9
3.1.3.3
Suitability for the task.................................................................................................. 9
3.1.3.4
Error tolerance ............................................................................................................ 9
3.1.3.5
Subjective assessment ............................................................................................. 10
3.1.3.6
Knowledge type and structure .................................................................................. 10
Usability Testing methods ....................................................................................................... 10
3.2.1
Heuristic evaluation of User Interfaces ............................................................................ 10
3.2.1.1
Approach................................................................................................................... 10
3.2.1.2
Advantages and Disadvantages ............................................................................... 10
3.2.1.3
Applicability to INTELLECT ...................................................................................... 11
3.2.2
Interviews ......................................................................................................................... 11
3.2.2.1
3.2.3
Qualitative Analysis in the Usability Laboratory ............................................................... 12
3.2.3.1
3.2.4
Applicability to INTELLECT ...................................................................................... 13
Prompted recall / Critical incident .................................................................................... 13
3.2.4.1
Approach................................................................................................................... 13
3.2.4.2
Advantages and Disadvantages ............................................................................... 13
3.2.4.3
Applicability to INTELLECT ...................................................................................... 13
3.2.5
Formal Usability ............................................................................................................... 13
3.2.5.1
3.2.6
Applicability to INTELLECT ...................................................................................... 14
Guideline-oriented Evaluation methods ........................................................................... 14
3.2.6.1
4
Applicability to INTELLECT ...................................................................................... 12
Applicability to INTELLECT ...................................................................................... 15
Pilot User Scenarios ....................................................................................................................... 16
4.1
Current situation ...................................................................................................................... 16
4.1.1
Common elements ........................................................................................................... 16
4.1.2
Blauwerk........................................................................................................................... 16
4.1.3
HiTEC............................................................................................................................... 17
4.1.4
InterSet............................................................................................................................. 18
4.2
Pilot approach.......................................................................................................................... 18
4.2.1
INT-D15FINAL
Common preconditions .................................................................................................... 18
© The INTELLECT consortium – 2002
Page 2 of 51
INTELLECT
IST-1999-10375
4.2.2
Blauwerk Pilot Scenario ................................................................................................... 19
4.2.2.1
eShop........................................................................................................................ 20
4.2.2.2
Configurator .............................................................................................................. 20
4.2.2.3
VR Applet .................................................................................................................. 20
4.2.2.4
Order Processing ...................................................................................................... 20
4.2.2.5
Help Desk Module..................................................................................................... 20
4.2.3
4.2.3.1
eShop........................................................................................................................ 21
4.2.3.2
Configurator .............................................................................................................. 21
4.2.3.3
VR Applet .................................................................................................................. 22
4.2.3.4
Order Processing Module ......................................................................................... 23
4.2.3.5
Help Desk Module..................................................................................................... 23
4.2.4
5
HiTEC Pilot Scenario ....................................................................................................... 20
InterSet Pilot Scenario ..................................................................................................... 23
4.2.4.1
eShop........................................................................................................................ 23
4.2.4.2
Configurator .............................................................................................................. 24
4.2.4.3
VR Applet .................................................................................................................. 24
4.2.4.4
Order Processing Module ......................................................................................... 24
Usability Testing Results ................................................................................................................ 25
5.1
Effectiveness ........................................................................................................................... 25
5.1.1
Prototype platform ............................................................................................................ 25
5.1.2
Prototype architectural components ................................................................................ 28
5.1.3
Prototype functionality in the pilot scenarios.................................................................... 30
5.2
5.1.3.1
INTELLECT eShop ................................................................................................... 30
5.1.3.2
INTELLECT Configurator.......................................................................................... 31
5.1.3.3
INTELLECT VR Applet ............................................................................................. 32
5.1.3.4
INTELLECT Order Processing ................................................................................. 33
5.1.3.5
INTELLECT Help Desk ............................................................................................. 34
Efficiency ................................................................................................................................. 35
5.2.1
eShop performance.......................................................................................................... 35
5.2.1.1
Serving pre-generated HTML pages ........................................................................ 36
5.2.1.2
Serving HTML pages dynamically generated by Cocoon......................................... 36
5.2.1.3
Compiling, executing and serving XSP pages.......................................................... 37
5.2.1.4
Executing and serving pre-compiled XSP pages ..................................................... 37
5.2.1.5
Comparison between URLs from the three INTELLECT pilots ................................ 38
5.2.1.6
Comparison of different servlet engines ................................................................... 40
5.2.2
Configurator performance ................................................................................................ 41
5.2.2.1
Pure Java Implementation ........................................................................................ 42
5.2.2.2
SQL Implementation ................................................................................................. 44
5.2.2.3
SQL vs Java.............................................................................................................. 47
5.2.2.4
Conclusion ................................................................................................................ 48
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 3 of 51
INTELLECT
IST-1999-10375
5.2.3
Order Processing performance ........................................................................................ 48
Database transactions .............................................................................................. 48
5.2.3.2
XML parsing.............................................................................................................. 48
5.2.3.3
XSL transformations ................................................................................................. 48
5.2.3.4
XPATH addressing ................................................................................................... 48
5.2.3.5
XML transformations................................................................................................. 48
5.2.3.6
Backoffice functionality ............................................................................................. 49
5.2.3.7
Results ...................................................................................................................... 49
5.2.4
Help Desk performance ................................................................................................... 49
5.2.5
VR Applet performance.................................................................................................... 49
5.3
6
5.2.3.1
Satisfaction .............................................................................................................................. 50
References ..................................................................................................................................... 51
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 4 of 51
INTELLECT
IST-1999-10375
1 Executive Summary
This document contains deliverable D15 of the IST project INTELLECT - Intelligent Online Configuration of Products by Customers of Electronic Shop Systems. The objective of the project is to enable
the suitable representation of products including all practicable variants in electronic commerce systems to achieve the most realistic possible visualisation.
The deliverable D15 documents experiences gathered during the three INTELLECT pilots (tasks 4.1,
4.2 and 4.3) in Work Package 4 “Integration of Pilot” in which the INTELLECT system was validated
within realistic business scenarios. The deliverable D15 summarises the pilots as executed based on
the INTELLECT implementation described in D13. D15 has a two-fold focus namely both a technical
as well as a usability-oriented viewpoint. The technical part focuses on issues like performance
benchmarking that tested the efficiency and applicability of the INTELLECT platform. Furthermore the
document includes the strategy for recruiting pilot users, the members of the pilot groups and the
methods chosen for usability testing.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 5 of 51
INTELLECT
IST-1999-10375
2 Introduction
The subject of WP4 was the preparation and execution of the prototype pilot phase and the evaluation
of the systems by means of usability testing. The deliverable D15 – “Documentation on pilots and usability tests” – summarises the activities and results of the WP related to evaluation.
D15 is structured as follows: Chapter 3 “Definition of Usability Testing” offers a quick overview of the
concept of usability testing, the criteria related to such evaluation and the specific methods involved.
Chapter 4 contains a presentation of the three user scenarios that were the basis of each of the three
pilots. This chapter also tries to give a realistic view of scenario related aspects i.e. specific difficulties
and measures taken to overcome them. Chapter 5 describes the INTELLECT prototype used for the
pilots, specific points of interest are the components and functionality of the system. Chapter 5 then
focuses on the results of the usability testing conducted in conjunction with the pilots. According to the
definition of usability testing presented in chapter 3 results are presented in the areas of Effectiveness,
Efficiency and Satisfaction. Effectiveness is primarily concerned with the functionality and general
quality of the software, Efficiency covers the actual applicability of the solution to concrete problems
and Satisfaction covers the vague and subjective area of general user satisfaction with the solution.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 6 of 51
INTELLECT
IST-1999-10375
3 Definition of Usability Testing
Usability testing concerns itself with methods for the measurement of usability. Such methods are
roughly categorised in two groups by literature in the area of ergonomics [1 p.19]. These groups are
methods for usability testing and methods for usability evaluation. Usability testing is seen as a test
that focuses solely on software-ergonomic criteria, while completely disregarding issues related to the
functionality or efficiency of the software at hand. An evaluation of the usability of a system on the
other hand has a broader scope. Here the goal is to evaluate the usefulness of a piece of software for
a certain group of users and a specific function. Both the group of users, and the work which is assigned to them play a major role in this process. This holistic approach allows for more pragmatic and
realistic results that offer substantial insight into the inner workings of the system. We therefore
choose to address a broad range of criteria in the sense of usability evaluation. Usability testing is
therefore to be understood as a procedure for the evaluation of the quality of a software; further quality
criteria would be functionality, efficiency, reliability, portability, testability, etc. Usability testing is used
today both for the optimisation of software during the development process, and for the classification
of existing systems.
3.1 Usability testing in standardisation and literature
Definition according to ISO 9241, Part 11: Usability (Principles), 3.1:
-
“usability: The quality of interaction between a user and other parts of the work system which
is measured by the effectiveness, efficiency and satisfaction with which specified users
achieve specified goals in particular environments.“ [2] According to ISO 9241 usability is a
measure of the quality of the interaction between a user and his/her working environment.
This working environment can be regarded as a socio-technical system. A specific point of interest is the usability of software. The word usability suggests a tool perspective: It is not the
machine, but rather the human users of the software, that are the focal point. [3, p. 177]
Usability as a measurable quantity for the quality of software according to ISO 9241 is therefore split
into three groups of criteria:
-
“effectiveness: The accuracy and completeness with which specified users can achieve
specified goals in particular environments.“ – This criterion represents the functionality offered
by a specific system or the environment in general for the solution of specific problems by a
specified group of users. The amount and type of functions offered by the software is clearly
the main criterion to be considered here.
-
“efficiency: The resources expended in relation to the accuracy and completeness of goals
achieved.” – This criterion tries to define the necessary amount of resources for the fulfilment
of the specified goals. The following equation is suggested as a rough way of demonstrating
the relationship between efficiency, effectiveness and resources.
-
“satisfaction: The comfort and acceptability of the work system to its users and other people
affected by its use.“ – This last criterion directly addresses the one of the hardest areas of
Software Ergonomics, namely the subjective satisfaction derived by a user in his interaction
with the system. This very vague but also extremely important criterion for the success of a
software system can in most cases be addressed only very vaguely and on a purely subjective
manner.
3.1.1 Further Usability factors
“In other words a system is considered more useable if the user can master the system more quickly,
complete standard tasks more swiftly and with more enjoyment, and develop a greater understanding of the workings of the system.” [4]
“The quality of a system depends on it meeting various criteria, which are traditionally vague and nonconstructive in design: usability is ‘the degree’ to which specified users can achieve specified goals in
specified environments, subject to various comfort, effectiveness, efficiency, and acceptability criteria.“ [5]
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 7 of 51
INTELLECT
IST-1999-10375
This expanded definition introduces two new criteria missing in the original ISO definition of the term
Usability. These are the cost of personnel training and general transition to the new system as well as
the general transparency of the system. The transition phase from one system to another – be it software, hardware or even non-technical – should be clearly as simple as possible in order to reduce or
avoid additional short term costs for the organization and discomfort for the individual user.
The “increased user understanding” criterion introduced by Briggs [5] on the other hand is a criterion
with long term consequences. Systems that give the user the feeling that they act independently of his
wishes and his commands tend to create a negative working climate that has a considerable impact
on satisfaction and – even more important – on productivity at last.
3.1.2 Usability Testing as a tool for software development
Up-to-date software engineering does not follow anymore the top-down approach which got out of
style during the so-called “software crisis”[7], but uses an iterative proceeding to create software. It is
no longer assumed that at the time of the beginning of a project all information needed to build the
software product is available. During the development process, the present achievements have to be
evaluated and enhanced step-by-step. As early as 1985 the following principles for the creation of
computer systems were established in [7]:
-
“Early Focus on Users and Tasks” - As early as possible the target group and those works,
which users of the system to be developed have to (or want to) execute, should be led into the
focal point of consideration. It is particularly important that the users themselves are integrated
into the development process instead of operating with virtual users, which exist exclusively in
the conception of software developers - and have amazingly similar needs and views to those
of the software developers them selves. INTELLECT followed this approach by executing user
requirements capturing and analysis studies early in the project. WP1 produced extensive material that provided invaluable input all through the duration of the project. Constant communication with the end-users and the whole developer groups allowed the developers to stay upto-date concerning the needs and preferences of the end-users.
-
“Empirical Measurement” - Exactly these users should try out the software during an early
phase of the project. The software can be present e. g. in the form of simulations or prototypes. It has to be taken into account that the trying out the software is recorded and analysed
empirically. Purely subjective decisions are to be avoided. INTELLECT demonstrations were
organised as soon as the first prototype was available. This provided input for constant improvement of the software.
-
“Iterative Design” - If flaws are detected during trying out the software, these are to be removed. In the course of the project the software is gradually improved, as tests are executed
time and again by users. The principle of Empirical Measurement can be enforced with different procedures of Usability Testing. A cost-effective method for evaluating software, wherein
the developer does not come directly into contact with users, but nevertheless can obtain
feedback, was particularly forced by the rapid development in the internet. The unfinished
software is distributed to many volunteers, who discover a multitude of errors. Similarly, the
acknowledgements of users of software already delivered can be analysed for the development of future program versions (“Collect feedback from field use”). The distributed developing
effort behind INTELLECT consisting of four different partners in three European countries and
roughly 15 developers provided a good basis for this sort of testing. Technical flaws were
normally immediately discovered as soon as the flawed version of the software was distributed
to the developing partners. Deployment on the local prototypes of the four partners gave immediate input that allowed the consortium to further improve the software in an iterative development process.
3.1.3 Usability Testing as an evaluation mechanism for existing systems
Numerous enterprises and authorities, which want to introduce new data processing, rely also on procedures of Usability Testing, in order to meet a selection. Obviously development patterns like the
Iterative Development are not suitable for such tasks. In this case, systems are gone through with a
fine-tooth comb, in order to determine the exact status of a set of characteristics. We will try here to
present the most important criteria for the determination of Usability of such systems.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 8 of 51
INTELLECT
IST-1999-10375
3.1.3.1 Speed and Error
Efficiency was recognized as fundamental criterion of all definitions of Usability. The increase of the
productivity of users should be thus a primary target of the system. But how does one determine as
Usability Engineer, which effect the system has on productivity?
A simple measurement of the time needed in order to complete a working cycle, would be the first
step. Obviously the used time alone is no sufficient criterion [4], because it is influenced by various
factors, which usually have little to do with the efficiency of the system. To ensure the validity of the
results, also the number of the errors and unsuccessful attempts must be considered. A formal handling would be quite advantageous in this case (see 3.2.5 Formal Usability).
Chapter 5 offers a detailed overview of the activities executed and results collected in order to fulfil this
criterion for the various performance critical parts of the INTELLECT prototype. I is to be noted that
these activities offered new insight into the inner workings of the various modules that led to further
optimisation during and after the pilots themselves.
3.1.3.2 Controllability
Computer systems are “tools of wit”, and just like conventional tools, computer systems can be used
meaningfully and efficiently only if their mode of operation is mastered by the users. This means that
such a system must have a certain degree of transparency. It must be thus able to make clear for the
user without larger effort how it solves its tasks. Users who achieve a deeper understanding for the
systems they operate every day, have the legitimate feeling that they determine the working process.
Thus, by transparency both the knowledge status of a human and his/her ability to master critical
situations can be improved as well as working morale.
The INTELLECT user interface fulfils two basic criteria of software ergonomics in order to achieve
“controllability” by the user. All INTELLECT functions are presented in a format that is as similar as
possible to that of popular eCommerce system. With this the developers hope to achieve recognition
of said functions by the user thereby enabling the user to re-use existing experience. Furthermore the
INTELLECT concept allows for a simplification of the user interface to the point were the customer is
only confronted with data and functions he really needs and can cope with. In Configuration, being one
of the most complex and difficult to understand (for the user) areas of functionality, the INTELLECT
prototype allows the user to configure the product by simply determining witch pert is to be exchanged
and then offering a list of possible components in return. All such components fit both soft and hard
criteria defined by the user and are thus compatible with the product. This simple interactive interface
eliminates the need for complex handling of the product and its components.
3.1.3.3 Suitability for the task
This point may appear self-evident or even trivial, but it represents a large and real existing problem.
Today's software packages have with few exceptions such extensive functionality that for customers a
realistic estimation is practically impossible. The complexity of these systems together with the complexity of the tasks to be mastered, can easily lead to situations where the customer decides for a
product, or requests one, which does not correspond at all to his/her needs. It is thus the job of a Usability Engineer to determine first of all whether the software is at all suitable for the actual task. INTELLECT addresses this point with a reduction of the functionality presented to the user. Following
the concept “less is more” INTELLECT hides complexity and offers intelligent concepts for aggregating
complex functionality into a few simple controls (see Controllability).
3.1.3.4 Error tolerance
No human is perfect, even the most clever expert will make mistakes in interacting with the computer
– even repeatedly. These more or less important errors are therefore somewhat ordinary and must as
such factor be intercepted by the developers. This means that in the software balancing mechanisms
must be integrated, which can prevent losses by a failure of the user.
All data related to activities in the INTELLECT shop is stored in the INTELLECT database. This allowed the developers to implement a persistent data handling that makes data loss due to user or
system failure highly improbable. Persistent product data stays effectively in the database until deleted
by the administrator.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 9 of 51
INTELLECT
IST-1999-10375
3.1.3.5 Subjective assessment
An investigation, which deals with the evaluation of a man-machine interface, should contain of course
also the subjective opinion of the users. Here has to be differentiated between the individual interpretation of the system and the feeling of personal satisfaction [4]. Of our interest at the moment is the
latter one, i. e., how content the user feels while using the system.
Obviously a high working morale and a pleasant work atmosphere presuppose a smooth interaction
between human and machine. This means again that more energy and creativity can be invested into
work - energy, which was devoured so far by a senseless fight against the own computer.
The objective of INTELLECT is to enable the suitable representation of products including all practicable variants in electronic commerce systems to achieve the most realistic possible visualisation. The
projects goals therefore are inherently oriented towards a user friendly presentation. The simple interactive user interface (see Controllability and Suitability for the task) helps improve the user experience.
3.1.3.6 Knowledge type and structure
Pursuant to current knowledge within the field of the psychology, the human ability to deal with complex devices is based on mental models. Those models contain our whole knowledge over a field and
map as exactly as possible the functionality of the actual matter. With the help of these models we are
able to make decisions and even predict their consequences.
The key to a product of quality excellent is thus the selection of the models, which are to be evoked in
the user. The knowledge structures already available in the software must be concise, understandable, detailed, accurate and above all appealing, so that the developing models can successfully fulfil
their function. (see Controllability and Suitability for the task)
3.2 Usability Testing methods
Procedures of Usability Testing are divided into two categories: techniques concentrating on the machine, and work patterns in which humans come to the fore [4].
Machine oriented methods regard the system and look for the already known weak points as well as
for characteristics, which studies regard as positive. This information results in an overall view on the
software status regarding Usability.
User-centred modes of operation observe the reactions of the user and try to classify his/her performance into areas such as efficiency, satisfaction, knowledge status. These results can then be used to
draw conclusions on the status of the system.
3.2.1 Heuristic evaluation of User Interfaces
3.2.1.1 Approach
The following type of evaluation is called heuristic:
A not necessarily qualified person comes in contact with the product in the course of the investigation
and formulates afterwards a statement about the interface. Ideally, scientific studies and industrial
standards should serve as background for the reports of the correspondents [8].
3.2.1.2 Advantages and Disadvantages
The advantages of the heuristic method are the following: It is cheap, intuitive, easily applicable and
can become part of a development process.
However, it has a large disadvantage: inherent inefficiency. Investigations have shown that a person
testing heuristically an interface will discover 20-50% of the weaknesses or problems [8]. Experience
within the area of Usability Engineering can be useful, but also in this case the results do not look
much better.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 10 of 51
INTELLECT
IST-1999-10375
A further advantage of this method is however that researchers, who operated independently, encounter problems which differ to a large extent (see fig. 1). This means that a group of scientists operating
parallel to each other could achieve a quite high percentage (see fig. 2).
Figure 1 – Distribution of usability problems
Each column of the above table contains problems (represented by squares) which were discovered
by a person. It is obvious that many overlaps exist, however it can be seen clearly that almost all problems emerge at least once
Figure 2 – Performance of groups containing 1 to 30 participants
This table depicts that a relatively small number of persons who operate heuristically can be very successful. An investigation executed by five persons would detect about 70% of all problems. Ten persons would achieve even more than 80% [8].
The number of ten proves as a general highest boundary. It turned out that further coworkers can improve the result only marginally.
3.2.1.3 Applicability to INTELLECT
Heuristic evaluation because of its obvious advantages formed the backbone of the evaluation of the
INTELLECT pilots. “Evaluators” were in this case the end-users working with the software and the
developers consulting them.
3.2.2 Interviews
An obvious possibility of getting information from users about their experiences with a software is to
simply interview them. We differentiate here between three forms of questioning:
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 11 of 51
INTELLECT
IST-1999-10375
In a free discussion users are asked what they noticed using the software. This procedure is particularly suitable for the discovery of problems occurring during use..
During a structured questioning the person placing the questions proceeds according to a pattern,
questions can however be answered at will.
If users fill out questionnaires and the possibilities of the responses are limited, a quantitative analysis is simplified.
In the everyday life of programming a questioning is quite frequently used - often even without consciousness for the fact that a Usability Evaluation of the software is done by that. Regarding the participation of users at the development process, or analysis process of a software, questioning may be
the most direct kind of communication between Usability Engineers and “laymen”.
3.2.2.1 Applicability to INTELLECT
Interviews between developers in the form of “free discussion” as well as “semi structure interviews“
also took place with the limits of the heuristic evaluation presented in the previous section.
3.2.3 Qualitative Analysis in the Usability Laboratory
The performance concept already addressed (at which expenditure can certain work be executed by
certain users) is based on the view that it is meaningful to analyse Usability tests qualitatively.
A qualitative analysis presupposes that tests are executed and statistically analysed. There are different possibilities in which way these tests can be executed; here, we would like to describe possibilities, which exist in Usability Laboratories. In a Usability Laboratory, situations which occur during the
use of the system to be tested, are usually re-enacted, i. e. simulated. At the same time, processes
are logged, which takes place in different manners:
Figure 3 – Usability laboratory (taken from [10])
One procedure for logging man-machine interactions, which can be technically implemented with relative easy, is performed by recording modifications of interfaces, e. g. keyboard, mouse and display
during the use. The larger the liberty is, which the user is given by the input medium, the larger will be
the data quantity resulting from this procedure, and the more difficult will it be to analyse this data - in
some cases it will be impossible. In principle, this procedure is not limited to the application in the Usability Laboratory, it could run as background process any computer. However, this method is at least
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 12 of 51
INTELLECT
IST-1999-10375
doubtful regarded from the angle of data security, since easily a profile about the user could be created – after all, it is the software Usability and not the user efficiency to be determined.
A further possibility of analysing Usability qualitatively is to record the process of using a software with
a video camera. Here rather the human and fewer the machine step into the focal point of observation.
Behaviours can be held with the help of the video recording and be shown later either the users or
developers. So problems can be described, resp. insights be supported - e. g. by showing a developer
a 10-minute sequence, in which some poor user desperately tries to quit a word processor.
To take a log is a third possibility of recording user activities. In the Usability Laboratory, this is usually
not performed by software users, but by observers trained in software ergonomics and able to detect
critical situations. Here results can be obtained the fastest, however are they less easy to be given
reasons - humans believe rather what they can see (“You have to show pictures” [9, S.323]).
Tests in Usability laboratory apparently have proved themselves, where they were already used [9,
S.326 ]. A problem is that the human behaviour in the test situation possibly differs from that in working life. Often users feel in such a manner as if it is them and not the machines which they use are
tested, as the users are observed. Thus the users serve in principle solely as measuring instrument for
the quality of a technical system.
If it succeeds to withdraw this feeling from users, then with the help of a Usability Laboratory important
results could be obtained.
3.2.3.1 Applicability to INTELLECT
The risks and overhead related to this approach led the INTELECT consortium to decide against this
approach. All pilots were conducted on the premises of the end-users in order to profit from the close
proximity to the end-users production environment.
3.2.4 Prompted recall / Critical incident
3.2.4.1 Approach
The two methods treated here concentrate on the research of mental models of the user. Assumed
that critical situations, problem cases and the like are the results of gaps in the user’s model, then we
can interpret these just as well as guideposts, because a knowledge gap of the user can be finally
attributed to a Usability weakness of the system.
In order to retrieve this information, the users are questioned (logs already available can very much
facilitate the work of the Usability Engineer). Target of this interview is to learn as much as possible
experienced about problem cases in which users had difficulties. Those cases are then examined
more exactly to determine the actual flaw in the system.
The other method has a pre-emptive character. The examiners try to simulate a hypothetically critical
situation by imagining the user with various auxiliary means into such a situation. Most different auxiliary means can be used - from simple cardboard representations to realistic simulations of the program. Resulting reactions are analysed afterwards.
3.2.4.2 Advantages and Disadvantages
The weakness of this method, and its strength at the same time, is that it detects only certain - although very serious - problems. It is thus no general procedure, with which Usability value of a system
can be determined.
3.2.4.3 Applicability to INTELLECT
Critical Incidents during the pilots were reported to the developer partners and proved to be an important source of input for further refinement of the INTELLECT prototype.
3.2.5 Formal Usability
Usability is generally empirical and extremely context specific in nature, but developers could all the
same profit greatly from estimations of formal origin. User interfaces become more and more extenINT-D15FINAL
© The INTELLECT consortium – 2002
Page 13 of 51
INTELLECT
IST-1999-10375
sive and complicated. The high measure of complexity and the meanwhile high requirements of the
industry regarding Usability require that developers make more and more critical decisions. In the
ideal case these decisions should be supported by empirical investigations, however is this mostly not
possible out of time and cost reasons. Formal Usability solutions able to automatically make predicates about aspects of the software, could be very useful here.
A system can be abstracted in various ways, yet we preferred to concentrate on one type of representation. Graph-theoretical knowledge is particularly common among computer scientist; this characteristic and the intuitive nature of graphs and trees let appear graphs and trees as particularly suitable for
this purpose.
Each system can be represented as a graph, with the help of a quite simple mapping function. All
states the software can assume are represented as nodes, and all actions which make it possible to
achieve such a state are represented as edges. A weighting of the edges is additionally possible [11].
Algorithms on graphs, e. g. the well-known algorithm of shortest path by Dyjkstra could be applied to
such a graph in order to find the simplest way between two nodes (states) and to determine parallel
also its length. It would be even conceivable to compare several concepts not implemented yet together in this way. A set of questions, which are illustrated on appropriate algorithms, could be used
even as “benchmarks”. Such questions would be e. g. [11]:
•
the user knows nothing, how long will he/she need?
•
the user is confused, how long does he/she need to orientate again?
The data for similar benchmarks could be collected even empirically. Examples:
•
the user calls the on-line help, how long does he/she occupy with it?
•
How extensive is the documentation?
Even due to simple observations, developers could gain a deeper insight into the structure of the system (see picture 4).
Figure 4 – A system displayed as a weighted graph
3.2.5.1 Applicability to INTELLECT
The simple nature (user friendly, interactive) of the interface presented to the customer made the development of a formalised description of the software (i.e. in the form of a weighted graph) unnecessary.
3.2.6 Guideline-oriented Evaluation methods
With a guideline-oriented evaluation method software can be evaluated by entering certain characteristics of the software into lists, which is usually carried out by experts trained in software ergonomics.
A list of quite superficial test criteria can be taken from the standards DIN 66234-8, or ISO 9241-10;
these leave much room for interpretation. There are several check lists which widely transcend the
requirements of the standards and specify test criteria more exactly (an enumeration of examples is
can be found in [12 p.14]).
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 14 of 51
INTELLECT
IST-1999-10375
Figure 5 - Check list, taken from [12]
Often a recommendation regarding the procedure of filling out is attached to check lists, in some
cases even a program that trains the checking person - e. g. EVADIS II [12].
The application of a guideline-oriented evaluation method is narrowed to that extent that already when
creating the lists characteristics of the software to be checked should be known - this procedure does
not measure up to innovative software. Another problematic is the relatively rigid determination of the
quality of a software, which is of course expressed by the sum of the individual characteristics. However, a checking person often gets to know whether software has flaws in it during the determination
of its characteristics.
3.2.6.1 Applicability to INTELLECT
The material gathered through the various other methods for Usability Testing eliminated the need for
further input through a formalised questionnaire. Co-operation within the INTELLECT pilots in the form
of heuristic evaluation, interviews and prompted recall provided sufficient input for usability testing.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 15 of 51
INTELLECT
IST-1999-10375
4 Pilot User Scenarios
The INTELLECT pilot scenarios were designed to closely resemble the day to day usage situation in
the core business of the individual end-user. These scenarios were therefore based on the current
business models of the end-users. The following sections give a rough overview of said business
cases and then continue to present the resulting pilot scenarios, followed by the prototype functionality
playing a critical role.
4.1 Current situation
4.1.1 Common elements
Blauwerk, HiTEC, and InterSet rely on an extensive network of partners in order to bring their product
to the end customers. These partners offer a diverse amount of services to their customers including
pre-sales consulting, after-sales support, guarantee services, delivery, etc. None of the three INTELLECT end-users is currently in a position to supply these consumer services on a broad basis through
its own infrastructure. This is one of the main reasons why none of the three companies actively compete with local business partners. On the other hand the Internet presents a separate sales venue
aimed at consumers that are not being attended to by any local business partner. These could be
customers living in regions or countries where no such stores currently exist (i.e. new markets or isolated areas) or customers in need of very specific products, configurations or services that can not be
delivered by the local dealers.
Most of the products offered by the INTELLECT end users are highly configurable, some of them even
require for the consumer to possess special skills in order to integrate them in existing configurations.
This characteristic has a number of consequences depending on the development cycle for new products, the nature of the components or products, and the marketing strategies of the specific company.
Nevertheless all of the end users could greatly profit in different ways from a configuration process
simplified through intelligent software and visual representation of the data. Functionality of this nature
would even enable less experienced consumers to produce their own configurations or individualised
variations based on existing models.
4.1.2 Blauwerk
The Sidewalker is a product that does not solve a specific problem or address a need. It is rather a
lifestyle product that aims to entertain the end-user. The company offers a number of products, each
based on a distinctive image (city roller, outdoor model, down-hill model, etc.). Material like the official
catalogue emphasises the special features of each different model and tries to convey a certain feeling in order to capture the customers’ interest and get them personally involved.
Figure 6 - The Blauwerk Sidewalker
Blauwerk’s business model currently heavily depends on a rigid hierarchy composed of distributors
that have the exclusive right to sell Sidewalkers in the region or country they are located and are only
loosely co-ordinated by Blauwerk. These business partners order Sidewalkers directly from the subcontracting plant in Taiwan. The Taiwanese producer then informs Blauwerk accordingly and delivers
the product directly to the distributor. Distributors pay the production fee directly to the producer and a
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 16 of 51
INTELLECT
IST-1999-10375
separate royalty fee to Blauwerk. This process is a lengthy one as it requires roughly 2 months for the
production of the Sidewalkers and roughly 3 months for delivery, forcing Blauwerk to concentrate on a
relatively small number of configurations/models. Even local retailers are supported and managed by
the authorised distributor. They don't have the flexibility to offer arbitrary configurations or models to a
private customer. Instead they have to orientate themselves according to the Sidewalkers their distributor has stocked. This distributor is responsible for storage, processing orders, delivery, technical
support, local events, setting local prices, etc.
This structure forces Blauwerk to treat its distributors in many respects as equal partners. Blauwerk
itself has no Sidewalkers stocked and does not handle any orders, so the company has no need for an
inventory control system or a full featured back office solution. Such data, if needed, can be retrieved
from the back offices of the regional distributors.
Blauwerk intends to change this business model to achieve greater flexibility and address a larger part
of the market through more models and more configurations. First and most important goal is to give
retailers, distributors and even private customers equal flexibility in configuring and ordering Sidewalkers. The first step in this direction will be to move production of the product to Europe so as to reduce
delivery costs and time and reduce dependence on the American dollar and the Taiwanese producers.
4.1.3 HiTEC
HiTEC bikes are definite high end products (high performance, high cost) with prices ranging well over
€ 4000. This fact makes them rather exclusive and at the same time more difficult to sell. HiTEC therefore aims at clearly emphasising the advantages stemming from the technical superiority of the product as well as its high degree of configurability and adaptability to individual requirements.
Figure 7 - Typical HiTEC full suspension bike
All products currently offered through the internet site or the printed catalogues are essentially preconfigured, and thus fail to clarify the great number of possible technical variations or the feeling of
individuality that the customer should associate with the product. This as well as the lack of active
support during configuration via the Internet make the process unattractive for less technical or less
informed customers.
HiTEC products are currently sold through distributors, retailers, the internet or on site. Distributors are
generally just larger retailers that are in a position to order larger quantities and supply other smaller
retailers as well. Retailers represent the main distribution channel mainly because they play the role of
a local “service centre” offering a number of important services to the consumer (i. e. maintenance and
repair services). The internet is currently only an alternative market with a rather small turnover consisting of customers that do not have a local dealer or have too advanced requirements. These consumers can directly order from HiTEC after consulting the current WWW site of the company. The
bikes are then delivered via courier service; retailers and distributors ordering larger quantities also get
the product via rail or forwarding agency. The prices offered by HiTEC are always comparable and
most of the time even somewhat higher than the “official” price recommendations handed to the retailers. This strategy is supposed to reduce the danger of HiTEC competing against its own business
partners.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 17 of 51
INTELLECT
IST-1999-10375
All HiTEC bikes are made to measure for each specific customer in the HiTEC workshop in Austria.
Most of the construction is done by HiTEC but some of the tasks are subcontracted. The spare parts
themselves are ordered from many different suppliers world-wide and have varying delivery times. The
back office system employed is rather simple and does not offer sufficient stock control functionality.
Parts of the process are thus handled manually.
4.1.4 InterSet
InterSet is a computer hardware and peripherals wholesaler, its products are largely commodities.
InterSet’s customers are either retailers, franchise stores, chain stores or distributors. Distributors are
generally other wholesalers and are regarded as partners by InterSet.
Retailers and franchise- or chain-stores as a group are basically very similar and represent the main
category of InterSet’s customers. Such stores basically have no stock, they simply order components
or complete systems on demand from InterSet and hand them over to the customer. The exception to
this rule are items roughly up to € 150. These items are normally available locally. Delivery times for
the more expensive products are very short as both InterSet and most of the stores are located in
Athens. Components or peripherals are delivered within one day and completely individually configured systems after a minimum of 2-3 days. Deliveries to the province take longer and are transported
mostly by public transportation buses.
InterSet is very interested in providing assistance to retail partners in any possible way, provided this
helps boost sales of their products. One of the main problems retail stores and ultimately InterSet are
facing is the lack of product awareness. Product awareness and brand recognition is very low in
Greece, the average non-informed customer as a rule doesn’t have any special preference when it
comes to specific labels or models, so the salesperson needs the technical knowledge and motivation
necessary to actively try to convince the consumer that a specific product is better or more desirable
than the rest. This is often a problem as stores generally have barely trained personnel due to the high
staff throughput customary in this branch in Greece.
One of the most prominent characteristics of the computer hardware industry is the extremely short
product life-cycle. Consumer products can generally be considered state of the art only for a few
months up to maybe a year before they get replaced by other even more advanced versions with new
and more attractive features. This forces dealers to invest considerable resources and personnel in a
continuous configuration process that incorporates new components in the existing products. InterSet
plans to reorganise and formalise this process in order to minimise the cost of configuration.
Added value is a very important factor in a branch where price is nearly the only important criterion
distinguishing one supplier from another. InterSet is currently successful with various financing
schemes as a service to its customers for products that cost more than € 150. The company plans to
offer more innovative services making its products more interesting to private customers and enhancing customer loyalty. InterSet as an exclusive importer for some labels has the means to effectively
control the prices and the profit margin on of some of its products. This control has been used to force
a minimal profit margin of 15% for these components and peripherals. This is a strong motive for retailers to support InterSet products in a branch where profit margins as a rule range from 5% to 12%.
InterSet’s back office systems are currently minimal and constitute of manually operated spreadsheets
and a certified accounting software which use is regulated by the Greek government. A specialised
inventory control system does not exist, this functionality is handled by a simple spreadsheet. This
system is not going to be replaced in the foreseeable future.
4.2 Pilot approach
4.2.1 Common preconditions
All of the INTELLECT end users rely heavily on a network of business-to-business partners such as
retailers or distributors. This structure is not likely to change in the foreseeable future because of the
considerable investments the companies would have to undertake in order to offer the same level of
services over large areas that is currently being offered by their business partners. Competing against
these partners is clearly against the best interest of the suppliers. E-Commerce is meant to be an alternative only in cases where the local dealers can not satisfy demand or are simply inexistent. The
INTELLECT business model respects this and therefore retains such major attributes. On the other
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 18 of 51
INTELLECT
IST-1999-10375
hand co-operation and support towards retailers and distributors would enable them to more effectively sell the product supplied by the INTELLECT end users. INTELLECT as a world wide accessible
information centre could offer assistance in this respect by offering a state of the art information repository based on current multimedia technology.
The eShop should offer a great deal of information as added value in order to offer better pre- and
after-sales support as well as promote the image and lifestyle the company wants to associate with
their product. Such information would be technical data (data sheets, case studies, reviews, etc.),
usage tips and tricks (new applications, performance tuning, etc.), supporting software (drivers,
demos, screensavers, etc.), multimedia features (animations, music, art, etc.) and much more, depending on the actual product. The consumer should be able with a minimum of effort to get complete
and comprehensible information on all the products that interest him as well as determine the next
available retail outlet. An eShop has the possibility to offer adapted versions of the information to each
customer according to the country or region he is coming from. This feature could be used to adjust
the page’s contents to the specific locale (language, prices, units), to direct interested customers to an
appropriate retail outlet, etc.
An innovative sort of added value would be the 3D configuration support integrated in INTELLECT.
This feature is meant to both assist salespersons in a retail store in producing and ordering correct
individual configurations according to the customers wishes, but also to allow for private customers to
experiment in a user-friendly fashion with new variants on their own. This feature reduces the requirements on the salespeople on one hand, and at the same time involves the consumer personally,
giving him the feeling that he is ordering something individual and special.
Configuration should always be based on an existing model in order to make it easier for the consumer. The basis for the 3D representation should be a 3D wire frame model that represents an idealised form of the product. The software should be able to freely rotate and move this model in 3D
space. The user should then have the possibility to add or change various components to this wire
frame thereby “filling” it piece by piece. The categorisation of components in groups (e. g. Compulsory,
Useful but optional, Luxury) according to their importance would also support less experienced buyers.
Component models should be low detail 3D models of the actual components or of other components
with a similar function. It is not required that every make of every component have its own detailed 3D
model. This process should ultimately lead to the creation of an individual configuration.
The system should offer a great variety of configuration criteria ranging from “hard” factors, e. g. price,
size, weight, performance criteria, to “soft” factors like a certain reputation, image, popularity, etc. Configuration based on non-technical criteria would be a service to consumers interested in an individually
configured product, but lacking the technical knowledge to assemble the configuration on their own.
The system should i.e. be capable of configuring computer systems that are explicitly using the most
“trendy” components or are primarily suitable i.e. for playing games or running scientific simulations,
etc. Other criteria like the system with the fastest CPU under a certain budget or the best possible
system built around a specific graphics card would also be interesting.
4.2.2 Blauwerk Pilot Scenario
From Blauwerk’s perspective, one major aim of INTELLECT is to give retailers, distributors and even
private customers equal flexibility in configuring and ordering Sidewalker scooters. Therefore the
eShop provides functionality to duplicate and extend the functions of the printed Blauwerk catalogue
(which is normally used by salespersons as a starting point when consulting a customer) to serve as
an online multimedia product catalogue for potential customers to explore.
As the company’s goal is to use the internet to showcase their Sidewalker scooter, offer information
and transport the innovative and trendy image to the consumers, INTELLECT offers the possibility to
include information material on the product, as blueprints, posters, pictures, brochures, animations,
etc. Hereby, product components are showcased according to the available amount of such material.
Ordering over the Internet is possible as well. But since most people will not buy such a product over
the Internet without first having actually experienced it, users can, after having been stimulated by the
eShop, be directed to a local shop to try a Sidewalker first hand.
The software is able to interface with the back office systems of all distributors in order to have access
to the necessary data and functions. Business partners however have no means to change the contents or format of the INTELLECT site.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 19 of 51
INTELLECT
IST-1999-10375
4.2.2.1 eShop
The INTELLECT eShop contains a main part controlled by Blauwerk and several other smaller pages,
one for every distributor. The main page is completely localisation-independent (though it can be displayed in various languages) and presents the full palette of Blauwerk’s products as well as the 3D
configurator and 2D/3D multimedia material and information. The prices displayed on this page are the
standard Blauwerk prices. This part of the shop is also able to handle orders from consumers outside
of regions served by a distributor. The eShop of Blauwerk includes the user profiling, configuration of
3D objects, basket, and multi-language support.
For the establishment of the pilot the full pages of Blauwerk have to redesigned from Optinet. That
means, Blauwerk itself was not able to create new HTML pages, because they have no knowledge
about Internet technologies. Therefore, during the pilot phase we had the delay of designing web
pages in HTML and XM/XSL too. Also the navigation structure was not clear from the beginning and
had to developed.
4.2.2.2 Configurator
Blauwerk has a relatively small product palette composed of few parts (up to 10) that can mostly be
combine to create very simple variations. Entering the product data for the scooters into the product
database of the Configurator posed no great difficulty.
4.2.2.3 VR Applet
The VR applet was used in a very simple way, because only one scooter was able to configure with
different components in different colours.
4.2.2.4 Order Processing
Blauwerk had no backend system, that could have been integrated into the order processing module,
because they use proprietary software for accounting and warehousing, that has no open interfaces
that can be accessed via Java.
So we decided to represent the actual handling of an order as a workflow definition in the order processing module. Emails are the medium of communication between the different people involved in the
order handling. Because of the possible loss of an email we implemented a timeout functionality, so
that the order reminds the responsible person after a configurable amount of inactivity.
Blauwerk has to split orders, that contain both configured products and pre-configured products, because the configured products will be assembled in their headquarter in Vienna, whereas preconfigured products can be delivered from a retailer; so Blauwerk can forward the split orders independently to different parties via mail.
Blauwerk had also the requirement to sort the order confirmation emails for the merchant by the country, because Blauwerk wants to subsume orders from the same country into one package and forward
them all to the associated retailer.
4.2.2.5 Help Desk Module
After Blauwerk saw the features of the HiTEC Help Desk implementation, they also requested an
online list of all customers with the information of the online time (see 4.2.3.5).
4.2.3 HiTEC Pilot Scenario
HiTEC’s unique selling point and competitive edge, the high configurability of their high performance
products compared to those of the competitors, is promoted by the eShop. The customers can involve
themselves in the design of a product and thus get the feeling of obtaining additional (even exclusive)
information. This is made possible by extensive configuration functionality allowing the end-user to
produce new variants on the product and to individualise them according to his taste, physical size etc.
These characteristics establish an image of competence. The eShop offers an extensive database of
technical data and specifications as well as multimedia presentations demonstrating the principles and
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 20 of 51
INTELLECT
IST-1999-10375
advantages at work behind some of the most interesting components of a bike. These services are
provided free of charge even if the customer is not directly interested in buying.
Since HiTEC’s network of partners consists mainly of a network of retailers that operate largely independently from one another INTELLECT operates as an information centre for potential customers
and a meeting place for consumers that already own HiTEC products.
Resellers can use the eShop to adjust their palette and supplement their collection with new and different models while at the same time ensuring that no dysfunctional product combination is assembled.
4.2.3.1 eShop
Consumers choosing to purchase their bike directly from HiTEC through the eShop receive accurate
information about product availability and delivery times. In order to achieve this, INTELLECT offers
appropriate interfaces to the back-office software HiTEC employs. Components currently not available
are marked as such during configuration and the system presents information concerning delivery
times if the user decides to use them in spite of their unavailability. Orders and payment information
are as well automatically routed through to the back-office system in order to ensure prompt processing. The end user has the possibility to track his order and is automatically informed every time the
order has reached an important stage.
In anticipation of the configuration capabilities, the web-pages of HiTEC was completely redesigned.
The company’s strategy to offer different variants of the same bike was already apparent in the recent
versions of the site, but different components were only shown in text form.
The new web-pages was designed for highlighting the different variations and to show a picture
(maybe later a 3d model) of every key component. There was the goal to provide a clear structure for
the configuration of different bikes based on standard models, which could be upgraded/stripped down
by the prospective buyers.
This aspect was also considered by the organisation of the bike’s components, which was elaborated
for as a basis for configuration module of the INTELLECT e-shop. It had to enhanced from a simple
part list to a multi-level component structure, where each level consists of – interchangeable – parts,
which are combined to modules being the parts for the next level.
4.2.3.2 Configurator
HiTEC sells a rather complex product that is composed of a very large number of parts that have
many complex individual properties. Furthermore the actual configuration of the product is accomplished with the help of so called “component groups”. HiTEC has sorted the components comprising
a bike in seven groups. This technique is meant to reduce the amount of possible combinations and
thus simplify the configuration process for both the customer/salesperson and the HiTEC technicians
that are going to build the specific product.
This is a list of the HiTEC component groups:
•
Brakes
•
Saddle
•
Wheels
•
Gears
•
Gear-system
•
Steering-wheel
•
forks/suspension forks
This peculiarity was modelled using the “component list” construct in the INTELLECT Product Data
Model. In essence a HiTEC product does not contain only one list as any other product normally
would. Instead it contains 7, one for each component group. This allows for configuration of the various individual components while still having the possibility of exchanging whole component groups.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 21 of 51
INTELLECT
IST-1999-10375
4.2.3.3 VR Applet
The mountain bikes produced by HiTEC Trading consist of parts purchased from renowned suppliers
like Shimano, Marzocchi, Manitou. When the representatives of these producers were contacted for
the first time the first half of the year 2000 with information about the INTELLECT Project, there were
positive and encouraging reactions. The industry appreciated the potential of promoting high-end
equipment through appealing VR/3D representation. Industry representatives especially stressed the
necessity of a detailed presentation of the product features to justify the higher prices of professional
components.
When the first prototype had to be filled with real data, the first problems were encountered. According
to the producers there were component data available, both in 2d and 3d format. Some of the companies even had rendered product files for simulation purposes. However, the company representatives
were reluctant to give this information to outside parties.
HiTEC contacted suitable producers on numerous occasions:
•
Marzocchi Spa (Bologna/IT) was contacted on the Taipei Cycle Show in April 2002 on management level. The result was, that the company would reconsider their point of view – after a few
weeks an numerous meetings with the Austrian representative, HiTECs request was turned down,
•
A formal meeting with Shimano Europe Gmbh. (the European branch of the world market leader in
gear shifting and brake equipment) took place at the “EuroBike” Fair in Friedrichshafen. Also the
European General Distributor participated in this meeting. Again no decision was taken at this
event, but was postponed for further internal consultations. After a few weeks and two meetings
with the head of the marketing department Mr. Zeilberger only a CD with component images was
sent with an apology that this is all what Japan was ready to distribute.
•
For the negotiation with Answer Products USA (Manitou etc.) HiTEC was in a better position, being the general representative of the company in Austria. The first request for data, with which 3d
models could be generated, was communicated to Answer at the Taipei fair of 2001. Through the
regular contact with the European Management the headquarters in the States was pushed even
more. Nevertheless the request was rejected. Only after an intervention in a personal meeting with
Glen Miller, Answer’s president an assent could achieved. It took until 11/2001 until one file with
the construction data of a 2 two year old fork reached HiTEC.
The situation is maybe bets explained by a mail sent to HiTEC by Manitou Inc. during the negotiation
phase, in which the development department explains that “.... any competitor would be able to use
the data for copying our product to the very detail. It even would be able to feed the information to
production machines and get a bootleg product within a few hours”.
The lacking co-operation from the suppliers was a major drawback for the overall goals of HiTEC and
endangered the whole strategy of bike configuration via the Internet.
As a consequence HiTEC Trading tried to get 3D data from other sources. First there were attempts to
capture construction data by copying them by a CAD system. HiTEC technicians, though experienced
with system used hours of drawing time without promising results. 2D construction plans could be
generated quite easily, because it was similar to the development work being done for the components designed by HiTEC personnel. When it came to adding the third dimension to these drawings,
the problems could not be overcome. Firstly an abundance of additional data would have been necessary to give in. Secondly, additional program components would have been necessary together with
lengthy qualification measures for the employees involved.
All in all, no economic way of generating 3D in-house could be found. So, contacts with some 3rd
party suppliers of rendering services were established. But very quickly it became apparent, that outsourcing the production of 3D models of existing parts would also become a very expensive task.
There were bids for creating a detailed 3D model of key parts like gear shifts components at about
3.000 Euro, which would rise the price of a fully equipped VR-mountain bike summed to over 20.000
euro.
As a potential alternative, there were contacts to a company providing 3D scanning services. But also
in this case, the cost was way too high for a economic production of the necessary data (app. €5000
per hour including personnel, with the potential outcome of 1-2 parts per hour). Purchasing a 3D
Scanner in order to perform the operations within the consortium also turned out to be impractical. A
scanner of sufficient quality costs roughly €2500 to €5000. Furthermore Atlantide the partner responINT-D15FINAL
© The INTELLECT consortium – 2002
Page 22 of 51
INTELLECT
IST-1999-10375
sible for the VR Applet made clear that they do not posses the required expertise for using such a
machine to create the required material.
Also within the consortium there were attempts to generate the necessary data for the visualisation
module using. Existing blueprints were transferred to CAD systems and tested by developer partners
for their usability as source material for rendering. Such material also proved inadequate as it only
contains data of two out of three dimension on the components. Three dimensional blueprints as previously described could not be obtained from suppliers.
4.2.3.4 Order Processing Module
Also HiTEC had no back-office system that could have been integrated into the order processing
module. Similar to the Blauwerk prototype we based the workflow of HiTEC on emails that give the
responsible person the possibility to affect the further routing of the order. We defined different roles in
the workflow, that perform the different tasks of verifying, preparing, assembling and delivering the
ordered products. The timeout feature for orders, that reminds the responsible person via email after a
specified time of inactivity was also highly appreciated by HiTEC.
The main adaptation on the HiTEC order workflow was the insertion of “parts lists”. HiTEC provided us
with a database in dBase format, that contained parts information that correspond to the component in
HiTEC’s warehouse. We implemented a business logic component that enhances the existing order
with this parts list data. Every entry for a component gets a subordinate data structure, that describes
the parts of the component. After adapting the stylesheets for email and document generation the
parts list information was visible in emails for the assemblers and assembler documents.
An additional kind of business logic component was implemented to have a look at dynamically generated order documents in a browser. The workflow can send an email, that contains a link to the
server generated document.
4.2.3.5 Help Desk Module
HiTEC wished to have a list of all customers in the shop. They liked too see the name and the time,
that the customer has already spent in the eShop. With this information a help desk agent can efficiently select a customer that has been spending rather much time in the shop without buying something. This could be easily implemented via the Help Desk integration with the eShop module.
4.2.4 InterSet Pilot Scenario
The interest of InterSet is to make the functionality of INTELLECT available to all its retail business
partners in the form of a “mini-shop”, giving them also extensive administrative privileges to individually configure their own separate INTELLECT pages. Every InterSet partner that wishes to use INTELLECT in his store is given the freedom to configure elements like his logo, the design of the page,
the prices, etc. Stores that wish to offer the “mini-shop” as a fully-fledged internet shop have to provide
their own payment mechanisms.
Through INTELLECT, InterSet offers many forms of information-oriented added value. Many of these
services are meant to simply give customers easy access to data that is either not available to nonprofessionals or simply difficult to get and complicated to understand, as e. g. technical data and
specifications on components and peripherals, including “dealer only” tips and tricks, relevant information on how to combine components effectively, performance tips on how to achieve best results, case
studies for many components, etc. The system also offers a well sorted library of official material including drivers, BIOS upgrades, brochures, manuals and other paraphernalia normally offered by the
original manufacturer.
InterSet wishes to fully base its internal operations on INTELLECT by exclusively using the system as
means for producing new configurations but also as a repository for current models. The company
expects to free up valuable resources that are currently fully occupied with such tasks.
4.2.4.1 eShop
InterSet adapted the eShop perfectly on their new web pages. They created a new design and a
XML/XSL format. In agreement with OptiNet they set new buttons and functionalities into the existing
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 23 of 51
INTELLECT
IST-1999-10375
web pages. Therefore they are using multi-language support, user profiling, basket, and the shopping
cart.
4.2.4.2 Configurator
The main difficulty faced by the Configurator during the InterSet pilot was the fact, that InterSet was
not happy with the requirement formulated early in the project concerning the modus operandi of configuration. Instead of simply offering the user the possibility to exchange components InterSet required
the possibility of adding and removing entirely new components. This requirements violated the basic
assumption that a product stays viable as long as every part exchanged is replaced by one with the
same features and interfaces. Adding this functionality required major changes in the configuration
strategy followed by the Configurator. The module was extended in a way that it allows to “know” to
which components each component is actually connected, thereby giving it the possibility of directly
removing or adding individual components.
4.2.4.3 VR Applet
The VR Applet has been used in this environment at a relative short time. On the one hand abstract
3D objects are available to present different computer types, and on the other hand, InterSet created
on her self 3D objects for the visualisation.
4.2.4.4 Order Processing Module
Because Interset planned to change their proprietary back-office system to a standard solution from
SAP, the implementation of the order processing module for Interset was postponed; up to now, Interset did not carry through the switch because of company internal problems.
Because Anecon has the know-how of Java/SAP integration from a former customer project, this
would have been the chance to test the integration of a real world back-office system with the order
processing module.
The set of business logic components that already was implemented for the Blauwerk and the HiTEC
pilot sufficed the needs of Interset.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 24 of 51
INTELLECT
IST-1999-10375
5 Usability Testing Results
Chapter 5 presents the findings of the evaluation activities conducted in preparation, during and after
the INTELLECT pilots according to the usability testing criteria presented in chapter 3. The first section
“effectives” directly addresses “The accuracy and completeness with which specified users can
achieve specified goals in particular environments.“ [2] For this we present the functionality offered by
INTELLECT in relation to the tasks set for each pilot followed by concrete technical data on benchmarks demonstrating the efficiency of the INTELLECT solution. The second section “efficiency” addresses “The resources expended in relation to the accuracy and completeness of goals achieved.” [2]
For this we match goals identified during the user requirements phase of the project against the functionality listed in the previous section as it was tested in the pilots in order to demonstrate “the accuracy and completeness of goals achieved”. The last section contains findings in the area of satisfaction and describes experiences of the end-users during the INTELLECT pilot phase.
5.1 Effectiveness
This criterion represents the functionality offered by the INTELLECT pilot within the three pilot scenarios formulated after the requirements of the three end-users. The first criterion to be considered is the
amount and type of functions offered by the software followed by detailed performance data on all
relevant parts of the INTELLECT prototype. Benchmark results presented here are not related to a
specific pilot instead they apply to all scenarios.
The subject of this section is to summarise the prototype-related aspects of the pilot scenario. The
INTELLECT prototype aims to provide an enhanced solution including all practicable electronic commerce features, and offering a qualitative representation of the product based on available VRML material. The following paragraphs present a rough overview of the components comprising the INTELLECT prototype. We then proceed to present the architecture of the prototype scenario of the INTELLECT pilot network.
5.1.1 Prototype platform
The INTELLECT prototype is based around the INTELLECT Application Server the software responsible for hosting the shops for the three INTELLECT pilots (see Figure 8). This server consists of a
group of Open Source Java based products that manage all INTELLECT Enterprise Java Beans and
Servlets as well as handle the XML files of the various Shops, generate HTML pages and serve them
to the client. The exact components of the Application Server and their specific function are described
in the following paragraphs. The INTELLECT Application Server used during the Pilots was installed
on a machine with permanent Internet access at BIBA. This gave the developers and the end-users
the possibility of updating and working with the system on a 24/7 basis. All three INTELLECT pilots
were installed on the same prototype server and were realised using the same database and application Server.
Producer
Internet
Helpdesk
Helpdesk
Client
INTELLECT
Application
Server
VR
VR
Client
Client
DB
Figure 8 – INTELLECT Pilot Topology
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 25 of 51
INTELLECT
IST-1999-10375
The actual components of the prototype were the following:
•
Debian GNU/Linux Version 2.2 (potato)
The operating system employed as the main development and testing platform was Debian
GNU/Linux. The System was chosen for its performance and flexibility as well as popularity in
ASP/ISP circles targeted by the INTELLECT exploitation strategy. Regular tests on Microsoft
Windows NT4 and Windows 2000 have revealed no interoperability issues.
•
Oracle Enterprise Edition Version 8.1.7.
Oracle Enterprise Edition for Linux (http://www.oracle.com) is a best of class RDBMS providing efficient, reliable, secure data management for high-end applications such as high volume
on-line transaction processing (OLTP) environments, query-intensive data warehouses, and
demanding Internet applications. It should be emphasized, that INTELLECT uses none of the
proprietary Oracle extensions and can be ported to a different relational database (i.e. PostgreSQL) with a minimum of effort.
DB2
DB
Oracle
DB
Postgres
DB
Database
EJB Application
Server
jBoss
IPlanet
Apache/Tomcat
Jetty
Internet
Web/Servlet/JSP
Server
WWW
Figure 9 – INTELLECT Application Server
•
Apache Software Foundation Jakarta Tomcat Version 3.2.1.
Tomcat (The Apache Jakarta Project http://jakarta.apache.org/) is a servlet container and
JavaServer Pages(tm) implementation. It may be used stand alone, or in conjunction with
several popular web servers (Apache HTTPd, Microsoft Internet Information Server, Microsoft
Personal Web Server, Netscape Enterprise Server, etc.)
•
Apache Software Foundation Cocoon Version 1.8.2
Cocoon (The Apache XML Project http://XML.apache.org/) is a 100% pure Java publishing
framework that relies on new W3C technologies (such as XML and XSL) to provide web content. Apache Cocoon is an XML publishing framework that raises the usage of XML and XSLT
technologies for server applications to a new level. Cocoon interacts with most data sources,
including: filesystems, RDBMS, LDAP, native XML databases, and network-based data
sources. It adapts content delivery to the capabilities of different devices like HTML, WML,
PDF, SVG, RTF just to name a few. Cocoon is integrated currently as a Servlet. Specific features of interest are:
INT-D15FINAL
o
Database connection pooling
o
Servlet 2.0 spec compatibility
o
Good performance for heavy load conditions
o
High speed for XSP pages which include complex nodes
o
IBM Jikes Java compiler support for faster XSP page compilation
© The INTELLECT consortium – 2002
Page 26 of 51
INTELLECT
•
IST-1999-10375
jBoss Version 2.0
JBoss (The jBoss Project http://www.jboss.org) is an Open Source, standards-compliant,
J2EE application server implemented in 100% Pure Java. jBoss 2.0 is licensed under the
LGPL license. In our case jBoss 2.0 is working as an EJB-server.
According to the INTELLECT requirements analysis the requirements for the client should as low as
possible. Any current browser supporting Java either natively or with the Sun Java pluggin can display
the INTELLECT Shop-pages and make use of all the 3D presentation and configuration functions. All
testing during development was conducted with Microsoft Internet Explorer 5.5 and Netscape 6.0.
Testing during the pilot phase was based mainly on Internet Explorer.
The facilities for running the prototype INTELLECT marketplace during the three INTELLECT pilots
were provided by BIBA. The task of BIBA under the guidance of Anecon (being responsible for the
demonstration platform) as marketplace operator was to document and to solve problems that may
arise if the server is 24 hours per day in operation and has to answer the concurrent requests of buyers and sellers accessing the server. The experiences gained by running the marketplace will be used
as input for further refinement and debugging of the overall system.
The users of the INTELLECT marketplace mainly comprise the end users of the INTELLECT consortium as well as users that accessed the INTELLECT prototype via the link provided by the INTELLECT
Internet Web-Site. All users interested in configuring and buying products through INTELLECT needed
to access the marketplace by using a common browser (e.g. MS Internet Explorer or Netscape Communicator) including the Java 3D Java extension Library. Customers were provided with appropriate
installation instructions through the INTELLECT Web-Site.
Companies aiming to products through INTELLECT have to make use of the administrative tools developed by the INTELECT developer partners in order to enter new product data into the INTELLECT
database. This process was heavily supported by the INTELLECT developers as it was seen as too
complex for end-users with scarce technical experience to handle.
The main task performed by the INTELLECT Marketplace is to transform the entered product information into a browsable product catalogue containing configurable products. Such products can be ordered thereby generating orders in a format compatible to the back-office and workflow system of the
end-user (producer/distributor) systems. Support is provided through am online help-desk system that
offers video-conferencing and CMCW functionality.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 27 of 51
INTELLECT
IST-1999-10375
5.1.2 Prototype architectural components
The INTELLECT prototype is composed of five modules:
•
The e-shop as the e-shop as the main interface visible to the customer supplies the general
infrastructure of an e-commerce system (basket, catalogue, secure communications, localisation, multimedia presentations, etc.).
•
The Virtual Reality module provides a 3D visualisation of the product, and enables the customer to configure its own product by choosing each of its components.
•
The Configurator supports the generation of product variants as well as implements a front
end to the database thereby offering infrastructure for the administration of products and components.
•
The help-desk provides on-line help to the customer using features like page mirroring, voice
over IP, and video conferencing.
•
The order-processing module as a front end to the back-office system manages the orders,
and offers an interface between the INTELLECT application, and the back office systems.
Client
Client
Distributor
Internet
Support
Helpdesk
Helpdesk
Backoffice
INTELLECT
Configurator
VR
VR
Producer
Client
DB
E-Shop
DB
Ordering
Client
Supplier
DB
Client
Figure 10 - INTELLECT Module architecture
The core modules use a common product database for all product and customer data. The database
contains all product and order related information partitioned into separate areas one for each module.
It is populated and updated by using information already available in the supplier systems. This information is updated on-line using standards for the exchange of product data (XML, SOAP). In addition,
a database of multimedia data (volumes models, sounds, videos, textures, etc.) exists on the HTTP
Server serving the shop pages and is used for product demonstrations within the product catalogue of
the eShop.
Furthermore the Help Desk and VR modules offer extended functionality that is implemented with
software running on the customers computer. This software consists mainly of the browser and a Java
Virtual Machine (JVM). In order to make use of the Videoconferencing and CM/CW features of Intellect a H.323 compatible client (i.e. Microsoft Netmeeting) is required. The VR modules being the main
front-end to the Configurator offers:
•
Full VR navigation functionality based on VRML scene description data and Java3D 3D graphics technology
•
Individual configuration of the viewed objects
•
Textual and audio visual explanations
•
The possibility of defining preferences that influence configuration
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 28 of 51
INTELLECT
IST-1999-10375
If the customer requires further assistance or simply wishes to speak to a salesperson a video or audio conference session with the company's hot line or call centre can be initiated via the Help-desk
module. The Help-Desk provides a direct link between the browser of the customer and the browser of
the salesperson thereby making it possible for the salesperson to view the same configuration the
customer is working on. The salesperson also has the possibility to take part in the configuration process and actively change the product variant in order to help the customer.
The electronic shop module finally takes the order of the customer over a secure connection via the
Internet. At this time, a human employee could carry out a spot check of the order to confirm the correctness of the order. An acknowledgement with complete details of the order is then returned automatically to the customer.
Customer
BROWSER
Web page
Cocoon
Servlets/
JSP‘s
EJB‘s
3D Applet
HD Applet
DB
Netmeeting
H.323
Helpdesk
BROWSER
Web page
3D Applet
HD Applet
Netmeeting
H.323
Figure 11 - INTELLECT EJB/Servlet Architecture
All INTELLECT Server modules are implemented as Java Enterprise Java Beans (EJB) that are installed on one or more EJB compliant application servers. It is important to note, that the various
beans can function separately from one another. This allows for a distributed setup with some beans
being installed on the server of an ISP and some being only partially online on the producers or distributors site. A further possibility is the use of more than one bean of a certain type (i.e. ordering) in
order to facilitate the integration of distributed back-office infrastructures.
All communication between the beans and the customers browser is filtered through appropriate Java
Servlets that serialize Java objects and tunnel them through a standard communications port (TCP
Port 80) used for HTTP transactions. This allows the use of INTELLECT through any standard type of
firewall or packet-filter employed by the customer.
A more detailed view of the INTELLECT Modules is presented in “D13: Pilot Integration Documentation and Handbook”.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 29 of 51
INTELLECT
IST-1999-10375
5.1.3 Prototype functionality in the pilot scenarios
The main functionality of the marketplace prototype to be demonstrated and tested during the pilot
phase is summarised in the following sections.
5.1.3.1 INTELLECT eShop
Extensible Server Pages (XSP) are XML pages with Java code in them. In other words it is possible to
put whole programs written in Java into an XSP page in order to execute a Java programme that generates dynamic content. XSP combines therefore the functionality offered by Java with the modularity
and transparency of XML. The result of this process is at the end an XML page. This allows the handling of XSP generated pages like any other XML data stream, e.g. by applying stylesheets to it.
Unlike other technologies like JSP (JavaServer Pages), PHP (PHP: Hypertext Preprocessor) or ASP
(Advanced Server Pages) which also produce dynamic pages are not as flexible as XSP directly generates XML documents that can be easily transformed using standard XML techniques into an arbitrary format or medium. The separation of the documents structure, content and layout, i.e. the way
the document finally appears allows for a multitude of possibilities. The same page could e.g. be presented as web page (HTML) or a PDF document with only a different XML processing component.
This degree of separation of semantics from structure makes it easy for different kinds of specialists to
work together in order to maximize efficiency. Somebody who's good at designing data structures can
do this, while somebody else produces content using the structures created by the first one. Finally the
third person does the layout for the data.
In the INTELLECT project these advantages are used to build the shop GUI in a modular fashion. One
can think of these modules like objects which can be combined in a specified way according to a template to meet the needs of the specific shop. Let's say for instance you want to build a shop, that has a
catalogue, a shopping cart and a Help Desk. Then you simply plug together these modules and you
have what you want. Because of the separation of structure, content and style using these three modules you can build many variations of the same shop which will all provide the same functionality but
will all have different content and look different. This feature was used to produce the shop pages for
the various pilots on the same prototype application server and can be furthermore used to easily and
efficiently produce “mini-shops” for various retailers as variation of the main shop of i.e. a wholesaler
(like InterSet).
Multimedia-object
Navigation-object
MasterDetailsView-object
Navigation:
NEWSFLASH:
MainMenu
Headline
MainMenu
MainMenu
New Bike Race in Vienna
Special Brakes available
Bla Bla Bla
Tralalalalala
MainMenu
SubMenu
SubMenu
MainMenu
MainMenu
Date
LOGO 2
1.7.00
2.6.00
1.6.00
9.5.00
Click on the News article to see details below!
LOGO 1
SubMenu
SubMenu
Location
Vienna
Oslo
Rennes
Bremen
Selected News article:
New Bike Race in Vienna
Picture 2
Vienna, 1.7.00:
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla
Order Tracking
You already ordered
products from us
and want to know, if
it has already been
delivered?
Log in here:
User:
Password:
Special offer of this week:
Get the new Shimano Break for only $ 245,-!!!!
Click here to get details....
Multimedia-object Offer-object
Picture 1
Forgot your
password? Click
here!
OrderTracking-object
Figure 12 – Object oriented shop-GUI design
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 30 of 51
INTELLECT
IST-1999-10375
5.1.3.2 INTELLECT Configurator
Configuration functionality in these scenarios reduces the workload on the salespeople on one hand,
and involves the consumer personally giving him the feeling that he is ordering something individual
and special on the other. The use of such functionality in an e-commerce context and the resulting
requirements impose restrictions, but also offer new possibilities concerning the implementation of
existing configuration methods. A short overview of these requirements is presented here:
•
Interactivity: The customer must be able to interact with the e-commerce System.
The aim is to allow him to construct the product piece by piece according to his own
preferences and wishes thereby giving the customer the feeling that he is a part of the
construction process of an individual product.
•
Multimedia: The customer must be able to receive visual feedback of his configuration efforts.
•
Product independence: The Configurator must be in a position to handle arbitrary
products. Main issues here are the handling of the attributes (the quantity and type of
the components attributes should be handled dynamically) and the components of the
product (a product’s composition should not be restricted by any non configuration related issues).
•
Performance: The system must be able to handle large numbers of concurrent configuration requests. This implies a scalable and simplified architecture that can operate with a minimum of product data in order to ensure acceptable performance and
make efficient use of bandwidth.
•
Soft criteria: The use of a Configurator in an e-commerce environment imposes additional requirements on usability and user friendliness. Configuration should not restrict
itself on mechanical or “hard” criteria, but should also consider soft criteria expressed
by the customer. Relevant configuration criteria are “hard” factors like whether a component fits in an existing product as well as “soft” factors like personal preferences of
the user as well as other non operability related information (i.e. price, size, weight,
performance criteria, image, popularity, etc.).
Hard
Categories
Soft
Categories
Component
Types
Components
HardDisks
Mainboards
AVEquipment
High-End
Low-End
IBM
DCAS3440
Maxtor
4567
IBM
DORS3240
U2W, 8 GB,
5400rpm
U, 4 GB,
5400rpm
UW, 2 GB,
5400rpm
Figure 13 – INTELLECT Product Data Model
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 31 of 51
INTELLECT
IST-1999-10375
5.1.3.3 INTELLECT VR Applet
The figures in this section show the client VR applet in action. The customer sees in the main window
(see Figure 14) the pre-defined product he has chosen in the eShop, and is able to interact with it and
manipulate it in various ways.
Three modes are available for the user: Translate, Rotate and Interact. The translate mode allows the
user to use the mouse to translate the object in the current visualisation plan, the rotation mode allows
the user to rotate the object with the mouse, and the interaction mode disables navigation with the
mouse (but not the other navigation means), so that the user can use the mouse to interact with the
scene (select an anchor or a component, or move an anchor).
To make it easier for the user who may not be used to use the mouse for moving objects, the application calculates a list of predefined ones (Face, Back, Right, Left, Up, Down), using rotations from the
initial viewpoint. Another viewpoint allows the user to see all the objects of the scene.
The user also has the possibility to zoom in or out with the Zoom functionality. He can give directly the
zoom value, increment or decrement the existing one, or reset the zoom. All these navigation possibilities allow the user to view the object in several points of view even if he isn’t very used to navigation,
and to move objects with the mouse, which may seem difficult for a novice, but which bring the sensation of manipulating the object.
Configuration of the product is accomplished as follows. The user can select the component he wants
to modify in the components list or in the viewing area, if he is in the interaction mode, and if the 3D
model is available. The customer indicates then, that he wants to replace this component, thereby
opening the component exchange dialog (see Figure 15).
Figure 14 – Client VR configuration applet
The component exchange dialog displays
the list of possible components that can
replace the selected one. This component
list is generated by the Configurator from
the product database and represents the
subset of available components that will fit
into the product physically and mechanically and at the same time meet all the
“soft” criteria specified for this product, or
manually specified by the user. Selecting a
component in this list shows a 3D view of
the component (if available) and its technical description (see Figure 15).
Figure 15 – Component exchange
dialog
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 32 of 51
INTELLECT
IST-1999-10375
5.1.3.4 INTELLECT Order Processing
The Ordering Module is an XML-based workflow environment. Anecon tried to implement as much as
possible of the back-office processing as XML transformations, as this is the most open and flexible
approach to handle data up to now. The following points were the main arguments to base the order
processing module onto XML documents:
•
Most vendors of backoffice systems provide an XML interface, so there is little integration development necessary.
•
Logic that is implemented in XML/XSLT is easier to port to other programming environments than
logic that is implemented as code. So this module is a better investment for future reusability, if
Anecon will implement a similar product based on Microsoft’s .NET framework.
•
For remote access “soap” offers simple possibilities to send and receive XML content.
•
There are XML front-ends to all significant databases
The eShop provides an order as an XML document, that conforms to a DTD that was defined in cooperation with OptiNet. To stay completely independent from the structure of the document, which is
subject to change, the relevant information within the document is addressed via XPath expressions,
that can be configured in a configuration file. The business processes, that are initiated by the order
processing module get their information also via configurable XPath expressions, so this module is
very flexible in respect to the structure of the XML document and is therefore not restricted to the use
within shop environments, but can handle every kind of objects, that have a XML representation. This
greatly improves reusability.
The adaptation of the order processing module to a specific shop environment consists mainly in the
definition of a DTD and the related XPath expressions; additionally the end-user specific business
logic has to be implemented. This can be accomplished either by reusing and configuring existing
business logic components or by implementing new business logic components. A programmer implementing a new business logic component can reuse the a library of XML utilities and business logic
component base classes, that reduce the development process to implementing only the bare business functionality. If external systems have to be integrated, of course a respective library must be
supplied.
The following business logic components are already implemented by the module:
Email with content generated from the order data
Email with the possibility for the user to affect the further routing of the order
Splitting of an order
Parts list generation
Document generation out of the content of the order data
Conditional routing of the order depending on order data
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 33 of 51
INTELLECT
IST-1999-10375
5.1.3.5 INTELLECT Help Desk
The Help Desk module had the problem, that it could not be tested with the integrated Tomcat 4 until
beginning of 2002. The jBoss group needed nearly a year since the appearance of the first version of
tomcat 4 until they integrated it into their application server. Tomcat 4 implements servlet spec 2.3,
which introduces the concept of servlet filters. Servlet filters are the basis for the Help Desk module,
they provide a transparent way to intercept the browser communication with a web application which is
vital for the implementation of the page mirroring functionality.
So we developed the Help desk module independent of jBoss with the available beta versions of Tomcat 4 and tested it with other web applications developed by Anecon. Tests of compatibility with the
eShop module and the virtual reality module had to be postponed.
Our recent tests with the available jBoss/Tomcat4 bundle showed that the integration is still not finished completely, the virtual reality applet does not function properly, because no static contexts can
be defined in Tomcat until now, and the VR module depends on this feature. The current status for the
help desk module is, that it does not function properly with the virtual reality module.
The parts of the help desk module, that could already be integrated into the recent jBoss/Tomcat4
bundle are:
Voice and Chat integration
Video integration
Online user list
Page mirroring
Mirroring direction change (customer’s browser is controlled by help desk agent)
Because there was not much time left for tests and further development, the help desk module has not
the production quality properties like the other modules.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 34 of 51
INTELLECT
IST-1999-10375
5.2 Efficiency
The resources expended in relation to the accuracy and completeness of goals achieved.” - This criterion tries to define the necessary amount of resources for the fulfilment of the specified goals.
5.2.1 eShop performance
The INTELLECT eShop benchmarks focused in the measurement of the performance related to the
generation of dynamic web-pages based on an XML infrastructure this being the technically most challenging task as well as the most interesting feature in terms of innovation for the end-users. The two
Servers involved in this process are Cocoon and Tomcat.
The role of Tomcat is to initialize the Cocoon Servlet, and to receive the HTTP Request and pass it on
to the Cocoon Servlet. On reception of a HTTP Request, Tomcat calls the Cocoon Servlet.service(HttpRequest, HttpResponse) method. When the Cocoon Servlet gets a HTTP Request
from the servlet engine, it sets up an Environment (a HttpEnvironment in this case) and passes that to
Cocoon. The Environment consists of a Request, Response, and some servlet info (such as requested URI and the servlet's path). This Cocoon object lets the Environment decide which sitemap to
use, and passes the sitemap filename along with the Environment to a Manager. This one puts a
Handler to work: it checks whether there already exists a Handler with a compiled version of the sitemap. If not, it creates one.
In order to test this functionality meaningfully four scenarios were identified:
•
Serving pre-generated HTML pages
o
•
Serving HTML pages dynamically generated by Cocoon
o
•
XML pages without logic i.e. no XSP pages, this is a pure conversion of XML and XSL
to HTML
Compiling, executing and serving XSP pages
o
•
Plain HTML pages z.B. www.ist-intellect.com
Tomcat executes the Cocoon Servlet, Cocoon compiles the eShop servlet
Executing and serving pre-compiled XSP pages
o
Tomcat as a Servlet engine executing the Cocoon servlet
In a realistic scenario the application server will generally generate all required pages in a relatively
short time depending on the traffic the site is subjected to. Effectively all pages both HTML pages and
Servlets will be pre-generated resp. pre-compiled. Therefore it is safe to assume that compilation or
generation time will normally not influence the performance of the site. In the following paragraphs will
we nevertheless present data on both serving pre-generated material and on serving material that is
being generated on-line.
In order to evaluate the INTELLECT eShop prototype a traffic simulation tool called “Web Stress” was
used (http://www.paessler.com/WebStress/webstress.htm). This tool is an HTTP client that offers the
possibility of starting multiple requests at the same time in order to simulate a situation of heavy traffic.
The tool also allows for extensive configuration of the behaviour of the simulated client and compile
and generate statistics describing the response of the server. Each test is configured to run for one
minute generating requests through 5 parallel clients.
All benchmarks were carried out on the INTELLECT on-line prototype server. This machine is a dual
Pentium II, 400MHz with 256 MB RAM and SCSI disk subsystem. The operating system was Debian
GNU/Linux 2.2 (potato) with Linux Kernel 2.2.18. All clients were connected via LAN to the server.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 35 of 51
INTELLECT
IST-1999-10375
5.2.1.1 Serving pre-generated HTML pages
In this benchmark the client is accessing plain HTML files and Tomcat is working as a plain Webserver not doing any processing of the files served. Each test is configured to run for one minute generating requests through 5 parallel clients. The request times ranging from 100ms to 250ms with an
average request time of roughly 150ms are somewhat high for a plain HTTP-Server, but nevertheless
acceptable. Tomcat answered successfully all requests with no errors. The occasional spikes in the
performance of the server can only be explained by internal Java Virtual Machine (JVM) fluctuations
that are not visible to the Java programme or the operating system.
Figure 16 –Request times for a single plain HTML URL
Figure 17 –User wait time and users per second
Figure 17 is a different view on the same test and demonstrates the effectiveness of Tomcat in terms
of the total number of users that can be served at the same time before the server starts losing requests (ranging from 500 to 800 users per second).
5.2.1.2 Serving HTML pages dynamically generated by Cocoon
In this scenario XML pages without logic i.e. no XSP pages are served to the client. This is a pure
conversion of XML and XSL to HTML in order to provide the browser with a medium that it can understand. The same way a different format i.e. PDF could be produced for a different application, context
or output device or client.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 36 of 51
INTELLECT
IST-1999-10375
This functionality is present but has not been used in a realistic scenario as all INTELLECT pilot pages
contain dynamic data and have to therefore be generated dynamically (see 5.2.1.4 Executing and
serving pre-compiled XSP pages).
5.2.1.3 Compiling, executing and serving XSP pages
When accessing the XML–pages via Cocoon the servlet executed by Tomcat has to be compiled first.
This servlet is generated from the XML- and XSL- pages in the first 9 seconds of the test and is then
used without modification thereby accelerating the process to roughly 1 to 2 seconds per request. The
compilation of the Servlet only happens once after the startup of the application server or modification
of the page.
Figure 18 – Request time including compilation for a single client
Figure 19 – Request time including compilation for multiple clients
5.2.1.4 Executing and serving pre-compiled XSP pages
In this scenario the page is generated by the shop servlet with is pre-generated by Cocoon and simply
executed by Tomcat. This benchmark represents a “normal” usage scenario, were access to the INTELLECT pages is frequent and thus does not require permanent compilation of the Servlet.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 37 of 51
INTELLECT
IST-1999-10375
Figure 20 – Request times without compilation
Figure 21 - Average user wait time without compilation
5.2.1.5 Comparison between URLs from the three INTELLECT pilots
In the following scenario “Web Stress” targeted three different URLs for each of the 5 simulated users
one for each of the three different Intellect shop-pilots. The red line shows the request time for a page
without any graphics. The green line represents a page from the Blauwerk pilot containing a lot of
graphics. This page has to be compiled first and creates therefore the typical initial overhead.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 38 of 51
INTELLECT
IST-1999-10375
Figure 22 –Request time for multiple URLs
Figure 23 –Request duration without compilation
Figure 24 clearly demonstrates that the stress test caused the server to operate at maximum capacity
for a large part of the benchmark duration. This indicates that performance issues related to the
eShop servlets are at least to some degree related to performance issues with the server hardware.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 39 of 51
INTELLECT
IST-1999-10375
Figure 24 – Response time and CPU usage table
5.2.1.6 Comparison of different servlet engines
Previous benchmarks have shown that servlets generated and compiled an average request time of
about 1000 – 1200ms require. Such high response times are caused by the Servlet engine in Tomcat.
Tomcat while being an internationally acclaimed Servlet/JSP Server and the J2EE platform Reference
Implementation for Servlet/JSP technology is also known for its relatively bad performance. Jakarta
Tomcat Version 3.2 is a software mainly aimed at developers seeking a 100% standards compliant
implementation that offer many development related features and is not meant to be used as a deployment platform for commercial rollout. Jakarta Tomcat 4 is meant to address this problem and is
expected to offer much higher performance. Nevertheless the extremely short-term availability of the
new Tomcat version did not allow for further benchmarks with the new application server.
The following benchmark presents the performance of Tomcat 3.2 compared to that of two other popular products, Orion (http://www.orionserver.com/), Resin (http://www.caucho.com/).
Figure 25 – Performance comparison between Tomcat 3.2, Resin and Orion
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 40 of 51
INTELLECT
IST-1999-10375
5.2.2 Configurator performance
The performance of the Configurator is heavily influenced by the underlying Product Data Model. This
insight had a major impact on the design of the Configurator as well as the underlying Product data
model for all the INTELLECT modules. The INTELLECT Product Data Model is designed to reduce
overhead caused by complex operations during product data processing [6]. Furthermore the INTELLECT product data model is constructed in a way that allows the mapping of configuration functions to
SQL sequences that can be executed by an RDBMS much faster and more efficiently than executing
the processing in the Configurator itself. This strategy further eliminates the need for extensive data
transfer between the database and the Configurator during configuration, thereby further reducing the
amount of resources (i.e. bandwidth) and reaction times required.
Following sections will focus on the main configuration function of the Configurator Bean, namely getPossibleComponents(). This function delivers all compatible components for a specific product while
at the same time taking into account all soft and hard criteria specified by the user. This function directly or indirectly uses all other Configurator functionality and is the one most frequently called by the
other modules. It is also the one with the highest resource consumption.
Moreover we will be presenting benchmarks for two implementations of the Configurator, one consisting of a pure Java algorithm that simply uses the database as a data-repository and one that maps
configuration requests to SQL as described in the previous passages. The direct comparison between
the results from both versions makes the advantage of “Lean Configuration” the Configuration concept
developed by the INTELLECT project evident.
All benchmarks were carried out on the INTELLECT on-line prototype server. This machine is a dual
Pentium II, 400MHz with 256 MB RAM and SCSI disk subsystem. The operating system was Debian
GNU/Linux 2.2 (potato) with Linux Kernel 2.2.18. All clients were connected via LAN to the server. The
product database contained the following data:
•
5 Products
•
5 Component lists
•
74 Components
•
44 Component types
•
67 Component categories
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 41 of 51
INTELLECT
IST-1999-10375
5.2.2.1 Pure Java Implementation
The version of the Configurator tested here consists of a pure Java algorithm that simply uses the
database as a data-repository.
1st Scenario
In this benchmark five groups of clients with one up to five clients per group from five different client
machines are performing requests for getPossibleComponets in parallel for a product with a continuously increasing amount of components. The first call targets a product with one component, the second a product with two components, etc. The following graph demonstrates the average time required
for each client group to receive the configuration information for products with a specific amount of
components.
12000
10000
8000
time (ms)
1 client
2 clients
6000
3 cleints
4 clients
5 clients
4000
2000
0
1 component 2 components 3 components 4 components 5 components 6 components 7 components 8 components 9 components
10
components
Figure 26 - Average request time for a specific amount of components (Java)
Figure 26 clearly demonstrates the following:
•
Response time is roughly 4 Seconds per request.
•
Response times are not dependent on the complexity of the product. Or in other words complex
products are handled just as well as simple products.
•
The overall performance of the system depends on the number of concurrent requests. The performance difference on the testbed hardware was roughly 1 sec per further client. This is to be attributed to the performance of the server as every concurrent connection requires a further Java
thread to be started. CPU usage on the server in all tests reached or exceeded 80-90% with three
or more concurrent connections.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 42 of 51
INTELLECT
IST-1999-10375
2nd Scenario
In this benchmark five groups of clients with one up to five clients per group from five different client
machines are performing requests for getPossibleComponets in parallel for a product with a single
component. The following graph demonstrates the average time required for each client group to receive the configuration information.
14000
12000
time (ms)
10000
8000
1 client
2 clients
3 clients
6000
4 clients
5 clients
4000
2000
0
1
2
3
4
5
6
7
8
9
10
Figure 27 - Average request time for a single component (Java)
Figure 27 clearly demonstrates the following:
•
Response times are not related to the state of the Java Virtual Machine (JVM) or the database.
The first and the last request have in general roughly the same response times. This precludes the
involvement of a cache/internal compilation or other event that impacts performance.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 43 of 51
INTELLECT
IST-1999-10375
5.2.2.2 SQL Implementation
This implementation of the Configurator maps configuration requests to SQL as described in the previous passages[6]. The direct comparison between the results from both implementations follows in
the next section and should make the advantage of “Lean Configuration” the Configuration concept
developed by the INTELLECT project evident.
1st Scenario
In this benchmark five groups of clients with one up to five clients per group from five different client
machines are performing requests for getPossibleComponets in parallel for a product with a continuously increasing amount of components. The first call targets a product with one component, the second a product with two components, etc. The following graph demonstrates the average time required
for each client group to receive the configuration information for products with a specific amount of
components.
1400
1200
time (ms)
1000
1 client
800
2 clients
3 clients
4 clients
600
clients
400
200
0
1
2
3
4
5
6
7
8
9
10
Figure 28 - Average request time for a specific amount of components (SQL)
Figure 28 clearly demonstrates the following:
•
Response time is roughly 400ms per request, or in other words one 10 of the response times for
the pure Java implementation.
•
Response times are not dependent on the complexity of the product. Or in other words complex
products are handled just as well as simple products.
•
The overall performance of the system does not depend on the number of concurrent requests.
The performance difference on the testbed hardware was roughly 20ms per further client.
•
The decline in response time after the first queries indicates that the Database employs a cache
that improves performance as long as queries request the same information.
th
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 44 of 51
INTELLECT
IST-1999-10375
2nd Scenario
In this benchmark five groups of clients with one up to five clients per group from five different client
machines are performing requests for getPossibleComponets in parallel for a product with a single
component. The following graph demonstrates the average time required for each client group to receive the configuration information.
1600
1400
1200
1000
time(ms)
1 client
2 clients
800
3 clients
4 clients
5 clients
600
400
200
0
1
2
3
4
5
6
7
8
9
10
Figure 29 - Average request time for a single component (SQL)
Figure 29 clearly demonstrates the following:
•
Response times are not related to the state of the Java Virtual Machine (JVM) or the database.
The first and the last iteration have roughly the same response time. This precludes the involvement of a cache/internal compilation or other internal optimisation that impacts performance.
•
Performance is heavily dependent on the performance of Oracle. Oracle reaches a CPU Workload
of over 50% with a single client connecting. The server being a dual process or machine can accommodate two Oracle processes under these circumstances. The second client can thus also be
accommodated with only a slight performance loss, but further clients then proceed to overburden
the server thereby considerably degrading performance.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 45 of 51
INTELLECT
IST-1999-10375
CPU Usage
In this benchmark five groups of clients with one up to five clients per group from five different client
machines are performing requests for getPossibleComponets in parallel for a product with a continuously increasing amount of components. The first call targets a product with one component, the second a product with two components, etc. The following graph demonstrates the average CPU load
caused by each client group for products with a specific amount of components.
100,00%
90,00%
80,00%
70,00%
CPU Usage%
60,00%
1 client
2 clients
50,00%
3 clients
4 clients
5 clients
40,00%
30,00%
20,00%
10,00%
57
55
53
51
49
47
45
43
41
39
37
35
33
31
29
27
25
23
21
19
17
15
13
9
11
7
5
3
1
0,00%
time (ms)
Figure 30 – Total CPU usage with up to five concurrent clients
100,00
90,00
80,00
CPU Usage %
70,00
60,00
Oracle
50,00
Java
40,00
30,00
20,00
10,00
0,00
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
time(ms)
Figure 31- Oracle/JVM CPU usage with up to five concurrent clients
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 46 of 51
INTELLECT
IST-1999-10375
Figure 30 and Figure 31 clearly demonstrate the following:
•
Performance is heavily dependent on the performance of the Server. The Server reaches a CPU
Workload of over 50% with a single client connecting. Further clients then proceed to overburden
the server thereby considerably degrading performance. The 100% mark is never achieved due to
the process management properties of the operating system.
•
Oracle requires the major part of available CPU resources thereby acting as the main bottleneck.
A setup where the Application server runs on a separate physical server than the RDBMS and
possibly addresses multiple RDBMS servers would definitely increase performance by dramatically.
5.2.2.3 SQL vs Java
This section contains a combined benchmark for both implementations of the Configurator. The direct
comparison between the results from both version makes the advantage of “Lean Configuration” the
Configuration concept developed by the INTELLECT project evident.
Overview
In this benchmark a single client performs requests for getPossibleComponets for a product with a
product with a continuously increasing amount of components. The first call targets a product with one
component, the second a product with two components, etc.. The following graph demonstrates the
average time required for each client to receive the configuration information for products with a specific amount of components.
6000
5000
time(ms)
4000
SQL
3000
Java
2000
1000
0
1
2
3
4
5
6
7
8
9
10
Figure 32 – Difference in response times between the SQL and pure Java implementations of the INTELLECT Configurator
Figure 32 clearly demonstrates the following:
•
Response time of the pure Java implementation is roughly 4 Seconds per request.
•
Response time of the SQL implementation is roughly 400ms per request, or in other words one
th
10 of the response times for the pure Java implementation.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 47 of 51
INTELLECT
IST-1999-10375
5.2.2.4 Conclusion
The direct comparison between the results from both Configurator versions makes the advantage of
“Lean Configuration” [6] the configuration concept developed by the INTELLECT project evident:
•
Response time is roughly 400ms per configuration request.
•
Response times are not dependent on the complexity of the product. Or in other words complex
products are handled just as well as simple products.
•
The overall performance of the system does not depend on the number of concurrent requests, as
long as the hardware can accommodate the number of clients. The performance difference on the
testbed hardware was roughly 20ms per further client.
•
Response times are not related to the state of the Java Virtual Machine (JVM) or the database.
The first and the last iteration have roughly the same response time. This precludes the involvement of a cache/internal compilation or other internal optimisation that impacts performance.
•
Performance is heavily dependent from the performance of Oracle. Oracle reaches a CPU Workload of over 80% with a single client connecting on the testbed server.
5.2.3 Order Processing performance
The work of the order processing starts, after the shop has accepted an order from a customer. Therefore the performance of the order processing module has no impact on the user expierience of the
customer, all the processes in this module occur offline.
We identified the following performance-critical areas within the Ordering-Module:
5.2.3.1 Database transactions
When the state of an order changes as a result of an incoming event, the order's state is reflected in 3
columns of the corresponding table: two of them are simple types (numeric and character data), the
XML-data of the order is saved in a CLOB ("character large object"). The duration of the update
statement is proportional to the length of the XML data. Benchmarks showed, that the part of these
database transactions are negligible in comparison to the transformations of XML documents. This is
further elaborated in the following paragraphs.
5.2.3.2 XML parsing
Parsing of the XML document is done with the Xerces reference implementation of the Apache Software Foundation. This implementation is free, but is known to be rather slow. There are commercial
implementations that are about five times faster than Xerces. Performance with the test XML was
about 5 to 7 milliseconds per parse.
5.2.3.3 XSL transformations
Generation of outgoing documents is accomplished via XSLT operations. For this, the XML document
has to be parsed into a tree representation by an XML DOM parser and after that transformed by an
XSLT engine. Both processes are rather time-consuming.
XSL-Transformation with a simple XSL stylesheet needed about 13 to 17ms.
5.2.3.4 XPATH addressing
XPath expressions are used within the workflow to get the information for the routing of orders. Xpath
evaluations are expensive, when the XML document is not already parsed; as the module needs the
parsed XML-document anyway the XPath addressing is also negligible.
5.2.3.5 XML transformations
Some backoffice functionality consists of XML-transformations; e.g. for the HiTEC pilot insertion of
parts list data was implemented, which resides in the database, into the order data. The time needed
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 48 of 51
INTELLECT
IST-1999-10375
for these modifications of the DOM representation also had a negligible impact on the overall performance. We tested this with the HiTEC functionality of adding parts list information into the XML document from the database, this function required 600 to 830ms to perform on the test XML file.
5.2.3.6 Backoffice functionality
The integration of existing back-office systems is also part of the scope of the INTELLECT order processing module. As none of the end-users had no back-office system with necessary interfaces for
integration (they were all using proprietary products, that had no open interfaces) we tested this with
Anecon's self-developed "Admin Tool", which processes incoming and outgoing invoices.
These tests showed that the amount of time for communicating and processing the request in the
back-office system took much longer than any of the aforementioned points and was in the range of 5
to 9 seconds, depending on the desired back-office functionality.
For the pilots of our three end users sending of an email was the preferred back-office functionality,
because they implemented their workflow via sending "intelligent emails", which can trigger other
tasks. And even sending a short email via Anecon's SMTP server took 3 to 5 seconds.
5.2.3.7 Results
Our benchmarks showed, that the performance critical parts of the Order Processing module are not
located within the module, but by the external processes i.e. the external back-office systems that are
integrated by the module.
So the numbers for transaction throughput will depend mainly on the performance of the integrated
backoffice system. Business rules that are executed in the module (i.e. XML transformations like HiTEC’s parts list integration) can also influence the throughput if the logic is very complex. Compared to
the performance results of the eShop module and the configurator module, which expierience a much
higher load, because the number of shop and configurator transactions are between one and two
magnitudes over the number of completed purchases.
All performance tests were performed on the following system configuration:
•
Win2k Server, 256 MB RAM, 20 GB Harddisk, Intel Processor Pentium 3 800MHz
•
Java SDK 1.3.1
•
JBoss/Tomcat application server bundle, jBoss version 2.2, Tomcat 3.2
•
Xerces XML parser, version 1.4.3
•
Xalan XSLT processor version 2.1.0
•
XML test document : size is 25kB (this corresponds to a basket with 20 different items)
5.2.4 Help Desk performance
Because of the unexpected long time the jBoss group needed to integrate the next version of the servlet container we had no time for performance benchmarks until now (see 5.1.3.5).
5.2.5 VR Applet performance
The Virtual Reality module as a front-end for the configuration module shows a view of the product,
which must be as realistic as possible. The user can interact with the product: turn, zoom, select and
configure a component; the possible configurations are given by the configuration module. Excepted
few cases where some simple configurations (colour, size) are directly available from the e-shop, the
customer must go in the Virtual Reality module to configure its product. The 3D view of the products is
obtained by assembling 3D models of its components stored in VRML files provided by the shop operator. If no 3D model is available for some of the components, configuration via the VR Applet is not
possible.
The use of Java3D, which is an API for Java, permits to render a 3D world in a Java application or a
Java applet. Java3D provides a collection of high-level constructs for creating, manipulating and rendering 3D geometric objects in a virtual universe. The Java3D world corresponds to a scene graph,
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 49 of 51
INTELLECT
IST-1999-10375
which is an arrangement of 3D objects in a tree structure, that completely specifies the contents of the
virtual universe, and the way it is rendered.
VRML files can be loaded and added to a Java3D universe thanks to the VRML97 library, defined by
the VRML-Java3D working group.
The performance of the 3D Applet is therefore completely dependent on the performance of the
Java3D implementation, the 3D graphics language used (i.e. OpenGL, DirectX), the 3D driver for the
graphics hardware of the client and last but not least the graphics hardware itself.
In cases were the hardware offers appropriate 3D functionality (all current chipsets) which is supported by the graphics driver and the graphics language libraries installed on the operating system
(default in all modern platforms) the 3D Applet offers fluid navigation through the VR-World.
5.3 Satisfaction
The comfort and acceptability of the work system to its users and other people affected by its use.“ –
This last criterion directly addresses the one of the hardest areas of Software-Ergonomics namely the
subjective satisfaction derived by a user in his interaction with the system. This very vague but also
extremely important criterion for the success of a software system can in most cases be addressed
only very vaguely and on a purely subjective manner.
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 50 of 51
INTELLECT
IST-1999-10375
6 References
[1]
Wolfgang Dzida, Marion Wiethoff, Albert G. Arnold, ERGOguide - The Quality Assurance
Guide to Ergonomic Software, Delft University of Technology, German National Centre of
Computer Science, April 1993
[2]
ISO 9241 - Ergonomic requirements for office work with visual display terminals (VDTs), Part
10: Dialogue principles & Part 11: Usability (Principles), International Organization for
Standardization, 1993
[3]
Frieder Nake, Von der Interaktion - Über den instrumentalen und den medialen Charakter des
Computers, aus Die erträgliche Leichtigkeit der Zeichen – Ästhetik Semiotik Informatik, agis
Verlag Baden-Baden, 1993
[4]
Pamela Briggs, Usability Assessment for the office: Methodological Choices and their
Implications, Human Computer Interaction in the Work Place, Elsevier Science Publishers B.
V. (North-Holland), 1987
[5]
Shackel, B., Ergonomics in design for usability, HCI’86, pp.44-64
[6]
Ioannis Fikouras, Ewgeni Gisbrecht, Lean Configuration: Interactive Configuration for the
Internet, eBusiness and eWork 2001, Venice, 17-19 October
[7]
John D. Gould, Clayton Lewis, Design for Usability: Key Principles and What Designers Think,
Communications of the ACM, March 1985
[8]
Jakob Nielsen, Rolf Molich, Heuristic Evaluation of User Interfaces, CHI ’90 Conference
Proceedings, Special Issue of the SIGCHI Bulletin
[9]
Angelika Herzig, Usability-Testing: Put it into practice, Das Usability Labor der
Schweizerischen Kreditanstalt, aus Berichte des German Chapter of ACM 39,
Software-Ergonomie '93
[10]
Klaus Neugebaurer, Nicola Spielmann, Das Ergonomie-Labor der SAP - empirische
Ergonomie in der Praxis, aus Berichte des German Chapter of ACM 39, Software-Ergonomie
'93
[11]
Harold Thimbleby, Formulating usability, SIGCHI Bulletin, April 1994, pp.69-73
[12]
R.Oppermann, B.Murchner, H.Reiterer, M.Koch, Software-ergonomische Evaluation - Der
Leitfaden EVADIS II, Walter de Gruyter, Berlin, New York 1992
[13]
Lynette Hirschman and Donna Cuomo, Evaluation of Human Computer Interfaces, A
Report from an ARPA Workshop, SIGCHI Bulletin, April 1995, pp.28-29
[14]
Randolph G. Bias, Deborah J. Mayhew, Cost-Justifying Usability, Academic Press, Inc., 1994
[15]
Deborah A. Mitta, A Methodology for Quantifying Expert System Usability, Human Factors,
April 1991, 33(2), pp.233-245
[16]
comp.human-factors, comp.groupware, comp.cog-eng, USENET newsgroups
[17]
Marja-Riitta Koivunen, Marko Nieminen, Sirpa Riihiaho, Launching the Usability Approach
Experience at Helsinki University, of Technology, SIGCHI Bulletin, April 1995, pp.54-60
[18]
Fabio Paterno, A Formal Approach to the Evaluation of Interactive Systems, SIGCHI Bulletin,
April 1994, pp.59-64
INT-D15FINAL
© The INTELLECT consortium – 2002
Page 51 of 51