The world is changing and it has been for a while now. New technology is making its way into our offices, factories and homes and it’s making us more efficient, work faster and automates (and eliminates) many of our everyday tasks. Among these inventions are the configurators – a software application that allows users to design their own products to their specific needs.
When we founded Configura over 20 years ago, no one was talking about configurators. Today, they seem to be popping up all over the place. A simple google search can lead you to “configurator-overload” – so where to start? In this article we will go through the basic understanding of what a configurator is and how it can simplify the work for many companies.
What is a configurator?
The general consensus is that configurators are responsible to guide a user through the configuration process. As this definition is a little fuzzy, there is a large amount of solutions gathered under the name configurators - from very simple to highly complex - that are solving many different problems.
Most commonly known configurators are simple, web-based solutions used in e-commerce where a user can add their own text or design to products such as t-shirts, hats, mugs etc. The product is visualized, defined and priced based on the different configurations the user performs. These systems are often used to replace the need for human customer service or live intervention during the check-out process.
Configurators are also popular in B2B and are today used in a wide array of industries. These tend to be more complex, solving problems that involve complicated calculations and high volumes of orders. Configurators can be integrated with other systems, such as ERP systems, and can often automate many tasks such as creating bills of materials, specifications and order documents.
At Configura, our configurators focus on system configuration combined with space planning. System configuration is when you look beyond the individual product to focus on the relationships between the products within a space. For example, complex products that require a configurator are wall systems. Wall systems can be configured individually in height, length and width but, when you put two walls together, the walls will make additional changes in relation to each other. A configurator takes care of this complexity and does all calculations for the user. We can see the same trend with desks, shelving systems and many other products used to define a space.
Why do businesses need configurators?
There’s a reason why large manufacturers turn to configurators, and there’s a related reason to why these companies are so successful. In the past, companies did not offer customization as it was just too expensive for the manufacturer and the customer, but today companies need to differentiate themselves from the competition. This has resulted in more custom and configurable products which in turn has added complexity to the sales process. Configurators simplify this process and can solve immediate problems such as decrease the time it takes to create quotations, improve order accuracy or eliminate configuration errors.
These are just a few benefits you can see by introducing a configurator. In the next article we will dig deeper into the world of configurators and how they differ from each other.
Configura started because of my dad, and because of a problem.
My dad owned an office furniture company here in Sweden in the 1980s and 90s. I remember him drafting on paper to specify products.
As a small business owner, the weekdays were constantly busy, so Dad would bring the specs home and work on them late at night or on the weekend. Changes to specs were frequent, and it would get frustrating to redo all of the required, very meticulous work to get the quotes right for customers.
At the time, I was a computer sciences graduate student at Linköping Institute of Technology in Sweden. Dad asked for my help.
After tinkering around with CAD and reaching a dead end, I went down my own path with the help of my best friend, Johan Lyreborn, also studying programming at Linköping.
My dad’s problem became our mission, and that’s what I want to talk about in this first blog post.
Remember MacPaint? Drag. Drop. Draw. That’s what I recall about this early Apple software product. Simple. Easy. Intuitive. It was made for regular people, not just for so-called “computer experts” like most software back then seemed to be. And that’s what we felt designing and specifying should be – a really easy and enjoyable experience for the end user.
All of those parts and pieces and prices and associated numbers? We believed that data should be written into the software and put behind the scenes – not in front where it creates a visual nightmare of complexity for the user. (Ultimately, parts numbers should be completely done away with, in my opinion. But that’s the subject of another blog post.)
Picture Legos – the building-blocks toy. We felt that’s how products should be presented and experienced in the user interface. Lego building blocks encourage creativity so even small children can build interesting constructs. In our case, we wanted to create a smart “Lego-like” product.
In other words, products would be represented by a small number of flexible “blocks” that would “know” how they could be combined and would adapt logically to their surroundings. That’s because product rules would be built into these blocks.
Our “cement,” so to speak, holding everything together, would be programming logic – not data.
Our goal was to create a system that would be instantly usable by interior designers, specifiers and salespersons, not just CAD experts. So, in our early struggle to create true ease of use and specification efficiency, we developed basic principles by which we would program our software. These principles included:
A super-condensed user interface (UI) through symbols representing “real” products
Product-specific snapping that automates rotation, placement and adaption
Snapping that remembers connections, usable by rules or logic, and automatically adds intermediate components (for example, a post)
Rules that automatically handle change, adaption, mirroring, addition and removal of products
Automatically generated 2D, 3D, calculation and order data
These logical principles yielded profound results: a visual interface which, through simple, gesture-based control, actively invited and encouraged exploration and design – resulting in an immersive, virtual-reality-like design experience. In other words, products simply behaved as expected.
When we tested our freshly built software on new users, we were greatly encouraged. With little effort, salespersons with no previous computer experience started to use the tool, quickly became immersed in design and even began to learn more about the products they were selling.
We collectively called these principles and benefits – which became our core business philosophy – Parametric Graphical Configuration (PGC). We will talk more about PGC in a later blog post.
My dad, Johan and I built Configura in 1990 on this foundation of PGC. Twenty-five years later, it remains our foundation.
Growing a sustainable business
At first, we developed our PGC-based solution in C, and then in C++.
We pushed these programming languages to their limits in an effort to adapt them to our problem domain. Along the way, we learned that continuing to program in these languages wasn’t sustainable. We were creating custom software for each new customer instead of inventing an industry-wide solution. As projects grew very large, development speed slowed to a crawl. We needed something scalable, capable of handling multiple companies and easy to distribute to huge numbers of end-users.
Our solution? Write our own programming language. The result was CM. It took us five years to develop this language to the point where we could deliver our first application to end-users
Creating our own success
CM executes fast for a highly immersive, interactive experience and allows for instant changes directly to the running program – no more slow compiles, slow links, startup and clicking around to restore test context. CM gives instant changes to the running application in whatever programming situation one encounters. Programmers no longer have to succumb to the slow, costly and debilitating waiting times that can dominate programming and kill creativity.
Our second-generation software, CET Designer, is based on CM. CET stands for Configura Extension Technology. The CET foundation allows manufacturer-specific Extensions (with their product rules) to be added onto the CET Designer core. Extensions are to CET Designer what apps are like to a smartphone.
With CET Designer, we have created ONE PLATFORM that can calculate and visualize products from multiple companies and industries.
Sixteen years later, the CM programming language is the backbone of Configura software. We wouldn’t be able to deliver our solutions so incredibly cost-effectively if it weren’t for this language. To our knowledge, there is no other available commercial or open-source alternative.
What can we do to help your company experience our solution?