12. 12/44
Client-side Analysis
RQ1 How are options visually represented?
What are their semantics?
RQ2 What kind of constraints are supported by the SCs?
How are constraints enforced?
RQ3 How is the configuration process enforced by the SCs?
Research Questions
13. 13/44
Configurator Selection
Is configurator in
English?
No
Is configurator in
Flash or
not a configurator?
Yes Ignore
configurator
Yes
No
Is configurator
accessible? No
Yes
2
4
7
Configurator Database
800+ Configurators
29 Industries
1
388 Configurators
25 Industries
3
362 Configurators
25 Industries
5
93 Configurators
21 Industries
111 Configurators
21 Industries
8
10
Randomly select 25% of
configurators in each
industry
6
Add 18
configurators
manually
9
Distribution of selected configurators
by industry
!""#$$%&'#$(
!)*#&+$',-(./0#&'/1(
!22/(
!30%4%5'1#(
6#/307(
8%,$0&3"+%,(
91#"0&%,'"$(
9,0#&0/',4#,0(
9:3'24#,0(;%&(8<'1)&#,(
9:3'24#,0(;%&(=#0$(
;%%)(
;%%0>/&#(
;3&,'03&#(
?'@>/&#(
A%3$#(B(?/&)#,(
.3$'"(
C2+"'/,(
=&',0(
D2%&0(B(E#'$3&#(
D0/+%,#&7(
D0##1(
19. 19/44
RQ1: Semantic constructs
Alternative (XOR)
Multiple choice
(OR)
Alternative (97%)
Multiple choice (8%)
One and only one option must be selected.
At least one option must be selected.
20. 20/44
RQ1: Semantic constructs
Interval
The specific lower and upper bounds
on the number of selectable options is determined.
Alternative (97%)
Multiple choice (8%)
Interval (4%)
21. 21/44
RQ2: Constraints
Ensures that the value set by the user is valid.Formatting (59%)
• Type correctness: Integer, String, and Real
• Range control: upper & lower bounds,
valid characters
• Formatted values: date, email, file extension
• Case-sensitive values
22. 22/44
RQ2: Constraints
Defines the number of options that can be
selected from a group of options.
Formatting (59%)
Group (99%)
Alternative (XOR)
Multiple choice
(OR)
30. 30/44
RQ3: Backward navigation
Stateless (14%) The user can go back to any previous step but all
configuration choices made in steps following
the one reached are discarded.
31. 31/44
RQ3: Backward navigation
The user can go back to any previous step
and all configuration choices are saved.
Stateless (14%)
Stateful (69%)
Not supported (17%)
42. 42/44
Many opportunities to improve Reliability, Efficiency,
Consistency, Maintainability… of SCs
Re-engineering
Web Configurators
Ongoing work
43. 43/44
Re-engineering Approach
Forward Engineering
Original ad hoc
configurator
source code
Configuration
GUI
Extract variability
data
Generate
Configuration GUI
Validate
variability model
Re-engineered
Configurator
Reverse Engineering
Configuration
solver instance
source code
Configuration
GUI
Options
Descriptive
information
Constraints
Documentation
Web objects
Variability model
44. 44/44
Very few empirical studies on configurators
• Product configuration from the customer's perspective: A comparison of
configuration systems in the apparel industry (Rogoll et al.)
• Are de facto Standards a Useful Guide for Designing Human-Computer
Interaction Processes? (Streichsbier et al.)
Contributions of THIS study
• The study of underlying concepts of web SCs: representation and management
• Good and bad practices
• The use of automated reverse engineering tools to produce quantitative
observations
2 take-away messages
• The SCs’ lack of convincing support for consistency checking
• Usability is rather weak: e.g., lack of guidance during configuration process
Wrap-up