Based on Qeo's main goal, we have derived a set of high-level features. These can be captured in a single mission statement:

Qeo Mission Statement

Qeo is an open standard that enables IP-connected devices and services to easily exchange information in a secure and private fashion. 

The current release of Qeo already accomplishes a large part of this, but some aspects are still under development:

  • Features that are not yet present in this release are marked below as [under development].
  • Features that are present but not fully developed yet are marked [partially present].

Open Standard

An open standard means that:

  • A detailed specification document is available to everyone which allows people to write their own implementation of Qeo. [under development]
  • An open source implementation is available for reference purposes.

IP-Connected

IP-connected means that: 

  • Qeo devices and services are connected to an IP network
  • When two devices/services want to exchange data:
    • One of them is able to reach the other one with a direct IP connection (TCP or UDP).
    • They are both able to reach each other via the public internet.

Devices that are not IP-connected can still exchange information over Qeo, provided another IP-connected device provides the functionality to bridge whatever non-IP communication mechanism exists towards Qeo.

Exchanging Information

Exchanging information means that:

  • Devices and services are able to provide available information (captured through sensors, computed values, internal state...) to other devices and services.
  • Devices and services are able to express the type of information they are interested in. Thus, they will only read and use the information they need or are interested in.

The type and format of the information that Qeo devices and services can exchange is not strictly regulated by Qeo. This means that Qeo integrators and Qeo service developers are able to define new types of information to exchange, and have the freedom to decide how this information should be represented. 

Secure

Secure means that unauthorized devices and services:

  • Are not able to request information from authorized Qeo devices and services.
  • Are not able to provide information to authorized Qeo devices and services.
  • Are not able to snoop for information that is being exchanged between authorized Qeo devices and services.

Private

Private means:

  • That information exchanged between authorized Qeo devices and services remains on devices under control of the Qeo end users.
  • When information needs to be passed to/through an information processor (i.e. Qeo subsystems assisting in the storage or transmission of data), the data is encrypted and, as such, unusable for that information processor.   

Easy

Here, easy has multiple meanings: 

  • Qeo is easy to use from the perspective of a Qeo end user. It requires very little setup.
  • Qeo is easy to integrate in a broad range of existing CE products. Qeo runs on Android phones and tablets. It will also work on Linux based gateways, Linux and Android-based set-top boxes and iPhones/iPads as well as in an HTML5 JS environment.
  • Qeo is easy to use from the perspective of a developer. Developers get an API that is familiar and specific to the environment they are working in.

Implementation

While the details of the implementation of Qeo are transparent to the user, it is important to know that it uses multicast to publish and subscribe to Topics. Therefore, a potentially Qeo-enabled device needs to support multicasting.