Places: Difference between revisions

2,612 bytes removed ,  17 January 2009
no edit summary
No edit summary
Line 1: Line 1:
Places is a system for storing bookmarks, history, and other information about the Web. It is currently enabled in trunk builds, and debuted in Firefox 3. This document covers the design and user-interface of Places.
Places is a system for storing bookmarks, history, and other user information about the Web, intended to improve developer access to this data and make it easier for people to Bookmark pages. Places is currently enabled for Firefox 3 and greater, powering History and Bookmarks, as well as providing plumbing for Livemarks, Annotations and Microsummaries and the Awesomebar.


Quick links:
= Quick Links =


Documentation
Documentation
Line 17: Line 17:
* Toolkit backend code: [http://mxr.mozilla.org/mozilla-central/source/toolkit/components/places/ mozilla/toolkit/components/places/]
* Toolkit backend code: [http://mxr.mozilla.org/mozilla-central/source/toolkit/components/places/ mozilla/toolkit/components/places/]


Active core contributors:
Current work:
* [http://autonome.wordpress.com/ Dietrich Ayala]
* See the [https://wiki.mozilla.org/Places:Plan plan] for current work.
 
Active module peers:
* [http://autonome.wordpress.com/ Dietrich Ayala] (MO)
* [http://shawnwilsher.com/ Shawn Wilsher]
* [http://shawnwilsher.com/ Shawn Wilsher]
* [http://twitter.com/mak77 Marco Bonardo]
* [http://twitter.com/mak77 Marco Bonardo]


= Timeline and History =
= Design =


* Initial Places implementation slated for Firefox 2. Landed for early alphas and then backed out and eventually cut from the release. [TODO: proper links and dates needed]
* Contemporary design information is on the [http://developer.mozilla.org/en/docs/Places Places developer wiki].
* Project re-initialized in fall 2007, slated for Firefox 3.
* [[Places:Design Overview]] contains much of the original design documentation from Firefox 2 and 3 work on Places.
* History-on-Places was enabled on the trunk in January 2007, first released in Gran Paradiso Alpha 2.
* [[Places:Performance]]
* Bookmarks-on-Places was enabled in May 2007, first released in Gran Paradiso Alpha 5.
* [[Places:SecurityReview|Places Security Review]]


= Goals & Objectives =
= Compatibility =


The primary objectives:  
As of Firefox 3, the APIs for accessing Bookmarks and History have been replaced. Some history APIs remain the same. See the [http://developer.mozilla.org/en/docs/Places Places developer wiki] for more information.


* Improve access to History and Bookmarks
= Extensions =
* Make it easier for people to Bookmark pages


Secondary objectives:
The APIs for accessing and manipulating Bookmarks and History have been replaced entirely in Firefox 3, and are incompatible. Almost all Bookmarks and History user interface components have been replaced or updated significantly. Any extension that does anything with History or Bookmarks will almost certainly have to be rewritten, at the very least to use the new APIs.


* Consolidating user data formats
= Timeline and History =
* Providing a platform for using interesting per-URL metadata
* Improving the capabilities of Live Bookmarks
* Providing a solid architecture for bookmark sync and remote storage


= Overview =
* Initial Places implementation slated for Firefox 2. Landed for early alphas and then backed out and eventually cut from the release. [TODO: proper links and dates needed]
* Project re-initialized in fall 2007, slated for Firefox 3.
* History-on-Places was enabled on the trunk in January 2007, first released in Gran Paradiso Alpha 2.
* Bookmarks-on-Places was enabled in May 2007, first released in Gran Paradiso Alpha 5.


Implemented new back-end for Bookmarks, History and related components using the mozStorage wrapper for SQLite. Developed newer, more usable front-end components to display results, emphasizing simple search and categorization.
= Credits =


== Background ==
Past core contributors:
 
Studies from the late 1990s show that while revisitations of pages previously seen counted for roughly 39% of all page navigations (see [http://scholar.google.com/ Google Scholar]), Bookmarks and History usage was low (1-3%), despite the fact that roughly 20% of those revisitations were to pages seen > 10 URLs ago (and thus outside the usefulness range of the Back button or menu).


Autocomplete in the URL bar is a useful tool but fails to address some common desires when looking up visited pages. There is a gulf between the capabilities of that tool, the capabilities of the Bookmarks and History systems today, and the desired capabilities of those systems.
== Use Cases ==
* [[Places:History Use Cases]]
* [[Bookmarks Use Cases]] (not specific to places)
== Functional Requirements ==
The original requirements for Places in Firefox 3 are detailed in the [[Firefox3/Product_Requirements_Document#Places|Firefox 3 PRD]]
= Design =
* [[Places:User Interface]]
* [[Places:Design Overview]]
* [[Places:URL Store]]
* [[Places:Bookmarks]]
* [[Places:place URIs]]
* [[Places:Results]]
* [[Places:Controller]]
* [[Browser History]]
* [[Places:AutoComplete]]
* [[Places:Transactions]]
* [[Places:Drag & Drop]]
* [[Places:Manager]]
* [[Places:Bookmarks Containers]]
* [[Places:Live Bookmarks]]
More design information is on the [http://developer.mozilla.org/en/docs/Places Places developer wiki].
= Implementation =
Places is currently enabled for Firefox 3 and greater, powering History and Bookmarks, as well as providing plumbing for Livemarks, Annotations and Microsummaries and the Awesomebar.
== Team ==
Active core contributors:
* [http://autonome.wordpress.com/ Dietrich Ayala]
* [http://shawnwilsher.com/ Shawn Wilsher]
* [http://twitter.com/mak77 Marco Bonardo]
Past core contributors:
* Asaf Romano
* Asaf Romano
* [http://www.xulplanet.com/ndeakin/ Neil Deakin]
* [http://www.xulplanet.com/ndeakin/ Neil Deakin]
Line 99: Line 56:
* [http://blog.mozilla.com/sspitzer/ Seth Spitzer]
* [http://blog.mozilla.com/sspitzer/ Seth Spitzer]


With help and guidance from:
Help and guidance from:


* [http://maxradi.us/ Brett Wilson] (former back-end contributor)
* [http://maxradi.us/ Brett Wilson] (former back-end contributor)
Line 107: Line 64:
* [http://blog.mozilla.com/faaborg Alex Faaborg]
* [http://blog.mozilla.com/faaborg Alex Faaborg]


See the [https://wiki.mozilla.org/Places:Plan plan] for current work.
= Discussion & Research =


== API Changes ==
In-depth discussion is in the original design documents, linked from [[Places:Design Overview]].
 
The APIs for accessing Bookmarks have been replaced. Some history APIs remain the same. See the [http://developer.mozilla.org/en/docs/Places Places developer wiki] for more information.
 
* [http://developer.mozilla.org/en/docs/Places:History_Service Places: History Service]
* [http://developer.mozilla.org/en/docs/Places:Bookmarks_Service Places: Bookmarks Service]
* [http://developer.mozilla.org/en/docs/Places:Annotation_Service Places: Annotation Service]
* [http://developer.mozilla.org/en/docs/Places:Livemark_Service Places: Livemark Service]
* [http://developer.mozilla.org/en/docs/Places:Favicon_Service Places: Favicon Service]
* [http://developer.mozilla.org/en/docs/Places:Tagging_Service Places: Tagging Service]
 
== Special Containers ==
 
XXXdietrich - move to developer wiki, replace with an design page for extensibility
 
 
= Impact =
 
== Extensions ==
 
The APIs for accessing and manipulating Bookmarks and History have been replaced entirely in Firefox 3, and are incompatible. Almost all Bookmarks and History user interface components have been replaced or updated significantly. Any extension that does anything with History or Bookmarks will almost certainly have to be rewritten, at the very least to use the new APIs.
 
== Performance ==
 
See [[Places:Performance]] for more information.
 
= Discussion & Implications =
 
* [[Places:SecurityReview|Places Security Review]]
 
== Discussion Elsewhere ==


* [http://robert.accettura.com/archives/2005/08/01/intelligent-bookmarking-draft/ Intelligent Bookmarking (Draft) - Robert Accettura]
* [http://robert.accettura.com/archives/2005/08/01/intelligent-bookmarking-draft/ Intelligent Bookmarking (Draft) - Robert Accettura]
* [http://pubnotes.wordpress.com/2007/10/14/evolution-of-bookmarking/ The Evolution of Bookmarking -- Bookmarks, Firefox, del.icio.us, Tagging, and Information Management]
* [http://pubnotes.wordpress.com/2007/10/14/evolution-of-bookmarking/ The Evolution of Bookmarking -- Bookmarks, Firefox, del.icio.us, Tagging, and Information Management]
* [http://www.ra.ethz.ch/CDstore/www5/www185/overview.htm Automatically Organizing Bookmarks per Contents], Fifth International World Wide Web Conference, May 6-10, 1996, Paris, France.  ([http://scholar.google.com/scholar?cluster=5092164817324641042 Google Scholar search for the article] if it moves)
* [http://www.ra.ethz.ch/CDstore/www5/www185/overview.htm Automatically Organizing Bookmarks per Contents], Fifth International World Wide Web Conference, May 6-10, 1996, Paris, France.  ([http://scholar.google.com/scholar?cluster=5092164817324641042 Google Scholar search for the article] if it moves)
* [[User:Dria/On Tagging|Deb Richardson's "On Tagging"]]
* [[User:Dria/On Tagging|Deb Richardson's "On Tagging"]]


Confirmed users, Bureaucrats and Sysops emeriti
2,088

edits