<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Representing Repairs in Configuration Interfaces: A Look at Industrial Practices</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tony Leclercq</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maxime Cordy</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bruno Dumas</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrick Heymans</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ACM Classification Keywords H.5.2. User Interfaces: Graphical user interfaces (GUI)</institution>
          ,
          <addr-line>Standardization, Configurator, Smart system</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Namur</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Configurators are widespread applications where users can tailor products (i.e. goods or services) to their needs by selecting options and setting parameter values. Constraints over these options exist to avoid building invalid products. Thus, when the user attempts to combine incompatible options, the configurator should raise an error and help the user repair her configuration, that is, change the selected options to obtain a valid product. In this paper, we observe how 54 configurators from different industries handle this repair mechanism. We show that in a majority of cases, the configuration interfaces exhibit bad practices that impede an effective usage of repair, thereby impoverishing user experience.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        INTRODUCTION
Today’s companies increasingly rely on mass customisation
to provide their customers with products (i.e. goods or
services) that meet their particular needs, while still achieving
economies of scale [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The customisation of a product is
typically performed via a software application named
configurator [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This application often comprises a graphical user
interface where users enter their needs and preferences by
selecting options and setting parameter values. Configurators
have been developed for many years and are more and more
frequently used, be it as back-office tools in companies [
        <xref ref-type="bibr" rid="ref11 ref2 ref7 ref8">2, 8,
11, 7</xref>
        ] or as public tools on the web. The ever-growing size of
Cyledge’s Configurator Database [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] witnesses the ongoing
interest towards configurators. Given their critical role in
today’s businesses, these must be effective at guiding users and
absolutely reliable.
      </p>
      <p>
        An essential functionality of a configurator is to guarantee that
the configuration created by its user is valid. Indeed, invalid
configurations must be avoided as they lead to inappropriate
products, be it for technical, marketing or legal reasons. The
©2018. Copyright for the individual papers remains with the authors.
Copying permitted for private and academic purposes. ExSS ’18, March
11, Tokyo, Japan.
configurator achieves this by, notably, making unavailable new
options that are incompatible with the options already selected.
This functionality, named propagation, drastically simplifies
the work of the user. The downside lies in the risk for the user
to be refused options that she really wants, due to previous
choices that were of lesser importance. In this case, she must
change her configuration to make the desired option available.
This can be really difficult, as the incompatibility between the
desired option and the current configuration can result from
the interaction of many constraints between many options.
A prerequisite is to explain the reason why the option is not
available. This is a common functionality required in
configurators, that classifies them amongst the range of explainable
software systems. Feedback explanations already help the
customer resolve the incompatibility problem, but they are
far from sufficient. This motivated the need for configuration
repair [
        <xref ref-type="bibr" rid="ref15 ref3 ref4 ref9">3, 9, 15, 4</xref>
        ], an automated method to determine what
must be changed in the configuration to accept a forbidden
option. Computing configuration repair is not an easy task:
consider, e.g. that to select an option o1, an option o2 must be
unselected, but doing that requires to select a third option o3.
Still, efficient solutions exist, e.g. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Together with validity
checking, propagation and explanation, configuration repair is
essential for a smooth user experience [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        A question yet unaddressed is how to properly integrate repairs
in the graphical user interface of configurators [
        <xref ref-type="bibr" rid="ref1 ref10 ref14 ref4">14, 1, 10, 4</xref>
        ].
Major difficulties include the possibly high number of changes
to perform, and the potential inability of the repair algorithm
to determine all the changes to make in one execution step.
Our long-term objective is to fill this gap by providing HCI
guidelines for representing repairs, thereby contributing to
build a consistent body of knowledge dedicated to engineering
configurators, as envisioned by Abbasi et al [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>This paper constitutes the first step of our work. More
precisely, we analyse how 54 configurators, chosen across 10
industries, represent repairs in their interface. Thereby, we
aim at identifying bad practices in current configurators, which
would in turn justify the need for precise guidelines specific to
configuration repair. Our observations show that 46
configurators do not handle repair properly. This is due not only to
their inability to compute repairs in every problematic case,
but also to bad integrations within the configuration UI. This
motivates the need for standard guidelines for handling repair
within any configuration interface.
A FEW EXAMPLES OF REPAIR IN CONFIGURATORS
We first illustrate through intuitive examples what lies behind
a configurator and the concept of configuration repair. Figure 1
shows an overview of a PC configurator.1 The left part of the
screen gives a summary of the current configuration, while
the right one depicts the parts of the PC to configure (such as
CPU, Coolers, and motherboard). Not all combinations are
valid, though. For instance, once the customer has selected a
motherboard, obviously the quantity of RAM modules cannot
exceed the number of slots on the motherboard; see Figure 2.
In this case, the configurator raises an error and explains that
the selected quantity of RAM modules is inappropriate. It
also suggests to reduce this quantity to make the configuration
feasible. Thanks to this explanation, the user knows how to
repair her configuration. This mechanism, however, leads to
two pitfalls. First, the customer has to fix the configuration
manually, and is therefore forced to check how many slots are
available on the selected motherboard. Second, the
configurator omits the alternative of selecting another motherboard
equipped with more slots. This example is an instance of what
we name manual repair.</p>
      <p>Figure 3 illustrates another case problematic to the user. We
observe that some Power Supply Units (PSUs) are greyed
because they are not compatible with the current configuration.
This impedes the user to select these inappropriate power
PSUs. However, no explanation is given and no automated
means of changing the configuration to accept these PSUs is
provided. While this might seem unimportant in this specific
PC example, it can be really problematic when numerous
options are provided to the user.</p>
      <p>
        Consider instead car configurators, arguably the most popular
kind of configurator [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Cars are known to give access to a
high number of options and accessories. Their configurators,
1See http://www.dinopc.com
especially in the western industry2, provide a lot of
customisation possibilities: customers can combine any trim with the
many available options. It is therefore unrealistic not to
provide the customer with a repair functionality showing her how
the configuration must change to accept a desired option.
Figure 4 illustrates this situation occurring in the UK Volkswagen
configurator. The rear-view camera option requires either the
standard park assist or its trailer variant. Accordingly, after
selecting rear-view camera, the customer is asked to select one
of the two park assist options.
      </p>
      <p>
        BENCHMARKING CURRENT PRACTICES IN INDUSTRY
The previous section already highlights multiple difficulties
that users may encounter. To better assess the rate of
occurrence of these issues, we carried out an evaluation of the
current practices in industry. More precisely, we selected 54
configurators taken from different industries: cars (28),
computers (5), audio systems (5), electrical appliances (5), boats
(6), drones (1), smart altimeters(1), trucks (1), motorbikes
(1), and garden rooms (1). Car configurators are particularly
interesting because they typically provide a high number of
options and constraints, which even more justifies the need for
explanations and repair mechanisms. For each configurator,
we check whether 11 specific bad practices occur when repairs
are triggered. We consider three categories of bad practices
depending on the type of repair mechanism that is provided.
1. No repair. This first category comprises bad practices that
make it impossible to compute repairs. These practices are:
(a) Undetected errors. The configurator does not check
for inconsistencies, allowing users to build
configurations that are not valid.
(b) Unexplained errors. Configuration errors are raised
as soon as they are produced, but no explanation is
given to the user.
(c) Invisible propagations. Unavailable options are
hidden. The user is unaware of them and thus cannot ask
for a repair.
2We indeed observed that in their asian counterparts, configurators
often limit the customer’s choice to a smaller number of models with
predefined options.
(d) Immutable propagations. Unavailable options are
greyed out but the user is impeded to select them.
(e) Unresolved repair. When the user attempts to make
an invalid choice or to change a propagated option, the
configurator proposes her to reset her configuration,
thereby losing any previous progress.
2. Manual repair. Manual repairs display messages
explaining users how to change their configuration to achieve their
goal. Related bad practices include:
(a) Misleading: The repair message is ambiguous and
does not precisely pinpoint the options to change.
(b) Misplaced: The repair message is not well situated,
resulting in low odds of being detected by users.
(c) Understated: Too little emphasis is given to the
message, running the risk for it to be unnoticed.
(d) Incomplete: The message suggests only one solution
although there exist others.
3. Assisted repair. Bad practices also occur when an
automated repair mechanism directly proposes solutions to the
user (see Figure 4). These are:
(a) Unknown effects: The configurator proposes to
modify the configuration, but does not explain which
options would be changed.
(b) Cascading repair: The configurator is able to detect
the option o1 to change to achieve the user’s goal.
However, if changing o2 requires changing another option
o2, the configurator alerts the user only after she
accepted to change o2. This process is repeated as many
times as the total number of options to change.
Results. As a first step, we measure how many configurators
exhibit cases of manual repair, assisted repair, and no repair
at all (see Figure 5). It turns out that 46 configurators do not
provide a repair each they should. Manual repair occurs in 14
configurators, while assisted repair does in 23. These
numbers also reveal that the way repair is handled is not always
consistent within a given configurator. Indeed, it happens that
for some errors the configurator provides no repair, while for
others it provides manual or assisted repair. This is
symptomatic of configurators that are developed as any software
and do not rely on a rule-based engine to perform logical
computations [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Looking at the no-repair cases (see Figure 6), we find out that
the most common reasons for the absence of repair are the
undetected errors. Indeed, 46 configurators are not able to
detect all the inconsistencies that may occur in a
configuration, which is quite surprising given the importance of this
must-have functionality. When errors are raised, they are too
often unexplained (11 cases). As for propagations, 14
configurators make them invisible while four do not allow one to
modify a propagated value. Finally, four configurators do not
support repair and only allow the user to completely reset the
configuration.</p>
      <p>Figure 7 reports issues observed in the 14 occurrences of
manual repair. The four kinds of bad practices occur
almost equally, with six occurrences of misleading explanations,
seven of misplaces explanations, five of understated, while
seven configurators propose incomplete solutions. In total,
only four configurators implement manual repair properly (i.e.
without exemplifying an identified bad practice).</p>
      <p>Regarding the 23 configurators that provide assisted repair
(see Figure 8), only one of them suffers from the
cascadingrepair problem. The problem of unknown effects is, however,
more frequent with 11 occurrences. Overall, half of these
configurators handle assisted repair properly, although only
eight of them provide this functionality each time it is needed.
This low number corroborates our previous statement that
managing configuration repair is a laborious task that
crosscuts the whole configurator.</p>
      <p>Surprisingly, the choice between manual and assisted repair
highly depends on the considered industry. Car
configurators rely more often on assisted repair than on manual repair
(19 cases against 2). On the contrary, manual repair is more
common in computer and electrical appliance configurators,
whereas the audio configurators provide no repair at all. One
possible explanation is that assisted repair is more important
in customer-oriented configurators, while the ones aimed at
domain experts can settle for manual repair. Nevertheless,
this observation justifies the need for studying both types of
repair.</p>
      <p>
        CONCLUSION
Although repair is essential for a smooth user experience,
our study reveals that it is rarely properly and thoroughly
supported. This is indeed a difficult functionality to implement,
notably on the back-end side [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, HCI guidelines are
also needed [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], especially as there is no de-facto standard
across multiple industries [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Given the bad practices that
proliferate amongst the configurators we studied, designing
appropriate HCIs for repair will constitute an important focus
of our future research work.
      </p>
      <p>ACKNOWLEDGEMENT
This work was partly supported by the European
Commission (FEDER IDEES/CO-INNOVATION) and the
WalloniaBrussels Federation under the ARC programme.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Ebrahim</given-names>
            <surname>Khalil</surname>
          </string-name>
          <string-name>
            <surname>Abbasi</surname>
          </string-name>
          , Arnaud Hubaux, Mathieu Acher, Quentin Boucher, and
          <string-name>
            <given-names>Patrick</given-names>
            <surname>Heymans</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>The Anatomy of a Sales Configurator: An Empirical Study of 111 Cases</article-title>
          . In CAiSE'13. Springer-Verlag, Berlin, Heidelberg,
          <fpage>162</fpage>
          -
          <lpage>177</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Liliana</given-names>
            <surname>Ardissono</surname>
          </string-name>
          , Alexander Felfernig, Gerhard Friedrich, Dietmar Jannach, Ralph Schäfer, and
          <string-name>
            <given-names>Markus</given-names>
            <surname>Zanker</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>A Framework for Rapid Development of Advanced Web-based Configurator Applications</article-title>
          .
          <source>In ECAI'02</source>
          . IOS Press, Amsterdam, The Netherlands, The Netherlands,
          <fpage>618</fpage>
          -
          <lpage>622</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Thorsten</given-names>
            <surname>Berger</surname>
          </string-name>
          , Steven She, Rafael Lotufo, Andrzej Wa˛sowski, and
          <string-name>
            <given-names>Krzysztof</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Variability Modeling in the Real: A Perspective from the Operating Systems Domain</article-title>
          .
          <source>In ASE '10. ACM</source>
          , New York, NY, USA,
          <fpage>73</fpage>
          -
          <lpage>82</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Maxime</given-names>
            <surname>Cordy</surname>
          </string-name>
          and
          <string-name>
            <given-names>Patrick</given-names>
            <surname>Heymans</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Engineering Configurators for the Retail Industry: Experience Report and Challenges Ahead (to appear)</article-title>
          .
          <source>In SAC '18</source>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cyledge</surname>
          </string-name>
          .
          <year>2017</year>
          . Configurator Database. (
          <year>2017</year>
          ).
          <source>Retrieved July 24</source>
          ,
          <year>2017</year>
          from http://www.configurator-database.com
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Xuegong</given-names>
            <surname>Ding</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Product Configuration on the Semantic Web Using Multi-Agent</article-title>
          . In ICNSC '
          <volume>08</volume>
          .
          <fpage>304</fpage>
          -
          <lpage>309</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Felfernig</surname>
          </string-name>
          , Lothar Hotz, Claire Bagley, and
          <string-name>
            <given-names>Juha</given-names>
            <surname>Tiihonen</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Knowledge-based Configuration: From Research to Business Cases (1 ed</article-title>
          .). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Fleischanderl</surname>
          </string-name>
          , Gerhard E. Friedrich, Alois Haselböck, Herwig Schreiner, and
          <string-name>
            <given-names>Markus</given-names>
            <surname>Stumptner</surname>
          </string-name>
          .
          <year>1998</year>
          .
          <article-title>Configuring Large Systems Using Generative Constraint Satisfaction</article-title>
          .
          <source>IEEE Intelligent Systems 13, 4 (July</source>
          <year>1998</year>
          ),
          <fpage>59</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Arnaud</given-names>
            <surname>Hubaux</surname>
          </string-name>
          , Yingfei Xiong, and
          <string-name>
            <given-names>Krzysztof</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>A User Survey of Configuration Challenges in Linux and eCos</article-title>
          .
          <source>In VaMoS '12. ACM</source>
          ,
          <volume>149</volume>
          -
          <fpage>155</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Tony</surname>
            <given-names>Leclercq</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jean-Marc</surname>
            <given-names>Davril</given-names>
          </string-name>
          , Maxime Cordy, and
          <string-name>
            <given-names>Patrick</given-names>
            <surname>Heymans</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Beyond De-Facto Standards for Designing Human-Computer Interactions in Configurators</article-title>
          .
          <source>In EnCHIReS@EICS</source>
          <year>2016</year>
          , Bruxelles, Belgium.
          <fpage>40</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Deborah L. McGuinness</surname>
          </string-name>
          and
          <string-name>
            <surname>Jon R. Wright</surname>
          </string-name>
          .
          <year>1998</year>
          .
          <article-title>Conceptual Modelling for Configuration: A Description Logic-based Approach</article-title>
          .
          <source>Artif. Intell. Eng. Des. Anal. Manuf</source>
          .
          <volume>12</volume>
          ,
          <issue>4</issue>
          (Sept.
          <year>1998</year>
          ),
          <fpage>333</fpage>
          -
          <lpage>344</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>B.J.</given-names>
            <surname>Pine</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Davis</surname>
          </string-name>
          .
          <year>1999</year>
          .
          <article-title>Mass Customization: The New Frontier in Business Competition</article-title>
          . Harvard Business School Press.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Rick</surname>
            <given-names>Rabiser</given-names>
          </string-name>
          , Paul Grünbacher, and
          <string-name>
            <given-names>Martin</given-names>
            <surname>Lehofer</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>A Qualitative Study on User Guidance Capabilities in Product Configuration Tools</article-title>
          .
          <source>In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE</source>
          <year>2012</year>
          ). ACM, New York, NY, USA,
          <fpage>110</fpage>
          -
          <lpage>119</lpage>
          . DOI: http://dx.doi.org/10.1145/2351676.2351693
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>C. Streichbier</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Blazek</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Faltin</surname>
          </string-name>
          .
          <year>2009</year>
          . Are
          <string-name>
            <surname>De-Facto Standards</surname>
          </string-name>
          <article-title>a Useful Guide for Designing Human-Computer Interaction Processes? The Case of User Interface Design for Web Based B2C Product Configurators</article-title>
          .
          <source>In HICSS '09</source>
          . IEEE Computer Society, Washington, DC, USA,
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>J.</given-names>
            <surname>White</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Benavides</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Trinidad</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Ruiz-Cortés</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Automated Diagnosis of Product-Line Configuration Errors in Feature Models</article-title>
          .
          <source>In SPLC '08</source>
          . IEEE Computer Society, Washington, DC, USA,
          <fpage>225</fpage>
          -
          <lpage>234</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Yingfei</surname>
            <given-names>Xiong</given-names>
          </string-name>
          , Arnaud Hubaux, Steven She, and
          <string-name>
            <given-names>Krzysztof</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Generating Range Fixes for Software Configuration</article-title>
          .
          <source>In ICSE '12</source>
          . IEEE Press, Piscataway, NJ, USA,
          <fpage>58</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>