W3C

- DRAFT -

SV_MEETING_TITLE

30 Jul 2015

Agenda

See also: IRC log

Attendees

Present
Jonghong_Jeon, Dave_Raggett
Regrets
Chair
SV_MEETING_CHAIR
Scribe
Karen, dsr

Contents


<dsr> … we resume from the coffee break

OMA Generic Open Terminal API Framework (GotAPI) as an implementation approach to a smartphone-based WoT service gateway

<dsr> Bryan Sullivan (AT&T) presenting.

<dsr> GotAPI expands to generic open terminal API.

<dsr> This is a candidate standard from the OMA. It enables web apps to access arbitrary local or connected device APIs.

<dsr> There is an open source implementation from NTT Docomo.

<dsr> This is an example of a smart phone (or tablet) approach for the Web of Things.

<dsr> It involves an embedded web server on the same device as the browser. Web apps can discover this server using standard web APIs (XHR, WebSockets, Server Sent Events, WebRTC) to access APIs through the GotAPI server.

<dsr> There is an extension plug-in mechanism to different kinds of devices.

<dsr> In principle this could also be used by native and hybrid apps.

<dsr> The server uses the operating systems inter process communication mechanism as a building block to obtain the user’s permission for access to a particular device and API.

<dsr> We spent a lot of time on security. This includes application registration and authenticity, so that the GotAPI server can detect app spoofing by rogue apps.

<dsr> Privacy via user mediated permissioning. Detection of GotAPI server spoofing by rogue apps.

<dsr> Likewise for plugins. We assume that the host device is not rooted, and that apps are from legitimate sources (app stores and web servers).

<dsr> Bryan shows a video of a demonstration.

<dsr> The GotAPI 1.1 will complete the specs for WebSocket based APIs. We’re developing APIs for common bluetooth healthcare devices, and for 3D printers.

<dsr> Questions?

<dsr> Joerg: have you applied this to controlling several devices at the same time?

<dsr> This may require apps to be coded for specific combinations of devices.

<dsr> Answer: the plugins are for classes of devices.

<dsr> These are the top 6 IEEE specs,

<dsr> Oliver: you already mentioned that you don’t yet fully support OAuth. Are you considering this further?

<dsr> Bryan: either cloud based or some other solutions, e.g. an OAuth server on a secure element, there are many possibiities.

Web Thing Model Implementation Demo

<dsr> Presenter: Vlad Trifa, EVRYTHNG

<dsr> Vlad introduces EVRYTHNG.

<dsr> The aim is to track the whole lifecycle of a product whether consumer packaged goods or durable products and assets,

<dsr> We asked ourselves why so many groups are creating so many different IoT protocols?

<dsr> We came the the conclusion that the Web is a good way to go. It can bring order to chaos through accepted web good practices.

<dsr> The Web of Things has a book

<dsr> We came up with a 4 layer architecture above the actual things: access, find, share, and compose.

<dsr> We focus on the use of HTTP and JSON.

<dsr> HTTP client, web thing client, extended web thing client, semantic web thing

<dsr> We’ve come up with blueprints for REST APIs for web things

<dsr> Type 1 is where a web browser running a web client can talk directly to a web thing on another device.

<dsr> Type 2 involves a gateway, e.g. supporting protocol translation from HTTP to CoAP.

<dsr> Type 3 involves the cloud, e.g. using MQTT to feed data from the device to a server on the cloud that web thing clients can access.

<dsr> Vlad presents examples of JSON payloads.

<dsr> We’re submitting these ideas as a W3C Members submission.

<dsr> Vlad presents a demo involving a smart plug that pushes data into the cloud

<dsr> This uses MQTT as described above.

<dsr> He shows how to send a command to turn the plug on.

<dsr> Vlad then presents a model for a Raspberry Pi.

<dsr> The model covers properties and actions.

<dsr> He demo’s changing a text string on a display in London via sending a command.

<dsr> Questions?

<dsr> Oliver: is the spec public?

<dsr> Vlad: we preparing our W3C submission via a draft hosted on GitHub.

<dsr> Oliver: if I know the syntax for the URL, then I can invoke the action?

<dsr> Vlad: yes

<dsr> Oliver: what is your plan for access control?

<dsr> Vlad: this is described in out book via the layered architecture, including best practices for securing the web

<dsr> Sebastian: the model looks similar to what we’re discussing for thing descriptions. Where do you put location?

<dsr> Vlad: this can be treated as a property like other properties

<dsr> Oliver: so you have your own vocabulary?

<dsr> Vlad: it is geo Jason

<dsr> We emphasise extensibility

<dsr> Arnaud: are you asserting that everything should be over HTTP?

<dsr> Vlad: no, but if you are building an application in an open environment, then yes

<dsr> If you are interested in using lots of data from a database, the protocol used to push the data to the database could be another protocol like MQTT.

<dsr> But the apps should use HTTP to access that database.

<Karen> scribenick: Karen

Dave Raggett presentation

"Open Source Projects for a suite of Web of Things Services

…talk about open source projects

…idea is WoT is distributed platforms

…follow link to more slides

…different platforms from different vendors

…can we use abstraction layer to connect them

…different protocols are appropriate in different contexts

…if we can do this, we can do in different scales

…small to embedded servers, to home hubs

…or up into the cloud based server farms; big data services

…can we apply this abstraction layer

…Different devices has different requirements to support correctly

…cameras that extract in real time; privacy in healthcare,

…sense of networks; large number of sensors with lots of data collected

…push interpretation to network edge so we don't flood the network

…perhaps push scripts into servers

…and likewise push control to network edge; to groups of servers that are synchronized, like robot hands with many separate controls for each joint

…At Munich meeting we talked about accessing things from web browsers

…a web page scripting library for accessing things

…Made a list here

…HTTP

scribe: Web Sockets, CR

…Server sent events, Rec

…Push API, working draft

…WebRTC, working draft

…allows data channel to be used peer to peer, one device to another

…All is restricted by browser security model

…Implementation work used HTTP to access models and WebSockets for the messaging

…Resource headers

…Why should we put effort into open source

…Go back to early days of web where servers played a vital role in growth of the web

…Rough consensus and running code vital for success of standardization work

…Reading out to people, a number of projects underway

…at very beginning

[Slide references various GitHub projects]

…Lots of horizontal metadata

…early stage projects focus on data models

…lots of work to be done

…Data models allow service to create a bunch of objects

…allows developers interactive things; reduce cost of building applications

…idea is not to standardize models but to standardize the vocabularies

…have to know what they mean

…we've seen some of these things

…property values of basic types

…Json, events that can carry data

…Example of hotel room door handle

…to bridge gap between web developers who are not keen on SemWeb

…Json LD is pretty effective there

…events for door, light switch

…property name and type

…or types of stream as object which is next level down

…could have another object for next level of annotation

…Json LD is cheating; hiding the linked data

…says things like bell or key

…can be connected to URIs, but can be suppressed

…if we have a thing description language, then we can register default context at same time, and mapping of URIs

…provides simplicity

…additional context is provided

…We can also have things as agents

…idea is to use things as a means

…How to do this

…Starting point is the data model

…Two APIs; one to register the thing

…sensors, actuators

…server creates a virtual object and binds that to @

…Can use proxy fora thing on another server

…provide URI for data model

…Can chain proxies across services if needed

…Different servers may support different protocols

…Find out what that service supports

…All up in the air

…GitHub projects have some suggestions for how that might be done

…Looking at embedded systems

…Microcontrollers have kilobites

…change in capabilities

…have a whole bunch of stuff [reads from slide]

…devices have different cycles

…a lot of them use the Harvard architecture

…other devices like timers

…support standard buses

…How to turn on a LED

…digital converters

…Can we build momentum through WoT through the Maker Community?

…do some hackathons next year

[reviews photos on slide]

…these devices are low-costs

…some have wifi built into boards

…lots of sensors

…So we could make a community, do hackathons

…Demo ideas I'm working on

…Temperature and humidity senor

[describes images on slide]

…bottom one is electrocardiogram, not medical grade

…you pass cleaned up signal from chip

…analog to digital converter

…Idea is to see what we can do with a small amount of RAM

…use static memory

…find compact encoding like six bytes per node

…not C++ have to find way to handle objects

…Looking at ways if both servers

…in communication have access to server model, both can compress information

…In principals, don't have to download them into the device

…Lots of possibilities for maximization

…Hello world Arduino Sketch

…My minimal implementation of Agent using C++

…it gets called when thing is set up

…make mapping from names to symbols

…sets up an event listener

…C++ does not know about Json objects

…scratch events pulls and dispatchees

s/dispatches

…Has to be work to avoid MCU blocking

…use interrupt rather than blocking calls

…extra work to do

…Using timers

…for timeouts

…Dependencies across things

…One thing may depend upon another

…Means you have to set things up in a way that's distributed and synchronous

…Got it on @ server but not on Aduina

…Strong security plans neeeded

…In US, NIST is encouraging strong security

…to develop trustworthy systeme

s/systems

…Small devices don't have enough resources

…option to either use system on a chip devices or other chips

…Can combine these things to make a low-cost but secure device

…Looking to help with these open source projects to push through

…Looking for offers of help

…people who want to contribute to open source, or to provide resources to help

Juerg: Thank you, Dave

…Any comments or questions?

Johannes: I was wondering about different servers; did you manage to connect them?

Dave: We're not there yet. Looking to create test cases and test beds to support that

…smaller devices support one or two protocols, but larger devices support many more protocols so it makes it challenging

Joerg: Further comments?

Dave: If you want to see more details on open source projects, catch me over the next two days

Joerg: yes, we'll be discussing that on Friday

…how test framework will be worked out; use some coffee time for that

…Looking at today's agenda

…Today we had on one hand, review of IG activities and your contributions

…Tomorrow is to split up into the task forces

…Look at road map

…Prepared discussions and that will be done in the TF again

…We will have something a lunch about this

…Find more details on the wikis of each TF

…Please take a look; we will split up tomorrow after a short joint session

…Be prepared to have some hand raising to see size of groups

…That is tomorrow

…We have another agenda point for dinner

…Table reserved at Pedro's restaurant

[shows map]

…meet in one hour

…Looking forward to further discussion

…See you tomorrow at 9:00am tomorrow

<dsr> scribenick: dsr

Introduction for day 2

Joerg runs through the agenda for today and for tomorrow.

He invites Karent to say a few words about outreach. She proposes to moderate a lunchtime discussion on outreach and how we might want to address a more business focused discussion of the impact of the Web of Things, as she won’t be here tomorrow.

Joerg displays a diagram depicting the WoT IG timeline. We need to conclude on the model of building blocks and agree of the set up for the technology landscape.

We need to plan out work over the next weeks in the run up to the Sapporo face to face in October.

<JonathanJ2> https://www.w3.org/WoT/IG/wiki/F2F_meeting_29-31_July_2015_in_Sunnyvale_CA#Thursday.2C_30th_of_July_-_working_meetings_in_break_ours

Joerg invites the task force leads to present their aims for today’s break out sessions.

Sebastian introduces his plans for the thing description breakout. We aim to define a minimal vocabulary for thing description data models.

We should discuss some use cases and see how they map into JSON-LD. If there is time left, we will need to discuss how to define the data types, as well as plans for implementation.

He asks for a show of hands for how many people want to joint the session [5]

Johannes introduces the break out for the APIs and protocols session.

He wants to prepare a consensus for the report back. The resource model, architecture, technology landscape, examples of protocol mappings, white gaps and next steps.

Johannes has prepared a form on GitHub for collecting input for the technology landscape from each task force.

A show of hands [8]

Oliver introduces the security and privacy session. So far we have only collaborated using the phone and wiki.

I want us to share ideas and propose a Scrum style mini workshop on sharing the meaning and plans for next steps.

show of hands [2]

Joerg: each breakout is responsible for taking minutes in their respective IRC channel

The APIs and Protocols session will remain in the main room. The thing description session will be in room 115, and the security and privacy discussion will be in room 120.

We meet back here at 12:30.

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.140 (CVS log)
$Date: 2015/07/30 16:34:51 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.140  of Date: 2014-11-06 18:16:30  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

WARNING: Bad s/// command: s/dispatches
WARNING: Bad s/// command: s/systems
Succeeded: s/rrsgent, draft minutes//
Succeeded: s/out/our/
Succeeded: s/ o / on /
Succeeded: s/7/8/
Found ScribeNick: Karen
Found ScribeNick: dsr
Inferring Scribes: Karen, dsr
Scribes: Karen, dsr
ScribeNicks: Karen, dsr
Present: Jonghong_Jeon Dave_Raggett

WARNING: Fewer than 3 people found for Present list!


WARNING: No meeting title found!
You should specify the meeting title like this:
<dbooth> Meeting: Weekly Baking Club Meeting

Agenda: https://www.w3.org/WoT/IG/wiki/F2F_meeting_29-31_July_2015_in_Sunnyvale_CA

WARNING: No meeting chair found!
You should specify the meeting chair like this:
<dbooth> Chair: dbooth

Got date from IRC log name: 30 Jul 2015
Guessing minutes URL: http://www.w3.org/2015/07/30-wot-minutes.html
People with action items: 

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.


[End of scribe.perl diagnostic output]