In this blog, we will explore the concept of software extensibility. Given our specialization in eCommerce at XCentium, our focus will be on how extensibility applies to eCommerce (B2C/B2B) solutions with a specific focus on Kibo Commerce.
As a consultant specializing in eCommerce solution implementation, I directly engage with software extensibility. Much of the implementation process involves customizing a solution to satisfy the requirements of new website managers.
What is Extensibility?
Extensibility refers to the ability of a system, framework, or software application to easily accommodate and integrate additional functionalities or features.
Key considerations include:
- Evaluating the solution’s capacity for extension
- The complexity involved in creating various extensions
- The ongoing effort required to manage extensions throughout the solution’s lifecycle
It’s vital to factor in the potential impact of the base code upgrades, as they may necessitate adjustments to existing extensions.
Why is extensibility important?
Extensibility is a major consideration for both the eCommerce solution vendors and the customers.
From the vendor’s standpoint, recognizing the customer’s desire for maximum extensibility with simplicity is crucial. One of the major hurdles that an eCommerce solution must overcome is how to reliably allow each platform client the ability to customize the solution to fit their specific business needs.
On the customer’s side, when purchasing an eCommerce solution, they will want to alter the solution if it deviates too far from their respective business practices. Additionally, customers often bring innovative ideas that can reshape entire facets of the solution, which would further give them a competitive advantage until their competition implements similar functionality.
The implementation of a new eCommerce solution entails significant investments in time and money. It’s important to have a solid understanding of your current business processes and how the proposed solution is going to fit within those processes. Make sure to document all areas where these deviate and find out if those can be addressed via extensibility of the solution. That way, you’ll avoid the undesirable scenario of making a substantial investment in a solution that ultimately does not align with your business model.
Extending the UX
If you are operating in headless mode, you have your own custom User Interface (UI) that is running on top of the Kibo APIs. This allows for complete customization of the UI to align with your specific business requirements. While this approach provides unparalleled flexibility, it also comes with the highest associated cost, as it necessitates the creation and ongoing maintenance of a customized UI.
On the other hand, Kibo also offers a Storefront solution, that presents a pre-built UX with complete source code accessibility. This option allows you the flexibility to either make no customizations or tailor specific parts as needed. The storefront solution enables a faster website setup while maintaining your specific business processes that make you successful.
Extending the back-end APIs
When working with a client to set up their eCommerce solution, we are often asked to augment existing backend processes. This allows us to make targeted customizations that fit within the existing business flow of the solution.
Using a fictitious scenario, when the end-user (or shopper) adds targeted items to their cart, you want them to automatically receive an email that provides a special coupon code for that specific item. Depending on the level of extensibility provided by your eCommerce solution, this may not be practical or even possible.
Another example of this type of extensibility would be the addition of new data that could be returned from the backend, which would then drive functionality on the website.
Consider how to handle Proposition 65 requirements in California. We would define a new field on the Product data model to hold the new property. Products would be flagged as hazardous or not. Then the UI would react to the new data element and show warnings to the end-user.
Adding new features
We will examine the case for larger features that fall outside the existing business flow. These customizations often necessitate additional UI to manage and display the feature data or functionality.
Imagine that we want to create a custom loyalty program for our loyal customers who attend local events that we sponsor. We would need to add new database tables to store the attendance and add new pages to the website to track and display participation.
Kibo allows the creation of applications that can run alongside the Kibo solution. We would create the code for our participation tracker as a new Application. Then, the new UI would interact with the new Application in a seamless manner.
Putting it all together
To review, we have covered three fundamental areas of extensibility and how they are addressed by Kibo:
- You are given full control of the UX and can make any customizations you feel are necessary to support your brand and your business processes.
- You are given the ability to tap into the event flow of the website and add custom functionality.
- For larger or more complex initiatives, you are given the ability to add applications to your website that add capabilities that may be outside the standard business flow of the standard website.
I hope you found this topic interesting and/or thought provoking. If you have any questions around this blog or are interested in learning more about Kibo Commerce + OMS, feel free to send me a message at email@example.com or learn more about XCentium by visiting our website.