Designing products for the Internet of Things

Designing connected devices is a process that all too often leads to disappointing business results; oftentimes this is as a result of an imbalance between excessive hype surrounding the potential benefits of the technology on the one hand, and inadequate prior analysis of use cases and sources of revenue on the other.

The training courses we offer on designing products for the Internet of Things teach participants how to use fundamental tools for the preparation and evolution of fast prototypes.

Universally applicable techniques during the development of preliminary versions of connected devices will reveal answers to an array of fundamental questions: Who will use my product? How will it be used? Which advancements will be accelerated by having the product connected instead of working in isolation?

Day 1: Business and definitions

Where do money come from
  • how much money can I invest
  • how much can the product cost more
  • visualize and touch ideas, opportunity canvas
  • Proof of Concept (POC) vs Minimum Viable Product (MVP)
  • User Stories and Personas: IoT from a user perspective
How to invest
  • cloud platform vs in-house infrastructure
  • cloud native automations vs applications adoption and development
How to prevent disasters
  • devices upgrade capability
  • software code quality on distributed devices development
  • secure connected devices: partner identification, privacy, D/DDoS attacks
  • law aspects when managing information collecting and storing

Day 2: The components

  • basics on using Linux on the command line
  • useful installed components on a Linux development host
  • SSH and key pairs basics
  • serial line – ethernet
  • other low level channels
  • the Raspberry boards: variants and capabilities
  • Linux on Rasbperry
  • the Arduino boards: variants and capabilities
  • Arduino echosystem as a paradigm of prototyping
  • serial line: basic protocols
  • other protocols
  • TCP/IP, name resolution, routing basics
  • HTTP as a general purpose protocol
  • MQTT history and basics
  • broker and messaging
  • the opensource components
  • in-house hosting vs hosting as a service
  • bare metal vs virtual computing
  • Amazon Web Services overview
  • An example MQTT client using:
    • Python
    • C
    • Javascript


Day 3: Security and Case studies

  • history of information technology security
  • learning the basics
  • how to build a Continuous Integration and Delivery development model
  • security models for:
    • local communication
    • cloud storage
    • local storage
    • MQTT