Advantages and disadvantages with different configurator solutions
There are different types of configurators and all have their advantages and disadvantages. This will give you a good introduction to configurators and how they work. The descriptions are somewhat simplified and configurators are generally a mix of different solutions. This, however, is an introduction how to address different typs of configurator problems.
Different types of configurator solutions explained:
Sequential configurator
The Sequential configurator is the most common type of the simple configurators. Mostly because this is the configurator type most programmers would start by creating.
A sequential configurator is mostly made in a programming language, such as Java, an consist in its most simple form of if-statements.
Advantages
- Easy to create - intuitive
- Does not need the purchase of external software
- The user have to respond to the users in a specific order
- The user typically needs to respond to all questions
- Hard to create a conflict resolution to the user
- Updates in the data typically forces changes in the configuration programming code. Changes that needs to be performed by a programmer
- Very hard to maintain the configuration logic
Relation based configurator
The Relation based configurator is another type of simple configurator. It is very intuitive to create and easy to understand. It, sometimes, demands a specific type of software but can also be created in i.e. MS Excel.
A relation based database is created simply by setting up a table with all compatible and incompatible combinations. One component on the X-axis and the other on the Y-axis. In the intersection of the two axis, information about their compatibility is submitted.
| Machine A | Machine B | Machine C | Machine D | |
| Component X | - | OK | OK | OK |
| Component Y | - | - | - | OK |
| Component Z | - | OK | - | OK |
| Component W | OK | - | OK | OK |
Advantages
- Easy to create - does not demand programming knowledge in the most simple setup
- Intuitive connections
- The table is growing exponentially for every component added to the configuration
- Maintenance will become a nightmare when the the database grows larger
- If the circumstances for the compability between certain components are changes, then the configurator basically has to be re-created. "Compatible / Not compatible" does not really tell you anything about what it actually is making the components compatible.
Excel configurator
Most of the home-made configuratos are made in MS Excel by experienced Excel-gurus. These configurators are often a mix between the different configurator solutions mentioned above. You can use relations, programming code (through macros) and relatively powerful functions such as VLOOKUP.
Advantages
- No extra software needs to be purchased, typically
- Knowledge often exists in-house
- The Excel environment is well known by most users
- Often difficult to maintain
- Often difficult to understand and use for the user
- Is not (easily) connected to the web
Database based configurator
The database based configurator is another common solution to configuration problems. You can use powerful databases such as MySQL or Oracle and make advanced database searches. In this type of configurator solution, you specify every solution and which components that are compatible within this specific solution.
| Monitor | Processor | Memory | |
| Solution #1 | 14", 15" | 1.3 GHz, 1.4 GHz | 256 MB, 512 MB |
| Solution #1 | 15" | 1.5 GHz | 1024 MB |
| Solution #2 | 14", 17" | 1.3 Ghz, 1,5 Ghz | 512 MB, 1024 MB |
Advantages
- Relatively powerful
- The user can answer questions in any order
- You can end up in a situation where the configurator cannot find a solution (after already making dozens of selections)
- Hard to maintain
- Gets slower the more data there is in the database
Attribut och constraint-baserad konfigurator
The most powerful configurator solution is based on constraints and attributes. To put it simple, you extract the very core reason to why certain components are compatible and add a constraint matching those attributes. Basically, the configurator constraints will answer the question why certain components match, not only if they are compatible.
An example of an attribute based constraint is:
Inner pipe (diameter) <= Outer pipe (diamater)
Advantages
- Very powerful and often very fast
- The user can answer questions in the order he or she prefers
- Easy to maintain
- Can be extended to a web user interface
- Intuitive for the user
- Makes detailed conflict resolution possible
- A basic knowledge is typically enough to create and maintain the configuration
- Has to be bought - virtually impossible to create in-house
- Is typically not profitable for minor configuration problems with few combinations
- Expensive when puchases (but often cheaper in the long run)