android
android copied to clipboard
Add Photos timeline
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
Looping in @tobiasKaminsky
see here, too: https://github.com/nextcloud/android/issues/6297

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?
Can close this one then ? thinking
No :-) Thisis then about sectioned header and the other about fast scroll. :+1:
This might help
@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)
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)
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?
I'd love to have the timeline(d) view BTW 🎉
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.
Sure thing 👍
Nice ! Looks like basic sections have been added. Still need to change section type (month/day) depending on zoom scale.
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
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
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 ?
Once we have this info we can use it, and fall back to modification time, if "date taken" from exif is not present.
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
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.