Mashing Up Your Web-Enabled Home
            Enabling Physical Mashups in a




Dominique Guinard, SAP Research Zurich & ETH Zurich
Touch the Web 2010 @ ICWE Vienna
06.07.2010
[http://www.flickr.com/photos/moragcasey/]




Web of Things? Physical Mashups?

1. MOTIVATION
Embedded Devices Invade us!
• Emergence of the
  physical Web,
  everyday devices:
  – Getting Ubiquitous
  – Getting Connected
What if we Could Recompose
     Them as we Wish?
              • Easing the currently
                complicated
                development.
              • Creating a re-
                useable/composable
                physical world.
              • From Web mashups
                to physical
                mashups.
Towards Physical Mashups
             REST
                           REST                                     URL

                                              REST
        PHP
                              JavaScript                         JavaScript




[http://www.pachube.com]   [http://www.webothings.com/energievisible] [http://www.clickscript.ch]
Contribution

• Methodology for Web-enabling things.                          [GuiWoT10]


• Discussing the requirements of physical
  mashups.
• Introducing a Web framework supporting
  physical mashup editors.




                         [GuiWoT10] Dominique Guinard, Vlad Trifa, Erik Wilde
                         Architecting a Mashable Open World Wide Web of
                         Things, Technical Report No 663, Institude for Pervasive
                         Computing, ETH Zurich, February 2010.
Today’s Menu

                                                    1. Motivation
                                                    2. Enabeling a Web of
                                                       Things
                                                    3. Case-study :
                                                       Clickscript
                                                    4. Discussing the
                                                       requirements of physical
[http://www.flickr.com/photos/lessio/1346732230/]      mashups.
                                                    5. A Physical Mashup
                                                       Framework.
[http://www.flickr.com/photos/julianbleecker]



Push the Web down to devices!

2. ENABLEING A WEB OF THINGS
Integrating Smart Things to the Web

• Connecting them to the Internet:
  – Directly: IPv6 Lowpan
  – Indirectly: Through reverse proxies (smart gateways).
• “RESTful” Things:
  – Functionality as resources:
    • BASE_URI/sunspot/sensors/light
  – Serving several linked representations:
    • HTML for browsability,
    • XML / JSON for integration,
    • ATOM for aggregation.
  – Using HTTP as an application protocol:
    • GET, POST, PUT, DELETE,
                                          [GuiWoT10] Dominique Guinard, Vlad Trifa, Erik Wilde
    • Error codes, Content negotiation.   Architecting a Mashable Open World Wide Web of
                                          Things, Technical Report No 663, Institude for Pervasive
                                          Computing, ETH Zurich, February 2010.
Example: RESTful SunSPOTs

                                                         • Web-enabling the
                                                           Sun SPOT platform:
                                                           – All sensors and
                                                             actuators become
                                                             resources.
                                                         • Two
                                                           implementation:
                                                           – Web-server on the
                                                             nodes.
[http://www.sunspotworld.com]                              – Web-server on the
                                                             gateway.
[GuiSpot09] Dominique Guinard, Vlad Trifa, Thomas
Pham, Olivier Liechti. Towards Physical Mashups in the
Web of Things. Proceedings of IEEE INSS 2009
[http://www.flickr.com/photos/lpettinati/]




Trying out physical mashups

3. CASE STUDY: CLICKSCRIPT
Demo
    Adapting a Mashup Editor

                              • Clickscript:
                                – Javascript
                                  (JQuery / DOJO)
                                  based visual
                                  language.
                              • Added wrappers
[http://www.clickscript.ch]     for WoT devices:
                                – RFID, SunSPOT,
                                  Ploggs.
[http://www.flickr.com/photos/sharynmorrow/]




What do we need for physical mashups to become reality?

4. DISCUSSING REQUIREMENTS
Requirements for supporting
      Physical Mashups (1/3)
• R1: Support for several UIs and modalities:
  – Domain specific editors (e.g. energy,
    security, etc.).
  – Beyond the desktop (e.g. mobile).
  – Ideally through a RESTful API.

                Mashup
                 Editor
                                    Mashup
                                     API      Mashup
                                             Framework
                          Mashup
                           Editor
Requirements for supporting
      Physical Mashups (2/3)
• R2: Support for Described Things:
  – REST is a good start but not enough.
  – Describe for humans (search) and machines
    (discovery).
  – Supporting semantic service discovery:
     • RDF(a), Microformats, Microdata, etc.

                     RDFa         Discovery
                                   Module
                                               Mashup
                                              Framework
       Microformat
Requirements for supporting
      Physical Mashups (3/3)
• R3: Support for Event-Based Mashups:
  – Many “things” are naturally event-based (e.g.
    sensors).
  – Pull for control, push for monitoring.
  – HTTP callbacks (Web Hooks), PuSH, etc.

                                                           Editors
               GW   Web Hook                    PuSH
                     Listener                    Hub
                                   Mashup
                                  Framework                Editors
         Hub                                  Web Socket
                    PuSH Client
                                                Server
[www.flickr.com/photos/docman ]




Towards Supporting Real-World Mashup Editors

5. A Physical Mashup
Framework
Concept
Features of the Framework
             Workflow Engine:
            • Execute the mashups (wait,
             –start, stop)
               Supports REST & WS-* things.
             –
               Supporting long running
             –workflows.
               Using on Ruote.
             –
             Discovery Component:
            • Things “crawler”
             –
               RDFa Descriptions
             –
             REST API:
            • Create mashups with HTTP.
             –
             Mashup Entry Point:
            • Manage the mashup lifecycle
             –with REST.
Editor on Top :
Energy Mobile Mashup Editor
              • Energy aware mashups:
                – « Turn the heating off
                  when I’m more than two
                  KMs away from home ».
              • Wizard-based:
                – Scan tags (QR)
                – Setup rules
                – Create actions:
                   • Physical (thing)
                   • Virtual (e.g. xmpp,
                     Atom, Twitter, SMS,
                     etc.)
[http://www.flickr.com/photos/parmiter/]




Where do we go from here?

OPEN CHALLENGES
Challenges Towards Physical Mashups

• Discovering/searching things and
  their services:
  – We use a “proprietary” RDFa
    description.
  – Standard? Currently experimenting
    using Microformats.
• Scalability? Usefulness?
  – Need for qualitative/quantitative
    evaluation.
Thanks a lot for your
            attention
www.webofthings.com
                      • Contact:
                        – Dominique Guinard
                        – dguinard a t ethz.ch
                        – www.guinard.org
                      • Special thanks to:
                        – Azulena Aguilar.




                                             23
Backup Slides
Web of Things (WoT)?
                    Social Web

Internet of
                              Real-time Web
Things




                          Programmable
  Semantic Web            Web
              Web of Things
I. Connecting Embedded Devices
                        to the Internet




                                                                              n
                                                                            No
                                                    6                         IP es
                                                IP v a n                     de
                                                                               vi c
                                                     p
                                                lo w




[TrifaGW] Vlad Trifa, Samuel Wieland, Dominique Guinard, Thomas Michael
Bohnert: Design and Implementation of a Gateway for Web-based Interaction
and Management of Embedded Devices.
Proceedings of the 2nd International Workshop on Sensor Network
Engineering (IWSNE 09). Marina del Rey, CA, USA, June 2009

Physical Mashups in the Web-Home

  • 1.
    Mashing Up YourWeb-Enabled Home Enabling Physical Mashups in a Dominique Guinard, SAP Research Zurich & ETH Zurich Touch the Web 2010 @ ICWE Vienna 06.07.2010
  • 2.
  • 3.
    Embedded Devices Invadeus! • Emergence of the physical Web, everyday devices: – Getting Ubiquitous – Getting Connected
  • 4.
    What if weCould Recompose Them as we Wish? • Easing the currently complicated development. • Creating a re- useable/composable physical world. • From Web mashups to physical mashups.
  • 5.
    Towards Physical Mashups REST REST URL REST PHP JavaScript JavaScript [http://www.pachube.com] [http://www.webothings.com/energievisible] [http://www.clickscript.ch]
  • 6.
    Contribution • Methodology forWeb-enabling things. [GuiWoT10] • Discussing the requirements of physical mashups. • Introducing a Web framework supporting physical mashup editors. [GuiWoT10] Dominique Guinard, Vlad Trifa, Erik Wilde Architecting a Mashable Open World Wide Web of Things, Technical Report No 663, Institude for Pervasive Computing, ETH Zurich, February 2010.
  • 7.
    Today’s Menu 1. Motivation 2. Enabeling a Web of Things 3. Case-study : Clickscript 4. Discussing the requirements of physical [http://www.flickr.com/photos/lessio/1346732230/] mashups. 5. A Physical Mashup Framework.
  • 8.
    [http://www.flickr.com/photos/julianbleecker] Push the Webdown to devices! 2. ENABLEING A WEB OF THINGS
  • 9.
    Integrating Smart Thingsto the Web • Connecting them to the Internet: – Directly: IPv6 Lowpan – Indirectly: Through reverse proxies (smart gateways). • “RESTful” Things: – Functionality as resources: • BASE_URI/sunspot/sensors/light – Serving several linked representations: • HTML for browsability, • XML / JSON for integration, • ATOM for aggregation. – Using HTTP as an application protocol: • GET, POST, PUT, DELETE, [GuiWoT10] Dominique Guinard, Vlad Trifa, Erik Wilde • Error codes, Content negotiation. Architecting a Mashable Open World Wide Web of Things, Technical Report No 663, Institude for Pervasive Computing, ETH Zurich, February 2010.
  • 10.
    Example: RESTful SunSPOTs • Web-enabling the Sun SPOT platform: – All sensors and actuators become resources. • Two implementation: – Web-server on the nodes. [http://www.sunspotworld.com] – Web-server on the gateway. [GuiSpot09] Dominique Guinard, Vlad Trifa, Thomas Pham, Olivier Liechti. Towards Physical Mashups in the Web of Things. Proceedings of IEEE INSS 2009
  • 11.
  • 12.
    Demo Adapting a Mashup Editor • Clickscript: – Javascript (JQuery / DOJO) based visual language. • Added wrappers [http://www.clickscript.ch] for WoT devices: – RFID, SunSPOT, Ploggs.
  • 13.
    [http://www.flickr.com/photos/sharynmorrow/] What do weneed for physical mashups to become reality? 4. DISCUSSING REQUIREMENTS
  • 14.
    Requirements for supporting Physical Mashups (1/3) • R1: Support for several UIs and modalities: – Domain specific editors (e.g. energy, security, etc.). – Beyond the desktop (e.g. mobile). – Ideally through a RESTful API. Mashup Editor Mashup API Mashup Framework Mashup Editor
  • 15.
    Requirements for supporting Physical Mashups (2/3) • R2: Support for Described Things: – REST is a good start but not enough. – Describe for humans (search) and machines (discovery). – Supporting semantic service discovery: • RDF(a), Microformats, Microdata, etc. RDFa Discovery Module Mashup Framework Microformat
  • 16.
    Requirements for supporting Physical Mashups (3/3) • R3: Support for Event-Based Mashups: – Many “things” are naturally event-based (e.g. sensors). – Pull for control, push for monitoring. – HTTP callbacks (Web Hooks), PuSH, etc. Editors GW Web Hook PuSH Listener Hub Mashup Framework Editors Hub Web Socket PuSH Client Server
  • 17.
    [www.flickr.com/photos/docman ] Towards SupportingReal-World Mashup Editors 5. A Physical Mashup Framework
  • 18.
  • 19.
    Features of theFramework Workflow Engine: • Execute the mashups (wait, –start, stop) Supports REST & WS-* things. – Supporting long running –workflows. Using on Ruote. – Discovery Component: • Things “crawler” – RDFa Descriptions – REST API: • Create mashups with HTTP. – Mashup Entry Point: • Manage the mashup lifecycle –with REST.
  • 20.
    Editor on Top : EnergyMobile Mashup Editor • Energy aware mashups: – « Turn the heating off when I’m more than two KMs away from home ». • Wizard-based: – Scan tags (QR) – Setup rules – Create actions: • Physical (thing) • Virtual (e.g. xmpp, Atom, Twitter, SMS, etc.)
  • 21.
  • 22.
    Challenges Towards PhysicalMashups • Discovering/searching things and their services: – We use a “proprietary” RDFa description. – Standard? Currently experimenting using Microformats. • Scalability? Usefulness? – Need for qualitative/quantitative evaluation.
  • 23.
    Thanks a lotfor your attention www.webofthings.com • Contact: – Dominique Guinard – dguinard a t ethz.ch – www.guinard.org • Special thanks to: – Azulena Aguilar. 23
  • 24.
  • 25.
    Web of Things(WoT)? Social Web Internet of Real-time Web Things Programmable Semantic Web Web Web of Things
  • 26.
    I. Connecting EmbeddedDevices to the Internet n No 6 IP es IP v a n de vi c p lo w [TrifaGW] Vlad Trifa, Samuel Wieland, Dominique Guinard, Thomas Michael Bohnert: Design and Implementation of a Gateway for Web-based Interaction and Management of Embedded Devices. Proceedings of the 2nd International Workshop on Sensor Network Engineering (IWSNE 09). Marina del Rey, CA, USA, June 2009