android icon indicating copy to clipboard operation
android copied to clipboard

Add Photos timeline

Open axellebot opened this issue 5 years ago • 16 comments

Is your feature request related to a problem? Please describe.

The Photos section can look way more friendly to let user quickly find a Photo based on date just by scrolling the gallery (month, date).

Describe the solution you'd like

Implementing a timeline for Photos section (as Google Photo)

Features :

  • [ ] Section for each month/date (depending on the 3 scales)
  • [x] Sidebar and Scrollbar with each section date (#6297)

Additional context

axellebot avatar Nov 23 '20 08:11 axellebot

Looping in @tobiasKaminsky

axellebot avatar Nov 23 '20 08:11 axellebot

see here, too: https://github.com/nextcloud/android/issues/6297

jakobroehrl avatar Nov 23 '20 08:11 jakobroehrl

image

We have sort of header already in activities stream.

@skjnldsv @jancborchardt what do you think? This would also be great on server photo app, or?

tobiasKaminsky avatar Nov 23 '20 09:11 tobiasKaminsky

Can close this one then ? thinking

No :-) Thisis then about sectioned header and the other about fast scroll. :+1:

tobiasKaminsky avatar Nov 23 '20 09:11 tobiasKaminsky

This might help

axellebot avatar Nov 23 '20 09:11 axellebot

@tobiasKaminsky @axellebot please keep in mind that the media screen loads the photos/video-thumbs from the server ordered by date in a block-like way, so it only loads the first 45 and then fetches the next block upon scrolling.

So:

  • implementing a fast scroll only makes sense if one would know there are many images and them being loaded as items into the recycler/adapter
  • a timeline view is possible but might look unnecessary for e.g. the first 3 batches in case they all have the exact same date (but this might just be a small issue)

AndyScherzinger avatar Nov 23 '20 11:11 AndyScherzinger

implementing a fast scroll only makes sense if one would know there are many images and them being loaded as items into the recycler/adapter

I was thinking about it, that's why for me I will not refer to this in here anymore.

a timeline view is possible but might look unnecessary for e.g. the first 3 batches in case they all have the exact same date (but this might just be a small issue)

In my opinion if I only have 3 image at the same date, I will not be mad because I'm seing a section header, but anyway it seems to be a small UI issue.

The section header can also be sync with the 3 scale from the grid view (pinch in/out). For example :

  • 1st scale : month date
  • 2nd scale : month date
  • 3rd scale : day date

FYI :

  • The timeline is on its way on server side Photos App : github.com/nextcloud/photos/pull/468
  • I also opened a discussion on the forum about the future of Photos section (https://help.nextcloud.com/t/the-evolution-of-photos-section/99072)

axellebot avatar Nov 23 '20 14:11 axellebot

Nice work on the server-side webUI, does it provide a nice(r) API to access such infos since this is probably a discussion with @tobiasKaminsky since the media (renamed from photos) is simply using a search query for "photos n videos" with a 45 elements block size when reading the files doesn't provide much help for such a timeline scenario or would you simply implement this based on the 45 images per request on scrolling down logic?

AndyScherzinger avatar Nov 23 '20 16:11 AndyScherzinger

I'd love to have the timeline(d) view BTW 🎉

AndyScherzinger avatar Nov 23 '20 16:11 AndyScherzinger

Timeline with sectioned header can be adjusted while loading more images. As it is always from new -> old, it should work nicely. Same for the fast scroll.

Of course if you have 200 from today, and load only 150, then this does not help. But if you have only 2-10 images per day, you will have after 4x loading (each 60 images I think) = 240 images, which then might be the last 30 days.

tobiasKaminsky avatar Nov 24 '20 10:11 tobiasKaminsky

Sure thing 👍

AndyScherzinger avatar Nov 24 '20 12:11 AndyScherzinger

Nice ! Looks like basic sections have been added. Still need to change section type (month/day) depending on zoom scale.

axellebot avatar Aug 26 '22 15:08 axellebot

What date is being used to generate the timeline? I have a picture that was scanned from paper and hence I don't know the date it was taken. I had taken an approach of tagging my "unknown" pictures in digikam with a creation time in the year 1902 thinking they would get pushed to the bottom of the timeline, however I changed/modified the picture (tagged a face through digikam) a few days back and now the picture is showing up in the current month on my android phone. Is the modification date being used for the timeline? Any way to cause it to use the creation dates shown below as exported from exiftool?

File Modification Date/Time : 2022:08:13 21:14:06-04:00 File Access Date/Time : 2022:08:27 20:01:08-04:00 File Inode Change Date/Time : 2022:08:27 20:01:09-04:00 Date/Time Modified : 1902:01:01 01:01:01 Create Date : 1902:01:01 01:01:01 Metadata Date : 1902:01:01 01:01:01 Date UTC : 2014:06:27 21:09:33 Modification Date : 2014:06:27 21:09:33

rhatguy avatar Sep 01 '22 16:09 rhatguy

https://github.com/nextcloud/android/blob/master/app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt#L204

  • we are first grouping it by month of modification date
  • then we sort it within those groups also by modification date, descending (newest first) https://github.com/nextcloud/android/blob/master/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java#L268

tobiasKaminsky avatar Sep 02 '22 07:09 tobiasKaminsky

I hope timeline will be able to sort photos mainly by "date taken" date from metadata in anytime soon. It needs new server API feature to do so, right ?

axellebot avatar Sep 02 '22 07:09 axellebot

Once we have this info we can use it, and fall back to modification time, if "date taken" from exif is not present.

tobiasKaminsky avatar Sep 02 '22 14:09 tobiasKaminsky

will it be indexed? Currently it only shows the timeline of 2 Month for me, while there are images from 2000 onwards. If i scroll down it gets added but not persitent

Krautmaster avatar Oct 14 '22 22:10 Krautmaster

There is a separate issue https://github.com/nextcloud/android/issues/10425 regarding sorting by "date taken".

A corresponding issue https://github.com/nextcloud/photos/issues/87 in Nextcloud Photos got closed via PR https://github.com/nextcloud/photos/pull/2125 recently. This is part of https://github.com/nextcloud/server/issues/40676 which makes metadata available via API for android as well.

PhilippSchlesinger avatar Dec 08 '23 08:12 PhilippSchlesinger