The document summarizes an event hosted by the AllSeen Alliance about programming the Internet of Things using APIs. It discusses how devices need standard APIs to communicate across brands and platforms. It introduces the AllSeen software framework, an open source project that provides APIs to allow IoT devices to discover, connect and communicate with each other regardless of manufacturer. The event will provide updates on AllSeen and encourage collaboration among developers and businesses to advance open standards for the IoT.
Programming the Internet of Things: Why Devices Need APIs
1. 9 September 2015 AllSeen Alliance 1
Programming the
Internet of Things
Why Devices Need APIs
August 26, 2015
Marcello Lioy
Chair of Core Working Group
AllSeen Alliance
2. 2
Ubiquitous connectivity promises to make devices “smart”
But ONLY if they speak the same language
당신은 내 말 들려? Tem alguém aí? 100010101011hello world! hello world
AutoHomeConsumer goods
and appliances
IndustrialComputing
devices
Devices that can’t connect across brands, categories, and operating systems will be left out
3. 3
Internet of Things Today
NOW PLAYING:
Artist: Flowers
Song: Daisy
Fridge
Cloud
Laundry
Cloud
Lighting B
Cloud
Speaker B
Cloud
Speaker A
Cloud
TV
Cloud
Lighting A
Cloud
Lighting C
Cloud
Security
Camera
Cloud
4. 4
Network topology matters
Direct communication
is fast, efficient, and
secure.
No need to go out to the
cloud to talk to the
device right next to you!“Coffee is done”
“Coffee is done”“Laundry is ready!”
“Laundry is ready!”
“Someone’s at the door”
“Someone’s at the door”
NOW PLAYING:
Artist: Flowers
Song: Daisy
“Someone’s at the door”
5. 5
Internet of Things Tomorrow
NOW PLAYING:
Artist: Flowers
Song: Daisy
Secured
Proximal Cloud
Various Cloud
Services
6. 6
What are these “things”
of which you speak?
Without the right combination of hardware,
connectivity and software a “Thing” is just a
“Thing”. Ultimately it is software that makes a
“Thing” an Internet-of -Things Thing.
7. 9 September 2015 AllSeen Alliance 7
IoT Devices: how will they interact?
• IoT devices are characterized by the software they run so:
– When IoT devices talk to IoT devices it is software talking to software
• Well constructed software has clean boundaries between the internals of the
implementation and the external interfaces exposed to other software.
– We generally call these external interfaces Application Programming Interfaces (APIs)
– APIs are what makes it possible to incorporate existing functionality into new code
• APIs are how software talks to software
8. 9 September 2015 AllSeen Alliance 8
APIs – for IoT devices
• IoT devices should have APIs
– But these IoT devices are all so different
– Though often have very similar functions
• What APIs should IoT devices have?
– Some standard APIs
– Some device specific APIs
9. 9 September 2015 AllSeen Alliance 9
Standards
• What we don’t want:
– There’s an App for that thing
– And an App for that thing
– And yet another App for that thing
– …
• Devices that have similar functionality should expose the same APIs
– Every device with a clock should expose a set-clock API
– Every device that has a battery should expose a battery level API
– Manufacturers cannot differentiate by exposing necessary functionality in different ways
10. 10
IoT needs a framework to expose the various APIs of
connected devices in a consistent way.
A single platform allowing products to expose their capabilities
LOCK DOORS
LIGHT BULBS
GARAGE DOOR
SENSORS
PICTURES
VIDEO
DRAPES
DISPLAYS
SPEAKERS
CLOCKS
COOL
HEAT
TVs
The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance
12. 9 September 2015 AllSeen Alliance 12
December 2014 a group of companies formed the
AllSeen Alliance
• A nonprofit consortium dedicated to enabling the Internet of Things
• Hosts and advances an industry-supported software and services framework based on the
collaborative AllJoyn open source project.
• This collaborative open source framework enables hardware manufacturers and software
developers to create interoperable products that can discover, connect and communicate directly
with other devices, systems and services regardless of brand.
13. 13
AllJoyn Software Framework: High-level architecture
A comprehensive software framework lets devices and applications communicate
Standard Application Layer
AllJoyn Application Layer
AllJoyn Service Frameworks
AllJoyn Core Libs
Onboarding Control Panel
Notifications Audio
Lighting
Physical Layer (Wi-Fi, PLC, Ethernet, Bluetooth)
Discovery &
Advertisement
APIs
Connection
APIs
Security
APIs
AllJoyn Core Libs
Provides ability to find and
connect to devices to do
interesting things.
Provides access control and
encryption
Core libraries interact with
the AllJoyn Router
AllJoyn Service Frameworks
Interoperable, cross-platform
modules for common IoE
functionality
Defines common interfaces
between devices
The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance
OS
AllJoyn Apps
Config
AllJoyn App Layer
Defines the User experience
AllJoyn Router
AllJoyn Router
• Manages
communications between
devices and apps
• Dynamic network
management
Interface APIs
Events and
Actions
….
14. 14
Two Versions of the AllJoyn Framework To Choose
Standard Application
Layer
Standard Application
Layer
App Layer
AllJoyn Standard
Service Frameworks
AllJoyn Standard
Core Libs
Physical Layer (Wi-Fi, PLC, Ethernet, Bluetooth)
Standard Core Libraries
Multiple bindings, runs on HLOS C bindings, runs on RTOS
Thin Apps using Thin Core
requires an AllJoyn Router
in the network
Thin Core Libraries
The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance
HLOS RTOS
App Layer
AllJoyn Thin Service
Frameworks
AllJoyn Thin Core
Libs
Standard Apps Thin AppsStandard App Layer
App dev or OEM writes this
Thin App Layer
OEM writes this
AllJoyn RouterAllJoyn Router
AllJoyn Router can be bundled
with a Standard App or run
standalone
15. 15
Devices describe their capabilities via discoverable
self-describing service interfaces
I can send
notifications
I have control panel
I have lighting
interface
I can send notifications.
I have control panel
I have a clock interface
I display notifications.
I have the clock interface!
I display
notifications.
I have the clock
interface!
I display
notifications.
I have the clock
interface!
I can send and display
notifications
I can send
notifications
The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance
72°
120
80
16. 9 September 2015 AllSeen Alliance 1616
http://events.linuxfoundation.org/events/allseen-alliance-summit/program/about
17. 9 September 2015 AllSeen Alliance 17
About the event
Attend the AllSeen Alliance Summit...
Join business and thought leaders, developers, product managers and the open source community
to address critical technological areas of the Internet of Things (IoT), while working together to
advance the AllJoyn open source software framework.
Taking place in Seattle, October 19-21, the AllSeen Alliance Summit will include keynotes,
technical sessions and general sessions that encourage collaboration on AllJoyn and key IoT
topics of interest including security, smart spaces, industrial, connected lighting, cloud/gateway
connectivity, application development, wearables and developer tools.
From the web page describing the event
18. 9 September 2015 AllSeen Alliance 18
Who and Why
Who Attends:
The AllSeen Alliance Summit is open to the public and expected to attract 600 attendees including:
• Developers - Software Developers, Programmers
• Operations - IT Operations Experts, IT architects
• Business - Senior Business Executives, CIOs/CTOs/VPs of Technology
• Plus Students, Media, Analysts and anyone with an interest in the IoT ecosystem and open source technologies
Why Attend:
• Receive up-to-date information on the latest developments and innovations within the open source IoT ecosystem
• Develop your technical knowledge around the AllJoyn open source software framework
• Explore innovative IoT solutions and creative ways to support your IoT business model
• Gain and understanding of how AllJoyn interacts with other open standards and technologies
• Network with like-minded business leaders and organizations; and more
19. 9 September 2015 AllSeen Alliance 19
Detailed Agenda…
…can be found:
http://events.linuxfoundation.org/events/allseen-alliance-summit/program/schedule
There is also a 2 day plugfest following the summit: October 22 and October 23
– The goal of the PlugFest is to offer participants a valuable opportunity to test interoperability and
compliance of AllJoyn implementations in a private and well-supported environment, with experts on hand
to help with issues in real time.
– Details can be found:
http://events.linuxfoundation.org/events/allseen-alliance-summit/extend-the-experience/alljoynplugfest
20. 20
− Alliance Wiki: https://wiki.allseenalliance.org
− Documents, downloads, and developer tools
− Source Code, release overviews, roadmaps
− Training & Service Framework details
− Working Groups, New Proposals & meeting minutes
− Forums: https://ask.allseenalliance.org/questions
− Certification: https://allseenalliance.org/certification
− Releases & Roadmaps:
https://wiki.allseenalliance.org/release/overview
− Public Mail Lists: https://lists.allseenalliance.org/mailman/listinfo
− Showcase: https://allseenalliance.org/showcase
− Monthly Newsletter: https://allseenalliance.org/news-and-
events/newsletters
For More Information
21. 9 September 2015 AllSeen Alliance 21
For more information on AllSeen Alliance,
visit us at: allseenalliance.org &
allseenalliance.org/news/blogs