Xively Glossary of Terms

Term Definition
Activation Code The code submitted to Xively by a device with Internet connectivity when the device powers on (“wakes up”). The Activate Device API stores the activation code and activation date as attributes of the device in the database and returns the Feed_id and api_key to the device. A device creates its activation code by executing firmware instructions that use the HMAC-SHA1 algorithm to create a unique, non-guessable ID, based on the serial number of the device and the product secret stored in the device’s firmware.
API Key API Keys are used to control access to the resources via the API. An API key is a hierarchy of three objects: key, permission and resource. A key object contains one or more permissions objects, and a permissions object can optionally contain resource objects. You can create as many keys as required. API keys allow for fine-grained permissioning and therefore tighter security. API keys can either be Feed keys providing access to Feeds, Datastreams and Datapoints or master keys providing access to all other resources.
Application Software created to run on client devices (i.e. phones, laptops, tablets) or in a web browser that allows a user to interact with one or more connected objects.
Channel Every Datastream in the API is a two-way communications channel on the Xively platform. Channels are limited to 32 characters per Datapoint value.
Cloud Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Connected Product An integration of connected object, application and services through the Xively API to created connected experiences.
Datapoint A single value of a Datastream at a specific point in time. It is simply a key value pair of a timestamp and the value at that time.
Datastream A bi-directional communications channel that allows for the exchange of data between the Xively platform and authorized devices, applications, and services. Each Datastream represents a specific attribute, unit or type of information (a variable) archived as a series of Datapoints (data value plus timestamp) in the Xively time series database.For example, a device can use a data stream to store sensor readings or it can listen to a Datastream to get commands written to that Datastream by an application. Every Datastream must have a unique alphanumeric ID within the Feed.
Development Device A development device is a special class of device automatically created in the Xively Developer Workbench.
Device Devices are individual, physical instances of a product. Each device in a batch of products is provisioned with a unique serial number which it uses to activate on the Xively service.
Environment Another name for Feed. A historical artifact.
Feed A Feed is the collection of channels (datastreams), defined for any given device. A Feed’s metadata can optionally specify location, tags, whether it is physical or virtual, fixed or mobile, indoor or outdoor, etc. Every device has exactly one Feed. While Feeds can be created independent of a device, the practice is not recommended and remains only for backwards compatibility.
Frozen Feed A Feed which was last updated more than 15 minutes ago is marked frozen. When the Feed is updated, its status changes to live.
Live Feed The Feed was updated with data within the last 15 minutes.
Gateway A gateway is a conceptual element of connected objects. It is the component which interfaces the object to the Internet. The gateway may by integrated in an object, external to an object or supplied by another product such as a mobile phone.
Historical Query A query that returns a list of historical Datapoints within the specified range for one or more Datastreams.
Libraries Xively libraries are open source toolsets available for many different programming languages and platforms. There are Xively supported libraries which the team maintains and offers formal support for and community generated libraries.
Master Key A master key is a non-resource restricted, private key, which has permissions to perform all HTTP methods.
Object A programmatically addressable interactive device connected to the internet.
Permissions The access that is allowed to resources. API Keys specify permissions with one or more Permissions objects. For example, a key could be created that allows read-only access to all public resources (suitable for embedding in JavaScript within a web page), but that also allows write access to one specific Feed from one specific IP address. Permissions for a key cascade, which means that if a key doesn’t include any specific Feed restrictions, then it will be able to access all resources that the creating user can. Similarly, if you restrict a key’s access to just a particular Feed, this key will still have the same level of access to all Datastreams contained by that Feed.
Pre-registering To pre-register a group of devices with Xively, you use the Xively Workbench to upload the serial numbers made available to you by the manufacturer. For each serial number uploaded, Xively uses the Create Device API to create the device in the database, setting the serial and the created_at attributes. So when a pre-registered device transmits its activation code to Xively, the API knows that these devices are authorized to be used on Xively.
Product Secret A random hex string automatically generated when a product is created in the provisioning system. The product secret is used in the activation process.
Product Product is the highest level of abstraction in the Xively data hierarchy. A product in Xively represents a specific type of actual device, for example the ‘Acme Smart Thermostat’. The product definition includes a product name, a description and optionally a Feed template that is applied to every device created in the batch as a default.
Provisioning The process whereby a physical device sharing a serial number with an inactive device defined in a product batch in Xively comes online, submits an activation code to Xively and receives its configuration information back so that the device can interact with and through Xively.
Resources Xively exposes 7 resources via URLs (Uniform Resource Locators): Feeds, Datastreams, Datapoints, Keys, Triggers, Products, and Devices. To access a Xively resource, you submit an HTTP request to one of the published URLs using the four HTTP verbs (DELETE, GET, POST, PUT) and indicating the format representation (JSON, XML, CSV).
Serial Number The serial number is a unique ID assigned to each device, accessible to the activation code running on the device. This ID can be a value generated and programmed into the device during the manufacturing process, or it can be a device specific identity such as a MAC address or processor serial number. At all times, non-consecutive serial numbers should be used so that in the unfortunate case where a product secret is discovered, it is difficult to guess the serial number of other devices. A serial number can be any arbitrary string composed of alphanumeric characters and the addition sign, subtraction sign, underscore, comma, and colon.
Service Existing applications run and used by connected product developers and/or their customers - for example a Customer Relationship Management system - that will be integrated into the overall connected product experience.
Sockets Sockets and WebSockets provide full-duplex communications channels over a single TCP connection.
Trigger Triggers, also referred to as notifications, provide ‘push’ capabilities by sending HTTP POST requests to a URL of your choice when one or more conditions for a Datastream are satisfied. For example, a notification can be sent when a value in a Datastream changes or exceeds a threshold. Triggers created with the API are accessible from api.xively.com and authentication is required. Triggers can also be created using the Xively Workbench.
Location Waypoints The collection of locations registered for a device whose disposition is mobile. You cannot delete or change waypoints.