Feed Handling: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
= Introduction =
= Background =


Better RSS feed discovery and dispatch. This is the project page for the design and implementation of Feed Handling features within the Firefox browser.  
The feed handling capabilities of Firefox 1.x are limited to locating feeds advertised by sites in <link> tags and offering to add them as "Live Bookmarks". This is useful to some but not all, as there are many other specialized RSS aggregators, client applications and web services. These are not served by this UI. Also, clicking on links to feeds on web pages usually results in garbage (raw, unstyled XML) being displayed.  


== 2.0 Todo List ==
= Goals =


=== UCT Page - "Pretty Print" ===
Make it easy to subscribe to sites so that users can receive updates to them in their favorite reader. Ensure that clicking on links to feeds shows something meaningful.


[[Feed Handling:Pretty Printing]]
= 2.0 Features =


=== Feed Autodiscovery ===
== Subscribe Button ==


* <link> discovery
A subscribe button appears in the navigation cluster when a feed is discovered attached to a page. Clicking the subscribe button subscribes the user to the feed in their selected feed reader. If no default feed reader is present, the user is shown a selection page. (See below). A right click on this button shows a menu that includes an "Open With..." link for choosing a handler other than the default.
* .xml/.rdf discovery
* feed: discovery?


=== Subscribe UI ===
== Content Handling ==


* Subscribe button to the right of the location bar that includes default handler's icon overlaid with a + sign
When the user clicks on a link to a feed, instead of showing raw XML, a page is shown explaining that the user can subscribe to future updates to this site. They must select a reader and choose subscribe. Clicking Subscribe subscribes them in their reader of choice and takes them to the reader, or back to the page that they clicked on the link from.  
* Clicking subscribe button takes user to chrome:// subscribe page (pretty printed URL)
* Subscribe page introduces feed subscriptions, offers a few handling choices, "automatic" checkbox.  
* Clicking on the button either shows this again or performs automatic action
* Clicking on links to .xml/.rdf etc files shows page or performs automatic action
* Right click menu on button offers "Open With..." and link to Common Types UI.  


=== Common Types UI ===
This page is also displayed when the Subscribe Button is clicked and there is no default feed reader configured, or the user has selected to be asked every time before subscribing. In this condition, the page also displays a checkbox that indicates that the user must be asked how to handle the feed before subscribing.


* "Programs" panel for Preferences with Richlistbox of common types, plus a button linking to download actions dialog
The user is always asked how to proceed when a link is clicked on, or a feed URI entered in the location bar.
* Decide what this list of common types is
* Decide what the defaults are


=== Web Protocol Handler ===
Optionally, the handling page may offer the ability to see some highlights from the feed (a "preview") but this should not dominate.


* Write a protocol handler for configuration of types
For the engineering discussion about how this feature is to be implemented, see [[Feed Handling:Pretty Printing]]
* Provide a scriptable web page API for registering additional types
* Provide a confirmation UI for users to see when pages use the above API


== 3.0 Todo List ==
== Web Service Registration ==


=== Protocol Handlers ===
There needs to be a way for web sites to add themselves to the list of possible handlers. We should expose a method for allowing sites to register for specific content types. There are two actions - view and subscribe.


* Determine what to do with protocol handlers when the browser is and is not the default browser. This may be _complicated_. 
== Preferences ==
* Determine how to implement feed:
* UI path for feed: should not differ from UI path for application/rss+xml content load, feed: is merely a way to coerce content-type.


=== Internal Handlers ===
Extend the existing download actions manager to contain a simple (default) UI for configuring the handling of some common types.


* Preview: pass for now.
== OUT Features ==
* Pretty UCT View: pass for now unless low hanging fruit.


=== Downloading UI ===
* feed: handling - encourages abuse of transport specifier to indicate content type.
* externally exposed web protocol handler - we can dispatch to web services internally. We should not expect to handle feed content types loaded in other browsers, at least not at this stage, since we are only a middle-man.


* Add "Open With..." context menu to links that offers UCT dialog/UI experience override for individual files. Also add to the Subscription icon in the URL bar.
= 3.0 Features =
 
Extend this UI model to all files for which an automated download action is not configured. Include an "Open With..." context menu item on all file links.  


== Links ==
== Links ==

Revision as of 07:40, 25 January 2006

Background

The feed handling capabilities of Firefox 1.x are limited to locating feeds advertised by sites in <link> tags and offering to add them as "Live Bookmarks". This is useful to some but not all, as there are many other specialized RSS aggregators, client applications and web services. These are not served by this UI. Also, clicking on links to feeds on web pages usually results in garbage (raw, unstyled XML) being displayed.

Goals

Make it easy to subscribe to sites so that users can receive updates to them in their favorite reader. Ensure that clicking on links to feeds shows something meaningful.

2.0 Features

Subscribe Button

A subscribe button appears in the navigation cluster when a feed is discovered attached to a page. Clicking the subscribe button subscribes the user to the feed in their selected feed reader. If no default feed reader is present, the user is shown a selection page. (See below). A right click on this button shows a menu that includes an "Open With..." link for choosing a handler other than the default.

Content Handling

When the user clicks on a link to a feed, instead of showing raw XML, a page is shown explaining that the user can subscribe to future updates to this site. They must select a reader and choose subscribe. Clicking Subscribe subscribes them in their reader of choice and takes them to the reader, or back to the page that they clicked on the link from.

This page is also displayed when the Subscribe Button is clicked and there is no default feed reader configured, or the user has selected to be asked every time before subscribing. In this condition, the page also displays a checkbox that indicates that the user must be asked how to handle the feed before subscribing.

The user is always asked how to proceed when a link is clicked on, or a feed URI entered in the location bar.

Optionally, the handling page may offer the ability to see some highlights from the feed (a "preview") but this should not dominate.

For the engineering discussion about how this feature is to be implemented, see Feed Handling:Pretty Printing

Web Service Registration

There needs to be a way for web sites to add themselves to the list of possible handlers. We should expose a method for allowing sites to register for specific content types. There are two actions - view and subscribe.

Preferences

Extend the existing download actions manager to contain a simple (default) UI for configuring the handling of some common types.

OUT Features

  • feed: handling - encourages abuse of transport specifier to indicate content type.
  • externally exposed web protocol handler - we can dispatch to web services internally. We should not expect to handle feed content types loaded in other browsers, at least not at this stage, since we are only a middle-man.

3.0 Features

Extend this UI model to all files for which an automated download action is not configured. Include an "Open With..." context menu item on all file links.

Links