2. “It is a magnificent feeling to
recognize the unity of complex
phenomena which appear to be
things quite apart from the
direct visible truth.”
Albert Einstein
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.
3. One of my favourite concepts is the idea of “consilence”, described by Edward O. Wilson. He
believes that knowledge can be unified across scientific disciplines. It’s the idea of “the
fundamental interconnectedness of all things” as Douglas Adams put it.
5. In financial trading, the most valuable data is the freshest data. The value of much financial
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.
6. 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.
7. 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.
8. The Devops community has been using CEP tools for its own real-time time-series analysis
and alerting for a long time.
9. “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)
and
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.
10. Change
over
Time
The essence of real-world data is that it describes change over time. This is a fundamental
concept for IoT architectures.
12. Some of the most complex realtime systems in the world are group events such as raiding in
World Of Warcraft.
13. The Internet of Things can turn single-player things such as a car with a single owner and set
of keys…
14. `
… into multiplayer objects by adding a small amount of hardware and a service layer such as
Zipcar
15. Games are essentially asynchronous, essentially multi-character / multi-player, and full of
conversations.
16. 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
17. These techniques are still used in modern games such as 80 Days by Inkle Studios
18. 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.
19. Human2Machine
The essence of games is the human-machine interface. This is a fundamental concept for IoT
architectures.
21. This is a sketch by Jack Dorsey of an early idea for status updates that became Twitter
22. “The emergence of @ to mean a
reply was a crucial development in
Twitter’s history.”
“The first-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.
23. 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 firehose of content, and is a
lovely example of a technical semantic decision changing the nature of an entire product.
25. this slide from
Raffi Krikorian
At Thington we were inspired by a proposal published by Twitter to their developer
community that was never implemented: Annotations.
26. this slide from
Raffi Krikorian
The idea was to have tweets with “View Source” - that there could be a packet of data
underlying any tweet that was defined 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.
27. Conversation
is
Collaboration
The essence of social media is that humans are really good at collaborating through
conversation. This is a fundamental concept for IoT architectures.
33. This material is in part based upon work supported by
the National Science Foundation under Grant Number
(1621491). Any opinions, findings, and conclusions or
recommendations expressed in this material are those
of the author(s) and do not necessarily reflect the
views of the National Science Foundation.