This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 9939 - If we have a concept of "WebDevice", manufacturer could start to create amazing web devices (Example: www.poken.com). These devices once connected could interact with the website using a REST PROTOCOL. Event based (The device send information when we do a
Summary: If we have a concept of "WebDevice", manufacturer could start to create amazi...
Status: RESOLVED NEEDSINFO
Alias: None
Product: WHATWG
Classification: Unclassified
Component: HTML (show other bugs)
Version: unspecified
Hardware: Other other
: P3 normal
Target Milestone: Unsorted
Assignee: Ian 'Hixie' Hickson
QA Contact: contributor
URL: http://www.whatwg.org/specs/web-apps/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-17 06:07 UTC by contributor
Modified: 2018-12-02 00:25 UTC (History)
5 users (show)

See Also:


Attachments

Description contributor 2010-06-17 06:07:23 UTC
Section: http://www.whatwg.org/specs/web-apps/current-work/#devices

Comment:
If we have a concept of "WebDevice", manufacturer could start to create
amazing web devices (Example: www.poken.com). These devices once connected
could interact with the website using a REST PROTOCOL. Event based (The device
send information when we do an action) or call based (The site call actions on
the device. The url/referer is sent to the device). (Contact: gabriel.klein at
nuage.ch)

Posted from: 212.41.207.210
Comment 1 Gabriel Klein 2010-06-17 06:42:08 UTC
(details)

I see a demand for kind of "WebDevices".

What is my definition of WebDevices?
A webdevice is a device specific for a (or multiple) website. 

Goal?
The goal is to allow manufacturer to create a specific device (or program) that interact with a (or multiple) website without the need of installing drivers, extra-security, etc.

Some example:
>> "Sign a URL" and a device.
This device once inserted can sign url with a specific id, timestamp.
Example: "banking access card". I insert my usb banking access card, enter a password on this card, and it will start to sign all calls that come from my bank. (with a "accept/deny" on the access card.)

>> Generate a one-time token
http://www.yubico.com/products/yubikey/

>> Share information with a website.
http://www.poken.com
When you "poken" with another poken, the information of the event is sent to a website.


What some people are doing now?
(here are what some people are doing)

>> Creating a custom drivers
You need to install a driver on the operating system.

>> Generate a virtual usb keyboard.
When you "act" on the device, it "types" a list of characters. It might be a token or a url.

>> Generate an html file.
We generate an html file that send the information when opened.

>> Have a java/other applet
This signed applet will have restricted access to the device.
Comment 2 Gabriel Klein 2010-06-17 06:52:00 UTC
Some features (optionnal)

>> You insert the web-device.
The browser open a specific website.

>> Events based
In javascript I write a code similar to
callback = {some code}
device = findDevice(...);
device.startListening(callback);

Every time I have an event on the device. (Example: I press the button of the device). I receive the information of the event.

>> Call based
device.call("signUrl");
This call will call a "function" on the device with a parameter "signUrl" and return a rest formated result.

Note:
The referer is sent to all calls that are made on the device.
So we can "verify" that an application (we hope the browser) sent the referer.
Comment 3 Ian 'Hixie' Hickson 2010-08-27 23:16:00 UTC
<device> is intended for things like cameras.

What you're describing sounds much more cutting-edge, and probably isn't appropriate for standardisation yet — we should experiment with it first. I recommend following the steps described here:

http://wiki.whatwg.org/wiki/FAQ#Is_there_a_process_for_adding_new_features_to_a_specification.3F