Design Principles

The following design principles were created through collaborative story-telling and visioning at the start of the PeachCloud project. While not strictly technical in nature, this information is shared here to give future contributors and peers a feel for the guiding spirit behind this work. Implementation details should always be made in service of this underlying vision.

  • Better communication infrastructure for local communities
    • Able to store the long-tail data (the niche content that isn’t mass popular but nevertheless important to support libraries of local culture and knowledge)
    • Able to support real-time media-rich interactions
      • Not just text, but also voice and video mail!
    • Able to transport your data with you as you move locations
    • Create local network topologies and local data centers to match our local social topologies
      • Less dependence on external networks, external data centers, etc
  • Accessible to users
    • Easy to get started for you and your community
    • Easy for non-technical people to use
      • The system is a teacher to guide you on your journey
      • Invite less technical people to become more technical
      • Simple on the surface, powerful under the hood
        • Example: more like Excel spreadsheets, less like Apple interfaces
    • The interface should embody the underlying system
      • Let all the internals leak out for you to see
        • A living system of activity playing on the physical lights
        • Allow users to look at the firehouse of logs, usage, metrics, etc
      • Easy to grok what is happening
        • Physical lights should give you the status at a glance
      • Friendly automation
        • Your personal robot friend, your home computer
        • No surprises, any automation should be upfront and clear
        • Be helpful, but don’t try to guess what the user wants
        • Give the user the power tools to automate their own desires
  • Accessible to contributors
    • Modules are well-documented
    • Code follows best practices
    • Focus on being accessible and maintainable, not being clever and complicated
    • Focus on being boring and just working, not being shiny and perfect
    • Provide an opinionated foundation to build flexible ecosystem
      • Frame is restrictive and has constraints, enables scope and freedom to play inside
      • “Bondage sets you free”
    • Contributions are more than tech
      • Living cultural documentation
      • Peer production as a deployment strategy