Many have predicted that the next 10 years will (finally) be the era of wearable computing devices. iGlasses, watches, bangles, and rings all connected to the world around us, in the initial stages through your local router (a.k.a phone) and, eventually, more directly. To make these devices effective, whether as sensors, cameras, displays, or devices to get your attention, will require plenty of innovation, from microminiaturization of hardware to advanced software for gesture analysis.
Wearable Computing is going to be a key component of the so-called third platform, with the wearable devices of users interacting with other devices and with the internet through cloud-based services (see www.idc.com/research/Predictions13/downloadable/238044.pdf ).
Effective wearable computing applications will demand a powerful backend platform. This article explores some of the requirements for this platform.
Location, location, location: Users of wearable devices are interacting with the world around them. Where they are, where they have been, and where they are going is critical information, as is the location and nature of the devices and environment around them. Backend platforms must be able to store events and measured data as well as location data, and be able to perform all manner of location-based searches. And, of course, location is not only about points, it is also about how information is distributed in space. Out-of-bounds areas for the snow boarder, the distribution of elevation along the biking trail, and the floor plan of a building — it’s all about location, location, location.
Cloud Deployable: Wearable applications will be widespread, meaning millions of users interacting with one another, collaborating, and interacting with millions or tens of millions of other devices. Scalability for any application will be paramount.
Collaboration Support: Wearable applications will drive and be driven by collaboration. Users will share information, responding to one another and to a host of external devices, and all in real time. Collaboration will often depend on where the users are located in relation to one another or with respect to real world objects or Internet-based devices.
Real Time Data Capture: Wearable devices are often sensors capable of capturing photographs and videos, and recording a wide range of measured parameters concerning the wearer and their environment, such as heart rate, walking or running pace, temperature, and so on. This information must be quickly captured, geo-located, time stamped, and made available for sharing with others.
Real Time Notification: Users of wearable devices want to know when things happen – an e-mail arrives, a friend sends a photo, the ski lift is waiting for you, the facility you asked to lock down confirms it has been done. Users want to inform and be informed with as little pain as possible, and using whatever notification modality makes the most sense for their application. For this reason also, location-based notification will be important, whether we are talking about restaurant reviews while considering a particular restaurant, the location of nearby friends, or underground utility information as a utility worker approaches a disabled switching unit.
Ease of Development and Deployment: Wearable computing applications will introduce an era of hyper-vertical applications – “an app for that” and “an app for that locale”. To respond to this hyper-verticalization, application developers need to be able to create, evolve, and deploy applications quickly and with minimal engineering resources. Information models need to be easy to build and easy to change, and must incorporate support for object location, shape, etc.
Small Client Footprint: Wearable devices have small processors and limited memory. This will change over time, but platforms today must support these small client footprints while, at the same time, enabling the compute load to be shifted toward the client as required and as resources permit.
Flexible, Intelligent Information Storage and Retrieval: Wearable devices generate information — my heart rate history as I run through my workout; the snow conditions encountered on the run down “Happy Valley”; the photos I took at my sister’s wedding. It should be easy to capture and store information, and then retrieve it using temporal, geo-spatial, classification, and other criteria. Note that much of the information is connected to location.
Management of Sensor and Device Characteristics: To facilitate plug-and-play behaviour requires that we manage device and sensor information, sensor types, sensor performance parameters, and device capabilities.
Extensible, Server Side Computation: Wearable devices will demand sophisticated computation such as gesture analysis, location analytics, and on-the-go sensor data analysis. Users will expect meaningful and useful information. Backend platforms must not only provide the ability to store the history of multiple user interactions, but must also automatically process both that history and any current information within the user’s context.
Cache Management: Wearable devices live on the Internet, and large data volumes could mean slow response times. This demands sophisticated caching techniques deployed on both server and client, with automatic cache synchronization to provide a good user experience. This will be especially true for taxonomies (nested lists), vector maps, and images.
While the mention of wearable computing immediately conjures up a device of one sort or another, wearable applications are equally dependent on back end services (“We should think of wearable applications as systems and not devices”). Successful wearable applications will need to be flexible, easy to deploy, and able to evolve. The characteristics of the platform outlined in this blog post can meet these flexibility criteria, and help you get your wearable application quickly to market.