Towards More Flexible Configuration Systems: Enabling Product Managers to Implement Configuration Logic Klaus Pilsl and Martin Enzelsberger and Patrick Ecker1 Abstract.1 Developing a configurator requires a deep 2. Code / macros / scripts understanding of the configurable product. The configuration logic 3. Object oriented form must encompass the way product components may be combined 4. Mixture and customized, as well as how the integrity of a configuration can be verified. When products evolve over time, the configurator must Due to the penetration of relational database management systems be adapted accordingly. Product Managers are intimately familiar with the features and capabilities of a product and drive its [5] and the software solutions the configurators are built with (i.e. development. By enabling them to specify the configuration logic ERP-Systems) most configurator system use that relational data of a product, the time required to introduce new products or structure. respond to changes in existing ones can be reduced significantly. In Each of the above listed data structure has its own problems and order to achieve this, an environment must be provided that drawbacks. The following paragraphs will highlight those. facilitates the implementation of configuration logic in an efficient and intuitive manner. In this paper we try to identify the key aspects of such an environment and present our experiences in 2.1 Relational form realizing a product configuration system based on our findings. Relational data structures need to image the product data in tables. These tables follow either a predefined [6] or a user generated 1 INTRODUCTION schema. It is obvious, that product managers have more flexibility if they can define their own schema, which is necessary for certain Creating and maintaining a product configurator is usually a kinds of products [7][8], but it also demands a higher skill level complex task [1]. The configurator database report 2014 [2] said, from the product managers, which most of them do not have. that 14% of the 900 configurators running 2013 disappeared 2014. But even in predefined schemata the problem remains, that the Keeping a configurator running and up to date is often more time data of the product need to be squeezed in this predefined form. consuming than expected. The challenge here is, to find a way to maximize functionality and For reducing the creation and maintenance expenses for readability which are adversary. configurators, it is the target to give product managers the tools to Our experience has shown that the majority of the product create configurators themselves. managers quickly lose sight on the complexity of the data This article focuses on the very practical problems product structures they develop. managers face in building product configurators. Further on we Problems: identify key elements of an optimal configuration system environment. This leads to new approaches in the way the data is  The product managers are forced to establish an extra being entered, calculated and presented through the web. Notable documentation layer to keep the system manageable. findings will be presented in the last section.  The complexity especially for rule driven visualizations outruns many product managers’ capabilities. 2 DRAWBACKS OF COMMON DATA  The chronology the system has to calculate the rule needs STRUCTURES USED IN to be defined by the product manager. This is discovered CONFIGURATION SYSTEMS as a major weak point in terms of error and debugging expenses. As described in Ecker [3] and Šormaz [4] there are different ways of how the product data can be provided: 2.2 Code / macros / scripts 1. Relational form Code allows the product managers to transcript even most complex rules. The product manager does not have to follow a predefined 1 IndiValue GmbH, Sarleinsbach, Austria, email: schema at all. klaus.pilsl@combeenation.com, martin.enzelsberger@combeenation.com, Problems: patrick.ecker@combeenation.com  The period of vocational adjustment is very high.  This informal freedom, however, quickly leads to a lack 3.1 Instant feedback of lucidity, which makes this form of product data unpopular for product managers who are not software The process of creating product data is usually defined by the developers. following steps:  It demands a high skill level in software development  Modeling the structure and rules from the product manager  Saving and compiling  Developing a configurator by coding is time consuming  Testing and expensive This iteration is continuously repeated, until the product data is  Future adapting and enhancements are also expensive and finished for publishing. The described process is called time consuming progressive evaluation [10]. Progressive evaluation can be very time consuming. Especially testing (opening a test configuration, navigating through the 2.3 Object oriented form configurator to the point of interest, collecting the test data, closing Just like with the relational form there is a schema, but here they the test configuration) is very expensive. are called classes. The product manager can define an individual If a system would save the data instantly give instant feedback classes for every product. The main difference to the relational even into every displayed data affected by the changes including an form is that the rules create dependencies, not the entities of the always open test configurator, the time needed for modelling database. product data would greatly be reduced. That gives the product manager the ability to freely transcript Leitner et al. [11] state that testing and adapting the layout of the product rules into the system without the need of creating a the configurator interface plays a major role in developing a database structure or a schema fitting his requirements first. suitable user interface for configurators. Rapid prototyping Problems: processes can be implemented with Combeenation, an innovative configuration environment that supports application development  The period of vocational adjustment is moderate. on a graphical level and enables immediate user testing.  This form demands a very sophisticated user interface to guide the user properly. 3.2 Simple user interface structure The advantages of this approach are: Concerning the user interfaces of the configurator management  Because of the fact, that the class is individual for each system many user interfaces are IT oriented. That means the product, the system can create it, while the product interface is built on the necessities of the system, the data structure manager models the product. and the underlying technology that runs the configurator system.  Classes can also be derived (inherited). So the product As described in Ko et. al. [12] most of the product managers are manager can easily create variations of the product data. experts in the field of their product, but aren’t very practiced in the use of integrated development environments (IDEs) or other user interfaces which are mainly designed for software developers. 3 KEY ASPECTS OF THE OPTIMAL The key aspect in this area is to create a user interface for a ENVIRONMENT configurator management system that focuses on the product itself instead of the technical system. The product in its actual visual There are several key aspects which define an optimal product appearance should always be visible to give instant feedback of the configuration environment which support the product manager in changes made. The components, the properties, the rules and the building the product configurator. controls the product manager has to work with needs to be As a result of our experience and findings we created a presented in a continuous and integrated way, regardless how these configurator management system which fulfills the requirements items are used for. This reduces the times needed to jump between described in this paper. This system is call Combeenation[9]. screens, menus or pages. The user interface of a configurator plays a key role for both, consumers and product managers. Leitner et al. [11] identified five key principles for developing user interfaces for configurators which are suitable for both types of users.  Customize the customization process: Adaption of the user interface depending on the type of customer.  Provide starting points: Initial design from which the customer can continue the configuration process.  Support Incremental Refinement: Tradeoff analysis (i.e. product comparison functionalities). The Configurator Management System Combeenation from IndiValue GmbH. Showing the user interface designer of a front door configurator.  Exploit prototypes to avoid surprises: Development and presentation and communication. So the system is Teach the customer: Increasing the user’s knowledge supported by every modern Browser without the need to about product properties. install plugins or downloaded software the product manager would have to install first. Besides these key principles, the arrangement of user interface  Quick start: To allow new product managers an easy and elements of the configurator as well as the kind of process quick start into the system, we decided to implement the navigation (i.e. handling, ease of use, guidance through the solution as Software-as-a-Service (SaaS) and hosted it in configuration process) affects the customer’s satisfaction with the the Cloud (in this case Microsoft Azure [3]) configurator [13].  Another aspect of SaaS is, that the product manager does not need to invest administration and maintenance work 3.3 Separation of data and rules to run the system. In mass production industries it is common to integrate values (sizes, angles, weights, etc.) into the structure data (i.e. CAD 4.1 Graphical product representation systems). That is okay as long as the products do not change much Visuals are crucial and the biggest part of the mission. Most users after they are released to market. valuate product primarily on its visual appearance. This applies for In mass customization [15], however, the product and with it its consumers just as for product designers. We put a lot of effort into values change continuously using product configurators. It is also providing a flexible system for the visual representation of the often needed to start configurations of a specific product via product. different starting values (several presets for the same product). Changes in the visual will be applied in real-time. Instead of These requirements can be met by separating the configurable rasterized graphic formats we use scalable vector graphics (SVG) values from the rules and structure data. This way different sets of for a better image quality. The visual editor is interactive and you values can be easily combined with different versions of rules and get what you see (WYSIWYG). After the configuration process is structure data. ended by a user each scalable vector graphic can be converted to a How difficult/easy it is to apply a small change in an established PNG or PDF file, making it easy for further processing or printing. structure with/without this separation will be defined by the The usage of SVG also allows us the enable custom fonts, viscosity of the system [15], which describes the flexibility of the gradients, patterns, mask, filters and many other effects. For more system. information about SVG see [16]. To supply such a flexible system it is important to make this separation. That also has to be taken care of in the user interface, so that the product manager knows, which parts (values vs. rules) of 4.2 Quick response times the product are stored where. Our system is built with low response times in mind, since researches have shown that higher latency times have a negative 3.4 Separation of product design and UI influence on the user acceptance, no matter if that is for consumers design environments or product managers [17]. We experienced that latency times need to stay below 250ms We experienced, that product managers working with configurator otherwise most users interact with the same UI element again (e.g. management tools, which do not separate the user interface clicking a button). designer from the product designer, struggle with data duplication. This speed must be achieved with any representation of the Some applications need to be displayed on different devices changes: simple values, results of complex chained calculations, (desktop, tablets, smartphones), or on different channels (websites, visuals, and so on. apps, social media channels …), or some of them need to be refurbished to meet new requirements. In order to create several different user interfaces for the same 4.3 Calculation on server and client product, they have to also duplicate the product data. That leads to more data, which greatly increases the workload of the product manager, if this product data needs to be modified. To achieve quick response times, it is necessary to split the By separating the product design from the user interface design calculations on the server and client side. The product manager, environment the product manager can address these requirements. however, must not be confused. It always must be clear on where the calculation will be done, because there are advantages and disadvantages with either method: 4 IMPLEMENTATION OF A PRODUCT The advantages of server side computations [18]: CONFIGURATOR SYSTEM  Big data necessary for a calculation does not have to be To meet the needs described we developed a system for creating transmitted to the client product configurators. In order to make the use of the system for  Product rules are knowhow of the company which needs the product managers as easy as possible, we have chosen to use to be protected. Some product managers don’t want to these standards and technologies: transmit this knowledge to the browser of the client. Our  HTML5: For maximum acceptance and further system won’t transmit the company’s knowledge to the developments we have chosen to use HTML5 for client at any time. Just the results are transmitted and 5 CONCLUSION presented to the client. We have highlighted the problems and drawbacks of current  Virtual machines, which are hosted in a datacenter, offers systems, which product managers use if they want to build a far more computation power than a client device. product configurator. Further on we emphasized key aspects which  Progress is always saved. If a user catches up later he are needed for such a solution, including a responsive and easy to may continue where he left the configuration (also on understand user interface and a strict separation of data and rules. other devices). With these findings in mind we built the configurator management system Combeenation [9], which addresses all those  It would be possible that more users collaborate on the problems and provide an all-in-one solution. This solution is same product. trimmed to rapidity, easy to use, flexible and is highly scalable. Disadvantage of server side computing: First client projects are currently implemented with Combeenation and all usability and performance issues in these projects are  The system needs to be designed to scale up on demand. monitored to provide further data for potential improvements. This can be done through distributed computing with automatically adding virtual servers if needed. This is especially difficult to implement if the machines work REFERENCES with stateful sessions. [1] T.A. Rogoll and F.T. Piller, Konfigurationssysteme für Mass Advantages of client side computing: Customization und Variantenproduktion, ThinkConsult. 2003. [2] Blazek, P., Partl, M., Streichsbier, C. (2014): Configurator Database  Quick responses are possible Report 2014, Vienna  No network communication needed [3] P. Ecker, Sicherheitsaspekte bei der Entwicklung einer Software-as- a-Service-Lösung mit Windows Azure, University of Applied Disadvantage of client side computing: Sciences Upper Austria, Hagenberg, 2012.  Only simple calculation should be done, because [4] D.n. Šormaz, Distributed Agent-Based Integrative Model For Mass transmitting big raw data into the client browser can be Customization Product Development, Ohio University, Department of Industrial and Systems Engineering, 2010. ineffective [5] C.M. Ricardo, Databases Illuminated, Jones & Bartlett Publ., 2011. To take a good mix of both advantages it is possible let the [6] ISS+ from MoveIT GmbH, Product Builder in Microsoft Dynamics system operates on server side calculation for the product design NAV rules and on client side calculation for the UI design rules. [7] Front Door Configurator from TOPIC GmbH, Austria This way calculations of the product itself are done on the [8] Window Configurator from IFN Internorm AG, Austria server and calculations concerning the user interface (i.e. jumping [9] www.combeenation.com [10] T. Green and A. Blackwell, Cognitive Dimensions of Information to a certain page based in input data) are done on the client. Artefacts: a tutorial, 1998. The separation of product design and UI design environments [11] G. Leitner, A. Felfernig, P. Blazek, F. Reinfrank, G. Ninaus, User (see 3.4) allows the system to intuitively distinguish between both Interfaces for Configuration Environments. In: A. Felfernig, L. Hotz, methods. C. Bagley, J. Tiihonen (eds.), Knowledge-based Configuration: From research to business cases, 2014. [12] J.R. Ko, R. Abraham, L. Beckwith, A. Blackwell, M. Burnett, S. 4.4 One solution Wiedenbeck, The state of the art in end-user software engineering, ACM Computing Surveys, 1-44, 2011. Most systems on the market cover one part of the mission. The [13] P. Blazek and K. Pilsl, The Impact of the Arrangement of User other parts are done by other software tools which needs to be Interface Elements on Customer Satisfaction in the Configuration connected via interfaces. Process, In: T. D. Brunoe et al. (eds.), Proceedings of the 7th World A common thing for instance is, to create a product configurator Conference on Masss Customization, Personalization, and Co- by using an ERP-software [19] and linking a CAD-software [20] Creation (MCPC 2014), Aalbor, Denmark, 2014. with it to create the visuals. [14] F.T. Piller, Mass Customization - Ein wettbewerbsstrategisches That leads to this constellations: Both systems hold their own Konzept im Informationszeitalter, Deutscher Universitäts-Verlag, product data. Many parts of these 2 data sets need to be redundant 2006. on both systems. And there is a third set of data: the interface itself [15] T. Green and M. Petre, Usability Analysis of Visual Programming hold data, too. Environments: A ‘Cognitive Dimensions’ Framework Journal of Visual Languages & Computing, 131-174, 1996. Product managers struggle with the big amount of human [16] J. Ferraiolo, Scalable Vector Graphics (SVG) 1.0 Specification, resources needed to keep these data sets up to date. http://www.w3.org/TR/2001/REC-SVG-20010904/REC-SVG- It is less maintenance works if all the modules needed for 20010904.pdf, September 2001 product configuration are handled by one system [18] with one [17] F.H. Nah, A study on tolerable waiting time: how long are Web users data set. willing to wait? College of Business Administration, University of All the modules of this single system run on this one set of data, Nebraska-Lincoln, 2004. and any module of that system can directly and without conversion [18] M. Enzelsberger, Entwicklung von Hive, einer domänenspezifischen access the data needed to fulfil its function. Combeenation Sprache zur Spezifikation von Produktlogik durch Nicht- provides such a system. Programmierer, University of Applied Sciences Upper Austria, Hagenberg, 2012. [19] Internet Pricing and Configurator from SAP AG (SAP IPC) [20] Inventor from Autodesk, SolidWorks from Dassault Systems, etc.