Labs/Ubiquity/0.2 Design: UI and Security Extensibility: Difference between revisions

From MozillaWiki
< Labs‎ | Ubiquity
Jump to navigation Jump to search
(origination)
 
(added ui extensibility section)
Line 10: Line 10:
Both of these solutions invite community members to create and implement new ideas to further the conversation about using the browser to connect web services together in a safe, humane way.
Both of these solutions invite community members to create and implement new ideas to further the conversation about using the browser to connect web services together in a safe, humane way.


Before reading the rest of this document, it may be helpful to understand the [[Labs/Ubiquity/Ubiquity_0.1.3_Architecture|Ubiquity 0.1.3 Architecture]].
Before reading the rest of this document, it may be helpful for readers to understand the [[Labs/Ubiquity/Ubiquity_0.1.3_Architecture|Ubiquity 0.1.3 Architecture]].


== UI Extensibility ==
== UI Extensibility ==
Given a selection, I should be able to:
* Determine what commands are apropos to operate on it.  For instance, if I select a street address, one of the first commands that it matches should be "map".
:::''Implementation note: Look at the <tt>CommandManager</tt>'s noun-first-suggestions code.''
* Get a list of ''all'' commands that can apply to the selection.
:::''Implementation note: Look at <tt>CommandSource</tt>'s method to get all commands.''
Given a command, I should be able to:
* Figure out what objects the command takes.
:::''Implementation note: Once we [http://groups.google.com/group/ubiquity-core/browse_thread/thread/f7d8abf58724256 unify Verbs and Commands], this will be trivial.''
* Call the command.
:::''Implementation note: see above.''


== Security Extensibility ==
== Security Extensibility ==

Revision as of 01:54, 16 December 2008

Introduction

As per the first Ubiquity planning meeting, our goals for 0.2 are to:

  1. make Ubiquity easier for experimental new UIs to leverage, and
  2. make Ubiquity more secure.

The implementation of (1) will involve providing a well-documented API for external UIs to plug into. The implementation of (2) will involve providing a "feed plugin" mechanism through which new types of Ubiquity feeds can be created that use entirely different security models than Ubiquity's default.

Both of these solutions invite community members to create and implement new ideas to further the conversation about using the browser to connect web services together in a safe, humane way.

Before reading the rest of this document, it may be helpful for readers to understand the Ubiquity 0.1.3 Architecture.

UI Extensibility

Given a selection, I should be able to:

  • Determine what commands are apropos to operate on it. For instance, if I select a street address, one of the first commands that it matches should be "map".
Implementation note: Look at the CommandManager's noun-first-suggestions code.
  • Get a list of all commands that can apply to the selection.
Implementation note: Look at CommandSource's method to get all commands.

Given a command, I should be able to:

  • Figure out what objects the command takes.
Implementation note: Once we unify Verbs and Commands, this will be trivial.
  • Call the command.
Implementation note: see above.

Security Extensibility