Bug 206155 - proposed new history panel
Summary: proposed new history panel
Status: CONFIRMED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-03 19:18 UTC by ash
Modified: 2009-11-02 12:22 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
mockup for history side panel in konqueror (67.64 KB, image/png)
2009-09-03 19:20 UTC, ash
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ash 2009-09-03 19:18:15 UTC
Version:           4.3.1 (using KDE 4.3.0)
OS:                Linux
Installed from:    Unlisted Binary Package

this is improved history side panel for konqueror. it can replace the kde 3 - 4.2 history panel and the 4.3 history window

complexity - what i described is perhaps overkill for a history panel. but
 - parts of it can be used for bookmarks / other stuff
 - it can be expanded from just 'history' to something more comprehensive (and become unique feature for konqueror)

code - the panel likely can be built from the same new code as the new history window - just put back into the panel

why in panel ? the history is there to come back to a place you have been in. the best way to find it is quickly view all places and visually identify the correct one. placing history in a window requires moving this window out of the way each time you try another link. this is distracting

why not in sidebar ? you dont need bookmarks / home folder / etc at hand when using history. shading / moving the other dockers to maximize the history docker etc stands in the way more than it helps

why not in tab ? same as why not window. we want to see the sites displayed along with the history view and not bother with switching tabs

so we came back to the side panel. now lets see how to improve it

grouping and order - in the tree view the pages are grouped by the domain they came from and ordered by last access time. lets introduce few more options :
 - by domain - the way it is now
 - no grouping - the ordering is the only thing that matters
 - by time - split the access time to groups like last hour / today / yesterday / last week
 - by session - similar to time but is last session / previous session / . . . (2 - 3 sessions back) / earlier
 - by logic tree - tracking which page you came from to each page and displaying them in a tree. (this tree can be deep and is not fixed in depth to 2 evels exactly)
 - by site type - forum / downloads / uploads / wiki / social site / search / email / news etc. the site type is guessed by konqueror from keywords in the main page of the site / keywords in the url and can be set manually by the user for each site
 - by site section - its similar to the current scheme but tries to break down the groups more. for example google search and gmail (allthough it is www.google.com/...) are in different folders
 - by content - amount of images / frames / text (large images / continuous texts / large flash video / downloads / many small images . . .)


coloring - each page entry is colored with the dominant foreground and background colors of the web page. for example if you remember that a page was in blue text on light grey background just go for it !. in common designs which are common to many domains (say black on white) konqueror will alter the colors slightly using colors from other elements of the page. for example a dominant color in an image shown near the top of the page (ie likely the domain logo) this color will be used. colors are automatically altered if they make really bad contrast the way they are by default

fonts - in a similar way if a domain used some font which is installed n the computer its entry will use this font

fading - the contrast of entry is faded down as it becomes older. if enabled by the user there also will be hue shift. to avoid confusion with different colors the effect can be applied only to part of the background (in width).

visual elements - a catchy visual element like logo or style of a frame can be scaled down and embedded in the background of an entry. this will be usefull for the detailed / icon views explained later

the groups can be defined to the user by tree view / visual grouping (amarok style - the first entry of each group is taller) / coloring by group (when used along with or instead of the described coloring scheme - ie entries of the same group are placed together and colored in the same colors)

lets add some view styles. switching the style is done by display mode icons under the view (similar to dolphin)
tree view - the current way
list - like tree view but without tree
thumbnails - less information in text but more in graphics (looks like icon view with the icons being composed of colors and graphics like described above)
detailed view - along with / without thumbnail it shows some more information about the page (imagine the entries in amarok playlist - the ones that show a cd box icon in them). for example if a page was surfed into from a link from google then the search keywords used will appear under the page name

search bar - the way its now

timeline slider - a horizontal slider under the history list colored in gradient from 'fresh blue' to 'historical yellow'. the blue end is 'now' and the other end is the old end of the saved history. the ruler is divided with ticks or darkened areas to 'this session' + 2-3 sessions back / to days (the user can choose). the user drags a frame (actually - 2 sliders which are styled like a calendar frame) over the part of the timeline he wants to view. the sliders snap to the ticks on the ruler when dragged. the ruler zooms in and out when the user drags the frame to its right end or when stuff is dense in one part of it.

filter in / out - a selection box which opens to a list of [X]'es. in it the user can select site categories to show or exclude from the display. to the left of it is a button 'show' / 'except' (changes when clicked) which means include or exclude respectively

buttons - in the bottom are buttons to configure some options and to open history in a window (the way it is now)

initial mockup is attached below
Comment 1 ash 2009-09-03 19:20:40 UTC
Created attachment 36663 [details]
mockup for history side panel in konqueror
Comment 2 Janet 2009-09-12 23:38:28 UTC
Really, I don't care how it looks like - as long as it's back in the sidebar which is the best place for a history! Your proposal is nice but for my taste it's too colorful. I think the most important is that the links from the history open in tabs and not in new windows and that you can sort the history a little more flexible like the history of opera or firefox: there you can also group the links for today, yesterday... And the history sidebar should contain a vertical slider too so that one isn't forced to continually change the width of the sidebar when looking for certain entries.
Comment 3 Janet 2009-09-12 23:40:41 UTC
> And the history sidebar should contain a vertical slider
It's a little late: I mean a horizontal scrollbar...
Comment 4 Tanja Schulte 2009-09-18 16:52:51 UTC
It's a very nice proposal. But for me also the most important is that the history gets back into the sidebar! And that it gets a horizontal (yes, Janet ;) ) scrollbar and a search field. 

I love the history sidebar of opera, it really looks neat. It has a quicksearch field, shows the full address of a link in the status bar of the browser and as a tooltip and you can switch between three view modes: sorted by site or by time visisted or grouped by time plus site with header today, yesterday etc. The latter is my favorite one and the sorting mode I miss the most in konqueror's history. Alas opera's sidebar is missing a horizontal scrollbar too.  

Why a horizontal scrollbar? Because it is much faster to find a specific entry of which you don't now the exact name when you see all possible entries (preselected through the quick search filter) at one glance and don't need to hover over each one. You can just slide to the other side or middle of the long names to "get rid" of the sometimes very long site name and desciption some websites add to every page - and all without the need to resize the window or sidebar.
Comment 5 FiNeX 2009-09-19 21:35:29 UTC
*** Bug 207832 has been marked as a duplicate of this bug. ***
Comment 6 Chien-Chung Yeh 2009-09-22 07:12:57 UTC
*** This bug has been confirmed by popular vote. ***
Comment 7 ash 2009-10-15 23:57:12 UTC
i like the horizontal scroll bar thing

then (an option to) indent the history entries as they age so that you can see their order in time
Comment 8 David Faure 2009-10-30 13:31:45 UTC
SVN commit 1042654 by dfaure:

The sidebar history module is back - now based on Pino's nice history model + proxymodel.
BUG: 205521
CCBUG: 206155


 M  +3 -1      sidebar/CMakeLists.txt  
 A             sidebar/default_entries (directory)  
 A             sidebar/default_entries/CMakeLists.txt  
 AM            sidebar/default_entries/bookmarks.desktop   sidebar/trees/init/bookmarks.desktop#1042512 [TRAILING SPACE]
 AM            sidebar/default_entries/history.desktop   sidebar/trees/init/history.desktop#1042512 [TRAILING SPACE]
 AM            sidebar/default_entries/home.desktop   sidebar/trees/init/home.desktop#1042512 [TRAILING SPACE]
 AM            sidebar/default_entries/remote.desktop   sidebar/trees/init/remote.desktop#1042512
 AM            sidebar/default_entries/root.desktop   sidebar/trees/init/root.desktop#1042512
 AM            sidebar/default_entries/services.desktop   sidebar/trees/init/services.desktop#1042512
 AM            sidebar/history_module (directory)   sidebar/trees/history_module#1042512
 M  +12 -22    sidebar/history_module/CMakeLists.txt  
 D             sidebar/history_module/dummy.cpp  
 D             sidebar/history_module/history_item.cpp  
 D             sidebar/history_module/history_item.h  
 M  +95 -345   sidebar/history_module/history_module.cpp  
 M  +27 -85    sidebar/history_module/history_module.h  
 M  +5 -6      sidebar/history_module/kcmhistory.cpp  
 A             sidebar/history_module/konqsidebar_history.desktop  
 M  +4 -1      sidebar/konqsidebarplugin.cpp  
 M  +22 -15    sidebar/konqsidebarplugin.h  
 M  +8 -14     sidebar/sidebar_widget.cpp  
 M  +4 -5      sidebar/sidebar_widget.h  
 M  +0 -1      sidebar/trees/CMakeLists.txt  
 D             sidebar/trees/history_module (directory)  
 M  +1 -2      sidebar/trees/init/CMakeLists.txt  
 M  +1 -1      sidebar/trees/init/README  
 D             sidebar/trees/init/bookmarks.desktop   [TRAILING SPACE]
 D             sidebar/trees/init/history.desktop   [TRAILING SPACE]
 D             sidebar/trees/init/history_module.desktop   [TRAILING SPACE]
 D             sidebar/trees/init/home.desktop   [TRAILING SPACE]
 D             sidebar/trees/init/remote.desktop  
 D             sidebar/trees/init/root.desktop  
 D             sidebar/trees/init/services.desktop  
 M  +0 -5      sidebar/trees/konqsidebar_tree.h  
 M  +4 -4      sidebar/web_module/web_module.cpp  
 M  +4 -4      sidebar/web_module/web_module.h  
 D             sidebar/web_module/websidebar.desktop  
 M  +9 -6      src/CMakeLists.txt  
 M  +17 -179   src/konqhistorydialog.cpp  
 M  +4 -21     src/konqhistorydialog.h  
 M  +1 -0      src/konqhistoryproxymodel.cpp  
 M  +22 -5     src/konqhistorysettings.cpp  
 M  +7 -2      src/konqhistorysettings.h  
 A             src/konqhistoryview.cpp   [License: GPL (v2+)]
 A             src/konqhistoryview.h   [License: GPL (v2+)]


WebSVN link: http://websvn.kde.org/?view=rev&revision=1042654
Comment 9 Janet 2009-10-30 21:45:30 UTC
That's great news, thanks! Will it be available for KDE 4.3.x?
Comment 10 David Faure 2009-11-02 12:22:48 UTC
No, 4.3.x is "bugfix only", to ensure stability.
New features (which this one is, since the code is new) go into 4.4.

I'm leaving this bug open because of the wish for date headers ("Today", "Yesterday", etc.).

Please note that sorting by date is (and has always been) available, though. The topmost entry is the most recent website visited, etc.
(although, all pages from that website are shown underneath, not just the most recent ones; otherwise we would need to have the same site multiple times).