Software for Hardware - GOSH 2022 Session

Software for Hardware

Date: 2022-10-27
Time: 10:00
Facilitator: Clint
Notetaker: Josh


  • Josh x2

  • Clint

  • Nicole

  • Andrew

  • Nicholas

  • Byron

  • Joaquin

  • Nat

  • Survey Stack is a good example of a software that can interact (in principle) with many types of hardware

  • different hardwares require different scripting resources, which is lacking maybe in documentation

  • do we have anything that can interact with ALL types of open hardware?

  • Code that interfaces with hardware (via APIs) versus code that runs on hardware

  • to what extent do we need to account for both when trying to build software platform/ecosystems that can handle any sort of hardware

  • “Machine Shops” → if we think in terms of implementation interfaces, standards, and various levels (e.g. transport vs analysis), it might be natural to visualize it as a network

  • Open Manufacturing platform

  • there is a problem with trying to aggregate data (or other output artifacts) that can result from the SAME TYPE OF HARDWARE distributed in many places; but also different types of hardware in the same location

  • Vertically integrated stacks — proprietary hardware has traditionally been coupled with proprietary software.

  • it’s very important to be smart about making decisions about where interfaces exist, and not re-inventing the wheel

  • camera trap example: lots of devices distributed over geography, need to aggregate data and analyze in central platform

  • Closed System vs Open System (IoT) Hardware → to what extent are “closed systems” meaningful today (or in 5 years)? Even “closed systems” like a roomba which don’t actively input or output data are still trained on data which has been taken from other environments.

  • even in cases where we want to deal with data ingress, but not necessarily sharing (e.g. a home thermometer that we don’t want to share for privacy reasons), layers of standards are helpful if we want to do comparative analysis (or apply machine learning)

  • What are the layers of interest?

  • Data collection

  • Data transport

  • Data analysis

  • User interface

  • Standards for these already exist, right?

  • We need to distinguish between standards as in “high standard / low standard” versus standards as in “everyone is using a common format”

  • Exchange formats

  • Control and management of devices

  • Open data is hard enough to find in the first place, but then without a clear understand of HOW THE DATA WAS COLLECTED there is a much bigger challenge

  • Software Supply Chain (software provenance) e.g. OpenChain Project

OSI model - Wikipedia