Mosaic Glossary
The table below explains some key terms used in documentation.
Mosaic Terms
General Mosaic Terms
Term | Definition |
---|---|
Core Services | Services that are necessary for Mosaic Platform to operate, such as orchestration, identity, authentication, authorization, reporting. |
Managed Services | Services that are developed and operated by Axinom, for example, Image Service, Video Service, and DRM Service. They are also called SaaS. See Managed Services for a full list and Service Types in Mosaic for an overview of the service types. |
SaaS | Software-as-a-Service, see Managed Services. |
Customizable Services | Services that are provided by Axinom in source code under an open-source license and can be used as-is or with individual customization, for example Media Service, Catalog Service, Entitlement Service. See Customizable Services for a full list and Service Types in Mosaic for an overview of the service types. |
Mosaic Platform | Modular, service-oriented platform that allows you to create powerful and flexible backend solutions. It provides you with everything you need to build up your tailored digital asset management and deployment. The main parts of the Mosaic Platform are: Core Services, Managed Services, Customizable Services, Media Template. |
Microfrontend | A frontend part of a service. A package that extends the Management System with features like Stations, Home Tiles, or Extensions. |
Microservice | A backend part of a service. Typically provides a set of APIs that can be used by the corresponding Microfrontend or other consumers. |
Service | A logical construct containing a Microservice and a Microfrontend of a specific domain. |
Frontend Extension | A React component that is registered by a Microfrontend so that other microfrontends can use it. |
Home | A Microfrontend providing the landing page experience in the Management System. It registers the / route. Other microfrontends can register tiles displayed by Home. |
Navigation | A Microfrontend providing the navigation panel in the Management System. Navigation is always accessible using a hamburger icon in the top left corner. |
Access Management | A Micro-fontend of the Identity Service, providing workflows for managing Users, User-Roles, Service accounts and their permissions. |
Station | A page inside the Management System, defined by a Microfrontend. There are a few standard station types, such as Explorer and Details, but also a Custom Station. |
Management System | The base application that is orchestrating the microfrontends, handling authentication and defining the basic shell of the Management System. Editors use the management system to manage content. |
Mosaic Media Template | A collection of open-source customizable services representing a possible over-the-top solution. It can be used as-is or freely customized to fit project requirements. |
Entity | A single record of an Entity Type |
Asset | A special form of an Entity Type that is based on a file, e.g. an image or a video file. |
Entity Type | An object type managed in the Mosaic Platform solution. It consists of a data schema, certain API endpoints and specific workflows. Examples: Video, Image, Movie, TV Show, Season, Episode, |
UI Library | Synonym for the @axinom/mosaic-ui library |
Storybook | A playground application to see and test out the components of the UI Library in different use-cases. (https://mosaic-storybook.axinom.net/) |
Mosaic CLI | A command line application that contains various commands aimed to help developers. Delivered as @axinom/mosaic-cli library. |
Frontend | All pieces running in the Management System web application. It must be distinguished from an End-User Frontend, which is an application the End-Users use. |
Backend | The microservice of a Mosaic solution. |
End-User Frontend | The frontend that End-Users will use to browse your content. |
User | Every person using the Management System. It must be distinguished from the End-User accessing End-User Frontend. |
End-User | The users that consume the generated content that editors created on their devices. |
Ingest | The process of (bulk) importing data into the system. This feature is implemented by the Media Service |
Publication | The process of releasing a snapshot of an entity for example to a catalog service, in order to make it visible for End-User Frontends. |
Snapshot | A snapshot captures the state and data of an entity at the time of snapshot creation. Snapshots are used by the Publication process to publish that snapshotted state e.g. into the Catalog Service. |
Developer | A person developing customizable services in the customizable solution |
Environment Administrator | A person that manages the environments of a tenant, using the Admin Portal |
Super Admin | The root user of an environment. This user will always have all possible permissions on the environment. |
Tenant | To get started with developing a Mosaic Platform solution you need to register an Account with Axinom. Axinom will in return tell you the Tenant ID, which you can use to sign in to the Admin Portal. A Tenant can create multiple Environments. Environments are always scoped to a specific tenant. A Tenant has a Tenant Id - a unique identifier of your tenant - provided by Axinom upon registration. |
Environment | A logical construct that allows data isolation in the managed services as well as platform services. Each operation executed on a managed service will be specific to one environment. Only data of this environment will be included in queries and mutations. Environment Id - a unique identifier of your environment. |
Piral | A Microfrontend framework used by the Mosaic Platform. It is based on React and provides a set of tools to build and deploy microfrontends. |
Pilet | A Microfrontend built using the Piral framework. It is a React application that can be deployed to a Piral instance. |
Piral Instance | The shell application that hosts the Microfrontends. It provides the basic layout and navigation of the Management System as well as the authentication and authorization. It also provides the microfrontends with a set of APIs that they can use for registering their shared components and for communicating with each other. More details on the API and concepts behind them can be found in the documentation of the @axinom/mosaic-portal package. |
Content Management
Users and Personalization
Monetization and Billing
Channels and FAST
Content Protection / Digital Rights Management
Term | Definition |
---|---|
Advanced Encryption Standard (AES) | A symmetric-key algorithm in which the same key is used to encrypt and decrypt the data. Used for large binary files. Supports key lengths of 128, 192, and 256 bits. See https://en.wikipedia.org/wiki/Advanced_Encryption_Standard. |
Axinom DRM License Service | A part of Axinom DRM, the License Service provides a DRM License to a player’s License Request provided that it carries a valid Entitlement Message. License Service is a multi-tenant, multi-DRM capable service supporting Widevine, FairPlay, and PlayReady. |
Axinom DRM License Service Message | A JSON data structure for delivering data to and from Axinom DRM License Service. Axinom DRM License Service Message contains an Entitlement Message, or License Request Info Message. See Axinom DRM License Service Message. |
Axinom DRM Key Service | A part of Axinom DRM, the Key Service securely generates and maintains the Content Keys. |
Base64 Encoding | An encoding scheme that represents binary data in an ASCII string format, see RFC 4648. |
CBCS Encryption | An encryption scheme which allows to encrypt a video file once and use with all major DRM technologies (Widevine, FairPlay, and PlayReady). See also: CENC. |
Client Device | A DRM-capable device of an end-user. |
Client Info Message | Was a type of an Axinom DRM License Service Message that is used by the Axinom DRM License Service to return information about a Client Device. It is deprecated in favor of License Request Info Message |
Common Encryption Scheme (CENC) | A standard enabling decryption of the same file using different DRM technologies. Individual DRM technologies can add their metadata about encryption and key mapping. |
Common Media Application Format (CMAF) | A format for adaptive streaming which uses only one set of video and audio files (encoded as fragmented MP4) along with lightweight manifests for MPEG DASH and HLS. It results in huge savings on storage capacity and processing. See https://www.axinom.com/article-encoding-one-format. |
Communication Key | In Axinom DRM, a cryptographic key that is used to sign and verify an Axinom DRM License Service Message. |
Content Decryption Module (CDM) | A trusted component on the client-side that maintains control over decryption keys at all times. |
Content Key | A cryptographic key for encryption/decryption of media. All major DRM technologies use AES and a 128-bit Content Key. |
Content Key ID or Key ID | An identifier (GUID) that identifies a Content Key for encrypted media. |
Content Key IV | A 16-byte initialization vector to encrypt/decrypt clear/encrypted media. |
Content Protection Information Exchange Format (CPIX) | A guideline that specifies how to store information related to content protection in an XML document in such a way that it could be easily exchanged between the different parts of a video streaming setup. See https://dashif-documents.azurewebsites.net/Cpix/master/Cpix.html. |
Device certificate status list (DCSL) | A JSON file used by the Axinom DRM Widevine API, which contains information about the status of device model certificates (e.g. "OK", "revoked", etc.). It determines whether a particular DRM client device is allowed to receive licenses. Clients that do not have a model certificate in this list are categorized as "unknown". |
DRM License | A data structure that contains the encrypted Content Key and Usage Rules. The DRM License is cryptographically bound to the Client Device where the respective License Request originated from. No other device can use it. |
DRM signalling | The DRM specific information to be added in Content for proper operation of the DRM system when authorizing a device for this Content. It is made of proprietary information for licensing and key retrieval. |
DRM Technology | Digital rights management, i.e. access control technology that restricts the use of copyrighted media. See also: Widevine, FairPlay, PlayReady. |
Entitlement Message | A type of an Axinom DRM License Service Message that instructs the License Service how to generate a DRM License. |
Entitlement Service | In Axinom DRM, a project-specific component which authorizes user requests and generates Entitlement Message that a client can send to the License Service to receive a DRM License. |
FairPlay Streaming (FPS) | Apple’s DRM technology. For more information: https://developer.apple.com/streaming/fps |
FPS Application Certificate (AC) | The X.509 certificate provided to customer by Apple in the process specified in the FPS Deployment Package. |
FPS Application Certificate Private Key (PK) | The 1024-bit RSA private key linked to the Application Certificate, generated in the process specified in the FPS Deployment Package. |
FPS Application Secret Key (ASK) | A 16-byte key provided to customer by Apple in the process specified in the FPS Deployment Package. |
FPS Customer Data | A set of FPS customer-specific data, containing the FairPlay Streaming PK, ASK, and AC. In Axinom DRM, FPS Customer Data needs to be provided to the License Service to enable FPS. |
FPS Deployment Package | A package provided by Apple to FPS development teams that contains instructions on how to obtain FPS Application Certificate, FPS Application Certificate Private Key, and the FPS Application Secret Key, required to implement FPS. |
FPS Playback Application | An FPS application created by customer for the playback of FPS content. |
Globally Unique Identifier (GUID) or Universally Unique Identifier (UUID) | A 128-bit number used to uniquely identify information in computer systems. A GUID is generally written in hexadecimal notation and consists of 32 digits. See https://en.wikipedia.org/wiki/Universally_unique_identifier. |
High-bandwidth Digital Content Protection (HDCP) | A form of digital copy protection for preventing the copying of digital audio and video content as it travels across connections, such as HDMI, DP and DVI. See https://en.wikipedia.org/wiki/High-bandwidth_Digital_Content_Protection. |
JWT, JSON Web Token | A compact URL-safe standard (RFC 7519) for passing claims between parties in a web application environment. The claims in a JWT are encoded as a JSON object that is digitally signed using a JSON Web Signature (JWS). See: http://jwt.io. |
Key Seed | A single secret value, from which Content Keys can be derived. |
Key Service | A service that generates Content Keys for encryption and delivers them securely to the encoder/packager. |
License Proxy | A service that receives License Requests, acting as a License Service towards the Client Device. License Proxy authorizes the requests acting as an Entitlement Service, sends a real License Request to a License Service and forwards the generated DRM License back to the client. Using the Axinom DRM License Service in this way is referred to as the Proxy Mode. |
License Request | A query sent by the Client Device to the License Service to obtain a DRM License used for media playback. |
License Service | A service that generates and configures DRM Licenses upon receiving a License Request with a valid Entitlement Message. |
Monthly Active Users Billing Model | A billing model in case of which the customer pays based on the number of active users per month. |
Multi-DRM | An approach to encrypt a video once and to use it with multiple different DRM technologies, providing for each client platform the DRM License in the respective format. See also: CMAF, CBCS. |
PlayReady | Microsoft’s DRM technology. For more information: http://www.microsoft.com/playready |
Protection System Specific Headers (PSSH) | This PSSH article explains the PSSH-concepts, such as PSSH box, PSSH generator, PSSH decoder, etc. See also DRM signalling. |
Screen Recording | The process of capturing the contents of the screen with a special tool. DRM protection helps to prevent malicious users from doing it to keep your content safe. |
Secure Packager and Encoder Key Exchange (SPEKE) | An AWS specification that defines the standard for communication between encryptors and packagers of media and DRM key providers. For more information: https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html |
Trusted Platform Module (TPM) | A secure cryptoprocessor, a dedicated microcontroller designed to secure hardware through integrated cryptographic keys, and a related international standard. |
Transcoding | Digital-to-digital conversion of one encoding to another. |
Usage Rules | Rules that determine the conditions for content playback. Such rules limit the number of content playbacks or prevent copying the media. Usage Rules are delivered to the Client Device as a part of a DRM License and enforced by the CDM on the Client Device. |
Widevine | Google’s DRM technology. For more information: http://www.widevine.com |
Widevine Common Encryption API | A Content Key exchange protocol defined by Google. |
Encoding and Video Formats
Term | Definition |
---|---|
Adaptive Streaming | Multiple representations of video with different quality levels, defined by frame resolutions, are created. The video player chooses which quality level to display, adapting to the network load and the CPU. This allows to provide the viewer the best possible experience. |
Advanced Audio Coding (AAC) | Audio coding standard, successor of MP3 but with a higher sound quality. Read more: https://en.wikipedia.org/wiki/Advanced_Audio_Coding |
Advanced Video Coding (AVC) | Video compression standard, also known as H.264. Most commonly used format that supports resolutions up to and including 8K UHD. More information: https://en.wikipedia.org/wiki/Advanced_Video_Coding |
Content Delivery Network (CDN) | Also known as content distribution network - a geographically distributed network of proxy servers together with their data centers. Distributing the service spatially helps to provide high performance and availability to end users. |
Codec | A computer program that encodes or decodes a digital data stream or signal. |
Container | A file format that allows multiple data streams to be embedded in a single file, typically along with metadata. Such formats are, for example, 3GP, AVI, and MP4. |
Dynamic Adaptive Streaming over HTTP (DASH) | A multimedia streaming standard, also known as MPEG-DASH, enables high quality media content streaming over the internet delivered from conventional HTTP web servers. |
Display Aspect Ratio (DAR) | The proportional relationship between the display device’s width and height, expressed as two numbers separated by a colon, e.g. 16:9. |
Encoding API | A web API used to initiate encoding jobs, control the jobs, and access encoding statistics. |
Encoding Job | A request sent to Axinom Encoding to prepare a video for output. |
Encoding Service | A video ingestion and processing service that allows to create video on demand content from various source video formats. |
GOP | Group of Pictures. The GOP is a collection of successive pictures within a coded video stream.See also https://en.wikipedia.org/wiki/Group_of_pictures. |
H.264 | A video compression standard, also known as AVC. It is based on block-oriented, motion-compensated integer-DCT coding. The most commonly used format for recording, compression, and distribution of video content. |
H.265 | A video compression standard, also known as HEVC or high-efficiency video coding, the successor of H.264. Can compress the video file down half the size compared to H.264 without any loss in quality. |
HTTP Live Streaming (HLS) | Encryption scheme, also known as HTTP-based adaptive bitrate streaming. The most popular streaming format, widespread in media players, web browsers, mobile devices, and streaming media servers. Read more: https://en.wikipedia.org/wiki/HTTP_Live_Streaming |
Input Storage | Storage where the video is uploaded before being processed, encoded, and protected. As the content is in clear, it is recommended to minimize the amount of time the video spends there. |
Message Queue | Software-engineering component used for inter-process communication. The Encoding Service sends job progress messages to a message queue where the client can observe the job’s completion. |
Output Storage | Storage where the video is published after it has been processed, encoded, and protected. |
SaaS | Software as a service, which means that the software is licensed on a subscription basis and hosted centrally. Also known as on-demand software, web-based software, and hosted software. Axinom Encoding is an example of SaaS. |
Smooth Streaming (MSS) | Smooth Streaming is an IIS Media Services extension that enables adaptive streaming of media to clients over HTTP. The format specification is based on the ISO base media file format and standardized by Microsoft as the Protected Interoperable File Format. Read more: https://en.wikipedia.org/wiki/Adaptive_bitrate_streaming#Microsoft_Smooth_Streaming_(MSS) |
Tenant Key | A GUID used for user authentication when making requests to the Encoding API. |
Tenant Name | Human-readable name used for user authentication when making requests to the Encoding API. |
Video-on-demand (VOD) | Accessing videos without a traditional video playback device and time constraints (e.g. schedule). |
Mosaic Components
Managed Services
See also: Managed Services
List of Managed Services
Service | Description |
---|---|
DRM Service | Protect your digital video assets with a multi-DRM solution that can be implemented on cloud or on premise. Axinom DRM is a scalable, robust, and globally distributed set of services. These services enable customers to securely manage content encryption keys and protect media with the world’s leading DRM technologies. |
Encoding Service | Ingest, encode/transcode videos utilizing technologies such as CMAF (DRM supported) |
Video Service | Ingest, encode/transcode videos utilizing technologies such as CMAF, protect using DRM |
Image Service | Ingest, query, preview, manage and transform images for editing and frontends |
Localization Service | Manage languages and create translations for your digital media assets |
User Service | Sign up end users with user authentication APIs for all your frontend apps |
Personalization Service | Maintain user-specific data like profile, settings, favorites, watch-progress, etc. |
| AxAuth Service | Mosaic’s own Identity Provider, which maintains user identity and profile directly as a part of an Environment, without the need of a 3rd party integration |
Customizable Service
See also: Customizable Services
List of Customizable Services
Service | Description |
---|---|
Media Service | Manage video assets and metadata for TV shows, movies, linear streams, etc., with integrated image and video workflows. |
Catalog Service | Expose catalogs of media entities such as movies, TV shows, seasons, episodes, etc., for the frontend apps. |
Entitlement Service | Provides entitlements for the video playback requests. The generated entitlement message can be exchanged for a valid DRM license by the Axinom DRM License Service |
Monetization Service | Create business models like AVOD, SVOD, TVOD, pricing, and currencies |
Billing Service | Process subscription transactions, TVOD purchases, and automatic billing through API and frontend integrations |
Channel Service | Managing channels and playlists for streaming media content. |
Core Services
See also: Core Services
List of Core Services
Service | Description |
---|---|
Identity Service | Provides user authentication and permissions using 3rd party Identity Providers using OAuth 2.0, such as Google. |
Management System Service | Serves the Management System to the users. |
Microfrontend Service | Hosts the Microfrontends for each environment. Serves the microfrontends to the Management System of a specific environment. |
RabbitMQ Cluster | Provides messaging infrastructure for all services. |
Hosting Service | Provides capabilities for deployment and hosting of customizable/custom services. |
Other Components
Component | Description |
---|---|
Admin Portal | The frontend application of the Identity Service. Developers and administrators use this application to setup and configure environments. |
Axinom Portal | Self-provisioning portal for managing your Axinom account, tenants, environments, and services. Central point of contact with Axinom products. |
3rd party tools and components
See also: Technology Stack
Term | Definition |
---|---|
Node.js | https://nodejs.org/ - JavaScript runtime, the most popular tool for running server-side applications |
TypeScript | https://www.typescriptlang.org/ - extends JavaScript by adding types. |
GraphQL | https://graphql.org/ - a query language that allows clients to mutate and fetch exactly (and only) the data that they need. All Mosaic Services expose their APIs as GraphQL APIs. GraphQL offers clients a type-safe way to consume the APIs. |
RabbitMQ | https://www.rabbitmq.com/ - a message broker for reliable and flexible messaging to easily integrate multiple microservices. See Messaging |
React | https://reactjs.org/ - declarative and flexible JavaScript library for building complex UIs from small and isolated pieces |
Piral | https://www.piral.io/ - a framework enabling microfrontends |
PostgreSQL | https://www.postgresql.org/ - an open-source relational database with good support for JSON, column, and row-level security and many other features |
PostGraphile | https://www.graphile.org/postgraphile/ - a tool that exposes PostgreSQL database as a GraphQL API in a simple way |
Visual Studio Code | https://code.visualstudio.com/ - free and source-code editor. Axinom recommends to use a set of extensions for optimal support for the technologies used |
Storybook | https://storybook.js.org/ - a tool for developing UI components in isolation and testing them on the fly. See Mosaic Storybook) |
TypeDoc | https://typedoc.org - TypeDoc converts comments in TypeScript source code into rendered HTML documentation or a JSON model. See Mosaic Typedocs. |
Jest | https://jestjs.io/ - JavaScript Testing Framework, well-integrated with TypeScript, Node.js, and React |
Yarn | https://yarnpkg.com/ - package manager with some advantages compared to NPM, especially for big projects. |
eslint + prettier | https://eslint.org, https://prettier.io/ - Linting and code formatting tools to ensure consistent code style and quality. |
Express | https://expressjs.com/ - Web framework for Node.js. |
Zapatos | https://jawj.github.io/zapatos/ - Zero-boilerplate TypeScript ORM for PostgreSQL. |
Graphile-migrate | https://github.com/graphile/migrate - Declarative database schema migration tool. |
Graphile-worker | https://github.com/graphile/worker - High-performance Node.js/PostgreSQL job queue. |
Graphql codegen | https://graphql-code-generator.com/ - Generates code from GraphQL schemas and operations. |
Rascal | https://www.npmjs.com/package/rascal - Enterprise messaging for Node.js using RabbitMQ. |
General IT
Term | Definition |
---|---|
Amazon S3 | Amazon Simple Storage Service, an object storage service for storing and retrieving data. Read more: https://aws.amazon.com/s3/ |
Amazon Web Services (AWS) | Amazon’s cloud computing platform that provides a variety of services, including databases, Internet of Things, and developer tools. Read more: https://aws.amazon.com/ |
Application programming interface (API) | A set of programming code that enables data transmission between software products. It consists of a technical specification that describes the data exchange options between the solutions and a software interface written to the specification that represents it. |
AsyncAPI | AsyncAPI is an open-source initiative that provides both a specification to describe and document your asynchronous applications in a machine-readable format. Read more: https://www.asyncapi.com/ |
Azure Blob Storage | Microsoft’s scalable object storage for huge amounts of data. Read more: https://azure.microsoft.com/en-us/services/storage/blobs/ |
Azure Media Services | Microsoft’s cloud-based media workflow platform to index, package, protect, and stream video at scale. Read more: https://azure.microsoft.com/en-us/services/media-services/ |
Cloud | A global network of servers, each one of them with a unique function, operating as a single ecosystem. |
Docker | Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. Because all of the containers share the services of a single operating system kernel, they use fewer resources than virtual machines. |
Encrypted Media Extensions (EME) | An open standard from the World Wide Web Consortium (W3C) that provides a communication channel between web browsers and the Content Decryption Module (CDM) software that implements DRM. It enables the use HTML5 video to play back DRM-protected content without having to use 3rd party media plugins, such as Adobe Flash or Microsoft Silverlight. |
File Transfer Protocol (FTP) | File Transport Protocol with additional Transport Layer Security protection. |
GraphQL | GraphQL is an open-source data query and manipulation language for APIs. See https://graphql.org. |
JavaScript Object Notation (JSON) | An open standard, lightweight file and data interchange format, which is language-independent. It includes human-readable text to store and transmit data objects that consist of attribute-value pairs and array data types. Read more: https://www.json.org/json-en.html |
MediaConvert | A file-based video transcoding service from Amazon. It allows to create video-on-demand content for multiscreen delivery and broadcast. Read more: https://aws.amazon.com/mediaconvert/ |
MediaLive | A broadcast-grade live video processing service from Amazon. This service allows to encode high-quality live video streams for broadcast and streaming to any device. The service encodes live video in real-time and compresses larger video files to smaller versions. Read more: https://aws.amazon.com/medialive/ |
MediaPackage | An Amazon media service that allows to prepare and protect videos for delivery over the Internet. MediaPackage creates video streams that are formatted to play on connected TVs, mobile phones, computers, smart phones, game consoles, and tablets. Read more: https://aws.amazon.com/mediapackage/ |
Media Source Extensions (MSE) | An open standard from the World Wide Web Consortium (W3C) that allows JavaScript to send byte streams to media codecs within HTML5-compliant web browsers. This means that client-side prefetching and buffering code for streaming media can be implemented entirely in JavaScript. |
OAuth 2.0 | Industry-standard protocol for authorization. Read more: https://oauth.net/2/ |
OpenID Connect | OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner. Read more: https://openid.net/connect/ |
Postman | A collaboration platform for API development. It allows to design and mock, debug, automatically test, document, monitor, and publish the API. Read more: https://www.postman.com/ |
Software Development Kit (SDK) | A collection of software development tools gathered into one installable package. It facilitates the creation of applications and is typically specific to a hardware platform and operating system combination. SDKs could be used as 3rd party tools with DRM technologies. Read more: https://en.wikipedia.org/wiki/Software_development_kit |
Universal Windows Platform | UWP is a computing platform created by Microsoft and first introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile, Windows 11, Xbox One, Xbox Series X/S and HoloLens without the need to be rewritten for each. Read more: https://en.wikipedia.org/wiki/Universal_Windows_Platform |