Versatile and scalable product information management
Just over a year ago, at the end of October 2018, we released a new generation version of the Adeona PIM product information management system. The first year with the new product generation has been encouraging and has further increased the belief that we are on the right track. Here I describe a bit what has been done in the background and what has happened during the first year.
Better user experience and cloud-ready technology
A few years ago, we made a big decision. We wanted to significantly innovate the Adeona PIM product, both technically and in terms of user experience. After various reflections, we came to the conclusion that we wanted to renew the product by practically completely re-creating it. We had a few different reasons for this:
- better user experience and fully browser-based interface
- flexible, cloud-ready technology that enables technical scalability, different delivery models and easy upgradeability
- technologies that are comfortable and efficient to work with and that help attract the best talent to work for us
- making things faster: how to create new features faster and deliver them to customers
API and performance design background
Right from the start of designing the new version, it was clear to us that the product would be built strongly on API thinking. API means a programming interface through which, for example, different applications can transfer data. In our product, we would use an equally well-documented public API, whether it was “our use” (e.g. conversation between the user interface and the server) or the use of the API e.g. by a customer or even an e-commerce partner. Right from the first version, this idea has been liked, and we’ve received a lot of positive feedback from the interface documentation, as well as the clarity and ease of use of the API. Our API is a REST API where data is passed using JSON messages.
Right from the start of designing the new version, it was clear to us that the product would be built strongly on API thinking. Another design-guiding principle was to maximize system performance, even with large product volumes.
Another design-guiding principle was to maximize system performance, even with large product volumes. There are a lot of PIM products in the world, or the like, that work well for maintaining a few hundred products, e.g. in the background of e-commerce. Our customers often have tens or even hundreds of thousands of product items, so we want to support much larger product volumes and still allow for a good user experience and great performance. Several of our technology choices support this, but solutions have also been made in the system architecture in this regard.
We use both a traditional relational database (PostgreSQL) and a strongly index-based search engine (Elasticsearch) in the background of the system, which take advantage of their best aspects. The relational database helps e.g. ensuring data integrity and search engine for fast searches and fast streaming of data, e.g., integrations. Our PIM architecture has logic that indexes changes to the relational database to the search engine in near real time. The user interface, on the other hand, has invested in flexible and easy-to-use Excel-based export and import features.
Delivery model according to customer needs
Our customers are of all sizes and operate in different industries. Some of our customers want all of their systems in their own (or their partner’s) data center. On the other hand, more and more people want their system as an operating service. For these reasons, we want to be as flexible as possible with the delivery of the system and support different models.
In the background, we have commercialized system delivery, regardless of whether our customers want the system from us as a service (SaaS) or for their own environment. The productisation uses container technology (Docker), which allows the technical environment to be standardized and, on the other hand, easy and flexible upgradability to be supported. In addition to the use of containers, we have also productized e.g. automatic verification of system information to an off-site cloud service (Google Cloud Storage), regardless of where the system otherwise runs.
We have commercialized system delivery, regardless of whether our customers want the system from us as a service (SaaS) or for their own environment.
With the new product version, more and more of our customers want their PIM system from us with the SaaS model. In this case, we are responsible for the entire system and the customer only uses it and utilizes the system data, for example via the API.
Continuous updates easily and quickly
One of our goals for the new product generation was to enable quick and easy upgrades as well as faster development of new features. Life with the new product generation has started nicely and since the first official version release (10/2018) we have made a total of 12 version releases, i.e. about one every month. These updates have included about 500 new features or improvements.
Each new version release has been available to each of our customers approximately one week after the release. Upgrading is quick and easy. The Adeona PIM interface has a “PIM News” feature where our experts write tips on new features and how to use them.
It is also important to us that the components behind the system are updated. In this way, we avoid collecting so-called technical debt and in the coming years we would have to make huge upgrades. Adeona PIM utilizes numerous open source libraries and application components. Many of them are updated and evolve rapidly, and we make sure that we are not left behind.
Development together with our customers
The Adeona Community user community, which consists of our customers, is actively involved in the development of Adeona PIM. In 2019, we organized two workshops where, together with our customers, we designed new features and prioritized features that are already in development. By 2020, we hope our community will continue to grow and receive even more valuable feedback for product development. Come and join us!