44
1/44 The Anatomy of a Web Sales Configurator Ebrahim ABBASI Dr. Arnaud HUBAUX Dr. Mathieu ACHER Quentin BOUCHER Prof. Patrick HEYMANS CAiSE 2013

Abbasi et al

Embed Size (px)

Citation preview

Page 1: Abbasi et al

1/44

The Anatomy of a Web Sales Configurator

Ebrahim ABBASI Dr. Arnaud HUBAUX Dr. Mathieu ACHER Quentin BOUCHER

Prof. Patrick HEYMANS

CAiSE 2013

Page 2: Abbasi et al

2/44

Introduction Problem

Statement Findings Good & bad

Practices Ongoing Work

Web Sales

Configurators

Page 3: Abbasi et al

3/44

Product

Web Sales Configurator (SC)

Page 4: Abbasi et al

4/44

Configuration Environment

Web Sales Configurator (SC)

Page 5: Abbasi et al

5/44

Options

Web Sales Configurator (SC)

Options are represented using widgets

Page 6: Abbasi et al

6/44

Constraint

Web Sales Configurator (SC)

Page 7: Abbasi et al

7/44

Configuration Process

Web Sales Configurator (SC)

Page 8: Abbasi et al

8/44

Web Sales Configurator (SC)

Page 9: Abbasi et al

9/44

Web Sales Configurator (SC)

Page 10: Abbasi et al

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

Page 11: Abbasi et al

11/44

Introduction Problem

Statement Findings Good & bad

Practices Ongoing Work

Research Questions

Research Method

Data extraction process

Page 12: Abbasi et al

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

Page 13: Abbasi et al

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/&#1(!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(

Page 14: Abbasi et al

14/44

Data extraction process

Firebug extension = search engine + simulator

Page 15: Abbasi et al

15/44

Firebug extension: implements a source code pattern matching algorithm

Data extraction process

Page 16: Abbasi et al

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>

Page 17: Abbasi et al

17/44

Introduction Problem

Statement Findings Good & bad

Practices Ongoing Work

Patterns

Quantitative empirical results

Page 18: Abbasi et al

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"

Page 19: Abbasi et al

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.

Page 20: Abbasi et al

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%)

Page 21: Abbasi et al

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

Page 22: Abbasi et al

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)

Page 23: Abbasi et al

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%)

Page 24: Abbasi et al

24/44

RQ2: Decision propagation

Automatic (97%) SC automatically propagates the required changes to all the impacted options.

Page 25: Abbasi et al

25/44

RQ2: Decision propagation

SC asks the user to confirm or discard a decision before altering other options.

Automatic (97%)

Controlled (8%)

Page 26: Abbasi et al

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%)

Page 27: Abbasi et al

27/44

RQ3: Configuration process

Single-step (48%) All the options are displayed to the user in a single graphical container.

Page 28: Abbasi et al

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%)

Page 29: Abbasi et al

29/44

RQ3: Configuration process

step

Inner steps

Single-step (48%)

Basic Multi-step (45%)

Hierarchical Multi-step (7%)

Page 30: Abbasi et al

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.

Page 31: Abbasi et al

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%)

Page 32: Abbasi et al

32/44

Introduction Problem

Statement Findings Good & bad

Practices Ongoing Work

Page 33: Abbasi et al

33/44

Bad Practices

Incomplete reasoning

Page 34: Abbasi et al

34/44

Bad Practices

Incomplete reasoning

Counter-intuitive representation

Page 35: Abbasi et al

35/44

Bad Practices

Incomplete reasoning

Counter-intuitive representation

Stateless backward navigation

Page 36: Abbasi et al

36/44

Good Practices

Guided consistency checking

Page 37: Abbasi et al

37/44

Good Practices

Guided consistency checking

Page 38: Abbasi et al

38/44

Good Practices

Guided consistency checking

Self-explanatory process

A

B

B CD

E

Page 39: Abbasi et al

39/44

Good Practices

Guided consistency checking

Self-explanatory process

Present constraints to the user

Page 40: Abbasi et al

40/44

Good Practices

Guided consistency checking

Self-explanatory process

Stateful backward navigation

Undo

Page 41: Abbasi et al

41/44

Introduction Problem

Statement Findings Good & bad

Practices Ongoing Work

Page 42: Abbasi et al

42/44

Many opportunities to improve Reliability, Efficiency, Consistency, Maintainability… of SCs

Re-engineering Web Configurators

Ongoing work

Page 43: Abbasi et al

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

Page 44: Abbasi et al

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