Jetpack/Design Guidelines: Difference between revisions

Jump to navigation Jump to search
update statement of goals
No edit summary
(update statement of goals)
Line 1: Line 1:
Jetpack APIs and features provided are intended to improve the following areas of Firefox extensibility
Jetpack is intended to improve the following areas of Firefox extensibility:
 
* Compatibility. Large numbers of current addons require work at each major release to maintain compatibility. A major design goal for Jetpack is to provide a base set of functionality needed to extend the browser and create a stable set of interfaces around those features to eliminate these incompatibility problems. In a nutshell, Keep Addons Working Across Major Releases! for the benefit of end-users who like using addons and developers who don't want to chase more frequent Firefox and other product release trains.
 
* Security. Currently, addons can "do anything" once installed. Jetpack is being designed to restrict, isolate, and sandbox the set of capabilities it provides to improve security for users, by extending to addons only the capabilities they need, restrict access to internal implementation details of those capabilities, and make their use of those capabilities more visible to code reviewers and users.
 
* Usability. Historically, Firefox API design has been limited by the requirements of XPCOM/XPIDL and has not taken advantage of improvements in the expressiveness of the JavaScript language and achievements in API ergonomics by JavaScript libraries. Jetpack will provide a JS-only API with a strong focus on simplicity, productivity, and flexibility.


*  Compatibility - Large numbers of current addons require work at each major release to maintain compatibility.  A major design goal for Jetpack is to encapsulate a base set of features needed to extend the browser and create a stable set of APIs around those features to eliminate these incompatibility problems. In a nutshell, Keep Addons Working Across Major Releases! for the benefit of end-users that like using addons, and developers who don't want to case more frequent Firefox and other product release trains. [ Maybe say something here about Hiding/Encapsulation how we will try to enforce and not allow access to or leak jetpack internals, or just link to more details on that]


* Security - Current Addons can "do anything" once installed.  Jetpack will be designed to restrict, isolate, and sandbox the set of capabilities to improve security for users, by extending only the capabilities needed by Jetpacks to a jetpack program, and to make the capabilities more visible to code reviewers and users.


* <strike>Generative</strike>
* <strike>Generative</strike>
canmove, Confirmed users
2,056

edits

Navigation menu