“It is a magniﬁcent feeling to
recognize the unity of complex
phenomena which appear to be
things quite apart from the
direct visible truth.”
Today I’m going to talk about three areas of technology that Internet of Things systems can
learn from. On the surface, none of them are IoT technologies.
One of my favourite concepts is the idea of “consilence”, described by Edward O. Wilson. He
believes that knowledge can be uniﬁed across scientiﬁc disciplines. It’s the idea of “the
fundamental interconnectedness of all things” as Douglas Adams put it.
Tech number 1: time-oriented data in ﬁnancial trading
In ﬁnancial trading, the most valuable data is the freshest data. The value of much ﬁnancial
data declines over time. The same is true of IoT data when we use it to monitor the real world
and trigger actions for users.
As Kevin Slavin described in his brilliant talk “How algorithms shape our world” there are
buildings in Manhattan full of servers positioned as close as possible to the London
transatlantic data cables. There is almost nothing that humans could do in that real estate
that would be more valuable than the lowest-possible latency connection that those servers
use to trade on.
The need for low-latency correlation, query and response on realtime data is generally known
as CEP: Complex event processing. One such open-source system that we used to build
Thington is called Esper.
The Devops community has been using CEP tools for its own real-time time-series analysis
and alerting for a long time.
“The problems we look at have temporal
constraints ranging from:
5 seconds (counters and statistics) to
1 second (fraud detection) to
10 milliseconds (user-action reaction)
everywhere in between.”
Theo Schlossnagle, OmniTI
Theo Schnossnagle has described using Esper for its in-memory time-oriented constructs in
order to deal with a wide variety of data on behalf of clients at OmniTI.
The essence of real-world data is that it describes change over time. This is a fundamental
concept for IoT architectures.
Tech number 2: massively-multiplayer online gaming
Some of the most complex realtime systems in the world are group events such as raiding in
World Of Warcraft.
The Internet of Things can turn single-player things such as a car with a single owner and set
… into multiplayer objects by adding a small amount of hardware and a service layer such as
Games are essentially asynchronous, essentially multi-character / multi-player, and full of
Early games such as the Monkey Island are brilliant solutions to giving the player a sense of
open conversations in the absence of strong AI and processing power
These techniques are still used in modern games such as 80 Days by Inkle Studios
They open-sourced the narrative engine that their designers (not just their developers!) use to
create in-game conversation. We have adapted this open-sourced engine to create a
conversational interface in Thington.
The essence of games is the human-machine interface. This is a fundamental concept for IoT
This is a sketch by Jack Dorsey of an early idea for status updates that became Twitter
“The emergence of @ to mean a
reply was a crucial development in
“The ﬁrst-ever hashtag, @-reply and retweet” — qz.com
“Early on, its founders struggled over
whether the service was primarily for
status updates or conversation.”
From a simple system of status updates, a number of emergent features were co-created by
Twitter’s userbase that formed the axioms of a rich human ecosystem of conversation.
One example of this is when Twitter technical architect Blaine instituted the rules of @reply
scoping, meaning that when one user made an @reply to another, only users that followed
both users would see the reply. This helped users managed the ﬁrehose of content, and is a
lovely example of a technical semantic decision changing the nature of an entire product.
The same is true of several other emergent Twitter features.
this slide from
At Thington we were inspired by a proposal published by Twitter to their developer
community that was never implemented: Annotations.
this slide from
The idea was to have tweets with “View Source” - that there could be a packet of data
underlying any tweet that was deﬁned by the user’s own app (any app that used the Twitter
API). We expanded on this idea to create Thington’s timeline view, where smart home
devices talk about themselves in human language, but the data underlying each update is
always available for use in automation.
The essence of social media is that humans are really good at collaborating through
conversation. This is a fundamental concept for IoT architectures.
Social media: conversation is collaboration
Data: change over time
“The love of complexity without
reductionism makes art; the
love of complexity with
reductionism makes science.”
Edward O. Wilson: Consilience
the Internet of Things
should be a
This material is in part based upon work supported by
the National Science Foundation under Grant Number
(1621491). Any opinions, ﬁndings, and conclusions or
recommendations expressed in this material are those
of the author(s) and do not necessarily reﬂect the
views of the National Science Foundation.