Confirmed users
954
edits
(→Status) |
No edit summary |
||
| Line 6: | Line 6: | ||
<blockquote>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.</blockquote> | <blockquote>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.</blockquote> | ||
= | = Project steps = | ||
* '''String Freeze for Beta 4''': Mar 19, 2009 | |||
* '''Code Freeze for Beta 4''': April 6, 2009 | |||
* | *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). | |||
* | *Create experimental 404 extension and send it out for comments<br><br> | ||
*:[[Image:250px-Pictogram voting keep.svg.png|20px]] '''Completed,''' comments were: | |||
** Works well for simulated small errors in URLs | ** Works well for simulated small errors in URLs | ||
** 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> | ||
*:[[Image:250px-Pictogram voting keep.svg.png|20px]] '''Completed,''' comments were: | |||
** 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. | ||
* | * Implement Levenshtein Distance algorithm in C++<br><br> | ||
*:[[Image:250px-Pictogram voting keep.svg.png|20px]] '''Completed''' | |||
** Followup: Plug algorithm into Firefox+Sqlite, providing better performance and accuracy compared to the approach used in the extension.<br><br> | |||
**:[[Image:250px-Pictogram voting wait.svg.png|20px]] '''In progress''' | |||
* Proposed a plan for actual implementation<br><br> | |||
*:[[Image:250px-Pictogram voting wait.svg.png|20px]] '''In progress,''' see below | |||
* Proposed a plan for actual implementation - | |||
= Proposed Plan = | = Proposed Plan = | ||
'''We're targeting two error types:''' | |||
# 404 errors. | |||
# DnsNotFound errors. | |||
'''Tools to draw on:''' | |||
# Places alternatives: Places DB + Edit Distance -- can be called automatically. | |||
#* Good for errors on URLs that the user has visited before | |||
#* Might be especially useful for misspelled hostnames. | |||
# Google Link Doctor | |||
#* Assuming partner issues are worked out with Google. | |||
#* Can't be called automatically for privacy reasons. | |||
#* Available with one click (similar to pre-loaded Google search box) | |||
# Other easy to implement tools | |||
#* common transformations (www..example.com --> www.example.com, etc.) | |||
#* pre-loaded search box | |||
#* etc. | |||
=404 redirection= | |||
** | ==Design scope== | ||
* Will use 404-specific error page for 3.1 rather than trying to re-use the generic network error page. The goal is to give the user better indication of the problem and provide tools for next steps if needed. | |||
* Will not redirect obvious custom server error pages. To this end, we'd like to use a heuristic beyond simple page size for identifying default 404 pages. Possibilities: | |||
* | *# Compare to standard Apache and IIS 404 pages, possibly fuzzy (use edit istance?) | ||
* | *# Use EndDocumentLoad (or other event) + redirect | ||
** | *# Implement listener in C++, should be able to access 404 status directly from dcument. | ||
** | *# <s>Deep docshell changes</s> (Not possible for 3.1} | ||
*** | * Will allow original error page to be available at one click | ||
** | * Will unify with existing error page architecture in v.next. | ||
* | |||
==Open questions== | |||
* Which tools will be provided? | |||
* Should indication that the error is "404" be provided in the first screen? | |||
* Is it possible to link to a page with more information about the problem? | |||
* How many alternatives should be shown, and how closely should those match user input? | |||
* What distinction should be drawn from the user's perspective between this and a DnsNotFound error? | |||
* Problem: The 404 error page can't be a chrome page, since that could expose us to privilege escalation attacks piggy-backed on XSS attacks.<br><br> | |||
*:[[Image:250px-Pictogram voting keep.svg.png|20px]] '''Solution:''' Use an about: URL to access the 404 error page. | |||
==Resources== | |||
===Sketches=== | |||
<gallery> | <gallery> | ||
Image:Linkdoctor places 404.png|A near match has been found (http://www.americas.com) along with the level above (http://news.bbc.co.uk), either via Places or Google | Image:Linkdoctor places 404.png|A near match has been found (http://www.americas.com) along with the level above (http://news.bbc.co.uk), either via Places or Google | ||
</gallery> | </gallery> | ||
===Notes=== | |||
==Most current design== | |||
=DnsNotFound= | |||
* | ==Design scope== | ||
* | * Will use the DnsNotFound error page to give the user better indication of the problem and provide tools for next steps if needed | ||
** | * Will provide the user tools via one-click access to Google Link Doctor | ||
** | * Will provide the user with better link options with data drawn from Places | ||
* | |||
* | ==Open questions== | ||
* Which tools will be provided? | |||
* Should indication that the error is "DnsNotFound" be provided in the first screen? | |||
* Is it possible to link to a page with more information about the problem? | |||
* How many alternatives should be shown, and how closely should those match user input? | |||
* What distinction should be drawn from the user's perspective between this and a 404 error? | |||
==Resources== | |||
===Sketches=== | |||
<gallery> | <gallery> | ||
Image:Dns error 1 suggestion.png|A suggestion is found, via Google or Places, and search is provided | Image:Dns error 1 suggestion.png|A suggestion is found, via Google or Places, and search is provided | ||
Image:Dns error 2 suggestions.png|Two suggestions might be given if two are clear strong matches | Image:Dns error 2 suggestions.png|Two suggestions might be given if two are clear strong matches | ||
</gallery> | </gallery> | ||
===Notes=== | |||
==Most current design== | |||