The input from the Thinkwise community has been essential for the creation of this roadmap. Submitting your ideas and voting on ideas in the new Thinkwise Community will play an important role here, to gather and determine the value of new ideas. In addition, we closely monitor developments in the market, provide technology updates, conduct research into new technologies and innovations, and validate the roadmap with customers, Forrester and Gartner.
This roadmap is not a comprehensive list of all new features but is intended to provide some visibility into our key investments. The mentioned feature sets and timeframes are current at the time of writing and subject to change.
ThemesIn the past year, we have taken a slightly different direction at Thinkwise. Besides doing transformation projects to modernize our customers' legacy software, which we will always continue to do, we are increasingly focusing on distributing the Thinkwise Platform itself.
For this reason, we are focusing on two themes this year:
- Improving the developer experience, to make developing and deploying Thinkwise applications as simple, foolproof and agile as possible;
- Improving our quality assurance tools to help developers build the most secure and high-quality solutions.
A number of projects are planned related to the Developer Experience, aimed at making the Thinkwise Platform easier to use and enabling developers to create even better solutions.
Requirements and DesignIn the past year we have given the integrated Requirements and Design a considerable update in the areas of change management (using reviews and baselines), task management and progress tracking.
Since then, we have gathered a lot of feedback from a range of customers and projects which we will use to further align Requirements and Design with the ever-growing projects in the coming year. It will be easier to manage the development process and gain insight into the progress and planning of your projects. Think user stories, backlogs, sprints, tasks and bugs.
In addition, we plan to provide integrated manual test plans, test cases and test findings registration.
Development MethodologyHaving the right tools for the job is one thing, but how to effectively use the tools to build an optimal solution is another. Once you have clearly defined the requirements, how do you develop the best possible, most user-friendly application?
To assist developers in this, Thinkwise R&D is working in a joint effort with Customer Solutions and the Thinkwise Academy to define a clear and unambiguous development methodology, containing guidelines, best practices and concrete examples of how to use the Thinkwise Platform effectively. This methodology will guide developers through the entire development process, from the process analysis, via requirements and design, to an optimal, process-driven solution.
DeploymentIn 2018 we simplified the deployment of Thinkwise applications (and the Thinkwise Platform itself) with the release of the Thinkwise Deployer. Various improvements have also been implemented regarding deployment in the cloud, for example on Azure.
To simplify composing the deployment packages, we are currently working on moving access control (setting up roles) from the Intelligent Application Manager to the Software Factory development environment. This makes it possible to create the deployment packages for the Thinkwise Deployer from the development environment. Besides, setting up these roles is part of the development process, as technical knowledge of the application is required.
Another advantage of moving roles to the development environment is that it becomes possible to validate role authorization. With its release in version 2019.1, several standard role validations are included. But of course it is also possible to add custom validations, for example to check if the correct prefilters are enabled for specific roles.
Later this year, developments are planned to deploy specific modules (sets of roles) and to provide integrated license management. This is particularly interesting for independent software vendors and system integrators.
Business Rules ModelerA visual business rules modeler is something that has been on our mind on and off for quite some time, and we've already done extensive research in modelling complex rules using relational algebra and converting rules into different programming languages. However, the project has never really been given priority as the necessity was low. Developing business logic with the Thinkwise logic concepts already is quite accessible and very powerful.
However, because more and more people without a programming background are using the platform, we picked up this project again last year and started working on a visual modeler. We expect to be able to deliver a first version of the business rules modeler this year.
Using the business rules modeler, it becomes possible to design complex business logic without writing code. This logic can then be applied to the backend and as offline logic in the clients. It also opens the way for a future business rule engine in the Indicium Application Tier.
The business rules modeler will get support for advanced features, such as set-based operations and loops, but modelling business logic is not always the most efficient. Developing logic through SQL (and R, Python) will always remain possible.
Branching and mergingTo improve and stimulate the use of branching and merging, time will be spent in 2019 on optimizing and expanding the branching and merging features like, for example, pull requests in GitHub or Azure DevOps. We're currently evaluating options to optimize performance, improve review and validation options, record changelogs and release notes, and more.
In addition to the mentioned Development Methodology, which will also benefit the quality and user experience of applications, there are several other developments on the agenda in the context of Quality Assurance.
Below is an overview of some projects that are already running or that we want to start this year.
Unit TestingUnit Testing makes it possible to test logic concepts, like defaults, layouts, subroutines and triggers, from within the development environment. These unit tests can be designed by developers along with (or - in case of test-driven development - before) developing the business logic. Because unit tests are run by the development environment, there is no need to fire up the Windows user interface as with the current process tests. Unit tests are particularly suitable for functional and regression testing of specific business logic.
Existing automated test cases can still be used for process, integration, smoke and regression testing through UI automation. And moving roles to the development environment also clears the way for executing these test cases while respecting user rights.
A first release of Unit Testing is scheduled for the 2019.1 version.
Quality DashboardA new integrated quality dashboard is going to be developed that will show the overall quality of a project version at a glance. Think of unhandled validations messages, control procedures that have yet to be reviewed, code analysis issues and more.
Guidelines and validationsThe Thinkwise Academy is currently setting up a range of guidelines for data modeling, user experience, SQL programming, version management and more. These guidelines will, as much as possible, also be converted into automated validations.
By automatically executing validations in the background and displaying possible validation messages more prominently, for example in the ribbon, the quality can be monitored continuously.
MonitoringThe Universal User Interface and Indicium Application Tier will be equipped with advanced monitoring and analytics features to monitor the health, performance and stability of Thinkwise applications. By collecting information and monitoring the infrastructure through both the Thinkwise Platform and third-party solutions, like Application Insights, Sentry and App Center, the Thinkwise Platform will be able to recognize and diagnose possible problems even before they manifest, continuously improving performance and stability.
Universal User InterfaceIn 2019 we will continue to put a lot of effort in our next generation Universal User Interface. This new user interface is being re-developed from the ground up with the latest technologies (React, Redux) and user interface design concepts. It will be more beautiful, faster, more engaging and easier to use than our current user interfaces.
This Universal User Interface will be completely compatible with and become available for all existing Thinkwise applications. Eventually, it will even replace the current desktop, web and mobile user interfaces.
Log in to the Universal demo environment for a peek at the alpha version.
We expect to release a first Minimum Viable Product of the Universal User Interface somewhere in April, with basic data manipulation functionality, tasks execution and lookup popups.
After that, we will continue working on phase 2, where we will incrementally release new versions with additional functionality, like offline data and logic, and all current Windows and Web user interface features like pivot tables, charts and other components, drag & drop and multi-window.
Early 2020 we plan to start working on phase 3, which is dedicated to converting the development environment tooling to React. When this phase is completed, somewhere midway through 2020, the Thinkwise Platform development environment has also been migrated to the Universal user interface.
Stay up to date with the development of the Universal User Interface by subscribing to our blogs!
WorkflowTo further assist in developing user-friendly, process driven applications, we're working on a range of features to provide an integrated workflow engine, making it no longer necessary to develop workflow functionality per application.
By adding an extra level of detail to the current BPMN diagrams and linking activities to process flows it should be possible to make the diagrams executable. To achieve this, there are several features that we need and which we are going to develop this year:
- Autonomous execution of process flows (system flows) by the Indicium Application Tier
- Being able to schedule these system flows to be executed periodically
- Integrated task lists, supported by process and system flow actions to create, start and complete tasks
Thinkwise AI assistantLast year we created a Natural Language Processing proof-of-concept (using Dialogflow) that would make it possible to fully control every Thinkwise application via text or speech.
Our goal is to develop a working prototype or perhaps even a beta release this year. In addition to using a SaaS solution like DialogFlow, we will also look at integrated contextual AI solutions such as Rasa.
Automated machine learning (AutoML)We've also created some very cool demos and features last year using Machine Learning and Predictive Analytics. More on that is coming soon with a series of blog post, so stay tuned.
One of the problems with applying machine learning is that manually selecting and tuning machine learning models and algorithms requires familiarity with a variety of model types and can be very laborous and time-consuming. Recently, software for automating this process has become increasingly good at solving that problem, like the open source libraries Apache Spark's Machine Learning Library (MLlib) and H2O’s AutoML.
This year, our AI experts will research the possibility of integrating these features in the Thinkwise Platform, hopefully bringing Machine Learning to all Thinkwise applications. Think of automated risk scoring, pricing optimization, fraud detection, supply chain optimization, lead scoring, stock optimization and predictive maintenance, for example.
We are constantly looking for interesting use cases in which we can work together with our customers to research innovative ideas. Have a good idea? Let us know!
Indicium Application TierWith the introduction of the Indicium Application tier, developed with .NET Core, we have taken major steps in the area of integration options. The OData RESTful API provides a powerful and secure way for third party apps to access all data, business logic and processes of every Thinkwise application. Read more about it here and here.
The new connectors and adapters provide even more possibilities to connect to external applications and services. Combined with the planned autonomous process flows, scheduling and integrated workflow engine, the infinite new integration possibilities will become available.
API SecurityThe Indicium application layer plays a crucial role in the safety of Thinkwise applications. It is designed and developed with security in mind, following the Security By Design principles, and offers extensive possibilities to control the confidentiality and availability of your data.
Various projects are planned to simplify and further increase the security of Thinkwise applications, while remaining as open and accessible as possible.
- Contextual row-level and field-level security - Resource staging and variant-authorization will provide an easier way to control access to fields or subsets of data based on context, for example fields that are hidden by defaults or variants with locked prefilters.
- Data Encryption - Do you want to store passwords or other sensitive data? Let Indicium encrypt and decrypt this data for you!
- Third-party authentication and Single Sign On - Let users or applications sign in to Indicium using OpenID Connection, OAuth or SAML. Or provide Single Sign On for external applications with the Indicium OpenID Connect Provider, just like we do on our Community.
These are some examples of the projects we have planned for this year. Our aim is to deliver three Platform releases per year, with the first release currently scheduled for April. The user interfaces and Indicium are released at the end of every sprint, which last three weeks.
As for the rest of the year: we continuously tune the plan based on research and feedback and will provide more detail in each of our four-monthly iteration plans.
Please follow along and let us know what you think!