Sovelia is a complex PLM product produced by Symetri. Sovelia's development is scattered across the entire Nordic region, and one of their Finnish offices needed my help in producing more modern entries to the product family, namely tablet and web apps that not just access vast product databases on any device, but also work in limited-connectivity environments.

An individual can spend a lifetime investigating all the use cases forĀ PLM software, so we wanted to define an MVP we could get out in the wild as soon as possible: create a low-cost-of-entry version for browsing and searching a Sovelia instance's product database and product history, and increase the number of users who can access Sovelia's feature set without training and locally installed desktop client. Any new web product should also sport a credible look and feel that supports the corporate brand, however loosely defined, and meet modern user expectations in usability.

Look of Sovelia MVP

Look of Sovelia MVP.

After researching the features and data model of the existing product, it was apparent that traditional navigation, browsing and search patterns would not give users adequete access to Sovelia's features. I started drafting potential solutions for browsing and searching product data and layout structures that could house the entire interface. I was able to gain critical insight into user behavior through my customer, and we ultimately focused solely on search as the most natural and conventional way for a typical PLM user to navigate vast product databases.

For me, grasping the sheer complexity and vastness of PLM data models was the most challenging and interesting part of the project. PLM deals with not only objects, properties and relations, but also time as it stores product revisions and change history data. We could employ commonly used UI patterns in our solution, but always with some caveats. There is no benchmark for responsive interfaces on this market and I applied generic design and problem solving methods to make the UI adapt to all screen sizes and input methods.

In concrete terms, my role was in UX design, visual design and delivering guidelines for the small internal development team. I would also give recommendations regarding technology choices and give up-front advise to the developers. We agreed on the format of the deliverables and ultimately I delivered a package of handover materials to the team.

The project suffered from a fixed budget model, and after starting development the customer did realize that up-front design and handover were not a successful way to get development on the right track. I was requested to join the project again, as the team did not have experience with web technologies and needed someone to set up client code architecture and implement the bulk of the MVP codebase.

Running product with real-world, localized PLM data.

Running product with real-world, localized PLM data.

We decided to start with a new codebase built on Knockout.js, and quickly got a fundamentally responsive and touch-supported client up and running against existing server side business logic and production data. The server integration proved to be quite a labor-insentive part of the project, and while we chose to go ahead with it for the MVP, I advised the customer to allocate future resources to build a new API abstraction to serve both this client and future prototyping needs.

The customer was very pleased to have my insight and expertise in their small team with a background in more traditional software development and maintenance.

Cad-Q is a massive corporation, and at the end of the project I was also invited to give a talk at their yearly developer days gathering in Stockholm to people from backgrounds and with questions that I don't often see in my day-to-day environment. I talked about how I approach product design in agile software development, how to use design thinking as a problem solving method and what the status of web frontend technologies is today.

Overall Sovelia taught me a lot about how to deal with very complex data structures in UX, IA and JS. The customer had very specific needs and problems to solve and I enjoyed applying my problem solving and design skills in an unconventional context.