Here™ terminology
This article defines a number of terms that you might encounter while working with Here™ software, both names for products, components, and packages produced by Here™ and other terms that might be unfamiliar or used in unfamiliar ways.
Here™ software
Browser
See Here Core UI Browser.
Container
See Here Core Container.
Dock
One of the Here™ Core UI Components, Dock enables users to launch other Here™ Core UI Components, have single-click access to apps or actions, or switch workspaces with the mouse or track pad.
Here™ Core
Previously known as: OpenFin.
Here™ Core is a secure, powerful framework that enables web apps to be deployed as first-class citizens of a modern desktop. This allows web applications to integrate seamlessly with native applications, such as Excel or custom applications. Here™ Core underpins the Here™ enterprise browser product. It comprises the Here Core UI Components, Here Core Container, and adapters and connectors for integration with native applications.
Here™ Core app
Any application built with web technologies (HTML, CSS, and JavaScript) that leverages APIs from the Here Core Container and Here Core UI Components packages.
Here™ Core Container
Previously known as: OpenFin Container
Here™ Core Container is a desktop runtime application environment that enables communication between desktop applications. It provides the foundation for Here Core UI Components, as well as for apps that can run in Here Core UI Browser. It is based on Google Chromium and GitHub Electron. It comprises Runtime and RVM.
Here™ Core UI Browser
The Browser component of a Here™ Core UI platform provides a windowing scaffold for Here™ Core apps and other web content. It provides powerful ways to simultaneously display multiple apps and enables Here Core apps to interoperate. Users can save and restore their arrangement of windows and apps as a workspace.
Here™ Core UI Components
Previously known as: OpenFin Workspace
Here Core UI Components are a collection of UI tools to help users find, access, and interact productively with work-focused apps and web content.
We provide API libraries via the @openfin/workspace
and the @openfin/workspace-platform
packages to enable you to customize the user experience and control access to the apps and content your users need.
Here™ enterprise browser
The flagship product offered by Here™, built on the technologies offered in Here™ Core, Here™ enterprise browser requires custom programming only to enable apps to be Here Core apps. It offers total control of user access to resources through its Admin Console. For detailed information, see the Here™ enterprise browser documentation.
Home
One of the Here™ Core UI Components, Home provides a text box interface for searching, issuing commands, and launching apps or content.
Interoperability APIs
Here™ offers multiple libraries that work in different ways to enable applications running in a Here™ Core environment to share data with, and request action from, one another. In most cases, applications can work with the Interop API or FDC3 API; the Channel API and Inter-Application Bus (IAB) API are lower-level APIs that provide "plumbing" for Interop or FDC3.
-
Interop API
The most powerful of the interoperability-related APIs, Interop enables multiple client apps to communicate through a publish-and-subscribe model mediated by an interop broker, and isolated by context groups.
-
FDC3 API
The Here™ implementation of the FDC3 standard enables apps that support the standard to participate in interoperability in a Here™ Core environment.
-
Channel API
The Channel API permits communication between Here Core applications via an asynchronous request-response messaging channel.
-
Inter-Application Bus (IAB)
IAB is a secure desktop messaging system that supports a number of different interoperability strategies, including publish-and-subscribe and topic-based messaging, direct connections between applications, and one-to-many connections.
Notification Center
One of the Here™ Core UI Components, Notification Center enables users to stay up to date with the latest information and changes in Here™ Core apps via desktop alerts from a central location. Here™ Core apps can raise notifications for whatever purpose they need. In addition to toasts on the desktop, notifications appear in the Notification Center application.
Platform API
The subset of the Here Core Container API that supports creating a Here Core platform application, including managing windows, views, and layouts, as well as launching Here Core apps (and other web content) into the platform.
Runtime
The Runtime component provides the runtime environment in which Here™ Core apps and platforms are executed.
RVM (Runtime Version Manager)
The RVM is responsible for installing (if needed) and launching the Runtime, in order to execute a Here Core app or platform. Here Core applications can require specific versions of the Runtime in their manifest; the RVM ensures that each application has the version of the Runtime that it needs. The RVM is also responsible for other aspects of launching Here Core applications, such as defining shortcuts and splash screens and enabling logging and diagnostics.
Snap SDK
With Snap SDK, Here™ extends its layout capabilities to snapping windows together, allowing them to be grouped to behave like a single window. One of the most powerful aspects of Snap SDK is that this ability to create window groups is not restricted to Here Core windows.
Store
One of the Here™ Core UI Components, Store enables you to register one or more storefront providers, populated with Here Core apps or other custom content.
Other terms
CDN
See Here™ CDN.
Chromium
Chromium is the open-source web-browser project that is the foundation for the Google Chrome browser, as well as many other web browsers. Here™ Core is based on Chromium and Electron.
codec
A codec is a piece of software that encodes and decodes a data stream or file. It is typically used to play digital audio and video media.
codec license
A codec license is a legal agreement that grants permission to use a codec. Many codecs are proprietary software that cannot be legally used without permission from the codec owner.
context
Used in interoperability. At its most fundamental level, a context is a description of a thing. An instrument context, for example, is a description of a financial instrument such as a stock (TSLA, MSFT), stock option, or futures contract Other contexts could be a country context that describes a country (United States, Japan), or a contact context that describes a person's contact information.
Apps receive context updates and perform an action based on that update. Receiving a new instrument context could cause a charting app to update a price history chart with the new instrument value.
context group
Used in interoperability, a context group is a way to group apps to share context information. Only apps that are members of a context group have access to the context data shared in that group.
context update
Used in interoperability, a context update informs apps of a new context object being published in a context group.
desktop owner
The entity responsible for control and maintenance of end-user desktop systems. Usually, this is an IT department; a software developer might act as their own desktop owner, depending on company policies.
Electron
Electron is an open-source framework for building desktop applications using JavaScript, HTML, and CSS. By embedding Chromium and Node.js into its binary, Electron allows you to maintain one JavaScript codebase and create applications that work across multiple operating systems.
Here™ Core is built on a fork of Electron.
FDC3
Abbreviation for Financial Desktop Connectivity and Collaboration Consortium. FDC3 is an open standard for applications used in financial institutions to interoperate and exchange data with each other.
fin
namespace
When running within a Here™ Core environment, Here™ Core apps have automatic access to the fin
namespace and all the modules within the Here Core Container API.
You can treat the fin
namespace as you would the window
, navigator
, or document
objects.
fins
protocol
Users who have a Here Core environment on their system can launch Here Core apps from a web browser by clicking a link to a URI that starts with fins
as the protocol.
For example: fins://mydomain.com/path-to-manifest/app.json?$$parameter1=value1&$$parameter2=value2
The protocol fin
is also supported, but it does not use a secure connection.
graceful shutdown
A graceful shutdown allows an application to finish active requests and ongoing tasks before shutting down. This reduces the risk of user disruptions or data loss.
Here™ CDN
Here™ provides a content delivery network (CDN) for customers to be able to download Here™ software.
Depending on customers' network policies, desktop owners might need to explicitly allow access to the main endpoint: https://cdn.openfin.co
This endpoint provides access to resources need to run Here™ software.
Here™ Core UI platform
A platform application implemented using the Workspace Platform API of the Here Core UI Components.
intent
Used in interoperability APIs, the intent concept is borrowed from the mobile phone development world. For example, on a phone, if you tap an address, a get-directions intent is fired which launches the map program to give the user directions to that address. With Here Core Interoperability APIs, an app can share a piece of data (intent), to be handled by another app that has registered its ability to handle that type of intent.
jump list
On Microsoft Windows, a jump list is a menu that provides quick access to recently used files, applications, or tasks.
layout
A layout is an arrangement of windows and views in a Here Core platform. In a Here Core UI platform, it can contain the additional level of pages. It can contain native, non-Here applications. A saved representation of a layout is a snapshot.
manifest
A manifest is a JSON file that configures a Here™ Core app or platform.
page
Within Here™ Core UI Browser, pages are used to contain views, which display web pages or web apps. When there are multiple pages, the pages are seen as tabs within Browser.
platform
In Here™ Core, platforms display views with web pages or web apps in them. Here™ Core supports two types of platforms:
-
A Here Core platform is implemented using the Platform API. The platform must manage windows, views, layouts, and snapshots. It must act as an interop broker to enable interoperability among its Here Core apps. It must act as a notifications platform to enable its Here Core apps to raise notifications.
-
A Here Core UI platform is implemented using the Workspace Platform API. With the Browser component, the UI element of pages is added to the windows and views supported by a Here Core platform. The Workspace Platform SDK takes care of the windowing, interoperability, and notifications responsibilities of a Here Core platform, leaving only customizations to be done by the Here Core UI platform developer.
storefront
A storefront is displayed by the Store component, so that end-users can find, inspect, and access Here Core apps and other web content.
toast
A toast is a representation, usually transient, of a notification on a user's desktop. It is named by analogy to the way that toasted bread "pops up" from a toaster.
view
Within a Here Core platform or a Here Core UI platform, views contain web sites or web apps. Views are often displayed with tab headers, so they look and function like tabs in a typical web browser.
workspace
In Here Core UI Browser, a workspace is a collection of windows, pages, and views, including both their contents and their arrangement (layout) on the user's screen. A user can save and reload workspaces, if the Here Core UI platform supports doing so.