-
Notifications
You must be signed in to change notification settings - Fork 64
Plugin Design
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?
-
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)
When in doubt, use flat structure. Hierarchies can help users to have quick access, only when search in a flat hierarchy is worse.