00:02:46 … we resume from the coffee break 00:03:00 Topic: OMA Generic Open Terminal API Framework (GotAPI) as an implementation approach to a smartphone-based WoT service gateway 00:03:16 Bryan Sullivan (AT&T) presenting. 00:04:25 GotAPI expands to generic open terminal API. 00:05:07 JonathanJ2 has joined #wot 00:05:36 This is a candidate standard from the OMA. It enables web apps to access arbitrary local or connected device APIs. 00:06:46 There is an open source implementation from NTT Docomo. 00:07:27 This is an example of a smart phone (or tablet) approach for the Web of Things. 00:09:25 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. 00:10:09 There is an extension plug-in mechanism to different kinds of devices. 00:11:43 In principle this could also be used by native and hybrid apps. 00:12:43 jhund has joined #wot 00:15:10 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. 00:18:15 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. 00:19:19 Privacy via user mediated permissioning. Detection of GotAPI server spoofing by rogue apps. 00:20:11 Likewise for plugins. We assume that the host device is not rooted, and that apps are from legitimate sources (app stores and web servers). 00:23:45 Bryan shows a video of a demonstration. 00:25:42 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. 00:26:11 Questions? 00:27:00 Joerg: have you applied this to controlling several devices at the same time? 00:27:03 aizu has joined #wot 00:27:51 This may require apps to be coded for specific combinations of devices. 00:28:22 Answer: the plugins are for classes of devices. 00:28:57 These are the top 6 IEEE specs, 00:30:27 Oliver: you already mentioned that you don’t yet fully support OAuth. Are you considering this further? 00:31:07 Bryan: either cloud based or some other solutions, e.g. an OAuth server on a secure element, there are many possibiities. 00:31:20 Topic: Web Thing Model Implementation Demo 00:31:33 Presenter: Vlad Trifa, EVRYTHNG 00:32:30 Vlad introduces EVRYTHNG. 00:33:13 The aim is to track the whole lifecycle of a product whether consumer packaged goods or durable products and assets, 00:35:14 We asked ourselves why so many groups are creating so many different IoT protocols? 00:36:05 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. 00:37:47 The Web of Things has a book 00:39:17 We came up with a 4 layer architecture above the actual things: access, find, share, and compose. 00:40:33 We focus on the use of HTTP and JSON. 00:41:27 HTTP client, web thing client, extended web thing client, semantic web thing 00:42:35 We’ve come up with blueprints for REST APIs for web things 00:43:54 Type 1 is where a web browser running a web client can talk directly to a web thing on another device. 00:44:20 Type 2 involves a gateway, e.g. supporting protocol translation from HTTP to CoAP. 00:44:58 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. 00:47:21 Vlad presents examples of JSON payloads. 00:48:18 We’re submitting these ideas as a W3C Members submission. 00:49:35 Vlad presents a demo involving a smart plug that pushes data into the cloud 00:50:12 This uses MQTT as described above. 00:50:33 He shows how to send a command to turn the plug on. 00:52:38 Vlad then presents a model for a Raspberry Pi. 00:53:39 The model covers properties and actions. 00:54:58 He demo’s changing a text string on a display in London via sending a command. 00:55:03 Questions? 00:55:29 Oliver: is the spec public? 00:55:55 Vlad: we preparing our W3C submission via a draft hosted on GitHub. 00:56:42 Oliver: if I know the syntax for the URL, then I can invoke the action? 00:56:49 Vlad: yes 00:57:02 Oliver: what is your plan for access control? 00:57:35 Vlad: this is described in out book via the layered architecture, including best practices for securing the web 00:58:50 Sebastian: the model looks similar to what we’re discussing for thing descriptions. Where do you put location? 00:59:11 Vlad: this can be treated as a property like other properties 00:59:23 Oliver: so you have your own vocabulary? 00:59:30 Vlad: it is geo Jason 01:00:45 We emphasise extensibility 01:01:11 Arnaud: are you asserting that everything should be over HTTP? 01:01:35 Vlad: no, but if you are building an application in an open environment, then yes 01:02:38 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. 01:02:54 But the apps should use HTTP to access that database. 01:03:01 rrsagent, make minutes 01:03:01 I have made the request to generate http://www.w3.org/2015/07/30-wot-minutes.html dsr 01:03:14 salam has joined #wot 01:03:55 scribenick: Karen 01:04:03 salam has joined #wot 01:04:04 Topic: Dave Raggett presentation 01:05:16 "Open Source Projects for a suite of Web of Things Services 01:05:24 …talk about open source projects 01:05:34 …idea is WoT is distributed platforms 01:05:50 …follow link to more slides 01:06:00 …different platforms from different vendors 01:06:07 …can we use abstraction layer to connect them 01:06:16 …different protocols are appropriate in different contexts 01:06:24 …if we can do this, we can do in different scales 01:06:35 …small to embedded servers, to home hubs 01:06:47 …or up into the cloud based server farms; big data services 01:06:53 …can we apply this abstraction layer 01:07:17 …Different devices has different requirements to support correctly 01:07:32 …cameras that extract in real time; privacy in healthcare, 01:07:51 …sense of networks; large number of sensors with lots of data collected 01:08:02 …push interpretation to network edge so we don't flood the network 01:08:08 …perhaps push scripts into servers 01:08:42 …and likewise push control to network edge; to groups of servers that are synchronized, like robot hands with many separate controls for each joint 01:08:52 …At Munich meeting we talked about accessing things from web browsers 01:09:01 …a web page scripting library for accessing things 01:09:07 …Made a list here 01:09:11 …HTTP 01:09:19 ..Web Sockets, CR 01:09:26 …Server sent events, Rec 01:09:31 …Push API, working draft 01:09:36 …WebRTC, working draft 01:09:47 …allows data channel to be used peer to peer, one device to another 01:09:54 …All is restricted by browser security model 01:10:06 …Implementation work used HTTP to access models and WebSockets for the messaging 01:10:19 …Resource headers 01:10:33 …Why should we put effort into open source 01:10:52 …Go back to early days of web where servers played a vital role in growth of the web 01:11:10 …Rough consensus and running code vital for success of standardization work 01:11:22 …Reading out to people, a number of projects underway 01:11:28 …at very beginning 01:11:42 [Slide references various GitHub projects] 01:12:08 …Lots of horizontal metadata 01:12:16 …early stage projects focus on data models 01:12:19 …lots of work to be done 01:12:31 …Data models allow service to create a bunch of objects 01:13:01 …allows developers interactive things; reduce cost of building applications 01:13:13 …idea is not to standardize models but to standardize the vocabularies 01:13:20 …have to know what they mean 01:13:26 …we've seen some of these things 01:13:34 …property values of basic types 01:13:42 …Json, events that can carry data 01:14:09 …Example of hotel room door handle 01:14:29 …to bridge gap between web developers who are not keen on SemWeb 01:14:41 …Json LD is pretty effective there 01:14:48 …events for door, light switch 01:14:51 …property name and type 01:15:00 …or types of stream as object which is next level down 01:15:09 …could have another object for next level of annotation 01:15:16 …Json LD is cheating; hiding the linked data 01:15:21 …says things like bell or key 01:15:29 …can be connected to URIs, but can be suppressed 01:15:47 …if we have a thing description language, then we can register default context at same time, and mapping of URIs 01:15:51 …provides simplicity 01:15:57 …additional context is provided 01:16:06 …We can also have things as agents 01:16:20 …idea is to use things as a means 01:16:33 …How to do this 01:16:38 …Starting point is the data model 01:16:44 …Two APIs; one to register the thing 01:16:50 …sensors, actuators 01:17:02 …server creates a virtual object and binds that to @ 01:17:17 …Can use proxy fora thing on another server 01:17:23 …provide URI for data model 01:17:36 …Can chain proxies across services if needed 01:17:44 …Different servers may support different protocols 01:17:51 …Find out what that service supports 01:17:57 …All up in the air 01:18:08 …GitHub projects have some suggestions for how that might be done 01:18:12 …Looking at embedded systems 01:18:40 …Microcontrollers have kilobites 01:18:46 …change in capabilities 01:18:59 …have a whole bunch of stuff [reads from slide] 01:19:09 …devices have different cycles 01:19:18 …a lot of them use the Harvard architecture 01:19:22 …other devices like timers 01:19:30 …support standard buses 01:19:42 …How to turn on a LED 01:19:46 …digital converters 01:20:06 …Can we build momentum through WoT through the Maker Community? 01:20:14 …do some hackathons next year 01:20:26 [reviews photos on slide] 01:20:31 …these devices are low-costs 01:20:48 …some have wifi built into boards 01:20:57 …lots of sensors 01:21:04 …So we could make a community, do hackathons 01:21:13 …Demo ideas I'm working on 01:21:21 …Temperature and humidity senor 01:21:41 [describes images on slide] 01:21:52 …bottom one is electrocardiogram, not medical grade 01:22:05 …you pass cleaned up signal from chip 01:22:10 …analog to digital converter 01:22:23 …Idea is to see what we can do with a small amount of RAM 01:22:27 …use static memory 01:22:41 …find compact encoding like six bytes per node 01:22:49 …not C++ have to find way to handle objects 01:22:58 …Looking at ways if both servers 01:23:09 …in communication have access to server model, both can compress information 01:23:19 …In principals, don't have to download them into the device 01:23:26 …Lots of possibilities for maximization 01:23:35 …Hello world Arduino Sketch 01:23:47 …My minimal implementation of Agent using C++ 01:23:56 …it gets called when thing is set up 01:24:05 …make mapping from names to symbols 01:24:11 …sets up an event listener 01:24:18 …C++ does not know about Json objects 01:24:32 …scratch events pulls and dispatchees 01:24:37 s/dispatches 01:24:45 …Has to be work to avoid MCU blocking 01:24:51 …use interrupt rather than blocking calls 01:24:55 …extra work to do 01:25:05 …Using timers 01:25:12 …for timeouts 01:25:27 …Dependencies across things 01:25:32 …One thing may depend upon another 01:25:43 …Means you have to set things up in a way that's distributed and synchronous 01:25:54 …Got it on @ server but not on Aduina 01:26:02 …Strong security plans neeeded 01:26:13 …In US, NIST is encouraging strong security 01:26:20 …to develop trustworthy systeme 01:26:23 s/systems 01:26:37 …Small devices don't have enough resources 01:26:58 …option to either use system on a chip devices or other chips 01:27:13 …Can combine these things to make a low-cost but secure device 01:27:22 …Looking to help with these open source projects to push through 01:27:26 …Looking for offers of help 01:27:39 …people who want to contribute to open source, or to provide resources to help 01:27:46 Juerg: Thank you, Dave 01:27:58 …Any comments or questions? 01:28:36 Johannes: I was wondering about different servers; did you manage to connect them? 01:28:56 Dave: We're not there yet. Looking to create test cases and test beds to support that 01:29:15 …smaller devices support one or two protocols, but larger devices support many more protocols so it makes it challenging 01:29:21 Joerg: Further comments? 01:29:37 Dave: If you want to see more details on open source projects, catch me over the next two days 01:29:45 Joerg: yes, we'll be discussing that on Friday 01:29:54 …how test framework will be worked out; use some coffee time for that 01:30:25 …Looking at today's agenda 01:31:17 …Today we had on one hand, review of IG activities and your contributions 01:31:26 …Tomorrow is to split up into the task forces 01:31:30 …Look at road map 01:31:40 …Prepared discussions and that will be done in the TF again 01:31:48 …We will have something a lunch about this 01:31:57 …Find more details on the wikis of each TF 01:32:00 atrasatti has joined #wot 01:32:09 …Please take a look; we will split up tomorrow after a short joint session 01:32:18 …Be prepared to have some hand raising to see size of groups 01:32:21 …That is tomorrow 01:32:30 …We have another agenda point for dinner 01:32:39 …Table reserved at Pedro's restaurant 01:33:11 [shows map] 01:33:22 …meet in one hour 01:33:34 …Looking forward to further discussion 01:33:39 …See you tomorrow at 9:00am tomorrow 01:33:49 rrsagent, draft minutes 01:33:49 I have made the request to generate http://www.w3.org/2015/07/30-wot-minutes.html Karen 02:14:54 dsr has joined #wot 15:49:53 RRSAgent has joined #wot 15:49:53 logging to http://www.w3.org/2015/07/30-wot-irc 15:49:59 Zakim has joined #wot 16:02:14 dsr has joined #wot 16:15:00 Karen has joined #wot 16:15:26 JonathanJ2 has joined #wot 16:16:07 Present+ Jonghong_Jeon 16:16:33 rrsgent, draft minutes 16:16:40 Present+ Dave_Raggett 16:17:03 s/rrsgent, draft minutes// 16:17:08 rrsagent, draft minutes 16:17:08 I have made the request to generate http://www.w3.org/2015/07/30-wot-minutes.html JonathanJ2 16:18:19 scribenick: dsr 16:18:29 Topic: Introduction for day 2 16:18:46 Joerg runs through the agenda for today and for tomorrow. 16:18:52 JonathanJ2 has joined #wot 16:19:01 Agenda: https://www.w3.org/WoT/IG/wiki/F2F_meeting_29-31_July_2015_in_Sunnyvale_CA 16:19:46 JonathanJ2 has joined #wot 16:20:02 aizu_ has joined #wot 16:21:06 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. 16:22:18 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. 16:22:46 We need to plan out work over the next weeks in the run up to the Sapporo face to face in October. 16:22:50 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_outs 16:22:52 s/out/our/ 16:23:23 Joerg invites the task force leads to present their aims for today’s break out sessions. 16:24:20 Sebastian introduces his plans for the thing description breakout. We aim to define a minimal vocabulary for thing description data models. 16:25:21 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. 16:26:00 He asks for a show of hands for how many people want to joint the session [5] 16:26:37 Johannes introduces the break out for the APIs and protocols session. 16:27:44 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. 16:28:23 Johannes has prepared a form o GitHub for collecting input for the technology landscape from each task force. 16:28:40 s/ o / on / 16:29:23 A show of hands [7] 16:29:37 s/7/8/ 16:30:24 Oliver introduces the security and privacy session. So far we have only collaborated using the phone and wiki. 16:31:05 I want us to share ideas and propose a Scrum style mini workshop on sharing the meaning and plans for next steps. 16:31:35 show of hands [2] 16:31:43 salam has joined #wot 16:32:23 Joerg: each breakout is responsible for taking minutes in their respective IRC channel 16:34:21 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. 16:34:30 We meet back here at 12:30. 16:34:40 rrsagent, set logs public 16:34:46 rrsagent, make minutes 16:34:46 I have made the request to generate http://www.w3.org/2015/07/30-wot-minutes.html dsr 16:34:52 Karen has joined #wot 16:41:17 dsr has joined #wot 16:45:33 Breakout sessions 16:45:37 kaz is taking notes on #wot-ap channel 16:45:49 please join #wot-ap for WoT AP-TF 16:49:02 ryuichi has joined #wot 17:03:36 AndreaT has joined #wot 18:07:57 BillJ has joined #wot 18:17:53 Zakim has left #wot 18:51:00 bryan has joined #wot 18:55:37 YMATSUDA has joined #wot 18:57:38 YMATSUDA has left #wot 19:13:23 ymatsuda has joined #wot 19:13:50 ymatsuda has left #wot 20:25:10 Karen has joined #wot 20:37:20 aizu has joined #wot 20:41:44 JonathanJ2 has joined #wot 20:42:15 topic: Sync from breakouts 20:42:27 sebastian: makes report from TF-TD 20:43:19 johannes: makes reports from TF-AP 20:43:35 -> http://www.w3.org/2015/07/30-wot-ap-minutes.html TF-AP minutes 20:48:52 oliver: makes report from Security&Privacy 20:57:27 ymatsuda has joined #wot 21:00:16 Arnaud has joined #wot 21:01:23 dsr has joined #wot 21:06:34 Soumya has joined #wot 21:15:19 ymatsuda has joined #wot 21:23:51 jhund has joined #wot 21:24:56 jhund has joined #wot 22:13:55 Karen has joined #wot 22:15:20 Karen_ has joined #wot 22:18:49 Karen has joined #wot 22:21:13 Karen_ has joined #wot 22:28:45 Karen has joined #wot 22:42:02 Karen has joined #wot 22:46:43 Karen has joined #wot 22:52:14 Karen has joined #wot 22:57:29 taki has joined #wot 23:32:29 Karen has joined #wot 23:42:16 Karen has joined #wot 23:52:53 yukimatsuda_ has joined #wot