abbasi et al
TRANSCRIPT
1/44
The Anatomy of a Web Sales Configurator
Ebrahim ABBASI Dr. Arnaud HUBAUX Dr. Mathieu ACHER Quentin BOUCHER
Prof. Patrick HEYMANS
CAiSE 2013
2/44
Introduction Problem
Statement Findings Good & bad
Practices Ongoing Work
Web Sales
Configurators
3/44
Product
Web Sales Configurator (SC)
4/44
Configuration Environment
Web Sales Configurator (SC)
5/44
Options
Web Sales Configurator (SC)
Options are represented using widgets
6/44
Constraint
Web Sales Configurator (SC)
7/44
Configuration Process
Web Sales Configurator (SC)
8/44
Web Sales Configurator (SC)
9/44
Web Sales Configurator (SC)
10/44
Building SCs can be done in many ways
Research has also been working a lot on configuration
What is the current practice?
Objective
11/44
Introduction Problem
Statement Findings Good & bad
Practices Ongoing Work
Research Questions
Research Method
Data extraction process
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/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 Database800+ Configurators
29 Industries
1
388 Configurators25 Industries
3
362 Configurators25 Industries
5
93 Configurators21 Industries
111 Configurators21 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(
14/44
Data extraction process
Firebug extension = search engine + simulator
15/44
Firebug extension: implements a source code pattern matching algorithm
Data extraction process
16/44
Data extraction process
<pattern data-att-met-pattern-name="options" data-att-met-pattern-type="option"> <td> <input type="radio" data-att-met-unique="true"/> </td> <td></td> <td> <h6> <label> data-tex-mar-option-name </label> </h6> <p> skip(all) data-tex-mar-description </p> </td> </pattern>
17/44
Introduction Problem
Statement Findings Good & bad
Practices Ongoing Work
Patterns
Quantitative empirical results
18/44
RQ1: Option representation
!"
#!"
$!"
%!"
&!"
'!"
(!"
)!"
*+,-"./," 0123/".45/6"
7/8./"./,"
7/8./"./,"3-+8"
79+:;"./,"
<81=+" >-9+?"
<81=+@<-+8"
<81=+@7/8./"./,"
<81=+@79+:;"./,"
<81=+@0123/".45/6"
>-9+?A"
B4?+"7/8./"./,"3-+8A"
7/8./"./,"
*+,-"./,"
B4?+"381=+"
B4?+"79+:;"./,"
B4?+"0123/".45/6"
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/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/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/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)
23/44
RQ2: Constraints
Require
Exclude
Is defined over two or more options regardless of their inclusion in a group.
Formatting (59%)
Group (99%)
Cross-cutting (55%)
24/44
RQ2: Decision propagation
Automatic (97%) SC automatically propagates the required changes to all the impacted options.
25/44
RQ2: Decision propagation
SC asks the user to confirm or discard a decision before altering other options.
Automatic (97%)
Controlled (8%)
26/44
RQ2: Decision propagation
SC needs the user’s help to proceed. It proposes a choice to the user.
Automatic (97%)
Controlled (8%)
Guided (3%)
27/44
RQ3: Configuration process
Single-step (48%) All the options are displayed to the user in a single graphical container.
28/44
RQ3: Configuration process
Configuration Process
SC presents the options across several graphical containers that are displayed one at a time.
Single-step (48%)
Basic Multi-step (45%)
29/44
RQ3: Configuration process
step
Inner steps
Single-step (48%)
Basic Multi-step (45%)
Hierarchical Multi-step (7%)
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/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%)
32/44
Introduction Problem
Statement Findings Good & bad
Practices Ongoing Work
33/44
Bad Practices
Incomplete reasoning
34/44
Bad Practices
Incomplete reasoning
Counter-intuitive representation
35/44
Bad Practices
Incomplete reasoning
Counter-intuitive representation
Stateless backward navigation
36/44
Good Practices
Guided consistency checking
37/44
Good Practices
Guided consistency checking
38/44
Good Practices
Guided consistency checking
Self-explanatory process
A
B
B CD
E
39/44
Good Practices
Guided consistency checking
Self-explanatory process
Present constraints to the user
40/44
Good Practices
Guided consistency checking
Self-explanatory process
Stateful backward navigation
Undo
41/44
Introduction Problem
Statement Findings Good & bad
Practices Ongoing Work
42/44
Many opportunities to improve Reliability, Efficiency, Consistency, Maintainability… of SCs
Re-engineering Web Configurators
Ongoing work
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
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