Devices that explain themselves


I’m not especially interested IoT stuff but there is something very nice about this approach: Talking to the world with Thington.

I like the idea of computation that explains itself. I think it doesn’t have to be front and center in the UI, either – imagine how useful it would be every application had a human-readable activity log that you could dig into when you’re trying to figure out why something isn’t working.

Something like this could become really important in a world where more and more things are being decided by software.


Neat! How do see that in relation to ’ as an extension of today’s error messages?


Well, we usually only see error messages when something has gone catastrophically wrong. I think there’s room for something in between – e.g., my new iPad doesn’t seem to connect automatically to my Bluetooth speaker. I don’t get an error message, but it would sure be nice if there was some kind of activity log I could scan through to try to understand what is going on.

I think we do something analogous with mechanical devices all the time. Sometimes you just need to immerse yourself in the context of an activity in order to see what the problem is. It happens to me all the time when I’m repairing my bike – many times, the problem is not something that I could have fixed by following a checklist or a troubleshooting guide. It’s often something that just “doesn’t look right”.

With software, everything is just so opaque. People are finally accepting that developers should have more insight into what’s going on, but about people who use (or are affected by) the software?

To get this right, I think traceability needs to be built in to the whole stack. And we should be able to see an appropriate context: rather than just seeing something like “Could not restore iPhone (error 53)”, we should see something like:

Restore > Hardware check > Fingerprint sensor :: Unrecognized manufacturer ID