=Paper= {{Paper |id=Vol-2068/exss12 |storemode=property |title=Representing Repairs in Configuration Interfaces: A Look at Industrial Practices |pdfUrl=https://ceur-ws.org/Vol-2068/exss12.pdf |volume=Vol-2068 |authors=Tony Leclercq,Maxime Cordy,Bruno Dumas,Patrick Heymans |dblpUrl=https://dblp.org/rec/conf/iui/LeclercqCDH18a }} ==Representing Repairs in Configuration Interfaces: A Look at Industrial Practices== https://ceur-ws.org/Vol-2068/exss12.pdf
           Representing Repairs in Configuration Interfaces:
                    A Look at Industrial Practices

                          Tony Leclercq, Maxime Cordy, Bruno Dumas, Patrick Heymans
                                          University of Namur, Belgium
                                              first.last@unamur.be


ABSTRACT                                                               configurator achieves this by, notably, making unavailable new
Configurators are widespread applications where users can              options that are incompatible with the options already selected.
tailor products (i.e. goods or services) to their needs by se-         This functionality, named propagation, drastically simplifies
lecting options and setting parameter values. Constraints over         the work of the user. The downside lies in the risk for the user
these options exist to avoid building invalid products. Thus,          to be refused options that she really wants, due to previous
when the user attempts to combine incompatible options, the            choices that were of lesser importance. In this case, she must
configurator should raise an error and help the user repair her        change her configuration to make the desired option available.
configuration, that is, change the selected options to obtain a        This can be really difficult, as the incompatibility between the
valid product. In this paper, we observe how 54 configurators          desired option and the current configuration can result from
from different industries handle this repair mechanism. We             the interaction of many constraints between many options.
show that in a majority of cases, the configuration interfaces
                                                                       A prerequisite is to explain the reason why the option is not
exhibit bad practices that impede an effective usage of repair,
                                                                       available. This is a common functionality required in configu-
thereby impoverishing user experience.
                                                                       rators, that classifies them amongst the range of explainable
ACM Classification Keywords
                                                                       software systems. Feedback explanations already help the
                                                                       customer resolve the incompatibility problem, but they are
H.5.2. User Interfaces: Graphical user interfaces (GUI), Stan-
                                                                       far from sufficient. This motivated the need for configuration
dardization, Configurator, Smart system
                                                                       repair [3, 9, 15, 4], an automated method to determine what
INTRODUCTION
                                                                       must be changed in the configuration to accept a forbidden
                                                                       option. Computing configuration repair is not an easy task:
Today’s companies increasingly rely on mass customisation
                                                                       consider, e.g. that to select an option o1 , an option o2 must be
to provide their customers with products (i.e. goods or ser-
                                                                       unselected, but doing that requires to select a third option o3 .
vices) that meet their particular needs, while still achieving
                                                                       Still, efficient solutions exist, e.g. [16]. Together with validity
economies of scale [12]. The customisation of a product is
                                                                       checking, propagation and explanation, configuration repair is
typically performed via a software application named config-
                                                                       essential for a smooth user experience [13].
urator [6]. This application often comprises a graphical user
interface where users enter their needs and preferences by             A question yet unaddressed is how to properly integrate repairs
selecting options and setting parameter values. Configurators          in the graphical user interface of configurators [14, 1, 10, 4].
have been developed for many years and are more and more               Major difficulties include the possibly high number of changes
frequently used, be it as back-office tools in companies [2, 8,        to perform, and the potential inability of the repair algorithm
11, 7] or as public tools on the web. The ever-growing size of         to determine all the changes to make in one execution step.
Cyledge’s Configurator Database [5] witnesses the ongoing              Our long-term objective is to fill this gap by providing HCI
interest towards configurators. Given their critical role in to-       guidelines for representing repairs, thereby contributing to
day’s businesses, these must be effective at guiding users and         build a consistent body of knowledge dedicated to engineering
absolutely reliable.                                                   configurators, as envisioned by Abbasi et al [1].
An essential functionality of a configurator is to guarantee that      This paper constitutes the first step of our work. More pre-
the configuration created by its user is valid. Indeed, invalid        cisely, we analyse how 54 configurators, chosen across 10
configurations must be avoided as they lead to inappropriate           industries, represent repairs in their interface. Thereby, we
products, be it for technical, marketing or legal reasons. The         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 configu-
                                                                       rators 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.
©2018. Copyright for the individual papers remains with the authors.
Copying permitted for private and academic purposes. ExSS ’18, March
11, Tokyo, Japan.
                                                                               Figure 3. Propagation without explanation or repair




              Figure 1. An example of PC configurator
                                                                               Figure 4. Configuration repair following a selection


                                                                      especially in the western industry2 , provide a lot of customi-
                                                                      sation possibilities: customers can combine any trim with the
                                                                      many available options. It is therefore unrealistic not to pro-
    Figure 2. Explanation after a detected configuration invalidity
                                                                      vide the customer with a repair functionality showing her how
                                                                      the configuration must change to accept a desired option. Fig-
A FEW EXAMPLES OF REPAIR IN CONFIGURATORS                             ure 4 illustrates this situation occurring in the UK Volkswagen
We first illustrate through intuitive examples what lies behind       configurator. The rear-view camera option requires either the
a configurator and the concept of configuration repair. Figure 1      standard park assist or its trailer variant. Accordingly, after
shows an overview of a PC configurator.1 The left part of the         selecting rear-view camera, the customer is asked to select one
screen gives a summary of the current configuration, while            of the two park assist options.
the right one depicts the parts of the PC to configure (such as
CPU, Coolers, and motherboard). Not all combinations are              BENCHMARKING CURRENT PRACTICES IN INDUSTRY
valid, though. For instance, once the customer has selected a         The previous section already highlights multiple difficulties
motherboard, obviously the quantity of RAM modules cannot             that users may encounter. To better assess the rate of oc-
exceed the number of slots on the motherboard; see Figure 2.          currence of these issues, we carried out an evaluation of the
In this case, the configurator raises an error and explains that      current practices in industry. More precisely, we selected 54
the selected quantity of RAM modules is inappropriate. It             configurators taken from different industries: cars (28), com-
also suggests to reduce this quantity to make the configuration       puters (5), audio systems (5), electrical appliances (5), boats
feasible. Thanks to this explanation, the user knows how to           (6), drones (1), smart altimeters(1), trucks (1), motorbikes
repair her configuration. This mechanism, however, leads to           (1), and garden rooms (1). Car configurators are particularly
two pitfalls. First, the customer has to fix the configuration        interesting because they typically provide a high number of
manually, and is therefore forced to check how many slots are         options and constraints, which even more justifies the need for
available on the selected motherboard. Second, the configu-           explanations and repair mechanisms. For each configurator,
rator omits the alternative of selecting another motherboard          we check whether 11 specific bad practices occur when repairs
equipped with more slots. This example is an instance of what         are triggered. We consider three categories of bad practices
we name manual repair.                                                depending on the type of repair mechanism that is provided.
Figure 3 illustrates another case problematic to the user. We         1. No repair. This first category comprises bad practices that
observe that some Power Supply Units (PSUs) are greyed                   make it impossible to compute repairs. These practices are:
because they are not compatible with the current configuration.           (a) Undetected errors. The configurator does not check
This impedes the user to select these inappropriate power                     for inconsistencies, allowing users to build configura-
PSUs. However, no explanation is given and no automated                       tions that are not valid.
means of changing the configuration to accept these PSUs is               (b) Unexplained errors. Configuration errors are raised
provided. While this might seem unimportant in this specific                  as soon as they are produced, but no explanation is
PC example, it can be really problematic when numerous                        given to the user.
options are provided to the user.                                         (c) Invisible propagations. Unavailable options are hid-
                                                                              den. The user is unaware of them and thus cannot ask
Consider instead car configurators, arguably the most popular
                                                                              for a repair.
kind of configurator [5]. Cars are known to give access to a
high number of options and accessories. Their configurators,          2 We indeed observed that in their asian counterparts, configurators
                                                                      often limit the customer’s choice to a smaller number of models with
1 See http://www.dinopc.com                                           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 explain-
   ing 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.                            Figure 6. Reasons for lack of repair
    (c) Understated: Too little emphasis is given to the mes-
        sage, 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 auto-
   mated repair mechanism directly proposes solutions to the
   user (see Figure 4). These are:
    (a) Unknown effects: The configurator proposes to mod-
        ify the configuration, but does not explain which op-
        tions would be changed.
    (b) Cascading repair: The configurator is able to detect
        the option o1 to change to achieve the user’s goal. How-
        ever, if changing o2 requires changing another option
        o2 , the configurator alerts the user only after she ac-                Figure 7. Issues encountered in manual repair
        cepted to change o2 . This process is repeated as many
        times as the total number of options to change.
                                                                     undetected errors. Indeed, 46 configurators are not able to
                                                                     detect all the inconsistencies that may occur in a configura-
                                                                     tion, 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 config-
                                                                     urators 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.
                                                                     Figure 7 reports issues observed in the 14 occurrences of
                                                                     manual repair. The four kinds of bad practices occur al-
                                                                     most equally, with six occurrences of misleading explanations,
                                                                     seven of misplaces explanations, five of understated, while
  Figure 5. Number of configurators that support repair mechanisms   seven configurators propose incomplete solutions. In total,
                                                                     only four configurators implement manual repair properly (i.e.
Results. As a first step, we measure how many configurators
                                                                     without exemplifying an identified bad practice).
exhibit cases of manual repair, assisted repair, and no repair
at all (see Figure 5). It turns out that 46 configurators do not     Regarding the 23 configurators that provide assisted repair
provide a repair each they should. Manual repair occurs in 14        (see Figure 8), only one of them suffers from the cascading-
configurators, while assisted repair does in 23. These num-          repair problem. The problem of unknown effects is, however,
bers also reveal that the way repair is handled is not always        more frequent with 11 occurrences. Overall, half of these
consistent within a given configurator. Indeed, it happens that      configurators handle assisted repair properly, although only
for some errors the configurator provides no repair, while for       eight of them provide this functionality each time it is needed.
others it provides manual or assisted repair. This is symp-          This low number corroborates our previous statement that
tomatic of configurators that are developed as any software          managing configuration repair is a laborious task that cross-
and do not rely on a rule-based engine to perform logical            cuts the whole configurator.
computations [4].
                                                                     Surprisingly, the choice between manual and assisted repair
Looking at the no-repair cases (see Figure 6), we find out that      highly depends on the considered industry. Car configura-
the most common reasons for the absence of repair are the            tors rely more often on assisted repair than on manual repair
                                                                     5. Cyledge. 2017. Configurator Database. (2017). Retrieved
                                                                        July 24, 2017 from
                                                                        http://www.configurator-database.com

                                                                     6. Xuegong Ding. 2008. Product Configuration on the
                                                                        Semantic Web Using Multi-Agent. In ICNSC ’08.
                                                                        304–309.
                                                                     7. Alexander Felfernig, Lothar Hotz, Claire Bagley, and
                                                                        Juha Tiihonen. 2014. Knowledge-based Configuration:
                                                                        From Research to Business Cases (1 ed.). Morgan
                                                                        Kaufmann Publishers Inc., San Francisco, CA, USA.
           Figure 8. Issues encountered in assisted repair
                                                                     8. Gerhard Fleischanderl, Gerhard E. Friedrich, Alois
                                                                        Haselböck, Herwig Schreiner, and Markus Stumptner.
(19 cases against 2). On the contrary, manual repair is more            1998. Configuring Large Systems Using Generative
common in computer and electrical appliance configurators,              Constraint Satisfaction. IEEE Intelligent Systems 13, 4
whereas the audio configurators provide no repair at all. One           (July 1998), 59–68.
possible explanation is that assisted repair is more important
in customer-oriented configurators, while the ones aimed at          9. Arnaud Hubaux, Yingfei Xiong, and Krzysztof Czarnecki.
domain experts can settle for manual repair. Nevertheless,              2012. A User Survey of Configuration Challenges in
this observation justifies the need for studying both types of          Linux and eCos. In VaMoS ’12. ACM, 149–155.
repair.                                                             10. Tony Leclercq, Jean-Marc Davril, Maxime Cordy, and
                                                                        Patrick Heymans. 2016. Beyond De-Facto Standards for
CONCLUSION                                                              Designing Human-Computer Interactions in
Although repair is essential for a smooth user experience,              Configurators. In EnCHIReS@EICS 2016, Bruxelles,
our study reveals that it is rarely properly and thoroughly             Belgium. 40–43.
supported. This is indeed a difficult functionality to implement,
notably on the back-end side [9]. However, HCI guidelines are       11. Deborah L. McGuinness and Jon R. Wright. 1998.
also needed [10], especially as there is no de-facto standard           Conceptual Modelling for Configuration: A Description
across multiple industries [14]. Given the bad practices that           Logic-based Approach. Artif. Intell. Eng. Des. Anal.
proliferate amongst the configurators we studied, designing             Manuf. 12, 4 (Sept. 1998), 333–344.
appropriate HCIs for repair will constitute an important focus      12. B.J. Pine and S. Davis. 1999. Mass Customization: The
of our future research work.                                            New Frontier in Business Competition. Harvard Business
                                                                        School Press.
ACKNOWLEDGEMENT
This work was partly supported by the European Commis-              13. Rick Rabiser, Paul Grünbacher, and Martin Lehofer.
sion (FEDER IDEES/CO-INNOVATION) and the Wallonia-                      2012. A Qualitative Study on User Guidance Capabilities
Brussels Federation under the ARC programme.                            in Product Configuration Tools. In Proceedings of the
                                                                        27th IEEE/ACM International Conference on Automated
REFERENCES                                                              Software Engineering (ASE 2012). ACM, New York, NY,
 1. Ebrahim Khalil Abbasi, Arnaud Hubaux, Mathieu Acher,                USA, 110–119. DOI:
    Quentin Boucher, and Patrick Heymans. 2013. The                     http://dx.doi.org/10.1145/2351676.2351693
    Anatomy of a Sales Configurator: An Empirical Study of          14. C. Streichbier, P. Blazek, and F. Faltin. 2009. Are
    111 Cases. In CAiSE’13. Springer-Verlag, Berlin,                    De-Facto Standards a Useful Guide for Designing
    Heidelberg, 162–177.                                                Human-Computer Interaction Processes? The Case of
 2. Liliana Ardissono, Alexander Felfernig, Gerhard                     User Interface Design for Web Based B2C Product
    Friedrich, Dietmar Jannach, Ralph Schäfer, and Markus               Configurators. In HICSS ’09. IEEE Computer Society,
    Zanker. 2002. A Framework for Rapid Development of                  Washington, DC, USA, 1–7.
    Advanced Web-based Configurator Applications. In                15. J. White, D. C. Schmidt, D. Benavides, P. Trinidad, and
    ECAI’02. IOS Press, Amsterdam, The Netherlands, The                 A. Ruiz-Cortés. 2008. Automated Diagnosis of
    Netherlands, 618–622.                                               Product-Line Configuration Errors in Feature Models. In
 3. Thorsten Berger, Steven She, Rafael Lotufo, Andrzej                 SPLC ’08. IEEE Computer Society, Washington, DC,
    Wasowski,
      ˛       and Krzysztof Czarnecki. 2010. Variability                USA, 225–234.
    Modeling in the Real: A Perspective from the Operating
                                                                    16. Yingfei Xiong, Arnaud Hubaux, Steven She, and
    Systems Domain. In ASE ’10. ACM, New York, NY,
                                                                        Krzysztof Czarnecki. 2012. Generating Range Fixes for
    USA, 73–82.
                                                                        Software Configuration. In ICSE ’12. IEEE Press,
 4. Maxime Cordy and Patrick Heymans. 2018. Engineering                 Piscataway, NJ, USA, 58–68.
    Configurators for the Retail Industry: Experience Report
    and Challenges Ahead (to appear). In SAC ’18. ACM.