Firefox/Feature Brainstorming:History: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 5: Line 5:
Bob frequently goes on trips where he has no Internet access.  A lot of his work depends on reading wikis and other reference websites, (e.g. wikipedia, company sun java documentation, etc).  So, it would be helpful to guarantee certain websites' availability in the cache for offline browsing.  
Bob frequently goes on trips where he has no Internet access.  A lot of his work depends on reading wikis and other reference websites, (e.g. wikipedia, company sun java documentation, etc).  So, it would be helpful to guarantee certain websites' availability in the cache for offline browsing.  
* Basic Idea
* Basic Idea
** Be able to manually "check" pages so that they get placed into a special section of cache that doesn't get evicted (see Slogger extension below)
** Be able to manually "check" pages so that they get placed into a special section of cache that doesn't get evicted
** Be able to automatically use regular expressions to filter URIs accessed through the browser so as to decide whether it merits the special no-eviction status
** Be able to automatically use regular expressions to filter URIs accessed through the browser so as to decide whether it merits the special no-eviction status
* No-Evict Cache Management
* No-Evict Cache Management
** Give an option for keeping track of different versions of the page based on access date
** Give an option for keeping track of different versions of the page based on access date
** Implement a [http://infolab.stanford.edu/~backrub/google.html backrub] (e.g. google) searching algorithm through the local cache and history, based on how the linked pages in the cache relates to each other; also see more ideas [http://wiki.mozilla.org/Firefox/Feature_Brainstorming:History#History_search here]
** Implement a [http://infolab.stanford.edu/~backrub/google.html backrub] (e.g. google) searching algorithm through the local cache and history, based on how the linked pages in the cache relates to each other; also see more ideas [http://wiki.mozilla.org/Firefox/Feature_Brainstorming:History#History_search here]
=== 'Diff' cached and current version ===
* While visiting some "permanently cached" page (either while in 'offline' or 'online' mode), give options such as 'emphasize changes'
* Possible scenario and UI: Bob is browsing in "soft-offline" mode. He returns to a page that he visited (and "hard-cached") yesterday. In statusbar appears info that he is viewing yesterdays version of the page, and available options "refresh to current version" (optionally "show older cached versions", "number of visits" aso.).  After refreshing, give possibility to highlight changes.
* Watch for changes automatically
=== Shared cache ===
* Give browser ability to "seed" back cached data in a (let's say) "p2p" way.
=== References ===
* [http://www.kenschutte.com/slogger/ Slogger extension] - can save complete visited pages and make advanced browse-logs.
* [https://addons.mozilla.org/cs/firefox/addon/3362 Update Scanner extension] - can automatically check for changes and highlight them


== History management ==
== History management ==
Line 175: Line 163:
* [http://ted.mielczarek.org/code/mozilla/tabpreview/ Tab Preview]
* [http://ted.mielczarek.org/code/mozilla/tabpreview/ Tab Preview]
* [https://addons.mozilla.org/firefox/2134/ Ctrl Tab Preview]
* [https://addons.mozilla.org/firefox/2134/ Ctrl Tab Preview]
* [http://www.kenschutte.com/slogger/ Slogger: browse logger extension]
* [https://addons.mozilla.org/cs/firefox/addon/3362 Update Scanner extension]
* [http://www.google.com/history google.com/history] [http://www.google.com/support/accounts/bin/topic.py?topic=10470 help]
* [http://www.google.com/history google.com/history] [http://www.google.com/support/accounts/bin/topic.py?topic=10470 help]

Revision as of 20:55, 22 August 2007

« Firefox/Feature Brainstorming

Permanently Caching Some Pages in History

Consider this usage scenario: Bob frequently goes on trips where he has no Internet access. A lot of his work depends on reading wikis and other reference websites, (e.g. wikipedia, company sun java documentation, etc). So, it would be helpful to guarantee certain websites' availability in the cache for offline browsing.

  • Basic Idea
    • Be able to manually "check" pages so that they get placed into a special section of cache that doesn't get evicted
    • Be able to automatically use regular expressions to filter URIs accessed through the browser so as to decide whether it merits the special no-eviction status
  • No-Evict Cache Management
    • Give an option for keeping track of different versions of the page based on access date
    • Implement a backrub (e.g. google) searching algorithm through the local cache and history, based on how the linked pages in the cache relates to each other; also see more ideas here

History management

  • Maintain document state in history
    • You fill out a long form, click Submit, and an error occurs. You click Back and sometimes all of your form data is gone. I think it has to do with the page having a short TTL so it is re-requested from the server and re-rendered with a blank form.
    • Allow users to go back through history and see exactly what was entered in the forms on pages.
    • Never save password fields except through existing functionality
    • Allow user to enable/disable feature
    • Keep javascript engine state in memory for Ajax-heavy pages. Back button used in Ajax applications should take you back to the page as you last saw it, not as it was first requested from the server.
    • After going back scroll document to the link/position, where user left the page
  • Maintain seperate document and image cache check frequency

History manager

  • Ability to automatically or manually tag history
  • Ability not to add broken links (404) to the history
  • Integrated Bookmarking
  • Integrated use of social bookmarking rankings to show page popularity
  • Sort history by time the page was closed, rather than opened. As such, if the browser crashes, everything that was open will automatically be at the top of the history. Likewise, if I close a page I opened last week, it will still be near the top of my history.
  • Full screen utilization for history browsing
  • History accessible via calendar views (day, week, month, year) and navigation-tree view
  • Let the user choose which details of a history entry shall be shown for browsing (e.g. show time and date or only date)
  • Global history navigation & presentation
  • Session history navigation & presentation (handling iframes & modern DOM tricks)
  • Spatial history navigation. http://www.halfbakery.com/idea/Browser_20History_20Diagram (links down left hand side)
  • History could show a list of pages visited that can be sorted according to the fields seen in Page Info.
  • History could show a tree of pages visited with the nodes being where people have hit the back button and then clicked on a new link.
  • History could also show the web pages visited along with all the media they link to in a hierarchy of directory locations similar to what would be seen in a mirror of the websites visited.
  • Page or scroll through thumbnails of pages visited (somewhat similar to how a user can scroll through CD covers in iTunes).
  • Possible combination of aforementioned features : A timeline, a horizontal (or vertical) display that shows which tabs are open and what is in them, one row per tab. That way you can see immediately where you opened a page and where it was closed. You can also see that you were browsing in one tab from page to page because one tab occupies one line. Subsequent navigations are shown as a line followed by the new URL. This view should be "fullscreen", possibly displayed in a tab or seperate window. The vertical version could be shown in the sidebar.
  • A different style timeline that should be relatively easy to create assuming the date/time of opening and closing is stored with sufficient accuracy : list all pages, in chronological order, from a certain timeframe that can be selected. This is basically what Google Desktop Search 3 offers, fairly basic but far more usefull than the current history which only has large time brackets that are a mess beyond one week.
  • This could also be represented as a single line, which could be shown on the status bar. This would give users realtime access to the history at all times just be looking at the bottom of the window, where an autofitting stretch of vertical lines would move slowly, showing a sort of ruler with the timelabels. Each vertical line would represent 1 navigation step, and hovering over it would show it's information.
  • Speed up history browsing for big history caches (> 300 days)
  • Or: Implement an archive feature (export/import)
  • Save page in the history each time it is accessed ("I know on 19 Dec. 2006 I was there ...")
  • Order by time for periods > 1 week, too. (Like in Netscape 4.7)
  • Back/forward buttons history drop-down menu thumbnails - similar to aol explorer

General History UI improvements

  • Remove Alt+S shortcut opening History-Menu.
    • Many widely used webapps (like vBulletin) and webforms use the known shortcut Alt+S to save/submit data.
    • Rather: educate users about using Alt+Shift+S to submit forum posts.
    • Or: Allow user to set:
      • Alt+character - Alt+s will send form, not open menu.
      • Alt+character - Alt+s will open menu, not send form.
      • Alt+shift+character - Alt+shift+s will send form, like now.
      • Both - Alt+character works for every form, but not those used by the menu, use alt+shift+character for those.
  • Right clicking on Back/Forward buttons (or the menu items that appear when you click the down arrow buttons next to them) brings up the same context menu that appears when you right click on a link on a page (open link in new tab/window, bookmark/save/send/copy link, properties).
  • Right click context menu for new tab on list of previous sites from back button icon. Right click for new tab on home button icon.
  • Properties menu item in right click context menu (as in HistProp extension)
  • History submenu to reopen recently closed windows (like now with tabs) : it could be merged with the actual feature and be called something like "reopen recently closed pages".
  • History submenu to reopen recently terminated sessions.
  • "Clean private data of this page" in a page context menu.
  • Provide an option - a list of partially matching text - to exclude certain data from being remembered in form data. For example, to NOT remember credit cards, you could add the first 4 characters of the credit card in the exclude list. This is necessary because remembered form data is not protected in any way.

History search

  • Full-text indexing of history
  • Search using metadata / full page text from cache
  • Make it possible to search in the contents of all the pages you visited last x hours/days/months/years.
  • ability to search with sections of website
  • X button to clear search

History view metaphors with Page Info

Ability to select links in this hierarchy and tell the browser to get all the links it points to. This could be used to generate a list of files that can be downloaded to provide a mirror of desired sites with a great deal of control. One would then like to select a group of files by individual selection or by hierarchical groups to archive or explore for new links. This is essentially a webspider interface for the browser.

History and tabs

Preserve history when ctrl-clicking to create a new tab. Essentially, let me ctrl-click to create a new tab, switch to that new tab, and then hit the 'back' button.

Clickstream recording/browsing/mining

  • There is a lot of interesting stuff that could be done if we recorded clickstreams as part of history, particularly if that data could be used to generate usage patterns and so forth.
References

Sort history by time instead of name within a day

  • If you are visiting a lot of pages especially on the same server and then look into the history it is very hard to find a certain page pased on the title. It would be nice to have the option to sort by time the page was opened, so that you have a time order within the date sorted history.
    • Sort history by time of closing tabs for the same reason.

Tree-shaped history

  • If you are at a site (site A), and push back a bunch of times to get to (site B), are then follow a different site to get to another site (site C) it is no longer possible to use the forward button to get to site A again. This should be fixed by storing a tree of the forward and backward locations, and use an interface that allow you to branch when going forward.
    • This proposal seems to me to be conceptually similar to proposals in the research literature for rewinding of UNDO stacks along N branches. What I recall from the literature is that this proved, in trial usage, to be complex to very problematic, particularly with respect to usability. If this proposal is implemented, then it might be wise to consider whether the Back/Forward behavior should default to the 'traditional' linear implementation and only turn on the 'branching' support on explicit user request (e.g., as a 'power user' feature). Jabbott 10:09, 16 October 2006 (PDT)
    • This may be a difficult feature to develop, as Jabbott has suggested, but it is something I have wanted for more than ten years. I agree that there should be an option for linear vs branchy history. But that option should be announced at the top of the dropdown history list, so that users know of this novel feature. ehume 2006-10-17 2313 EDT
    • It might be possible to use a single History-Stack for doing this. So when navigating from A to B, back to A, and then to C the History-stack might look like:
      Site C
      Site A
      Site B
      Site A
      Note: the redundant Site A at the end might get removed when presenting to the user, but is needed internally.
      I also would like to have it possible to let the user decide which solution (the current ot this) she prefers. MovGP0 10:11, 19 October 2006 (PDT)
    • See the TrailBlazer UI. That one could be intuitive AND useful from a user perspective and shouldn't be hard to build (at UI level): it's just a "table" with tabs shown on different rows and timeline on the columns. This solution I think that will make the history REALLY usable (in conjunction with other features like search, tag, export, print (!),etc.). Note: this interface will be on a separate window: Back/Next will work as usual.
  • For what it's worth, Emacs does this with its undo history and it's great. It should definitely not be the default! I'm sure that anyone who cares about their browser's history that much is sufficiently nerdy enough to find the preference, perhaps in about:config. Anyway the way Emacs handles this is that undo will fold the history. In the context of the browser, you're at Site A and you go back to Site B. Then you go forward to Site C and want to see something at A again. Currently you're fscked. With a folded history you would go back to Site B, and then go back over the back actions until you got back to Site A. Essentially going back from A to B is treated as browsing forward! It makes sense really, I rarely use provided "Back to foo" links as I prefer Alt-Left. I digress. I'd love to see this feature... with Firemacs. I hope that was fairly clear. --Sjs 19:42, 10 July 2007 (PDT)

References

History view and web page view merged

History is merged in web page view thanks to zoom in and zoom out. A view of a web page is supposed to be a zoom on one item of the history.

  • You first navigate ordinary on the web :

History 2d 1 (normal navigation) thumb.jpg

(large image)

  • Then you decide to view the history :

History 2d 2 (history appear) thumb.jpg

(large image)

Web page view is zoomed out. What trigger the zoom out could be a button on the interface or a particular move of the mouse.

  • You see all the history where all the pages are represented with a preview :

History 2d 3 (history view) thumb.jpg

(large image)

The current web page is at the center. A stickman indicates that it is the current page. You can then scroll the history. The web page represented below is a newer page (it supposes that you have come back to the current page). The pages above are older pages. Arrows indicate the order of page visit. Arrow above the current page doesn't start on the page just above because you have visited two pages and then you have decided to go back.

  • You can scroll the history and pass your pointer over the web page preview :

History 2d 4 (history mouse over) thumb.jpg

(large image)

When your pointer is over a preview, the web page becomes blue. A note indicates the elapsed time since the first web page visit.

  • Clicking on a web page preview zoom in the web page :

History 2d 5 (history select) thumb.jpg

(large image)

You can go to a page by clicking on the preview and then the history view is zooming in.

  • You have returned to an older page :

History 2d 6 (final page) thumb.jpg

(large image)

With this feature, the old history panel would be no longer needed.

History Pages Preview

When a user visits a site for the first time they usually don't remember the address or even the name of the site. Usually, a web page is most memorable based on its content. The current organization of history is lacking, in that it only shows the name of each page visted. A small preview of each page could give the user more than enough information to find the page they're looking for.

  • Standard history organization is kept.
  • On a single-click (or function key + click) the page is shown as a thumbnail in a smaller window.
  • Pages are rendered (into thumbnails) while viewing history or when each page is visted and being stored into history.

References