Firefox/Projects/Network Error Pages: Difference between revisions

Jump to navigation Jump to search
we don't need no stinkin error summary
No edit summary
(we don't need no stinkin error summary)
Line 10: Line 10:
* '''Code Freeze for Beta 4''': April 6, 2009
* '''Code Freeze for Beta 4''': April 6, 2009


===Completed===
*Open initial bug for 404 handling<br><br>
*Open initial bug for 404 handling<br><br>
*:[[Image:250px-Pictogram voting keep.svg.png|20px]] '''Completed:''' [https://bugzilla.mozilla.org/show_bug.cgi?id=482874 Bug 482874] and [https://bugzilla.mozilla.org/show_bug.cgi?id=484313 Bug 484313] (DTD changes).
*:[[Image:250px-Pictogram voting keep.svg.png|20px]] '''Completed:''' [https://bugzilla.mozilla.org/show_bug.cgi?id=482874 Bug 482874] and [https://bugzilla.mozilla.org/show_bug.cgi?id=484313 Bug 484313] (DTD changes).
Line 18: Line 19:
** Hard to say how well it works for real errors in the wild.
** Hard to say how well it works for real errors in the wild.
** Drawing alternatives from the Places DB looks like a practical tool we can use for suggesting alternatives.
** Drawing alternatives from the Places DB looks like a practical tool we can use for suggesting alternatives.
* Discuss with Google Link Doctor team<br><br>
*:[[Image:250px-Pictogram voting wait.svg.png|20px]] '''In progress,''' next: follow up on experimental access to the service.


* Discuss possible 404 implementation with bzbarsky and others<br><br>
* Discuss possible 404 implementation with bzbarsky and others<br><br>
Line 26: Line 24:
** 404 interception unified with the existing error handling architecture is too deep a change to make for 3.1.
** 404 interception unified with the existing error handling architecture is too deep a change to make for 3.1.
** A less intrusive approach similar to the one the experimental 404 extension uses may be possible -- need to investigate further.
** A less intrusive approach similar to the one the experimental 404 extension uses may be possible -- need to investigate further.
===In progress===
* Discuss with Google Link Doctor team<br><br>
*:[[Image:250px-Pictogram voting wait.svg.png|20px]] '''In progress,''' next: follow up on experimental access to the service.


* Implement Levenshtein Distance algorithm in C++<br><br>
* Implement Levenshtein Distance algorithm in C++<br><br>
Line 33: Line 35:


* Proposed a plan for actual implementation<br><br>
* Proposed a plan for actual implementation<br><br>
*:[[Image:250px-Pictogram voting wait.svg.png|20px]] '''In progress,''' see below
*:[[Image:250px-Pictogram voting wait.svg.png|20px]] '''In progress''' (see below)
 
===To do===
 
* Follow up with contact on Link Doctor team about experimental access to the Link Doctor service.<br><br>
*:[[Image:250px-Pictogram voting delete.svg-1.png|20px]] '''To do'''
* Extend the 404 extension to intercept other error types so we can use it to prototype improved error page designs.<br><br>
*:[[Image:250px-Pictogram voting delete.svg-1.png|20px]] '''To do'''
* Figure out how to plumb 404 interception into Firefox proper (talk to Johnath).<br><br>
*:[[Image:250px-Pictogram voting delete.svg-1.png|20px]] '''To do'''
* Investigate implementing a proper edit-distance algorithm in C++ that can be used with Sqlite.<br><br>
*:[[Image:250px-Pictogram voting delete.svg-1.png|20px]] '''To do'''
* Come up with a plan for a production-quality Firefox 3.5 patch.<br><br>
*:[[Image:250px-Pictogram voting delete.svg-1.png|20px]] '''To do'''
* (Boriss) design a 404 & dnserror explanation website<br><br>
*:[[Image:250px-Pictogram voting delete.svg-1.png|20px]] '''To do''' (and decide if it is part of scope)


= Proposed Plan =
= Proposed Plan =
Line 113: Line 130:
<hr>
<hr>


= To Do =
# 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.
# 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 =
tbd
= Non Goals =
tbd
= Design =
tbd
= Bugs =
[http://bugzilla.mozilla.org/show_bug.cgi?id=479922 Bug 479922] -  Network error pages should give me tools instead of asking me questions
= Reference =
[http://mxr.mozilla.org/mozilla-central/source/docshell/base/nsDocShell.cpp#3031 nsDocShell::DisplayLoadError] -- dispatches various error pages
[http://mxr.mozilla.org/mozilla-central/source/docshell/resources/content/netError.xhtml netError.xhtml]
[http://mxr.mozilla.org/mozilla-central/source/browser/components/certerror/aboutCertError.js 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/ https://johnath.com/] -- triggers a "Secure Connection Failed" error page.
[http://example.example.com/ 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 =
[http://example.cmm URL that results in a dnsNotFound error page]
[[Image:Picture_13.png|Firefox error page after a dnsNotFound error.]]
= connectionFailure error =
[http://127.0.0.1:81 URL that results in a connectionFailure error page]


=References=
*Bugs:
**[http://bugzilla.mozilla.org/show_bug.cgi?id=479922 Bug 479922] -  Network error pages should give me tools instead of asking me questions
*Mozilla-Central:
**[[http://mxr.mozilla.org/mozilla-central/source/docshell/base/nsDocShell.cpp#3031 nsDocShell::DisplayLoadError] -- dispatches various error pages
**[http://mxr.mozilla.org/mozilla-central/source/docshell/resources/content/netError.xhtml netError.xhtml]
**[http://mxr.mozilla.org/mozilla-central/source/browser/components/certerror/aboutCertError.js aboutCertError.js]
*About pages:
**''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.
*Triggers:
**[https://johnath.com/ https://johnath.com/] - triggers a "Secure Connection Failed" error page.
**[http://example.example.com/ http://example.example.com/] - triggers an "Address Not Found" error page.
**[http://example.cmm triggers dnsNotFound error page]
**[http://127.0.0.1:81 triggers connectionFailure error page]
* [[Firefox3.1/Sprints/Network Error Pages/Error types|List of possible error to address]] (old)
* [https://wiki.mozilla.org/Firefox:1.5_Network_Error_Messages Summary of error types (FF 1.5)]
* Johnathan Zittrain - [http://www.herdict.org/web/ HerdictWeb] talk in building K - had 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.
* Images:
<gallery>
Image:GoogleChrome404ScreenShot.png|Google Chrome's Friendly 404 Error Page
[image:xxxxxxxxxxx Screenshot of a connectionFailure error page]
[image:xxxxxxxxxxx Screenshot of a connectionFailure error page]
 
</gallery>
 
= Notes =
= Notes =


Line 203: Line 164:


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.
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
[[Image:GoogleChrome404ScreenShot.png|Google Chrome's Friendly 404 Error Page]]
= Notes Mark III =
[https://wiki.mozilla.org/Firefox:1.5_Network_Error_Messages Summary of error types (FF 1.5)]


''Google Chrome LinkDoctor Service (linkhelp.clients.google.com)''
''Google Chrome LinkDoctor Service (linkhelp.clients.google.com)''
Line 219: Line 170:
    
    
   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"
   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.
Confirmed users
954

edits

Navigation menu