The main components of io.Connect Desktop are the Desktop Client and the io.Connect Gateway. These two components can be packed together or deployed independently.
The Desktop Client is an Electron based app which offers APIs for:
- Loading the list of app definitions for the current user;
- Managing the apps life-cycle (starting/stopping apps);
- Hosting web apps in desktop windows;
- Sticking windows together;
- Advanced window management - Workspaces UI
- Saving and restoring layouts - Layouts
- Synchronizing cross-app data by publishing and subscribing for updates of data objects - Shared Contexts
- UI based on Shared Contexts - Channels
- Registering and invoking methods - Interop
The Desktop Client is highly customizable and many of its features can be enabled, disabled or re-configured.
io.Connect Desktop loads the list of apps available to the user from a pre-configured set of app stores. They can be of different type:
- Local stores - definitions are read from folders on the machine that is running io.Connect Desktop;
- Remote stores - definitions are fetched from a REST service;
- io.Manager stores - definitions are retrieved from an io.Manager;
To add an app to io.Connect Desktop, you need to add it to an app store.
io.Connect Desktop comes with a set of Application Adapters for integrating third-party apps (MS Office, Bloomberg, Salesforce, etc.) with interop-enabled apps. The Application Adapters expose functionalities provided by a specific third-party app, so that they can be re-used in interop-enabled apps.The io.Connect Excel Adapter, for instance, allows apps to open an Excel sheet, populate it with data from the app and receive updates when the data in Excel is changed.
The io.Connect Notifications allows for handling notifications and delivering them to the end user via a notifications UI.
The Global Search performs global searches on all defined search providers and returns consolidated results to the user.
Extensive Metrics for tracking the user journey can be collected from all interop-enabled apps and published to a data center.
io.Manager is a server-side app that provides data to io.Connect (apps, Layouts, preferences) and allows monitoring and interacting with users running io.Connect. It also includes an Admin UI that helps managing the data stored in the io.Manager easier.