Labs/Jetpack: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 2: Line 2:


= Overview =
= Overview =
Jetpack is a project to explore new & innovative approaches to extensibility of the browser.  
Jetpack is a newly formed experiment in using open Web technologies to enhance the browser, with the goal of allowing anyone who can build a Web site to participate in making the Web a better place to work, communicate and play.


== Background ==
In short, Jetpack is an API for allowing you to write Firefox add-ons using the web technologies you already know.
TBD


== Guiding Principles ==
As with all Labs experiments, Jetpack is an open source project and everyone is welcome to participate in its design, development and testing.


Enhancing the browser should be as easy as it is to write a web page. The time between having an idea, and an implementation should be as short as possible: Programming the "hello world" add-on for each of the major add-on types should take less than 5 minutes from start to running in the browser.
== Project News & Information ==
* [https://labs.mozilla.com/2009/05/introducing-jetpack-call-for-participation/ Introducing Jetpack, Call for Participation] (May 20, 2009)


# '''Use Web Technology'''
== Resources for Building a Jetpack ==
#*HTML, Javascript, and CSS should be the only tools required to create an add-on. If you are already a web developer, you know all you need to be comfortable writing an add-on.
* [https://jetpack.mozillalabs.com Jetpack API Documentation, Tutorial & Demos]
# '''Develop Once, Run Anywhere, Any Version'''.
* [[Labs/Jetpack/In_The_Wild|Jetpacks in the Wild]].
#* Writing an add-on for Firefox should run in Firefox Mobile, Thunderbird, and anywhere else that's apropos. Programming should be by intent: You should be able to say, "My add-on should expose UI in a toolbar-like thing", and it will. Whatever a toolbar-like thing happens to be on Fennec, Firefox, etc.
#* As a developer, you shouldn't have to worry about some detail-of-Firefox internals changing breaking your extension. Add-ons will work through a version'ed facade-pattern so that you won't be in a constant struggle to keep your extension working with the latest FF edition.
#'''Secure'''
#* Add-ons should have access to only the privileges they need. They should be as safe and secure as Firefox proper.
#* Add-ons should be easy to code review -- making security problems much more shallow.
#* Add-ons should not interfere with each other.
#* Security models should be easy to innovate. Security is ripe for improvement, and we should be enabling easy experimentation and deployment, letting security researchers mix social trust models, object component models, and as-of-yet unthought-of models.
#* Security should always be presented in human-terms, not technical-terms.
#* More secure add-ons should enjoy a more streamlined user experience for installation.
# '''Easy to code'''
#* The API should be small, short, concise.
#* Great design patterns should be easy to follow with good supporting APIs
#* Should allow open innovation in APIs via easy inclusion of 3rd party libraries.
#* Changes made during development should be reflected in real-time in the browser
#* Great documentation. Tutorials, snippets, examples.
# '''Easy to install, easy to use, easy to keep up-to-dates'''
#* Add-ons should feel light-weight: they should be installable without restart and in two clicks or less
#* Add-ons should automatically up-date securely. This process should be easy for users and developers alike.


= Jetpack Features in the Wild =
== Resources for Jetpack Platform Development ==


Demos, resources, and other [[Labs/Jetpack/In_The_Wild|Jetpacks in the Wild]].
* [[Labs/Jetpack/Roadmap|Jetpack Roadmap]]


= Jetpack Proposed Extensions (JEPs) =
* [[Labs/Jetpack/JEPs|Jetpack Proposed Extensions (JEPs)]] is the place to propose language and API extensions to Jetpack.
 
[[Labs/Jetpack/JEPs|Jetpack Proposed Extensions (JEPs)]] is the place to propose language and API extensions to Jetpack.
 
= Proposed Roadmap =
 
[[Labs/Jetpack/Roadmap|Jetpack Roadmap]]
 
= Resources =


* Initial investigation into the capabilities used by top add-ons today, and in particular, which de facto API calls they rely upon.
* Initial investigation into the capabilities used by top add-ons today, and in particular, which de facto API calls they rely upon.
Line 51: Line 25:
** [[Labs/Extensions2/Target_Add-ons]]
** [[Labs/Extensions2/Target_Add-ons]]


* Rough notes on potential API structure
== Getting Involved ==
** [[User:Aza/VapourExamples|Code Snippets]]
 
** [[User:Mconnor/Extensions2.0|Specs]]
* Discuss, debate and add to the design in the [http://groups.google.com/group/mozilla-labs-jetpack/topics Jetpack discussion group]
* [https://hg.mozilla.org/labs/jetpack Grab the source code] and fix a bug or add a feature
* Join us in #jetpack on irc.mozilla.org
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla%20Labs&component=Jetpack Report a bug]

Revision as of 16:06, 2 June 2009

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Overview

Jetpack is a newly formed experiment in using open Web technologies to enhance the browser, with the goal of allowing anyone who can build a Web site to participate in making the Web a better place to work, communicate and play.

In short, Jetpack is an API for allowing you to write Firefox add-ons using the web technologies you already know.

As with all Labs experiments, Jetpack is an open source project and everyone is welcome to participate in its design, development and testing.

Project News & Information

Resources for Building a Jetpack

Resources for Jetpack Platform Development

Getting Involved