Web of Things (WoT), Architecture, Thing Description, Scripting API | W3C


Web of Things (WoT) Architecture, 2017-09-14.

  1. WoT Thing Description
  2. WoT Scripting API
  3. WoT Binding Templates.

Web of Things (WoT) Thing Description, 2017-09-14.


Describes the metadata and interfaces of Things.

Web of Things (WoT) Scripting API, 2017-09-14.


Operates on Things characterized by Properties, Actions and Events.


Web of Things (WoT) Architecture


The W3C Web of Things (WoT) is intended to enable interoperability across IoT Platforms and application domains. Primarily, it provides mechanisms to formally describe IoT interfaces to allow IoT devices and services to communicate with each other, independent of their underlying implementation, and across multiple networking protocols. Secondarily, it provides a standardized way to define and program IoT behavior.

This document describes the abstract architecture for the W3C Web of Things. It is derived from a set of use cases and can be mapped onto a variety of concrete deployment scenarios, several examples of which are given. This document is focused on the standardization scope of W3C WoT, which consists of three initial building blocks that are briefly introduced and their interplay explained.

The WoT Thing Description (TD) provides a formal mechanism to describe the network interface provided by IoT devices and services, independent of their implementation. Provision of a TD is the primary requirement for a device to participate in the Web of Things. In fact, defining a Thing Description for an existing device allows that device to participate in the Web of Things without having to make any modifications to the device itself. WoT Binding Templates define how a WoT device communicates using a concrete protocol. The WoT Scripting API—whose use is not mandatory—provides a convenient mechanism to discover, consume, and expose Things based on the WoT Thing Description.

Other non-normative architectural blocks and conditions underlying the Web of Things are also described in the context of deployment scenarios. In particular, recommendations for security and privacy are included, while the goal is to preserve and support existing device mechanisms and properties. In general, W3C WoT is designed to describe what exists rather than to prescribe what to implement.

Web of Things (WoT) Thing Description


This document describes a formal model and common representation for a Web of Things (WoT) Thing Description. A Thing Description describes the metadata and interfaces of Things, where a Thing is an abstraction of a physical entity that provides interactions to and participates in the Web of Things. Thing Descriptions provide a narrow-waist set of interactions based on a small vocabulary that makes it possible both to integrate diverse devices and to allow diverse applications to interoperate. Thing Descriptions, by default, are encoded in JSON-LD. JSON-LD provides both a powerful foundation to represent knowledge about Things and simplicity, since it allows processing as a JSON document. In addition to physical entities, Things can also represent virtual entities. A Thing Description instance can be hosted by the Thing itself or hosted externally due to Thing’s resource restrictions (e.g. limited memory space) or when a Web of Things-compatible legacy device is retrofitted with a Thing Description.

Web of Things (WoT) Scripting API


The Web of Things (WoT) provides layered interoperability between Things by using the WoT Interfaces.

This specification describes a programming interface representing the WoT Interface that allows scripts run on a Thing to discover and consume (retrieve) other Things and to expose Things characterized by properties, Actions and Events.

Scripting is an optional “convenience” building block in WoT and it is typically used in gateways that are able to run a WoT Runtime and script management, providing a convenient way to extend WoT support to new types of endpoints and implement WoT applications like Thing Directory.




The Suitcase Words
  • W3C Web of Things (WoT)
  • IoT Platforms
  • interfaces
  • devices
  • services
  • implementation
  • multiple networking protocols
  • standardized
  • behavior
  • abstract architecture
  • use cases
  • mapped
  • scenarios,
    deployment scenarios,
    concrete deployment scenarios
  • standardization scope
  • WoT Thing Description (TD),
    Thing Description (TD)
  • formal mechanism
  • network interface
  • independent of implementation
  • participate
  • WoT Binding Templates,
    Binding Templates. [no acronym]
  • WoT Scripting API,
    Scripting API.
  • blocks,
    blocks and conditions,
    architectural blocks and conditions,
    non-normative architectural blocks and conditions.
  • scenarios,
    deployment scenarios,
    the context of deployment scenarios,
    in the context of deployment scenarios.
  • Web of Things (WoT)
  • Thing Description
  • narrow-waist
    a narrow-waist set,
    a narrow-waist set of interactions,
    a narrow-waist set of interactions based on a small vocabulary,
    a narrow-waist set of interactions based on a small vocabulary that makes it possible both,
    a narrow-waist set of interactions based on a small vocabulary that makes it possible both to integrate diverse devices and to allow diverse applications to interoperate.
  • foundation … knowledge
  • a Web of Things-compatible legacy device
  • layered interoperability
  • Things
  • WoT Interface
  • Actions
  • Events
  • gateways
  • WoT Runtime
  • script management
  • endpoints
  • Thing Directory

Previously filled.

Fujitsu ScanSnap S1500, S1500M on to the ScanSnap iX500

Fujitsu ScanSnap S1500 Instant PDF Sheet-Fed Scanner for PCFujitsu ScanSnap S1500M Instant PDF Sheet-Fed Scanner for the MacintoshFujitsu ScanSnap iX500 Scanner (PA03656-B005)

Availability: Amazon, $420-$480 + SH&T.

But does it ‘Work With Linux?’

Maybe-to-Probably => SnapScan S1500 and SnapScan S1500M

Probably Not1 => SnapScan iX5002

Fujitsu ScanSnap Scanner SANE Support List)

Analysis & Commentary

Based on information and belief. There are keywords “for Macintosh” is some of the product titles, but “for PC” in others; the latter usually means “Windows lockin.”.  But there could still lockouts, drivers, application manager software(s) for both Windows and Mac cultures.  Little version numbers matter in these things; c.f. the experience with ReadyNAS; vast differences in hardware and software internals across products that differ slightly in their naming & wording.

Brock Tice cites Warning <quote>I started with a Mac model (S300M I think? no Windows drivers?) and then moved to a Windows model, the S1500.</quote>

  • There are Windows versions of these products
  • There are Mac versions of these products
  • They don’t play well together
  • Or maybe that has been fixed ref ref
  • Or maybe it hasn’t in older builds that are still on sale; who knows: <quote> the biggest headache of previous ScanSnaps (and there weren’t many) was the fact that they were not cross-platform.</quote> ref
  • Beware.


Notes & Issues

  1. No evidence that it does work on Linux; and plenty of evidence that Fujitsu does not support Linux
  2. In fact, the main use case for this product seems to be to route around the whole desktop culture lockin and work with iOS and Android tablet readers.
  3. But the installer/manager/controller/configurator application seems to be ensconsed MacOS-native culture.
  4. And it seems that the documents either must be received by the proprietary SnapConnect catcher or must must be shoved up into an open, unsafe, best-effort cloud service that will disgorge your documents to friends, enemies, governments and random scriptkiddies at the drop of but the nicest request. No mention of keeping your documents local and secure within the confines of your network. [TODO: find evidence to refute this]


  • The Guy; Scansnap Announces iX500 Scanner, the Best ScanSnap Scanner Yet; In His Blog; 2013-01-07.
    • Referenced: SnapScan iX500
    • Exhibition: WiFi transmission to a iPad on the local lan via SnapScan Connect (the proprietary receiver app)
    • Compatibilities claimed from marcom literature
      • Mac desktop required for installation & configuration
      • Native culture of the installer & manager is MacOS
      • Android referenced in product literature, in the voice of SnapScan marcom outreach
      • Cloud Services:
        • Evernote
        • SugarSync
        • Google Docs
        • Dropbox
      • Not Mentioned:
        • Bluetooth
        • Local WebDAV Receivers
        • Local HTTP, HTTPS POST Receivers
        • Local FTP, FTS, SFTP Receivers
        • Linux (at all)
  • Brooks Duncan; Fujitsu ScanSnap iX500 Review; In His Blog; 2013-01-07.
    • Referenced: ScanSnap iX500
    • Compatibilities:
      • Mac & Windows (only; but one model for both cultures)
      • iOS & Android (control interface apps; ScanSnap Connect review)
    • It’s a vertical solution; lots of proprietary device-specific/processor-specific software bundled with the unit.
  • Brock M. Tice; Finally I can use my ScanSnap S1500 in Linux!; In His Blog; 2012-05-09.
    • Referenced: unclear (maybe the S1500)
    • Declaration: Warning <quote>I started with a Mac model (S300M I think? no Windows drivers?) and then moved to a Windows model, the S1500.</quote>
    • Success Pattern
    • Reported Issues & Limits
      • gscan2pdf 1.0.6
      • Page Options Tab does not work accurately; requires odd settings; not all settings work
      • some success with double-sided scanning is reported
  • Micah Carrick; ScanSnap S1500 ADF Scanner in Linux; In His Blog; 2012-05-09.
    • Referenced: Fujitsu ScanSnap S1500
    • Declaration: <quote>it worked in Linux right out of the box</quote>
    • Success Recipe
      • gscan2pdf
      • <quote>Change the ‘Frontend’ setting to ‘scanadf’ in the application’s preferences dialog.</quote>
      • <quote>Uncheck “Clean up images” and “OCR scanned pages” when scanning receipts.</quote>
  • Robin Clarke; The paperless office with Linux; In His Blog; 2012-04-10.
  • Some Dude; Some Ubuntu Forum Thread; In Ubuntu Forums; 2011-06-02.
    • Mentions: S1300, S1500
    • Testimony: <quote>To contribute some extra information on other scanners, I have been able to borrow an S1500 and that works just by connecting the USB cable and starting xsane (I’m running 64bit Ubuntu 9.10 and sane lists support for the S1500 as complete). It can scan front, back or duplex. It is however considerably bulkier and more expensive than the S1300; I like portability!</quote>
  • Sam Glover; Fujitsu ScanSnap s1500 Document Scanner FAQ & Followup; In His Blog; 2009-06-15.
    • Mentions: ScanSnap S1500
    • Disclosure (buried deep in the commentariat)
      • <quote>Fujitsu sent me the scanner to review.</quote>
      • He likes Windows scanning applications.
      • Not clear he spent much time in Linux
    • He bought one later, replaced it with a
    • Previous commentary
    • Testimony <quote>Does it work with Linux? Yep, with no problems. You can use it directly in Linux through SANE.</quote>
    • Success Recipe
      • None cited
      • General comments about “use SANE” as above
  • Brooks Duncan; Fujitsu ScanSnap in Linux; In His Blog; 2008-09-16.
    • Too old (4+ years ago)
      • References posts from 2007-09
      • Reminds about support existed by 2008.
    • References: S410 and S300M