Skip to content
bluss edited this page Mar 15, 2017 · 1 revision

Suppose we want to integrate with a system or application that has units of information. What do we think of when designing the interaction?

Principles

  • Quick access

    • Expose Leaves of Information
    • Primary action is always “Open”, if applicable.
      • File: Open
      • Song: Play
      • Note: Open
      • Pidgin Contact: Open Chat
  • Common data

    • Prefer common data formats
    • Files
    • Text
    • Contacts
    • Common formats mean that plugins with sources can supply new leaves
    • Common formats mean that plugins can work with each other's leaves

Kupfer’s primary role is quick access. Being a previewer or viewer is not a Kupfer feature. Being a file browser is not a feature, but we must contrast that with quick access to hierarchical data.

Common data means that plugins multiply with each other.

  • Enriched object understanding
    • Example: Recent Documents plugin puts the documents as contents of an application (Recent Documents plugin enriches leaves from the Applications plugin by using the common data AppLeaf, which is built in)

Flat or Nested?

When in doubt, use flat structure. Hierarchies can help users to have quick access, only when search in a flat hierarchy is worse.