Wifi-connect – quick wifi access point to tell a Raspberry Pi about a wifi network

This is all Andrew Nicolaou‘s work. I’m just making a note of it here so others can have a go.

An important part of Radiodan is the way it simplifies connecting a device to a wifi network. The pattern is more common now for screenless devices – Chromecast uses it and ESPs have code patterns for it.

The idea is that if it can’t find a known wifi network, the device creates its own access point, you connect to it on a different device such as a phone or laptop, it pops up a web page for you and you add in the wifi details of the network nearby that you want it to connect to.

Andrew, Dan Nuttall and Chris Lowis wrote the original code – which I wrote up here – and then recently Andrew investigated Resin’s approach, which seems to be more reliable. Resin uses their own platform and Docker images which we’re not using, so Andrew un-dockerised it, and has recently rolled it into the new iteration of Radiodan that we’re working on.

If you want to use it in your own project without Radiodan, here are some instructions. It uses a branch of the Radiodan provisioning code, but just installs the relevant pieces and doesn’t delete anything.

First make sure you have a wifi card with the right chipset – or a Pi3 (scroll down for special Pi3 instructions). Then:

Provision an SD card (this is on Mac OS X)

diskutil list
diskutil unmountDisk /dev/disk2
sudo dd bs=1m if=~/Downloads/2016-02-09-raspbian-jessie.img of=/dev/rdisk2

Put it in the Pi, login, expand the filesystem, reboot and login again.

Checkout the Radiodan code and provision the relevant parts.

sudo apt-get update -y && sudo apt-get upgrade -y
git clone https://github.com/radiodan/provision.git
cd provision
git fetch origin
git checkout -b minimal origin/minimal
sudo ./provision iptables node wifi-connect

reboot. Wait a minute or two and you’ll see a wifi access point called “radiodan-configuration”. Connect to it and a browser window will pop up. Select the wifi network you want to connect the Pi to, add the password and save. Connect back to the wifi network you selected for the Pi and you should be able to ssh to it at pi@raspberrypi.local

For a Raspberry Pi 3, you’ll need to tweak things in order to make it possible for the built in wifi:

sudo apt-get install raspi-config
sudo BRANCH=next rpi-update

IoT Semantic Interoperability IAB workshop summaries

Danbri drew my attention to this IoT Semantic Interoperability IAB workshop and I thought I’d spend a couple of hours skimming the papers to pick out themes as I’ve done before.

These are all my own opinions, reflecting my own interests; and the summaries of individual papers are very short.

Summary

As far as I can see, the issues are basically these:

  • Implicitly from these papers, consumers don’t want to buy into a particular ecosystem. So interop is necessary between devices (or is there another reason for interop?)
  • This raises a whole load of interoperability questions (interop at which level? protocol or data model? manufacturer implementation built-in interop or gateway model?)
  • Security becomes a huge problem with interop [draft-farrell-iotsi-00.txt, IoT-Security-SI.pdf]
  • Various established standards orgs want to be involved and contribute
  • A couple of older protocols with widely deployed standards and certification want to know how to adapt to an IP world

A few things I noticed:

Perhaps there are some learnings from previous IoT type implementations:

A few standards keep coming up, all being looked at in the IETF I think –

  • YANG modelling language – CORE WG in IETF
  • CoAP – REST for small devices – IETF again
  • HATEOAS – “Hypermedia as the Engine of Application State” – links for actions

and some concepts / technologies:

  • “method” “signal” “property”
  • Events, Actions, and Properties
  • streams of data
  • object-based modelling
  • XML
  • json / json-ld
  • RDF/OWL

What’s the business model here? Since standardisation and some level increases commodification, where does the money come from?

A few lines on each paper

I looked at the accepted papers in the zip file so there were a few missing from the complete list.

1. Gadgets and Protocols Come and Go, Data Is Forever

J. Arkko, Ericsson

A brief summary of current standards in various organisations and then a discussion of some of the architectural and security issues.

“Security models that enable users to secure their data in appropriate ways, while granting rights for specific parties to access parts of the data. Or for a specific duration.””Also, it would be useful to change the focus of standards efforts to look more at the data than transport, for instance in current IETF working groups.”

2. Noise in specifications hurts

C. Bormann, Universitaet Bremen TZI

An argument about using a particular format for the expression of http://cbor.io for human-readable schemas.

3. YANG as the Data Modelling Language in the IoT space

Benoit Claise, Cisco Systems

“I hope that the industry will standardize on a single data modeling language for a particular technology (like IoT), so that no mapping between data models would be required.”

“Summary: you should really use YANG as the data modeling language in the IoT space”

4. The ZigBee Cluster Library over IP

Robert Cragie

This is a manufacturer-orientated library for commands for specific types of radio-controlled devices and the commands relevant to them which can be profiled and added to or new commands.

“a ‘cluster’ is a group of functionally related attributes and commands”

“The ZigBee Alliance formed a working group with a working name of “ZCL-over-IP” to undertake the work of mapping the ZCL to an equivalent protocol, which can be used effectively with the IP suite.”

They considered UDP and REST but preferred option is “Use transaction and data representations typically in use in conjunction with IP and map the existing ZCL to these transactions and data representations”

As an example:

“ZigBee Smart Energy clusters were modeled in UML and then a completely new protocol based on HTTP and XML was produced”

5. Fairhair: interoperable IoT services for major Building Automation and Lighting Control ecosystems

Dee Denteneer, Michael Verschoor, Teresa Zotti. Philips Lighting.

“Building Automation and Lighting Control – goal is a standard – “Fairhair is built on the belief that the established BA&LC ecosystems have a major asset in their mature data model; an asset which can be largely maintained when these ecosystems transition to the IP and IoT domain while the opportunity for differentiation at the networking layer will gradually disappear.”

The Fairhair framework is expected to specify at least the following services and concepts:

  • a generic model description of a domain model in terms of web resources and a mapping of elements in this data model (e.g., objects) to URIs
  • mapping of the existing methods to interact with elements in the data model (e.g., to write a property value) to RESTful interaction methods as defined by CoAP.
  • “IoT friendly” data encoding formats, such as JSON or CBOR, instead of ecosystem specific encoding formats
  • a scalable mechanism for device and service discovery, independent on the ecosystem’s specific semantics
  • other orthogonal application services, related to the security model (e.g., supporting authorization, secure unicast and multicast communication) and network management.

6. Object Oriented Approach to IoT Interoperability

http://www.universal-devices.com

Device updates:

“When discussing runtime binding, the main question is: do devices really need to have á priori knowledge of the types/classes of other devices with which they attempt to interoperate with? Or does it suffice for a device only to discover a set of permissible actions and properties supported by the other device?”

High level, object-orientated approach:

“Objects: Objects/Subjects in a sentence or phrase and corresponding to nouns Properties: Nouns (they could be other objects) or adjectives Behaviors: Verbs; actions that an object can do or allows to be done to it. In Service Oriented Architecture, these are called Services Adverbs: Parameters for Behaviors”

An implementation: XML to define NMM

7. Interoperability and the OpenDOF Project

Bryant Eastham, President and Technical Committee Chair, OpenDOF Project 

“OpenDOF” – “The OpenDOF Project considers interoperability a core principle. It has had a huge impact on its design and implementation. We provide an open repository where semantic definitions of all kinds can be shared and provide the system for others to do the same, all to increase interoperability”

“The definition of interoperability that we presented in the Introduction referred to a common understanding of an action between a requestor and potential provider. In secure systems this common understanding must extend to the security configuration of the system(s) involved.”

8. It’s Often True: Security’s Ignored (IOTSI) – and Privacy too.

S. Farrell, Trinity College Dublin; A. Cooper Cisco

1. Don’t forget that the user owns the device and, arguably, the
data produced related to that device.

2. Don’t forget that the device needs to be updated and that the
vendor will end-of-life the device, but the above still needs to
be remembered.

3. Don’t forget that while we can secure information elements in
transit and in storage, that will always be imperfect and
information will leak out.

It is worth noting that the IOTSI call for submissions itself did
ignore all of these issues.”

[cheers]

9. Overview of IoT semantics landscape

Christian Groves (Christian.Groves@nteczone.com) Lui Yan (scarlett.liuyan@huawei.com) Yang Weiwei (tommy@huawei.com) Huawei Technologies

Survey of existing ontologies suitable for this purpose and some recommendations – that they be open, recommend which ones to use. Appendix is a list of ontologies that might be relevant.

10. Loci of Interoperability for the Internet of Things

Ted Hardie Google

“In the absence of a common systems engineering approach to specify where different types of rule are applied, nodes cannot know where the data they supply will be interpreted, or even that it will be interpreted only once. Contextualizing the data they send will increase the likelihood that it can be interpreted correctly. That contextualization should reference the most primitive possible schema or data model that results in a correct understanding, in order to increase further the chance of correct interpretation and to avoid leakage of unnecessary data about the system to observers.”

– interesting that it references the local and remote aspects. I’m not sure about the argument that it reduces the information leakage of node though.

11. IPSO Smart Objects

Jaime Jimenez, Michael Koster, Hannes Tschofenig, Ericsson

“The data model for IPSO Smart Objects consists of four parts: 1) Object Representation 2) Data Types 3) Operations 4) Content Formats”

“Objects and resources are implicitly mapped into the URI path hierarchy by following the OMA LWM2M object model, in which each URI path component sequentially represents the Object Type ID, the Object Instance ID and the Resource Type ID”

Contains an XML example that for me, brings back unpleasant memories of SOAP.

12. IOTDB ­ Interoperability through Semantic Metastandards

David Janes

A lot of assertions, not much argument (separating out into a semantic model and state, all json-ld and REST). Implementation and schemas.

15. SenML: simple building block for IoT semantic interoperability

Ari Keränen ari.keranen@ericsson.com Cullen Jennings fluffy@cisco.com

“SenML provides a simple model for retrieving data from sensors and controlling actuators. It provides minimal semantics for the data inline and allows for more metadata with in-line extensions and links.”

  • designed for low power, low capacity and processor devices
  • being standardised in IETF CORE

Example:

[{ "n": "urn:dev:ow:10e2073a01080063", "v":23.1, "u":"Cel" }]

17. SmartThings

M. Koster

“[W3C-WoT] model: a connected Thing is defined by and interacted with through its Events, Actions, and Properties.”

“Semantic interoperability may be achieved through common definitions
of cross domain meta models [e.g. schema.org instances] and domain specific models [i.e. vendor defined programming models], and shared
vocabulary to describe the events, actions, and properties of
connected things.”

18. Semantic Interoperability Requires Self­describing Interaction Models HATEOAS for the Internet of Things

Matthias Kovatsch Siemens AG / ETH Zurich; Yassin N. Hassan ETH Zurich; Klaus Hartke Universität Bremen TZI

Proposes semantic links and semantic forms so you get some of the nice characteristics of links (e.g. bookmarkablity). Focus is on developer as user.

19. A Pragmatic Approach to Interoperability in the Internet of Things

Kai Kreuzer, Deutsche Telekom AG Kai Kreuzer

  • open source, consideration of end-user usecases and so a functional perspective
  • semantics using tags based on ontologies

20. AllJoyn / AllSeen standards org

Marcello Lioy

Just consists of 3 links:
specs
scenarios
data model guidelines

XML based. Usecases are ifttt but mostly code generation for devs.
“method” “signal” “property” (with access parameters read / write)
Without looking too closely, it looks something like Java basics in XML

21. Modeling RESTful APIs with JSON Hyper-Schema

K. Lynn, L. Dornin, Verizon Labs

An actual usecase!

“The central problem in an IoT domain such as home control might be
characterized as “translating intention into configuration”. The
challenge is to translate a high level goal such as “turn off all the
lights on the first floor”, expressed in a natural language, into
action.”

The remainder of the document is some examples of json and json-ld defining REST interactions: “JSON Hyper-Schema”.

22. OGC SensorThings API: Communicating “Where” in the Web of Things

Open Geospatial Consortium

“a standardized open data model and application programming interface for accessing sensors in the WoT and IoT”

– an ontology for sensors.

Streams of data, sensors and their properties – datamodel is here.

23. IoT Information Model Interoperability An Open, Crowd-Sourced Approach in Three Parallel Parts

Jean Paoli, Taqi Jaffri, Microsoft

  • argues for separated protocols and schemas
  •  thinks crowd sourcing from schemas to devices would be a way to build bridges

24. OMA Lightweight M2M Resource Model

Author: Joaquin Prador – OMA Technical Director

“This paper gives an introduction to standard developed at the Open Mobile Alliance (OMA), Lightweight Machine to Machine (LWM2M). LWM2M provides several interfaces built on top of Constrained Application Protocol (CoAP) to perform management of a wide range of remote embedded devices and connected appliances in the emerging Internet of Things, to perform remote service enablement and remote application management.”

1) Bootstrap 2) Device Discovery and Registration 3) Device Management and Service Enablement 4) Information Reporting

Uses CoAP and DTLS (the latter for security)

Datamodel: id, name, operations [read / write / execute], instances, type, range or enumeration, units, description

26. Semantic Overlays Over Immutable Data to Facilitate Time and Context Specific Interoperability

Pete Rai – Principal Engineer – Cisco Stephen Tallamy – Engineering Architect – Cisco

Argues

“apply semantic interoperability layers over-the-top, as and when they are needed. This approach is specifically designed to leave the source data elements untouched and effectively immutable.”

27. Towards semantic interoperability in the IoT using the Smart Appliances REFerence ontology (SAREF) and its extensions

Jasper Roes & Laura Daniele

“SAREF is not about the actual communication with devices and has not been set up to replace existing communication protocols, but it lays the base for enabling the translation of information coming from existing (and future) protocols to and from all other protocols that are referenced to SAREF.”

Took a survey of existing models transformed them to rdf/owl and created a reference ontology.

The idea is to map existing data models and protocols together.

29. Implementation Experiences of Semantic Interoperability for RESTful Gateway Management

Bill Silverajan Tampere University of Technology; Mert Ocak, Ericsson; Jaime Jiménez, Ericsson

“a gateway needs to be introduced into the communication architecture that bridges between especially IP network with semantic data models and non­IP short range radio technologies with proprietary data models” [BLE, ZigBee]

“Integrating such proprietary data models to the network requires the gateway to translate between the data models. This translation is done using proprietary methods in most of the current gateway implementations and hence, creates silos between different gateway manufacturers.”

“Surprisingly, many of the organizations are creating similar application semantics than, in practice, only differ on the vocabulary used”

Uses “Hypermedia As The Engine of Application State (HATEOAS)”

30. Key Semantic Interoperability Gaps in the Internet-of-Things Meta-Models


Ned Smith Intel; Jeff Sedayao Intel; Claire Vishik Intel

“Semantic interoperability of IoT depends heavily on a flexible, simple yet effective meta-model. A tag- value model such as that proposed by Project-Haystack appears to satisfy these criteria, but not fully.”

“Security management interoperability appears to be the most significant set of functionality that should be common across all IoT networks”

suggests use of blockchain for authorities.

"<tag> <ontology> <authority> <blockchain>"

Can’t say I understood everything in this. Guess I’m missing a lot of context

31. Open Connectivity Foundation oneIoTa Tool

J. Clarke Stevens

Interesting collaborative tool for creating interop between IoT systems.

32. Derived Models for Interoperability Between IoT Ecosystems

J. Clarke Stevens, Piper Merriam

OCF – Derived Models for Interoperability Between IoT Ecosystems_v2-examples.pdf

“The Open Connectivity Foundation’s (OCF) oneIoTa tool is essentially a web-based, Integrated Development Environment (IDE) for crowd-sourcing data models for the Internet of Things”

some examples of simple and complex conversations using rules.

33. Semantic Interoperability in Open Connectivity Foundation (OCF)

Ravi Subramaniam, Open Connectivity Foundation (OCF)

“The OCF approach is Resource-oriented with a peer to peer RESTful architecture. The approach also follows a declarative paradigm which requires the explicit definition of information, data, semantics and objectives – these declarative statements are bound to imperative actions in a late-binding manner.”

– standards org with various working groups for interop, large companies.

34. IoT Security in the context of Semantic Interoperability

Darshak Thakore, CableLabs

“can the semantic information about a model also include its security characteristics as a first class member?”

35. IoT Bridge Taxonomy

Dave Thaler, Microsoft

Assuming heterogeneity in protocols and schemas how can we achieve interoperability? (protocol and schema bridges)

“In general, we believe that bridges should use specific schema bridges for known data models (which we call “static schema bridges”), and fall back to using a dynamic schema bridge when no specific schema bridge is found for a discovered resource.”

36. Summary of AllSeen Alliance Work Relevant to Semantic Interoperability

Summary written by Dave Thaler, Microsoft

An explanation of the alljoyn standards, some taken from the website.

37. Internet of things: Toward smart networked systems and societies The Ontology Summit 2015

Mark Underwood a, Michael Gruninger b, Leo Obrst c,∗, Ken Baclawski d, Mike Bennett e, Gary Berg-Cross f, Torsten Hahmann g and Ram Sriram h a Krypton Brothers, Port Washington, NY, USA b University of Toronto, Toronto, Canada c The MITRE Corporation, McLean, VA, USA d Northeastern University, Boston, MA, USA e Hypercube Ltd, London, UK f Knowledge Strategies, Washington, DC, USA g University of Maine, Orono, ME, USA h National Institute of Standards and Technology (NIST), Gaithersburg, MD, USA

“Communiqué of the Ontology Summit 2015” – what ontologies could do for IoT interop.

“A critical obstacle in the widespreadadoption /application of ontologies to earthscience and sensor systems is the lack of tools that address concrete use cases. Developers will need to focus on those tools and techniques that support the deployment of ontologies in IoT applications.”

38. YANG-Based Constrained Management Interface (CoMI)

Peter van der Stok, vanderstok.org; Andy Bierman yumaworks.com

Proposal for adapting the YANG data modelling language for low-power, low-connectivity connected devices. The model is shared by client and server before deployment. YANG is flexible enough to express the data models required. Being adapted by IETF CORE WG for use with CoAP.

?? Submission for IAB IoT Semantic Interoperability workshop 2016

Google

“Our goal is to work with IOT vendors and schema.org to create interoperable schemas that can be absorbed by a range of intelligent cloud services and local apps.”

Beacons, brillo, a hub / gateway and cloud platforms.

“We are still at an early stage of identifying commonalities (requirements) and thinking about interoperability between efforts by Google/Alphabet teams”

“how can we find a good balance between usability and flexibility (complexity) e.g. in terms of nesting common elements vs. precision and size of schema without nesting”

Olimex ESP 8266 dev with Arduino IDE

Bits and pieces of this are everywhere but I’ve not found it all in one place. The ESP Thing docs are excellent and mostly apply to the Olimex too, but there are some subtleties in the setup. I’ve put what I did here so I remember how to do it again.

I had a few ESPs I’d bought in May and not used – these ones from Olimex. I read recently that you can now use ESPs from the Arduino IDE, so I thought I’d give it a go.

The goal is to be able to put some code that uses wifi on the ESP using the Arduino IDE. The basic flow is:

  • Buy ESP and an FTDI USB to Serial cable, plus a small breadboard and some male-male jumper wires, and a cheap voltage regulator
  • Solder the ESP’s legs on
  • Put it in the breadboard
  • Connect it up to the FTDI cable
  • Put it in FTDI mode(?)
  • Plug it in to USB on a laptop and test it using the serial monitor on the Arduino
  • Download the Arduino ESP environment and load it in to the IDE
  • Put test code on the ESP and check it worked

Buy ESP, FTDI and other bits

I think if I was buying them now I’d get some of these ESP Things,  as they have a bunch of nice features (though not many GPIOs), but the excellent docs seem to apply to the ones I have too.

Edit – I was under the misapprehension that FTDI cables could supply 3.3V. No idea why, unless I misread the labels for some of the other outputs. But anyway: the one I bought doesn’t. You can’t use a voltage divider to get the voltage you want either, because that only works for things with tiny amounts of resistance. But, you can get a voltage regulator (e.g for 99p at Maplin) which gives you 3.3V from 5V happily enough.

5V will fry your ESP (though actually it didn’t fry mine), so do this or use a separate power supply (e.g. 2 AA batteries will work).

Solder the ESP’s legs on

I think I soldered mine’s legs on upside down, because the names of the pins were on the underside, although it’s the same way up as the Fritzing component, conveniently. Here’s the pinout document I eventually found. Here are the pin names as written on the board from the perspective I needed (some of them differ from their internal names, no idea why):

esp_pins

Put it in the breadboard

Put it across the middle, like this:

esp_breadboard

Connect it up to the FTDI cable

Like this:

esp_ftdi

The ESP will be powered from the FTDI (red jumper). Ground across the board to GPIO0 (21) puts it in FTDI mode (black jumpers). Yellow is RX, orange is TX.

Put it in FTDI mode

The Olimex docs suggest that you need to solder and desolder the dip switches, the three little fellas between pins 3 and 20 in the diagram above. What worked for me is to leave them as they came (which was as in the diagram above, which I think is 0 0 1). I’m fairly confused about why this worked, as the Olimex site says it comes in Flash mode, so maybe I have it upside down or something. But it did work.

Plug it in to USB and test it using the serial monitor on the Arduino

You can apparently use screen for this, but I couldn’t get it to respond “ok”.

screen /dev/tty.usbserial-A402O05B 115200

(Your serial port name will differ).

But, opening up the Arduino IDE and then the serial monitor (selecting the correct port) did work. The baud rate is 115200 – follow the link above for the commands and process.

Download the Arduino ESP environment and load it in to the IDE

These instructions worked very well for me. Make sure you actually select the board! (or else you’ll get strange errors with compiling and end up down a rathole of installing libraries manually. There’s no need, and they’ll conflict).

Then connect up the ground to GPIO0 (21) if you haven’t already, else you’ll get errors uploading like this:

warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08

Put test code on the ESP and check it worked

I used this code example, putting a little edit in the name I could actually find my board on phant. It worked!

esp_ftdi

 

 

A cheap BTLE button with Android

Thanks to the marvellous @fiverfun I have a few Bluetooth LE buttons at £3 a pop. I’m not sure what I want to do with them yet, but well, £3 each, who could resist?

anti-lost

They took a month to come and arrived just before Christmas, and I persuaded Richard to install the app (iTracing) on his phone via the QR code on the instructions, but it (a) didn’t work and (b) when I tried it later on my phone, kept turning the sound on and making a horrible siren noise. I uninstalled it.

Fortunately Sylvek has already had the patience and enthusiasm to  work out the protocol these buttons use and made available an Open Source app that does actually work with them. The rest of this post is some quick instructions on how to compile an Android app on the command line, and install it via adb via Mac OS X (I have a Wileyfox Storm running Cyanogen). I’d never done it before, and it was pretty easy (I had Java and adb installed already).

Check you have Java

java -version

Download gradle

curl -O https://services.gradle.org/distributions/gradle-2.10-all.zip
unzip gradle-2.10-all.zip
cd gradle-2.10

Download the Android sdk

Get the tools (this part took a while)

cd android-sdk-macosx
tools/android update sdk --no-ui

fix this issue with gradle-2.10

git clone https://github.com/sylvek/itracing2
cd itracing2

Tell Gradle where things are

export PATH=$PATH:/Users/libbym/android_button/gradle-2.10/bin
export ANDROID_HOME=/Users/libbym/Development/android-sdk-macosx

Do whatever it is that Gradle does

gradle assembleDebug

Find the output

ls app/build/outputs/apk/
> app-debug-unaligned.apk app-debug.apk

Install on a connected device (you need to enable developer mode: 7 taps on the Settings>About phone>Build number field and then enable USB debugging: Settings>Developer Options>USB Debugging. Make sure you have a USB data cable. For my Wileyfox I had to add 0x2970 to ~/.android/adb_usb.ini to trigger it to authorise the laptop.) Then:

adb install app/build/outputs/apk/app-debug.apk

Done!

Helpful links:

Critical IoT Reading List – Summaries

I’m doing quite a lot of reading lately, and one topic area is the “Internet of Things”. My favourite article on it at the moment is by Bruce Sterling – who argues eloquently that we’re just vassals in the next epic fight between tech giants – and he tweeted this list of critical IoT articles a new days ago, so I thought it was worth a look.

So: here are a quick summaries of the articles on that list. Some articles are much shorter than others, some covering many topics, some just one interesting idea. Almost all of them mention the fridge. This is all my own opinion and skewed towards my particular obsessions.

The articles are from 2013 to November this year (2015). The main themes I found were these:

  • Motivation, nudging, measurement and the limitations thereof – and associated monitoring of people and fitting them into a specific fixed set of behaviours
  • Ownership and inheriting of devices; identifying and debugging them, resetting them, interrogating them
  • Colonisation of the home by big tech companies: and the associate movement of data to the cloud

The most interesting ones for me were Dan Lockton on co-construction, Evan Selinger on the problems with “enchanted things”, Scott Smith in  an audio interview about always-on listening devices, Justin McGuirk on monitoring data and preventing proscribed behaviours, and my favourite, I think: an interesting, thoughtful article by Stephanie Rieger based on her experiences of the objects you “inherit” when renting a home. McGuirk’s article made me think that everyone in this field should try a Nest: I find it a very creepy experience (they ‘blink’ as your walk past), because they ‘need to’ know if there are people home.

Data Dada and the Internet of Paternalistic Things by Sara Watson, and Lich House by Warrren Ellis are two nice pieces of design fiction writing, well worth a read, as is Quinn Norton’s eloquent rant about how broken computer security is. And The Internet of Things You Don’t Really Need by Ian Bogost is a fun read on the uselessness of most of the proliferation of products.

Here are brief summaries of all the articles on the list with some further links I found at the end.


As We May Understand, Dan Lockton, November 2014

Interesting and long. Lockton argues that the internet has enabled people to create and understand their world better, and he’s interested in behaviour change that might result from this understanding. These changes could come from IoT devices and data – but one size doesn’t fit all and behaviour change has to be in context. He wants to people to connect their behaviour to the larger system – to understand the relationship between the individual behaviour (dropping litter) and the aggregate results (poor living environments).

He argues that the IoT is a community of people trying to solve problems, in an interesting, constructivist way (learning by doing, goal is exploration and linking physical to the abstract world), but it’s a fairly small, closed world. Co-construction – facilitated exploration with a diverse set of people – would lead to a more nuanced view of the IoT world. It helps the IoT community, but also the people involved:

“We can only trust something if we think we know how it works… When we don’t know how a thing works we make it up.”

This is similar to some of our thinking around Radiodan.


The Internet of Things Will Ruin Birthdays Joanne McNeil, July 2014

She’s right! Birthday harrassment and co-opting by companies.


If This Toaster Could Talk  Alexis Lloyd, September 2013

A classification of the new properties of connected objects to objects as portals, objects as subjects, and objects as oracles. And a link to this interesting piece of speculative fiction by Warren Ellis.


Too Much Magic, Too Little Social Friction , Evan Selinger, January 2015

Critical review of a book by David Rose, who talks about enchanted objects as an alernative to cyborgian future (fashionable adjuncts to our bodies) or one of glass everywhere (screens). Critical, because:

  • “Magic” hides the complexity of how things got there, including the social and economic processes:

“The magic is founded on grossly underpaid, casualized labor”

  • Motivational fitness, communication of stats and nudging, and especially communication of emotional states – speeding them up and simplifying them isn’t a good thing, it’s a bad thing. The communication is a part of it.

“Far from “effort” being a bug that limits interpersonal relationships, it’s an essential feature.”


Stepping Down: Rethinking the Fitness Tracker,  Sara Watson, September 2014

Experience of a Fitbit after surgery, and doubts that the one size fits all is useful


Honeywell, I’m Home! The Internet of Things and the New Domestic Landscape, Justin McGuirk, 2015

Good summary of the issues around the “smart home” with an  architectural slant. He argues that the sharing economy is leading to a “commodification of the domestic space”. Nest is maybe the paradigm of a “data hoover”.

“The home, then, becomes an extension of our immaterial labor. It is the producer of metrics.”

and the effects of monitoring and judging us on this data:

“the ever-watchful Evgeny Morozov […] calls it “solutionism.” In the name of efficient problem solving, we increasingly rely on sensors, apps, and feedback loops, and then these tools are designed to elicit prescribed forms of behavior.”


‘Dumb’ Smart Gadgets: The Bubble is Set to Burst — Christopher Mims, May 2015

Opinion piece in the Wall Street Journal: most IoT objects are useless, and most depend on a non-existent ecosystem.


Things Get Weird When Objects Get Hooked Up to the Internet of Things Scott Smith, July 2014.

Using Nest IFFT recipes as a way to understand what people want from it

“And, probably, soon enough someone will create an actual chilling effect via Nest when the party you oppose pushes a law through”


Kids and the IoT — Backchanneled — Changeist

Document missing.


Quantified Us  Susan Cox-Smith

Can we get away from the narcisim of self-tracking and do something more useful? Doesn’t really talk about privacy though.


The Ethics of Experimentation and the IoT , Anthony Townsend

What if Nest started experimenting on us? (eek)


The Anxieties of Big Data, Kate Crawford, May 2014

Big data needs small data methods to understand it.


Talking to CBC Spark about Emotion and the IoT , Scott Smith, Jan 2013

An audio discussion about monitoring (always-listening devices) and emotion (6 minutes), featuring pattern-matching to the typical, and the ethics and exploitation of difficult mood states or emotions. One for Rain, maybe?


The Machines Are Coming, Zeynep Tufekci, April 2015

Machines are replacing humans in work, reducing their bargaining power. and we should all Be Afraid, yes, even you.


Data Dada and the Internet of Paternalistic Things, Sara Watson, December 2014

Very nice short piece of design fiction about devices sharing data and our inability to debug it.


Public Engagement on the Internet of Things is Essential, Sonia Bussu, December 2014

A summary by an LSE academic of some research around public attitudes to technology changes.

“There is a demand for accountability and governance to respond to concerns of privacy, safety and security, guarantee competition and choice (including opt-out choices) and address questions of unintended consequences and liability
Support for technological and scientific advances will most often depend on individuals believing that they, or the wider society, rather than just companies, will benefit
There are concerns around who’s in control and who’s driving the development and direction of research (commercial imperatives vs. societal values).
Issues of equality are often raised: will new technologies produce big winners and big losers?”

She argues for inclusion and consultation on IoT.


Broke and Scared: The Home of the Future — Ben Valentine, April 2014

Similar issues, examples and references to honeywell-im-home above.


The Internet of Things Will be an Internet of Obsolete Junk Toby Miller, Jan 2015

It’s all in the title.


Everything is Broken, Quinn Norton, May 2014

Eloquent rant about how broken security on computers is


Why Tech’s Best Minds Are Worried About the Internet of Things  Klint Finley, May 2014

A Wired report about a summary of interviews with 1606 tech experts, concluding they didn’t like the idea of the IoT because of:

  • Security
  • Privacy
  • Dehumanisation through tracking

The full report is more interesting and more positive:

  • Logistics efficiency improvements
  • Ideas about private clouds
  • Interfaces of various kinds

The Changes Leading to a Hyperconnected World Will Change Our Values and Identities, Iiris Lagus, November 2015

Just a question really: will IoT devices change our values, and if so, how? (because societal changes affect what we think is important).


The Internet of Things You Inherit or Leave Behind,  Stephanie Rieger, October 2015

Interesting, thoughtful article based on experience of the objects you “inherit” when renting a home, and how it’s not currently part of the inventory:

“I suspect that in the not too distant future, tenants will start demanding a detailed list of what software is installed and where, whether it can be updated or reset to suit new occupants, how easy it is to do so, and who bears responsibility for any associated cloud subscriptions or service costs. “

The importance of identification and interrogation of devices (could IFFT help here too?)

“Smarter and more connected objects may ironically be far more opaque as some (or all?) of the interface may be mediated through software. “

Reminds me of fighting with hotel TVs and particularly the ‘fun’ of batting the bluetooth devices in “Citizen M” in Amsterdam.

“There’s a huge opportunity for brands to develop thoughtful, resilient and sustainable products and ecosystems that truly consider the diversity of contexts and needs related to choosing a home and making it your own — even if just for a week or night.”


Why Smart Objects May Be a Dumb Idea, Zeynep Tufekci, August 2015

Concerns around networked cars


The Internet of Things You Don’t Really Need, Ian Bogost, June 2015

“There’s an infomercial quality to these products. “Take the guesswork out of grilling” with GasWatch. Act now, and get not one, not two, but four Bluetooth wireless-technology enabled GasWatch propane tank meters before the crowdfunding campaign expires.”

and

“It’s time to admit that the Internet of Things is really just the colonization of formerly non-computational devices for no other reason than to bring them into the fold of computation.”

Other links