Firefox/Projects/Network Error Pages: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:
= Status =
= Status =


* Simple prototype which adds a search box to the default page. Still need to figure out if we can improve the utility by how we construct the search, and whether adding the search box makes sense in general, or if it only really makes sense for certain error types.
# The first cut of the experimental 404 extension is nearly done.
** Intercepts 404s and suggests alternatives drawn from the places DB.
** Uses a cheesy edit-distance approximation implemented entirely in Sqlite SQL.


= Steps =
# Made contact with the Google Link Doctor team.


# Identify the 3 most important pages to improve.
= To Do =
# Pick one of the three pages.
 
# Improve it.
# Get the experimental extension out to concerned parties: Boriss, Johnath, and Aza, etc.  Work with Boriss to get a first cut on an official 404 page design.
# Rinse and repeat.
# Follow up with contact on Link Doctor team about experimental access to the Link Doctor service.
# Extend the 404 extension to intercept other error types so we can use it to prototype improved error page designs.
# Figure out how to plumb 404 interception into Firefox proper (talk to Johnath).
# Investigate implementing a proper edit-distance algorithm in C++ that can be used with Sqlite.
# Come up with a plan for a production-quality Firefox 3.5 patch.


= Goals / Use Cases =
= Goals / Use Cases =

Revision as of 18:01, 9 March 2009

Overview

Sprint lead: curtis
Sprinters: johnath, boriss

Description
More useful/helpful set of network error pages that offer tools helping users get to a useful end point via search, analysis of Places DB, or automatic redirects/reloads.

Status

  1. The first cut of the experimental 404 extension is nearly done.
    • Intercepts 404s and suggests alternatives drawn from the places DB.
    • Uses a cheesy edit-distance approximation implemented entirely in Sqlite SQL.
  1. Made contact with the Google Link Doctor team.

To Do

  1. Get the experimental extension out to concerned parties: Boriss, Johnath, and Aza, etc. Work with Boriss to get a first cut on an official 404 page design.
  2. Follow up with contact on Link Doctor team about experimental access to the Link Doctor service.
  3. Extend the 404 extension to intercept other error types so we can use it to prototype improved error page designs.
  4. Figure out how to plumb 404 interception into Firefox proper (talk to Johnath).
  5. Investigate implementing a proper edit-distance algorithm in C++ that can be used with Sqlite.
  6. Come up with a plan for a production-quality Firefox 3.5 patch.

Goals / Use Cases

tbd

Non Goals

tbd

Design

tbd

Bugs

Bug 479922 - Network error pages should give me tools instead of asking me questions

Reference

nsDocShell::DisplayLoadError -- dispatches various error pages

netError.xhtml

aboutCertError.js

about:neterror

about:config -- urlclassifier.alternate_error_page default string = "blocked" -- for example -- tells nsDocShell::DisplayLoadError to use the "blocked" page instead of the default generic page.

https://johnath.com/ -- triggers a "Secure Connection Failed" error page.

http://example.example.com/ -- triggers an "Address Not Found" error page.

Error Types

Which ones do we want to improve first?

  • Some "tools" may broadly apply -- change the generic template? (e.g. search)
  • No new pages, just make the existing pages better?
  • Add a search field to addressNotFound page.
  • neterror important???
  • protocolNotFound
  • fileNotFound
  • dnsNotFound important???
  • connectionFailure important???
  • netInterrupt
  • netTimeout important???
  • nssBadCert
  • nssFailure2
  • phishingBlocked
  • malwareBlocked
  • malformedURI
  • redirectLoop
  • unknownSocketType
  • netReset
  • netOffline
  • isprinting
  • deniedPortAccess
  • proxyResolveFailure
  • proxyConnectFailure
  • contentEncodingError
  • unsafeContentType

dnsNotFound error

URL that results in a dnsNotFound error page

Firefox error page after a dnsNotFound error.

connectionFailure error

URL that results in a connectionFailure error page

[image:xxxxxxxxxxx Screenshot of a connectionFailure error page]

Notes

Can we use Places autocomplete for link correction? A mis-typed link will often be in error in only the last couple of characters -- we can truncate the last 2 or 3 characters and rely on Places auto-complete to give us recommendations...

http://mxr.mozilla.org/mozilla-central/source/toolkit/components/places/tests/autocomplete/

A related alternative would be to construct an edit-distance function and register it with SqlLite. We can then do a query on minimal edit distance (async of course) to get the best link correction matches.

Problem is, how do we hook link correction into the error page? We'd like to provide suggestions inside the web page similar to Google's "did you mean" on the search results page.

More Notes

Google Chrome's Friendly 404 Error Page

Google Chrome's Friendly 404 Error Page

Notes Mark III

Summary of error types (FF 1.5)

Google Chrome LinkDoctor Service (linkhelp.clients.google.com)

 wget -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13" "http://linkhelp.clients.google.com/tbproxy/lh/fixurl?sourceid=navclient%20&hl=en&sd=com&error=http404&url=http://news.speeple.com/sunflowers"
 
 wget -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13" "http://www.google.com"

Notes: Herdict

Email from Jesse:

 Here's the bug I filed with my ideas for error pages:
 
 https://bugzilla.mozilla.org/show_bug.cgi?id=479922
 
 and here's the page that Curtis coincidentally wrote:
 
 https://wiki.mozilla.org/Firefox3.1/Sprints/Network_Error_Pages
 
 Jonathan Zittrain was talking about HerdictWeb
 (http://www.herdict.org/web/) in building K today and had interesting
 ideas about integrating it into Firefox's error pages.  Instead of
 Firefox just telling you the site is unreachable, maybe it could tell
 you whether it has been gone for minutes or months, and whether it is
 broken for everyone or only for certain ISPs or countries.
 
 jz -- Curtis and I are in building S today if you want to come over
 and chat with us.