We constantly strive to add value to our customers and users by adding new features to make it easier to build applications and provide the best visualization and user interface.
In this endeavor, we realize some underlying technical challenges slow us down from time to time. We are therefore building a new WebUI framework that is flexible, robust, and easy to use for us and our users (e.g. when custom widgets are needed, or existing widgets need custom changes).
Some of the issues we aim to solve or address are:
- We have to build each widget from scratch since most widgets do not share a common base. Why reinvent the wheel when there are libraries that already provide a large set of charts!
- Lowering/eliminating the dependency on third-party libraries that are no longer updated(maintained) or have legacy code that makes it difficult to build new features.
- Dependency on certain technologies due to compatibility issues between different frameworks.
- The current custom widget framework needs to be constantly updated each time a new feature is introduced.
- Maintaining custom widgets is cumbersome as it needs to be updated and upgraded from time to time.
What will this new framework offer:
- We want to open up our framework to customers and the community so that they can build their custom widgets more easily.
- When building new widgets, developers can pay more attention to the UI than how to get the data.
- We have the ability to use any chart library*, eg: Google Charts. * Features limited to the chart library
How this would work in a nutshell:
- Each widget will require data in a specific format, typically a JSON.
- The widget builder can call an API that lets you request AIMMS data in the custom specified format.
- It will be the task of the widget builder to specify this format in such a way, that it matches the format that the widget requires as close as possible. Some manipulation might be required.
- As a result, you should just be able to directly feed the widget with the data you retrieve from the backend.
We are currently building POCs and running trials. Watch this space for more info in the coming weeks.
Please post any questions, concerns, or suggestions you might have in the comments below.