Episode #14 -- Do you own your Platform?

Available on your favorite podcast platform.

Show notes:

  • difference between a product and platform
  • platform is a collection of modules and tools
  • a platform is extensible, programmable, consists of reusable pieces and
    components
  • desirable qualities in a platform and various considerations
    • a platform is a living being to some extent
    • availability
    • stability
    • performance
    • how easy is it to fix when things break
    • adaptability
  • the iceberg analogy – most of your product is invisible, but this can cause
    problems
  • how do you select the right technology for your platform?
    • important not have bias
    • products are short-lived, where platforms last a long time, so important to
      make the right choices in your platform.
    • it is good to depend on standards to avoid lock-in to one tool/technology
    • the wrong solutions do not scale
    • have a network of experts you can reach out to and get the information you
      need
    • knowing who to ask is the superpower in this age
  • why you need some level of control over your platform
    • damage control: solve problems when they arise
    • moving things forward: can it be modified as new requirements come up
  • building platforms for reuse
    • build systems are important
    • automation
    • continuous integration
  • The Yoe Distribution and the Simple IoT project are examples of platforms that
    are re-usable and flexible, and applicable for a wide range of projects
  • recomposable platforms scale not just vertically, but horizontally, which is
    the real power of them
  • a lot of up-front discipline goes into this
  • you create a platform not only for others, but yourself
    • you respect the APIs in the same way you expect others to respect them
    • APIs as a contract become very important
  • Most people can track product costs very well. Platform costs are harder to
    track and are an investment in the future
    • example of an embedded Linux platform that goes into a product that lives
      for many years. A lot of work is required upfront to get the base system
      running, but then you can build on it for years.
    • A more constrained platform like a MCU + RTOS tends to be not as extensible
      and more limited to a product.
  • Two kinds of platforms
    • Transaction platforms: facebook, twitter, etc
    • Innovation platforms: what we’ve been talking about
  • personal platform
    • write things down
    • when helping someone, instead of emailing or messaging the solution, I write
      down the solution in some type of long lived documentation, and then share
      that documentation with them.
  • do you own your platform?
    • owning your platform is more of a mindset rather than an rigid absolute
      • are you willing to learn and own the details of your platform
    • with OSS we not only use it, but we also have the option to be part of it