Transition to the Universal UI
What makes the Thinkwise platform unique is our commitment to Technology-as-a-Service. We develop standardized technology, you create unique applications, and together we build never-legacy software. Over the years, the Thinkwise Platform has evolved with many different GUIs to meet changing technological standards and user expectations. Our current UI is the Universal UI, a modern responsive interface based on Progressive Web App (PWA) technologies that works seamlessly across devices and platforms. The Universal UI is served through our Service Tier Indicium, introducing a more secure and robust 3-tier architecture for your applications.
Check the feature matrix in the Thinkwise Community Portal (menu item Software > Feature Matrix) for an overview of the supported features.
Transitioning to the Universal UI is a straightforward process, due to the model-driven nature of the Thinkwise platform. With the 7-step approach the transition takes a few weeks for most applications. The exact timeline depends on your current model quality, use of extenders and deprecated features. Our goal is for all applications and users to transition to the Universal UI as quickly and smoothly as possible, allowing you to benefit from modern web capabilities and improved security.
We strongly recommend running the Universal UI in parallel for a short while with your existing UI, which you can do until the Thinkwise platform version 2025.3. After this, the Thinkwise platform only supports a 3-tier architecture. See the Lifecycle policy for more information.
Shifting to a 3-tier architecture
Previously, Thinkwise applications were typically deployed using a 2-tier architecture. This meant that the user interface directly communicated with the database. This approach worked for on-premise deployments with trusted networks but has limitations in modern distributed environments.
However, the Universal UI uses a 3-tier architecture. In this architecture, there is an additional layer called Indicium that sits between the user interface and the database. Indicium is a Web API that handles requests going in and out of your applications. Indicium automatically offers APIs for your entire application, enabling easy integration with other systems. The benefit of this architecture is that the Universal UI no longer contains all the logic, and that security is significantly increased. This makes the application better maintainable, scalable, and secure.
Upgrading to a 3-tier architecture represents a significant shift in how your application operates. It opens up new possibilities for deployment, integration, and user access that were not available with the Windows GUI or Web GUI.
To the Universal UI in seven steps
To successfully transition to the Universal UI, ensure you are using version 2025.3 of the Thinkwise platform. This is the last version that allows running a 2-tier architecture parallel to a 3-tier Universal UI application. Running the applications parallel is essential for a smooth transition, since it allows users to work in both environments during the transition period.
By following these seven steps, you can smoothly transition to the Universal UI:
- Verify model quality (developers)
- Replace extenders and deprecated features (developers)
- Apply model enrichments (developers)
- Deploy the Universal UI (infrastructure)
- Run in parallel (key users)
- Sunset the Windows GUI (infrastructure)
- Accelerate (developers)
1. Verify model quality (developers)
The ease of your transition to the Universal UI is determined by your model quality. Improving your model quality is a step you can take immediately, even if you have not yet updated to the latest Thinkwise platform version. Key focus areas to ensure optimal performance in a 3-tier architecture are reolving pending validations and implementing some model-specific changes. By addressing model quality early, you can avoid common pitfalls and ensure a more seamless transition.
Use the following checklist to verify your model quality:
-
Validations - Ensure you have no pending validations in your model. For older models, this can be a challenging.
Prioritize resolving all errors first, followed by warnings. If you do not resolve these, you can expect issues during your transition. See also, Validations.
-
Smoke tests - Run the smoke tests to identify potential issues that could arise in a 3-tier architecture. Address any warnings or errors that are reported. In some cases, issues may only become apparent when using a larger database.
Run smoke tests on a representative dataset that reflects your production environment to ensure accurate test results. See also, Smoke tests.
Improve model quality
Depending on the quality of your current model, you may need to make some further improvements to ensure applications run properly in a 3-tier environment. These improvements were already considered best practice, but are now mandatory.
The following improvements are mandatory:
-
Primary keys - one of the most common issues when transitioning to a 3-tier architecture are subjects missing proper primary keys. When a subject does not have a primary key that ensures that all data has a unique key, Indicium will not load the subject and return an error.
Ensure that all subjects have a unique primary key and never a null value. See also, Primary keys.
-
Mandatory columns - Compared to the Windows GUI, Indicium is stricter in how it handles mandatory columns with the Universal UI. The Windows GUI treated hidden mandatory columns as optional, allowing users to save data as long as it did not cause database errors. Indicium takes a different approach: when a column is made mandatory, either in the model or by a layout procedure, it must be filled regardless of its visibility. This stricter enforcement can cause issues where users cannot save a form because it contains a hidden empty column that is mandatory.
Ensure all mandatory columns are always visible, or when they are hidden they have a default value. See also, Make columns created with a domain mandatory.
-
File paths - File paths present in the database are not available for download, preview or as image if they are placed outside of the base file storage path.
Verify the file paths in your product database. Order the file storage paths to identify any files referenced outside of the file storage base path. Fix these occurrences by either moving the files to the correct location or updating the file path references.
-
Process flows and context logic - Tasks and details hidden by context logic may not be executed or zoomed via process flows.
Review process flows to ensure all required tasks and details remain accessible when needed.
-
Default cube views - The default cube view can no longer be hidden from the user while continuing to function as the default cube view.
Ensure users can always view the default cube view.
Install Thinkwise Guideline Validations (optional)
To further improve your model quality, you can install the 'Thinkwise Guideline Validations' solution from the Thinkstore. This solution adds additional validations to check whether your data model fully adheres to the Thinkwise data modeling guidelines. Implementing these guidelines can improve your migration experience and the long-term maintainability of your application.
2. Replace extenders and deprecated features (developers)
Due to the architectural differences between previous generation UIs and the Universal UI, some features are no longer supported. For more information, see the Feature matrix in TCP.
Extenders
Object Model Extenders are no longer supported by the Universal UI. Most of the functionality has been integrated into the Thinkwise platform as formalized features, making model extenders obsolete. See the list below on how to migrate your extenders:
-
Resource Scheduler - has been replaced by the new Scheduler component in the Universal UI. Due to architectural differences, the Resource Scheduler extender cannot be automatically migrated.
This means:- Scheduling functionality must be manually reconfigured using the new Scheduler component.
- If you are running the Windows / Web GUI and the Universal UI in parallel, you need to set up and maintain both the Scheduler component and the Resource Scheduler Extender.
See also, Migrating from the Resource Scheduler to the Formalized Scheduler.
-
Maps - has been integrated into the Thinkwise platform in version 2021.3 as the new Maps component in the Universal UI. When you upgrade to this version, the Thinkwise platform attempts to automatically migrate the extender to the Maps component. In most cases this migration is seamless and requires no manual intervention. The Maps component works in all GUIs; when you have migrated to the Maps component you no longer need the extender.
tipThe Maps component has improved performance and usability compared to the extender, for example the ability to create markers and geometric shapes. See also, Create markers and geographic shapes on your map.
-
Editable cubes - has been integrated into the Thinkwise platform. Cube fields can now directly be made editable when configuring a cube. If you are running multiple GUIs in parallel, configure cube fields to be editable and keep the extender. The Windows GUI and Web GUI will continue to use the extender, while the Universal UI uses the editable property of the cube field to determine whether a field is editable. See also, Edit matrix data faster using the editable pivot grid.
-
Double click tasks and grid task links - has been integrated into the Thinkwise platform. Grid task links can be replaced with a deep link that triggers a process flow, providing more flexibility and better integration with the Universal UI. See also, Set up a double-click task.
-
Disable multirow selection - has been integrated into the Thinkwise platform. You can configure whether multirow selection is enabled or disabled for each subject. See also, Multiple row selection.
-
Detail null comparison - has been integrated into the Thinkwise platform. You can configure whether detail null comparison is enabled or disabled for each reference column. See also, Use detail null comparison.
-
Custom display formats - has been replaced by advanced localization options in version 2025.3 release of the Thinkwise platform. This functionality provides you with more flexibility and control over how dates and numbers are displayed in the Universal UI, while also allowing users to customize these settings based on their preferences. See also, Advanced localization: customize date and number display formats.
If you are using an extender that is not mentioned in this topic, it is not planned to be integrated into the Thinkwise platform. In such cases, an alternative solution may be required. For further information, contact your (Technical) Account Manager.
Features
-
DevExpress reports - preferred and recommended reporting solution when using a 3-tier architecture with the Universal UI. DevExpress does not require the installation of database or report drivers and integrates seamlessly with the Thinkwise platform. If you have reports of a report type that is supported by Indicium, there is no need to convert these. For more information, see DevExpress Reports (preferred).
The following report types are supported by Indicium:
- DevExpress
- Crystal Reports
- SSRS (local)
- SSRS (server)
- I-Net Clear Reports
noteCrystal Reports does not support a PaaS style deployment using for example Azure Web Apps in the cloud.
-
TSFReportMailer - custom tasks are no longer supported, so the TSFReportMailer is also no longer supported. Instead, use the Reporting Service solution from the Thinkstore. This solution adds a reporting queue to your model, allowing you to schedule automatic report generation. Reports are generated and saved to a file storage location or, for example, printed by a pre-defined printer. You can also use the Microsoft Graph solution from the Thinkstore to send generate and send reports via email.
-
Printing - direct printing to local printers is not supported by the Universal UI. It is possible to show a print preview to the user, but direct printing from the browser is not possible for security reasons. If you need to send a file directly to a specific printer, such as a label printer, you will need to explore other options. For example, you can use an API to send the file to the printer or use a network printer that Indicium can access.
-
Local file access - the Universal UI cannot directly access files on the user's device due to security restrictions in web browsers. Users must manually select files to upload via the web application. In case you need to access file shares across the network, ensure that the Indicium application pool user has the necessary permissions to access and edit these file shares. This ensures that server-side file operations continue to function as expected.
-
External tasks - use the Open link process action to replace external tasks that open URLs. Other external tasks that invoke command line commands are not supported in the Universal UI due to security restrictions in web browsers. Alternative solutions for this must be explored.
-
Folder pickers - not available in the Universal UI, since the UNC path selected by the user is not provided to the web application. If you have folder pickers in your application, you will need to redesign this functionality using alternative approaches such as predefined paths.
-
Extended properties - only certain extended properties are supported for the Universal UI and Indicium. Extended properties that have not yet been formalized are generally platform-specific. Verify which extended properties are supported for Universal UI and Indicium in Extended properties.
Other deprecated features
- OLAP Cubes
- Lookup refresh combo on dropdown
- Refresh after report execution
- Always show an add-row
- Prevent rows to be copied to the clipboard
- Print the current grid / tree
- Find pop-up
- Cube legend cut-off options
- Autocomplete look-up
- 3D charts
- Chart transparency
- Process action: Manual
- Asynchronous reports
- HTML control font setting
- File link and image link controls
- Folder control
- Remote folder
- Prevent row navigation
- List bar state UP
- GUI version limitation
- Cube custom summaries
- Varying tile menu tile sizes
- Hotkeys to continue process actions via ‘commit on shift code’ and ‘commit on ascii code’.
3. Apply model enrichments (developers)
Enrichments are one-time actions executed on your application model to quickly implement widespread changes. A set of enrichments are available that help prepare your model to transition from the Windows GUI to the Universal UI. For the transition, you can apply setup enrichments and enrichments to make the Universal UI behave more like the Windows GUI. See also, Model enrichments.
Model enrichments may affect the appearance or behavior of your existing Windows applications, since the underlying model is modified. This may happen when you run the following enrichments:
- Show or hide the default action bar
- Turn on ‘Ignore the label width’ setting
- Limit field height in positions
- Keep ungrouped form fields vertically aligned
- Retain group label and icon for fully hidden form groups.
- Update the message options for custom messages
- Collapse all but the first section by default in Forms
- Remove obsolete platforms
Available model enrichments
| Name | Description |
|---|---|
| Create breakpoint screen types | Facilitates the transformation to the Universal UI by creating breakpoints for specific situations. |
| Decolorize all SVG icons that contain a black fill color | Facilitates the transformation to the Universal UI by removing the fill color of icons, making them suitable for dark and light modes. |
| Turn on 'Include the label width' setting | Facilitates the transformation to the Universal UI by enabling the Include the label width setting, making forms look more like Windows GUI forms. |
| Field height limitation | The Universal UI uses vertically scrollable forms that dynamically adapt to the configured value for the setting Field height in positions. This enrichment limits any extreme values for this setting to a more suitable value for the scrollable form. |
| Keep ungrouped form fields vertically aligned | The Universal UI keeps form fields in form groups together vertically when repositioning fields in the form columns. This is based on the available horizontal space. However, ungrouped fields or fields not marked to be allowed in a new form column spread across the available form columns. While this optimizes vertical space usage, it can be less familiar for users accustomed to tabbed forms, where fields typically fill horizontal space. This enrichment updates the first ungrouped field to be allowed in a new form column. This ensures subsequent fields stay together as a virtual group. |
| Update tree page size | Automatically adjusts the page size of all hierarchical trees to an acceptable value for showing the tree in the Universal UI. |
| Add the Universal platform | Creates the platform Universal. It also adds a default theme for the Universal UI, similar to the Windows GUI theme. |
| Remove obsolete platforms | Removes the two platforms that are no longer supported: Web GUI and Mobile GUI. Additionally, it removes themes, menus, configurations, and process flows that were only used for the removed platforms. You can also choose to remove the Windows platform. Note that the Windows platform is still supported. Use this enrichment only to remove platforms other than Universal. |
| Show default cube view | In previous GUI generations, default cube views were always shown, even if the setting Show cube view was off. However, the Universal UI respects the setting Show cube view and does not show the default cube view. This enrichment adjusts the setting to show the cube view. If this is not desirable, you can also change the default cube view for this cube. |
| Set up a card list configuration | Configures a basic card list for tables with more than three visible columns. This configuration uses the following columns:
Any additional columns in the table are hidden in the card list. The enrichment does not change existing card list configurations for variants. |
| Update message options | When configuring messages and their corresponding options for the Windows GUI, it is common practice to place the affirmative message option (like "Yes") on the left side and the negative option (like "No") on the right side of a screen. However, in the Universal UI, the order is reversed. This enrichment updates the message options so that the negative option appears on the left and the affirmative option on the right. Any other options will be placed in between. You can choose which updates to execute. |
| Set the display type to hidden for drag drop tasks | When drag-and-drop tasks are used in your application, there is usually no need for visible buttons in the user interface. This enrichment sets the display type for drag-and-drop tasks to Hidden. |
| Turn off auto-introduced search | In the Universal UI, every screen automatically includes a search bar in its action bars if search settings are configured for the table. A number of screen types provided by Thinkwise, like chart, cube, and pivot grid, automatically exclude the search bar. This enrichment excludes the search bar for custom screen types in cases where you might not want one. |
| Set the keybinding schema to Classic | The Universal UI uses web-oriented hotkeys for navigation, allowing you to move between fields with the Tab key. This enrichment adds the extended property keybindings, enabling you to switch to a classic schema. With the classic schema, you can use Enter to navigate between form fields. |
| Set the default page size for pagination | Enables pagination in the Universal UI by setting a default page size. Without configuring a page size, there will be no pagination if you move to the Universal UI |
| Show tab icons | The Classic theme used in the Windows GUI has an option to show or hide tab icons. However, this setting is not available in the Universal theme, where tab icons are hidden by default. This enrichment adds the extended property ShowTabIcons if tab icons are set to be shown in the Classic theme linked to the platform Windows. This ensures consistent behavior between the Universal UI and the Windows GUI. |
| Set the display type to Icon only for tasks and reports | In the Universal UI, new tasks and reports default to Icon + text for their display type, while the Windows GUI shows only icons. To maintain consistency during the transition to the Universal UI, this enrichment automatically sets the display type to Icon only for tasks and reports currently configured as Icon + text or Text only. |
| Move tasks and reports to the overflow menu | The Windows GUI hides tasks and reports unless their respective bars are included in the screen type, requiring extra end user navigation. In the Universal UI, tasks and reports are shown by default in the action bar, alongside the CRUD actions. This enrichment places tasks and reports in the Universal UI's overflow menu if the assigned screen type for the subject does not contain a task bar or a report bar. |
4. Deploy the Universal UI (infrastructure)
Deploy the Universal UI in all of your environments. In this case, it is assumed that you are already running an instance of Indicium on all of your environments, as it is already a requirement of the Thinkwise platform. See also, Deploying the Universal UI.
-
Environment setup - refer to the Reference architecture documentation for more information on setting up your Thinkwise environments. In case you want to keep your environments continuously up to date, it is recommended to use containers to deploy Indicium and the Universal UI. Container-based deployments simplify updates and ensure consistency across your environments.
noteIt is possible to use newer versions of Indicium and Universal with older versions of the Thinkwise platform. This allows you to, for example, use a 2025.3.10 version of the Universal UI while your Software Factory is still running on version 2024.3. This flexibility enables you to benefit from the latest UI improvements without needing to upgrade your entire platform immediately.
-
User preferences - upgrading to Thinkwise platform version 2024.1 automatically migrates all existing user preferences created for the previous generation GUIs to the new structure for the Universal UI. However, if the applications are still in use with the previous generation GUIs after this migration, this process may have to be repeated to ensure all preferences remain synchronized. Re-migration can be run at any time. See also, Migrate classic user preferences.
noteNot all user preferences can be migrated or are supported by the Universal UI.
-
Security headers - it is strongly recommended to set up security headers as part of your Universal UI installation. Security headers protect your application against common web vulnerabilities and are an essential part of a secure deployment. Configuring these headers properly will help safeguard your application and user data. See also, Security headers.
-
Single Sign-On (optional) - it is highly recommended to implement Single Sign-On (SSO) for your Universal UI deployment. SSO allows users to log in using modern security standards such as Multi-Factor Authentication, significantly improving the security of your application. Users also no longer need to be on your network to access the application. By opening up your application to the internet and using SSO, you can eliminate the need for a VPN when users are working remotely. This provides a better user experience while maintaining strong security.
5. Run in parallel (key users)
After deploying the Universal UI, you can run it in parallel with your existing Windows GUI. This allows users to gradually transition to the Universal UI while still having access to the Windows GUI if needed. Developers should perform initial checks to ensure all screens and functionalities work correctly in the Universal UI. Thorough testing should not be necessary before deploying the application to key users, as the application model remains unchanged.
-
The key user approach - this approach is recommended, since it allows for real-world testing while still having the fallback of the Windows GUI if necessary. Assign a number of key users to start using the application with the Universal UI in your production environment and let them report any issues they encounter. This approach has several advantages, since key users:
- Are familiar with the application's business logic.
- Understand the workflows that matter most.
- Can provide valuable feedback on the user experience.
-
Testing new features - Any new or redesigned screens, for example when you have replaced extenders, require proper testing. Treat these like any other new features you add to your application. Since these components work differently from their extender predecessors, they require additional attention to ensure they meet user requirements.
-
The final switch - When the key users are confident that the application is ready to be used by all users, you can make the final switch to the Universal UI for all users. This gradual approach reduces risk and ensures a smoother transition experience for your entire user base.
Performance differences between interfaces
The Windows GUI and the Universal UI have different performance characteristics due to their distinct architectures. Understanding these differences can help you optimize your application for the best performance in the Universal UI.
-
Loading strategies - The Windows GUI loads most data upfront, which leads to longer startup times but faster performance once loaded. In contrast, the Universal UI only loads the necessary parts of the model when requested, resulting in quicker initial load times but potentially slower performance when accessing new screens for the first time.
-
Large datasets - The Universal UI uses paging to handle large datasets, ensuring consistent performance regardless of dataset size. The Windows GUI, on the other hand, loads entire datasets into memory, which can lead to slowdowns or even crashes if the dataset was too large.
-
Network latency - Since the Universal UI operates over the network, it is more sensitive to network latency compared to the Windows GUI. Optimizing your network infrastructure and minimizing latency can significantly improve the performance of your Universal UI applications. To optimize network performance, the following is recommended:
- Enable GZIP / Brotli compression in your webserver. This compresses the data sent to and from your application, significantly increasing performance.
- Configure your webserver to use HTTP/2, as it performs better than HTTP/1.1 with reduced latency and improved efficiency.
- Ensure that your webserver is properly accessible to your users by configuring firewall whitelisting if necessary.
6. Sunset the Windows GUI (infrastructure)
When you and your key users are satisfied with the application's performance and usability in the Universal UI, determine the go-live date to perform the final switch. This date marks the transition from running both interfaces in parallel to only using the Universal UI.
Select a rollout strategy
When you are selecting a rollout strategy, consider the size and complexity of your organization and application. If you have a large user base or a complex application, a phased rollout of the Universal UI may be a suitable approach.
When applying this strategy:
- Focus on rolling out for specific user groups in phases, rather than rolling out specific functionality.
- Ensure that each user group can perform all their tasks within the Universal UI before moving on to the next user group. This prevents confusion and frustration among your users and reduces the need to switch between interfaces. The goal is that users can do their work in a single application.
Phased rollout examples
There are several ways to approach a phased rollout of the Universal UI:
- Begin by onboarding key users, followed by internal users, and finally external users. This strategy makes use of the experience key users have gained during the parallel running phase.
- Onboard key users first, then floor users, and finally office users. This strategy may be most suitable if your application serves user groups with distinct usage patterns and requirements.
Choose a go-live date
Once all users have been successfully onboarded to the Universal UI, it is important to prevent access to the Windows GUI. You can do this by disabling the Windows Platform for your application. This ensures that users can no longer access the application using the Windows GUI.
7. Accelerate (developers)
Once you have completed the transition to the Universal UI, you can start benefitting from all of the features that a 3-tier architecture and the Universal UI provide.
Implement powerful features
Start exploring powerful new features to implement in your application such as:
- Action bars to provide users with quick access to important actions. See also Discover the capabilities of the Action Bar.
- Primary actions to highlight the most important action on a screen.
- Advanced filtering to help users find the data they need quickly and easily. See also Smarter filtering in the Universal UI.
- Push notifications to keep users informed of important events even when they are not actively using the application.
- Schedulers to manage resources and appointments effectively.
- Generative AI to further enhance user productivity and streamline workflows.
Set up Thinkwise Cloud
We now offer Thinkwise Cloud as a hosting option for your Thinkwise applications. With Thinkwise Cloud, we take care of hosting your application and development environment, including infrastructure and platform updates. This allows you to focus on building applications that deliver business value, while we handle the technology. Thinkwise Cloud can significantly reduce the operational burden on your IT team and ensure you are always running on the latest version of the platform.
For further information about the Thinkwise Cloud, contact your (Technical) Account Manager.