Many companies are trying to figure out what they should do about IoT and are exploring which technologies can help them achieve those goals. In the past (e.g. more than five years ago), companies who needed an IoT application had a steep hill to climb. Sensors, communications devices, and communications services were much more expensive. But even more difficult was the challenge of building the software application they needed, which practically had to be built from scratch. Now many of the components are in place, allowing more companies to assemble or configure what they need rather than building from scratch (see IoT Platforms: A Framework for Understanding This Maze).
Finding the Right IoT Platform—A Spectrum of Options
Ideally, companies would like to find a fully finished, existing turnkey application that already does most or all of what they want, with minimal configuration or customization. However, there are nearly an infinite number of IoT use cases, people are still figuring them out, and IoT application development is still in relatively early stages — so often there will be ‘some assembly required’ or in other more unique cases a fair amount of coding required. People seeking to buy or build a specific IoT application have many paths and options to choose from that span the spectrum from a collection of IoT tools all the way to purpose-specific turnkey applications.
Figure 1 — Spectrum of IoT Development Platforms/Applications
Figure 1 illustrates this spectrum and the tradeoff of flexibility and uniqueness vs. cost and time. This tradeoff is not absolute — platform providers are continually trying to move the boundaries of that ‘efficient frontier’ to try and achieve both flexibility and implementation speed simultaneously. Some do that better than others.
Examples Across the Spectrum
The diagram also shows some example platforms and applications.1 These examples need to be understood in context. For example, Zebra Zatar, though it is on the left end of the scale, can be implemented quite rapidly, and offers some device-specific turnkey applications. It is, however, designed largely with the intention that developers and 3rd party vendors/partners will use its Restful APIs to access the devices it manages and build the bulk of the front-end applications that enterprises and their customers will use. Similarly Impinj’s Item Intelligence also contains turnkey functionality (such as visualization of item location) but in many or most cases their customers will want further application functionality built on top of that, which consumes the item-level intelligence provided by Impinj.
Another example, flowthings.io is squarely aimed at developers. ThingWorx Composer2 and Mojix ViZix include many elements aimed at the more casual developer or even power user, such as drag and drop mashup UI technology, graphical configuration of things and their attributes, security, alerts, filters, etc. Savi Insight is an analytics and execution platform focused on logistics applications. It provides many prebuilt rules and can be used out-of-the-box with minimal configuration, but can also be further configured and customized by the end user for their specific needs. Some solution providers (TransVoyant, for example) offer both a general purpose platform (TransVoyant CDI) and specific application solutions (e.g. Precise Title Transfer, and a number of other specific applications) built on top of their general-purpose platform.
Converge for Manufacturers
ThingWorx Converge provides a good example of building on a general purpose IoT development platform (ThingWorx Composer) to cater to a specific application domain. It adds a number of components that are especially relevant to the discrete product manufacturers wishing to incorporate IoT application functionality into their offerings. Examples of these capabilities include:
- Prebuilt Data Model/Ontology for Manufactured Products — Rather than starting with a blank slate, the Converge platform provides the developer with a data model that incorporates prebuilt product knowledge, such as product hierarchies, BOMs, maintenance histories, configurations and revisions, and so forth. This leverages PTC’s knowledge gleaned over the years about the attributes of manufactured products within their CAD, PLM, ALM, and SLM businesses and allows inheriting attributes (such as BOM) from those systems. In addition, the data model encompasses domain models and resources. For example in field service it has the concept of service tickets, services provided, resources used, customers, etc. This data could be stored and pulled from multiple external systems, such as service tickets from a field service application and the customer information from a CRM system (see ‘Integration Hub’ below for more on this).
- Business Administration Console — This provides functionality commonly needed for IoT embedded in products, such as provisioning of devices, setting up product lifecycle events within business processes, device security, and more.
- Monitoring and Alert Management — Defining and setting triggers and alerts. For example, if the temperature goes beyond X and vibrations exceed Y, send a text alert to the plant manager and an email to the service technician with information about the event (e.g. location and ID of the electric motor that may need maintenance).
- Remote Access Tools — Utilities enabling users with proper security rights to access devices remotely, download new software revisions to the devices, run calibration and diagnostics remotely, and so forth.
- Software Content Management — Enables intelligent, configurable, selective scheduling of the delivery of software to devices out in the field, such as upgrades, new feature set, patches and bug fixes, and more.
- Dashboards – As soon as products and other data are loaded into the prebuilt data model, the system can generate out-of-box reports, such as which customers have which products, where failures are occurring, and more.
- Business Process Manager — Pre-existing workflows, with an entirely graphical approach to displaying, creating, and modifying the business processes, designed to be usable by power business users. These can go beyond simple alerts, taking events triggered from an alert and providing orchestration between other business systems.
- Analytic Templates — Prebuilt plumbing to integrate analytics tools such as ColdLight, Splunk, and other analytics systems and frameworks.
- Integration Hub — Capabilities to more easily integrate with existing enterprise systems and processes. Prebuilt integrations with common systems.
- Assets and Data Commerce — (Note this capability and the next one, benchmarking, have not been released yet.) This provides the ability to meter and track features and usage by the end user or by the product, such as pay per use or per mile or by other measurable units. The usage information can then be passed on to a billing system. Includes the ability to support more complex usage formulas, such as volume price breaks, time-of-day pricing, differentiating between test vs. actual uses, etc.
- Product and Customer Benchmarking — Tracking products in the field to compare how different products perform in different regions, by different customers, for different use cases and circumstances, etc. Anonymized data can let customers benchmark their performance relative to the entire data pool.
Converge is a good example of a specific-purpose-built development environment that is more than just a vanilla horizontal IoT development platform but is not a fully formed fixed turnkey application. It is designed to provide (out-of-the-box) much of the common functionality that an IoT-enabled product manufacturer would want to offer. Of course there will be further domain- or product-specific functions that many manufacturers will want to offer. Since Converge is build on top of ThingWorx Composer, the manufacturer has a platform on which to extend Converge’s prebuilt functionality.
We can see that these different approaches tend to trade off a rapid start and less development approach vs. more flexibility, customized functionality, and unique capabilities. However, by building applications and domain-specific functionality on top of more generic development platforms, some IoT providers are bringing the best of both worlds. This is good news for those wishing to deploy IoT capabilities, as it lowers the investment, effort, and time required for them to pull together powerful IoT applications and offerings for their customers.
1 Note, there are many other IoT development platforms and applications besides the ones shown. Some of these example platforms span a broader segment of the spectrum than others do. Further, there are a number of other dimensions of comparison beyond the one shown. Examples of other comparisons that can be made between different platforms and apps include if/how they provide analytics, do they provide a complex event processing engine, what kind of rules authoring and rules processing they have, geospatial indexing, the degree of machine learning, etc. We will cover these other dimensions in future articles. — Return to article text above
2 For more on ThingWorx, see Alive at LiveWorx 2015 — Return to article text above
For more on Internet of Things, see our IoT library.
To view other articles from this issue of the brief, click here.