Bug 146760

Summary: Providing a Timeline-View for quickly narrowing donw the date of photos
Product: [Applications] digikam Reporter: Thomas Thrainer <tom_t>
Component: Searches-TimeLineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 0.9.4
Sentry Crash Report:
Attachments: Screenshot from Adobe Elements, Timeline
patch to enable new timeline sidebar tab
Screenshot of TimeLine right sidebar bar in action
Patch update to enable time-line tool in digiKam for KDE3
Screenshot of timeline in action

Description Thomas Thrainer 2007-06-13 22:38:11 UTC
Version:            (using KDE KDE 3.5.7)
Installed from:    Ubuntu Packages
OS:                Linux

I whould love to have a timeline on top of the screen (similiar as in Photoshop Elements), where I can quickly select regions of time I want to see photos from.

It would be great if there were a sort of histogram, which shows me how many photos are for example in one week/month. Then I could set a beginning and a end marker, and the photos are already filtered by this timespan. All other operation should only affect the already filtered photos (thus the timeline on top of the screen, as it whould always be visible).
Comment 1 Arnd Baecker 2007-07-07 06:43:50 UTC
Maybe one could re-use substantial parts of kphotoalbums
Datebar (DateBarWidget.cpp, MouseHandler.cpp, ViewHandler.cpp)?
See http://kphotoalbum.org/img/big/thumbnail-view.jpg for a screenshot.
To not occupy that space all the time, it should be possible to switch the
DateBar on and off.
(Still, it should act like the other filters such that it is 
still active, even if it is not visible)

Comment 2 caulier.gilles 2007-07-07 08:03:42 UTC
Arnd,

yes, these widgets can be backported from KPhotoAlbum and add to the layout of Album GUI - Date View. It must be done with KDE4 port because it touch indeep implementation.

We need to interface it with the new database interface from Marcel, and of improved the design of widgets to be better.

Marcel, please, give me your viewpoint about this subject

Gilles
Comment 3 caulier.gilles 2007-12-04 07:51:17 UTC
Arnd,

I will work on Date view for 0.9.4 release and especially about this file...

Gilles
Comment 4 caulier.gilles 2007-12-10 16:02:31 UTC
chiefaua,

Please take a look into file http://bugs.kde.org/show_bug.cgi?id=96388

There is a new timeline widget under construction (not yet complete of course)...

Gilles Caulier
Comment 5 Thomas Thrainer 2007-12-13 19:42:02 UTC
Hello

Concerning the new timeline widget, I would have some ideas/whishes. I attach 
a screenshot from Photoshop Elements, where I got the original idea from 
(from my old windows-times...).

So, my whishes/ideas are:

- It would be cool if the timeline-widget could be visible all the time, maybe 
on top or bottom of the screen (maybe even movable like a toolbar or 
dock-widget which only docks on top or bottom)

- IMHO, the timeline widget should not only be displayed in the dates sidebar 
view, as the user has there a feedback about time/dates anyway. It would be 
much more usefull, if the timeline widget only displays a statistic about the 
items currently displayed in the main window.

- The timeline widged should provide some visual feedback about the currently 
selected item/items. So if a item from 12th march 2007 is selected, march 
2007 should be highlighted in some form.

- If you click on some point of the timeline widget, the main view should 
automatically jump to the first photo of this date.

- The timeline widged should act as a filter (maybe like the new filter in the 
status line...). You could have handles at the right and left side of the 
widget, and drag them towards the centre to define lower and upper bound of 
the desired date range to display. Maybe we could "gray out" the not-visible 
date range in this case, to inform the user, that there are other items, 
which are just filtered away in the moment.

Let me just explain some use-cases which would be possible which such a 
timeline widget:
suppose, you have assigned tags for all photos of your children. Now you could 
search for these items in the tag-view sidebar or by clicking on the 
corresponding checkboxes.
The timeline widget could give you now direct feedback about when you have 
made photos of your children, and how many.
As you browse through your photos, you always see visually how old these 
photos are.
You can filter the displayed photos very quickly by just dragging the upper 
and lower bounds of the timeline view to the values you are interested in.

I know, all this would be possible too by defining customs searches, but this 
does not give you the immediate visual feedback, and very often I am just 
browsing my photos, and not interested in defining a lot of searches just for 
one-time use.
I am also aware of the fact, that there exists already a filter for tags, and 
that I could filter within the virtual date albums using tag filters. But 
this approach does also not provide visual feedback (altough this would 
change with the new feature of displaying the item count and the timeline 
widget in the date-view sidebar, but I am not sure if the displayed count 
would refer to the visible count or the count in the database)

The task described above can also not be done easily with virtual albums, as I 
can only select one of these (either date or tags).

So, finally I think that the timeline-widget I am thinking of would be quite 
usefull for browsing or rediscovering photos, not really for searching photos 
of which I already know when I took them.


Additionally, I would have another idea/whish for the timeline-widget:

- The timeline widget should choose automatically the right granuality of the 
scale (decade, year, quarter, month, week, day), depending on the "youngest" 
and "oldest" item in the current view, and the space it has on the screen. 
Optionally the user could change this, which would imply that we would need 
some sort of scrolling mechanism to reach the (then) invisible portions of 
the date-range.


I hope I could point out my vision quite clearly. I know, that some/many of 
these ideas/whishes are quite hard to implement or would cause performance 
issues, but I just wanted to precise my ideas.
I will certainly not stop digiKam if my whishes can not be realized, but I 
still think that it would be a cool feature.


Best regards

Thomas
Comment 6 Thomas Thrainer 2007-12-13 19:43:58 UTC
Created attachment 22533 [details]
Screenshot from Adobe Elements, Timeline
Comment 7 bcr 2008-01-01 02:40:03 UTC
I think all the above ideas are great but the use of a single timeline 'widget' per se leaves behind a great space saving opportunity - incorporating the timeline into the folder tree renderer itself. In the sample screen at the moment (http://www.digikam.org/?q=node/285) there is a large amount of wasted whitespace to the right of the month labels in the tree. 

I would suggest using this space to render smaller versions of the timeline widget for each folder. This would allow users to view their -whole- photo collection as a quasi-density chart by date. You could still provide the current timeline widget under construction to show more detail but it would be great to have all of them showing in simplified form to the right of the leaves on the folder tree:

2007   .....|..|...|.....   
  January  ....|..||.....
  February ........|..||.
  March    .||.|.|...|...
  April    ........||....
  etc..

Regards,
Brian
Comment 8 caulier.gilles 2008-01-08 16:58:21 UTC
Created attachment 22900 [details]
patch to enable new timeline sidebar tab

Hi all,

Working on time is under progress currently. There is a little patch to enable
timeline view as a new right sidebar tab. 

Timeline now work with Search KIO slave an run on the whole collection of
albums.

Multiple selection (contiguous or not !) is implemented.

Still a lots of code polish (especially with selection mode) to do.

Gilles
Comment 9 caulier.gilles 2008-01-08 17:03:03 UTC
Created attachment 22901 [details]
Screenshot of TimeLine right sidebar bar in action
Comment 10 Mikolaj Machowski 2008-01-10 00:39:10 UTC
Looks nice. Selection of images isn't clear but I never understood
appeal of that widget so maybe its my problem.

Real issue:

With current situation panel is occupied only in half, Rest is boring,
even ugly, grey. What do you think about changing of orientation of
widget from horizontal into vertical? It should solve some problems:

Pro:

+ in default sidebar width it can present only handful of units, with
  vertical orientation it can show several times more
+ in several languages one letter isn't enough to clearly distinguish
  month/day of week/whatever; in vertical layout you can use longer
  labels making everything clear
+ ugly background if filled making much nicer interface

Con:

- don't know if it is possible widgetwise
- anything else?
Comment 11 caulier.gilles 2008-01-15 15:31:24 UTC
Created attachment 23056 [details]
Patch update to enable time-line tool in digiKam for KDE3

This is the last version of the patch to be able to use time-line tool in
digiKam, accordingly with last changes in svn.
Comment 12 caulier.gilles 2008-01-15 16:36:05 UTC
Created attachment 23060 [details]
Screenshot of timeline in action
Comment 13 Mikolaj Machowski 2008-01-16 00:03:58 UTC
Looks great. Thanks to screenshot I understand now how to use it :)

Wonderful developments.

Several remarks:

- "Total" - IMO this is not the best word here . More precise could be:
  "Selected images", or even just "Selected". (Or am I missing
  something?)

- "crunching" of date in cursor info. It is very early shortened into
  something like: 5.11.200...6.11.2007, even when minimal width of left
  sidebar is more than enough to fit it all.

- wording again: tooltip for saving button: Save current selection to
  a new Album. In all other places in digiKam "Album" is physical place
  on disk; here we are saving selection to something virtual. May
  I suggest: "Save current selection to new virtual Album"?

- margins on timeline: they are too big, over 5 years in Year view;
  almost 2 years in month view; in week view over year below earliest
  image and almost two months after last image; 2,5 years and 1 year in
  *day* view.

But these things are only icing on a cake, thanks :)
Comment 14 caulier.gilles 2008-01-16 06:10:34 UTC
- "Total" - IMO this is not the best word here . More precise could be:
  "Selected images", or even just "Selected". (Or am I missing
  something?)

==> this one will be removed. it's just for debug. In fact, total  count is already availalbe on bottom to status bar.

- "crunching" of date in cursor info. It is very early shortened into
  something like: 5.11.200...6.11.2007, even when minimal width of left
  sidebar is more than enough to fit it all.

==> this is for optimize space. i'm open for alternatve way to do it.

- wording again: tooltip for saving button: Save current selection to
  a new Album. In all other places in digiKam "Album" is physical place
  on disk; here we are saving selection to something virtual. May
  I suggest: "Save current selection to new virtual Album"?

==> right.

- margins on timeline: they are too big, over 5 years in Year view;
  almost 2 years in month view; in week view over year below earliest
  image and almost two months after last image; 2,5 years and 1 year in
  *day* view. 

What do you mean by margin exactly. I don't understand (:=))

Gilles
Comment 15 caulier.gilles 2008-01-16 09:40:19 UTC
Comments from Gerhard posted by mail, not in B.K.O:

//-------------------------------------------------------------------

Hi Gilles,
very nice work again :-)

1/ I agree with Mik's i18n comments (by the way it reminds me of our discussion
of using Album for virtual ones only, are you interested in that change?)

2/ My comment: The selection spot is not intuitively to find, without your
screenshot I didn't know how to use it. What about putting some check box
below the bars?

Gerhard

//-----------------------------------------------------------------------

1/ ==> What do you mean exactly ? 

Currently we have "Album" for physical directory on HDD, and "Virtual Album" for virtual directory from digiKam database. This is not enough ?

2/ ==> the selection behaviour is the same than KPhotoAlbum, excepted than discontigous selection can be done in digiKam, not in KPhotoAlbum. Just use CTRL key with mouse button to perform multiple selections.

If this behaviour is not intuitive for you, well, KPhotoAlbum is not intuitive for you too (:=)))...

More seriously, I'm open to improve selection stuff of course. Using Checkbox below histogram is not possible in KDE3/QT3, because i have used a standard QWidget class to design TimeLineWidget. It's the most portable way to use the same code KDE3 and KDE4. Also the code is suitable as well with KDE3. If i use new Qt4 API for that, code will be not suitable in KDE3.

QT4 provide a way to mix widget where you want in a main canvas widget. Qt3 cannot do it easily.

Look like the PhotoShop Element do not provide a way to make selection outside the histogram area. 

F-Spot... cannot provide Date range selection ! (Very nice program (:=))))

I don't know how others photo-management programs work about timeline selection. New screenshots are welcome...

Gilles
Comment 16 Mikolaj Machowski 2008-01-16 10:13:06 UTC
> - margins on timeline
> What do you mean by margin exactly. I don't understand (:=))


Don't have access to digiKam now but I will try to explain on 
hypothetical data:

I have photos from 10/1/2001 to 1/1/2008. When I show timeline in Year 
view timeline width is from: 1995 to 2012. Margin are those additional 
years, from 1995 to 1999 and 2009 to 2012: 3-4 ticks.

When I show timeline in month view it those additional, empty, useless 
space is wide for 2 years: 24 ticks.

With week mode margins are: 52 ticks before and 8 ticks after images.

Day mode: 700 ticks before and 360 ticks after any images.

Those margins are too big and make usage awkward. When user scrolls to 
beginning/end (s)he expects to see first/last images. Small margin of 
1-2 ticks would be nice visually but is not necessary.

----------------------------------------------------
BART zaprasza 1 lutego, godz. 20:00 do sali koncertowej PFK, 
Opera Le
Comment 17 Mikolaj Machowski 2008-01-16 10:33:08 UTC
One more question about wording:

In Timeline panel we have "My Date searches"

But there is separate panel Dates. Even when wording is technically 
correct it may create some confusion leading to check for Date searches 
in Dates panel, not Timeline.

What do you think about "My Timeline searches"?

However it may be difficult for translation in some languages...

----------------------------------------------------
Alpejskie stoki czekaj
Comment 18 caulier.gilles 2008-01-16 10:40:35 UTC
Mik,

Well, I think the problem is not with "My Dates Search" title.

In fact, title of date sidebar tab is wrong : "Dates". it must be "Calendar".

Timeline is a search tool witch operate on items time stamp from whole collection.

Dates is a tool to make a calendar view with your whole collection. This is not a search tool as well.

Gilles
Comment 19 caulier.gilles 2008-01-16 12:27:48 UTC
SVN commit 762163 by cgilles:

digiKam from KDE3 branch : I'm happy to said than the new Time-Line tool to perform Date Search around whole albums collection 
is now available for testing with digiKam 0.9.4-svn.
A screenshot of this new tool in action can be seen here :

http://bugs.kde.org/attachment.cgi?id=23060&action=view

Marcel,

KDE4 port still todo before to close this file. I will backport all Time-Line widgets to KDE4 as well.
What about the new digiKam Search framework for KDE4 ?

CCBUGS: 146760
TODO : KDE4PORT
CCMAIL: digikam-devel@kde.org
CCMAIL: marcel.wiesweg@gmx.de



 M  +18 -3     digikamview.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=762163
Comment 20 Arnd Baecker 2008-01-16 14:26:30 UTC
Gilles: great work!

I also stumbled on the selection (I even thought that some connnection
wasn't set up correctly in my compilation ...;-)
Wouldn't it make sense to make the currently selected rectangle also
the selected one?

Another minor point: maybe CTRL mouse wheel could be used to
zoom in/out of  minute/hour/day/week/month/year/decade ?
(Note: minute/hour/decade do not (yet) exist ;-)
Comment 21 caulier.gilles 2008-01-16 15:42:38 UTC
>Wouldn't it make sense to make the currently selected rectangle also
>the selected one? 

Or to use the timeline cursor as well to make selection, for ex. to using CTRL key with it.

Note : I have reproduce the same behaviour than KPhotoAlbum, like you have recommend previously in this room... I see than KPhotoAlbum TimeLine usability is not perfect (:=)))

>Another minor point: maybe CTRL mouse wheel could be used to
>zoom in/out of  minute/hour/day/week/month/year/decade ?

Why not...

>(Note: minute/hour/decade do not (yet) exist ;-) 

Because it require few changes in Search KIOSlave to query DB and in TimeLine widget to draw these new decade. I would to test indeep the current implementation as well before to do it.

Gilles
Comment 22 Klaus Weidenbach 2008-01-16 20:55:57 UTC
There exists a small bug. When you select week as time unit you have the column "Week #52 - December 2007". The next column is "Week #1 - December 2007" and it shows the pictures from 1st week of january 2007! The next column "Week #2 - January 2008" shows the correct pictures from 2nd week of january 2008. I have no pictures from 1st week of january 2008 if this could be interesting.
Comment 23 Mikolaj Machowski 2008-01-16 22:30:06 UTC
> >(Note: minute/hour/decade do not (yet) exist ;-)
>
> Because it require few changes in Search KIOSlave to query DB and in
> TimeLine widget to draw these new decade. I would to test indeep the
> current implementation as well before to do it.


While it would be probably fun to see it I doubt it has real uses.
Better polish what exists now :)
Comment 24 caulier.gilles 2008-01-17 16:47:11 UTC
To Klaus, #22 : Problem fixed in svn with commit #762641. Please checkout and try again. Thanks in advance

To Mik, #23 : 

Technically, it's possible to support "Hours" and "Minutes" decade. For me, it's not a priority and i would delay to implement this feature...

But like KPhotoAlbum support these decades, i suspect than, "Hours" and "Minutes" decades can be suitable in specifics cases.

"Seconds" decade is a non-sense for me (:=)))

I will wait and see users feedback.

Gilles
Comment 25 Klaus Weidenbach 2008-01-19 13:58:31 UTC
It is still not working correctly with SVN checkout from this morning. "Week #52 - December 2007", the next is "Week #1 - December 2007" and showing pictures from january 2007, then is "Week #2 - January 2008". When I select that column, it indicates me that there should be 3 pictures which is also correct, but I cannot display them and even can not select the number at the buttom of this bar that you need to select to view pictures.
Comment 26 caulier.gilles 2008-01-22 10:12:29 UTC
To Klaus #25 : Another fix is committed with revision #764640. Please checkout and try again...

Thanks for your patience (:=)))

Gilles
Comment 27 Klaus Weidenbach 2008-01-23 20:54:20 UTC
Sorry to annoy you again with this, but it is still not working correctly. I maybe found out something interesting for you. The problem with 1st week 2008 still exists, but not for 1st week 2007 or 1st week 2006! When I select 1st week 2008 there is also no outline on the column, but the outline is drawn at 1st week 2007 and therefore also showing the wrong pictures. When I select 1st week 2006 or 2007 it is working correctly. The only difference I can see is that I have no pictures from 1st week 2008. Does this make sense?
Comment 28 caulier.gilles 2008-01-25 13:09:40 UTC
Klaus, 

Sound like fixed with my commit #766141 on svn. Please checkout and try again...

Gilles Caulier
 
Comment 29 Geoff King 2008-01-25 14:53:07 UTC
A minor wishlist for the timeline:
I had a hard time getting this to work initially until I read the blog describing the feature.  What had me confused was the large cursor and relatively small selection areas and the different functionality of each (ie. selection allows multiple and cursor is just one). In my view the selection boxes are most important.  Would it be possible to make the selection area more obvious and/or larger for those that don't read manuals?  My first inclination was to click on the cursor area to do the selection.

Overall thank you for the timeline, it is a great addition to digikam.

Geoff
Comment 30 caulier.gilles 2008-01-25 15:09:41 UTC
Geoff,

Current version from svn is more easy to understand :

http://digikam3rdparty.free.fr/Screenshots/timelineconcept3.png

Gilles Caulier
Comment 31 Klaus Weidenbach 2008-01-26 12:14:22 UTC
To Gilles, #28: Yes it seems to be fixed now. :) Thank you very much!
Comment 32 caulier.gilles 2008-01-26 16:05:09 UTC
SVN commit 766752 by cgilles:

backport commit #762163 from KDE3 branch. Now TiiimeeLn is backported to KDE4

Marcel: still pending task to port TimeLine DB query usin Search KIO-Slave to you new Search XML interface.
Methods to fix are: 

TimeLineView::createNewDateSearchAlbum()
TimeLineView::slotAlbumSelected()

BUG:146760
CCMAIL: marcel.wiesweg@gmx.de


 M  +16 -1     digikamview.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=766752
Comment 33 caulier.gilles 2008-01-26 16:10:46 UTC
To all,

This file is now closed. To report new wish about time line, there is a new digiKam/timeline bugzilla component. Please file a new report in this room.

KDE4 port is done as well and not yet suitable because Searches KIO slave is broken. Marcel need to port code to a new XML framework dedicaced to process searches on new digiKam database schema. Work in progress...

Gilles Caulier

Comment 34 Antonio E. 2008-01-30 00:51:01 UTC
Hi all, I've been testing this tool with no luck. At the earlier development, it worked for some time, but since the latest changes it stop working. I'm compiling from svn. The thing is that I open the left side bar, I can see perfectly the time line for my pictures, with the green bars and the number of pictures, then I click on a bar, it gets selected, but nothing else happens, the panel where the thumbnails should be displayed is empty, blank. At the past I could see there the corresponding images. I don't know what happened. Maybe a db problem? I've tried to run the application from the command line to see if any strange error is thrown, but no, it seems normal. Any ideas?
Comment 35 Antonio E. 2008-01-30 00:55:47 UTC
Uhmm, please, forget my last comment, I've just found what happened. It was my mistake. Looking at the picture that Gilles attached I found that I have to click at the bottom of the time axis to select the photos. At the past it worked with the full green bar. I didn't notice that change.

It's a great enhancement Gilles, congratulations.
Comment 36 Fabien 2008-02-27 18:02:55 UTC
Hi,
First test for me for the new timeline feature...
Cool :)
Some remarks:
* like some people here, I don't think the behavior of the big cursor vs small selection cursor is intuitive. It would be great, if possible to display a help text in the right panel when there's no selection...

* the number of items is alone at the right without any description. Maybe you can add "number of items: "

* I think it would be better to display the date in reverse order, eg :
2007 May 09, Wednesday

* when in week view, it would be great to also add dates (eg 18-24)

* finally, the most important point, it would be great to be able to use the keyboard (eg. right/left arrows to move the cursor, space for selection)

Anyway, great job !
Comment 37 Fabien 2008-03-04 14:06:40 UTC
Hi,
Should I open a new bug entry as this one has status "fixed" ?
Comment 38 caulier.gilles 2008-03-04 14:10:53 UTC
Yes Fabien, Please...

Gilles
Comment 39 Fabien 2008-03-04 16:45:57 UTC
Ok, new bug entry 158766 for my wishes...
http://bugs.kde.org/show_bug.cgi?id=158766