mirror of
https://github.com/photoprism/photoprism.git
synced 2026-03-02 22:57:18 -05:00
UX: Timeline View #122
Labels
No labels
ai
android
api
auth
awesome
bug
bug
ci
cli
config
database
declined
deprecated
docker
docs 📚
documents
duplicate
easy
enhancement
enhancement
enhancement
epic
faces
feedback wanted
frontend
hacktoberfest
help wanted
idea
in-progress
incomplete
index
invalid
ios
labels
live
live
low-priority
macos
member-feature
metadata
mobile
nas
needs-analysis
no-coding-required
no-coding-required
observability
performance
places
please-test
plus-feature
priority
pro-feature
question
raspberry-pi
raw
released
released
released
research
resolved
security
sharing
tested
tests
third-party-issue
thumbnails
upgrade
upstream-issue
ux
vector
video
waiting
won't fix
won't fix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/photoprism#122
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ghost on GitHub (Dec 6, 2019).
Originally assigned to: @lastzero on GitHub.
I think a timeline view or a timeline scrollbar, like in Google Photos or Synology Moment, would be a cool feature to have.
@dennorske commented on GitHub (Dec 11, 2019):
I agree, this also sounds like what #154 wants. I support it 👍
@lastzero commented on GitHub (Dec 14, 2019):
I personally don't find the timeline scrollbar in Google Photos helpful in practice. We thought more about a punch card view and automatic clustering by date & location.
Can you post some screenshots of Synology Moment?
@0liu commented on GitHub (Dec 16, 2019):
I think Synology Moment tried to imtate Apple Photos moments function. Essentially it uses the combination of time and location to group photos into "moments", instead of time only as in a timeline.
@dennorske commented on GitHub (Dec 17, 2019):
Moments sound cool!
But considering the current self hosting market, there's not many services supporting a timeline feature. One of the main reasons is that I want it to easily scroll through pictures sorted by date. I have been looking for over 2 weeks and can't seem to find something useful except for maybe plex and the currently abandoned ownphotos project.
Else I would survive with a standard gallery/year/month folder structure, like many others.
I am more than happy to donate to this feature specifically, if it hasn't been considered added to the project. I do think it will cover a big gap in the projects out there.
@lastzero commented on GitHub (Dec 17, 2019):
@dennorske I guess it will take a few donations to really pay a developer to do this, but we listen to community feedback and have this on our list once the basics are done :)
If we do a "pro" version with additional features, our sponsors will certainly get a free license!
@0liu commented on GitHub (Dec 17, 2019):
As far as I know ownphotos has implemented timeline and place view separately, but not moments.
@dennorske commented on GitHub (Dec 28, 2019):
Could it be similar to what Nextcloud maps have? There's an app in the store called maps, and it allows you to save locations, as well as visualise GPS tagged photos. It scans through and shows up like this:

The nice thing is, when you zoom out, the pictures groups up. If they are taken in a small area, and you click the icon with a number under, it spreads out all the thumbnails around and you can have a glimpse at them:
Reason I am showing it, is because it looks very fluent and nice. Will this be similar to what is wanted above? There is also a time-period slider on the bottom where you can define from-to dates, and the map will show only the relevant pictures.
@lastzero commented on GitHub (Dec 29, 2019):
@dennorske Thank you very much for the screenshots! We spent the last couple of days (Merry Christmas!) preparing our database for efficient clustering (country/year/month) and location search using S2 cell IDs (more efficient than lat/long). See also https://github.com/photoprism/photoprism/issues/154#issuecomment-569500842.
Next, we need to provide our own location service to actually be able to index many photos in acceptable time. When this is done, we can finally focus on the UI, certainly room for improvement. One of our ideas is to show a path on the map where you've been and then you can travel along.
@lastzero commented on GitHub (Jan 23, 2020):
Looks like you get this feature in our mobile app first!
@leopoldsedev commented on GitHub (Jan 26, 2020):
Here's some more inspiration for the UI. It is taken from plex. I think it's nice how photos are separated by day and dynamically tiled based on the image size. The scrollbar on the right is overlayed by the years and the smaller ticks indicate a high density of photos there. Overall it's nice to scroll through memories like this.

@lastzero commented on GitHub (Jan 26, 2020):
Google Photos is similar, personally never found this very useful or pleasing to my eye TBH. Lots of space wasted when you only have one or two photos per day.
@dennorske commented on GitHub (Feb 2, 2020):
If not a timeline, it could be a scrollbar that shows month + year close to it when you scroll?
Some sort of seeking like that is very handy, at least if you're an ancient google photos user like me :)
It is extremely handy to do. But I would not say this is the most important feature, it is more a nice-to-have if #154 (2nd part of Comment) is implemented.
@lastzero commented on GitHub (Feb 2, 2020):
Maybe I can't properly use it because my mouse is too fast 😄
Let's focus on the essentials to get a stable release, there will be enough time to experiment afterwards.
Clustering by year, month and country is easy with our current database schema. We'll do sharing next as this has higher impact on our architecture. Worked a lot on events and validation recently for a smooth user experience.
@dennorske commented on GitHub (Feb 2, 2020):
That is great, thank you for all the efforts in the project!
I am excited to see the sharing come along, that is clearly something I am missing. Good luck
@mpodshivalin commented on GitHub (Jun 12, 2020):
@lastzero
I'm off-topic, but I've seen a lot of mentions of a possible Pro version. Are there any plans on how it will be licensed? E.g. a free-as-a-beer but proprietary license is not something I'd potentially want
@lastzero commented on GitHub (Jun 12, 2020):
Fact is, we want to be as free and open as possible and think this provides real value to our users, like when you look at how we develop together with our community.
On the other hand, we've been working full-time for about ~2,5 years now and there are still a lot of requests waiting to be implemented. GitHub sponsors doesn't even cover the monthly costs of our servers. So the idea is to release a special version with additional features for our sponsors, contributors and eventually paying customers. See "Funding" in our docs. Obviously you shouldn't be allowed to take this and sell it on your own. Suggestions welcome.
@mpodshivalin commented on GitHub (Jun 14, 2020):
@lastzero
Of course selling/getting funding for free software is a difficult issue.
I've checked the Funding page and the first thing I see is "This project is about freedom and privacy but not necessarily about free beer.". So, it has to be free software, or else there won't be much of a difference with other proprietary projects.
According to the funding page, there won't be Enterprise customers (as opposed to Nextcloud for example). So the project should be funded by regular users, which value privacy so they won't accept the proprietary solution. And by "Regular users" I mean not a super tech-savvy users (it's not a big market), but real regular people. And the most important thing for regular people is convenience.
Make the source code available for both versions with the same license, but do not distribute a "Pro" version for free. This is how e.g. OpenProject works - both versions are GPL'ed. So yes, it should be possible to obtain the source code for the "Pro" version without paying, but it shouldn't make sense because it won't be convenient. And the most important thing for regular people is convenience. So if a user obtained the source code for the "Pro" version - he must build everything from source, he won't have upgrades and will have a generally semi-working setup in a long term. For example - iOS user can't have this app even if he has a source code, unless he has an up-to-date Mac, general knowledge on how to install apps to and iPhone and he must have a developer account (which won't solve all of the problems). This is very inconvenient and it's better and easier to buy an app, even if it's GPL'ed. This is my opinion :) And it's just one example - servers can be more convenient, too.
And, actually, getting back to the topic, from my experience, regular people, when they say they need a "Cloud", mainly mean photos, and they certainly mean Timeline. This view is the default view in Apple+Google photos, and it is mainly used because people (including me) don't have much time to organize their photos, they don't want to add photos to albums unless it was an event, something significant, like a trip. And they don't want to filter photos by year, month, etc. they don't want to think. The Timeline interface, though seems simple, lets people look for their photos in a convenient way, with the ability to go to a specific date and grouping by date is letting them find events quickly without organizing anything
@lastzero commented on GitHub (Jun 15, 2020):
Shouldn't be difficult. I'm part of the free software community since the 90s and it was clear from early on, that free doesn't mean free beer. I see it as an additional feature that provides value to our users. Unlike back in the 90s, software as a service is very popular today, so the GPL only provides limited protection to us and other startups that invest a lot of time and money into their products.
It's not clear to me why the right to commercially distribute every line of code we release should be important to private end-users.
If there were more sponsors, we could release everything under a MIT or BSD style license. As a matter of fact, we only have very few sponsors and no other funding whatsoever. So we need to find a different solution unless you want us to stop working on this.
For now, you have the new Calendar view plus the year and month search filter in our main view. You can also sort by date (added, newest first, oldest first), relevance, similarity and file name. Plus we automatically create moments based on country and year for you. It feels like this is enough for a first release and of course we're using your feedback to continuously improve our product.
@lastzero commented on GitHub (Jun 15, 2020):
@mpodshivalin Pro doesn't mean you won't be able to get or modify the source code. Take a look at how GitLab handles dual-licensing, they also distribute the code.
Everyone can use our software under the terms of the AGPL from now on: https://twitter.com/browseyourlife/status/1272449177100918786
This is far from being proprietary. Those who need additional rights or advanced features like multi-user support MAY pay for it at some point in the future. We pay for development and take all the risk. Let us know if you get a better deal somewhere :)
@lastzero commented on GitHub (Jun 23, 2020):
I'll put this issue on my todo, let's see what we can come up with (besides what is already implemented to browse by year and month)!
Won't be able to start this or next week though, as we're busy with developing link sharing, testing and writing documentation for our release.
@tolicodes commented on GitHub (Aug 23, 2020):
Interested in this too! Would love to pair on it if you haven't started.
@lastzero commented on GitHub (Aug 24, 2020):
Currently getting everything stable for our release so not adding new features until that is done :)
@tolicodes commented on GitHub (Aug 24, 2020):
Cool! I’d be happy to pair on stability bugs. It would help me to get to know the code base and solve issues on my own. I’m on Hawaii time. A bug I’m facing is crashing when importing from an rclone Mount in GCP. If that’s on the list happy to help.
@spoorun commented on GitHub (Feb 7, 2021):
I'm completely, me and my friends and colleagues take sometimes dozens of pictures a day. The location's not as important as the timeline - psychologically, for I remember a day or weekend as a whole, and not necessarily the place or place names, and really appreciate the simplicity of Google Photos timelines.
For those of us who have loads of photos, scrolling by month and year is key, but fluidly without knowing the exact day or month, as we look through the thumbnails, we know when we're getting warm and then we find what we were looking for hopefully.
I also often have to find an image of a document or an event, but it may not have location data (or I can't remember where I took it).
@inthreedee commented on GitHub (Feb 14, 2021):
I also tend to find a vertical timeline slider (as shown in the plex screenshots above) more efficient than the current calendar implementation. Say you're browsing your photos and want to skip to a specific month and day. Consider the following two processes:
Timeline view:
Current calendar implementation:
The more photos you have in a given month, the more scrolling you have to do to get to a specific day. Very large libraries require a lot of scrolling.
If a timeline view gets added to the main library screen, I think it would also fit perfectly within the current calendar mode, allowing us to quickly jump to specific days from that mode as well.
@issuehunt-oss[bot] commented on GitHub (Feb 15, 2021):
@conrad82 has funded $20.00 to this issue.
@Birdheezy commented on GitHub (Mar 19, 2021):
I'm brand new to PhotoPrism but it's pretty great so far! I've been looking for a solution to have the default screen a lot like google photos. aka newest photos at the top. Most of the time when i go to my photo app/site i'm looking for something recent. as of right now, the default view is someone puzzling. It looks like when some photos got imported their date stamps got changed to to some time in February (it's middle of march now).
Anyway, one more plug for a timeline style default view!
@JulianEggers commented on GitHub (Apr 2, 2021):
Any updates on this issue?
I'd love to see a Google photos like timeline feature.
@graciousgrey commented on GitHub (Apr 3, 2021):
@JulianEggers We have still have some other big tasks with higher priority. See: https://github.com/photoprism/photoprism/projects/5
@StephenBrown2 commented on GitHub (Apr 5, 2021):
Unfortunately empty for me:

@benmccann commented on GitHub (Apr 5, 2021):
Works for me. Maybe try in a new browser or incognito window
@alexislefebvre commented on GitHub (Apr 5, 2021):
I have blank page too but reloading the page fixes the issue (Firefox 87.0 on Windows).
@lastzero commented on GitHub (Apr 13, 2021):
Roadmap works for me, maybe JS was disabled or GitHub has temporary issues:
@StephenBrown2 commented on GitHub (Apr 13, 2021):
Yeah, loads for me now, was probably a temporary GitHub issue.
@issuehunt-oss[bot] commented on GitHub (Apr 15, 2021):
An anonymous user has funded $15.00 to this issue.
@issuehunt-oss[bot] commented on GitHub (May 15, 2021):
@frp has funded $20.00 to this issue.
@issuehunt-oss[bot] commented on GitHub (Jun 3, 2021):
@neonsoftware has funded $20.00 to this issue.
@neonsoftware commented on GitHub (Jun 3, 2021):
Hi !
Nice that this is on the Roadmap, have just happily donated.
(sorry but I am too short on time in this moment to contribute code, and also maybe too front-end for me)
Sharing a feedback: I have been talking to three relatives of mine about moving them from Google App (used 100% from their Android) into using a solution self-hosted by me and received the same answer when showing them the demo: they started scrolling, and said "ah... but this is not like on Photos, I cannot reach them". So it seems like it is a no from them, until a timeline.
I have looked at them them using Google Photos and it seemed to me that long-time / heavy users (at least them), only use the timeline (no folder, no dates, just visually scroll very precisely).
In order to describe this "precisely", they think about a situation, or photo, scroll and actually manage to stop/find it, in seconds.
For example they think that such trip should be 2-3 years back, they do a first big direct scrolling movement from the top-right corner of the screen down to center-right. So now they are around the good year, then they do, with the thumb still on, a couple of slower (ex, winter-white-snow to summer-sun-green-trees) and slower adjustment movement, and they get the picture. Few seconds, end never left the thumb from the screen.
Apparently after this experience it is a GO/NO-GO for them to move to any other software. Any other had such response from family-conversion ?
(+ I had been asked also for Watzapp share, but it seems that there is already a task https://github.com/photoprism/photoprism/issues/658)
Great project, solid software. Have a good day everyone 👍🏼
@darrepac commented on GitHub (Jun 4, 2021):
Not from familly bu myself! this is exactly how I use google photo (and others) and heavily looking to self hosted solution with at least a working infinite scroll timeline view
@benmccann commented on GitHub (Jun 4, 2021):
Here's an article from Google's design team on Medium describing how the timeline view was implemented: https://medium.com/google-design/google-photos-45b714dfbed1
@lastzero commented on GitHub (Jun 4, 2021):
No worries, we'll get to this and will come up with a great solution! It's not a technical issue, just a lack of Google-like funding. Our focus right now is face recognition, see roadmap. There's a couple of other high priority issues as well.
@0liu commented on GitHub (Jun 4, 2021):
For me, timeline view (or moments view in Apple photos, which is combination of time and location, I prefer) is more needed than face recognition.
@lastzero commented on GitHub (Jun 4, 2021):
That's a great reason to sponsor this issue if you haven't singed up on Patreon or GitHub Sponsors yet. Facial Recognition has much more votes and sponsors:
@issuehunt-oss[bot] commented on GitHub (Jun 24, 2021):
@jimboolio has funded $75.00 to this issue.
@jimboolio commented on GitHub (Jun 24, 2021):
To my understanding this may fix the slow scrolling issue mentioned in issue #1035. I am running photoprism on 10 core server with 60gb ram and storage is from high performance san over smb (on linux) and the scrolling is painfully slow even on local network. I have 200 000 photos on my photoprism instance which I moved from Goolge photos and I miss the ability to quicly scroll all of my photos at once as I used to do there.
I tried Nextcloud too, but it is just unusably slow/crashes with my library. Photoprism can handle my photos without crashing (great job photoprism devs!!!), I just cannot view/scroll them very quicly because after scrolling too far on the grid view, my client device heats up and slows down. I see the potential in this project and if the ux was a bit faster on my probably quite unique and heavy use case this could soon become my main photo management software. Even if the timeline feture cannot solve my weird use case I would be happy to see the timeline feature.
@lastzero commented on GitHub (Jun 30, 2021):
Yep, we'll get to this. The current photo search wasn't designed to scroll through your entire library - instead it may show higher resolution thumbs and more metadata than Google Photos, which only provides very limited metadata with search results, basically just the preview. So there's pros and cons. Working hard to grow our team so that we get more done in less time.
@lastzero commented on GitHub (Jul 24, 2021):
We are working on facial recognition right now, and also need a short break after working nonstop for more than 3 years. This has nothing to do with backend coder thinking.
@neonsoftware commented on GitHub (Jul 28, 2021):
@lastzero thanks for updating on current items on the table. Have an outstanding holiday 👍🏼
@issuehunt-oss[bot] commented on GitHub (Sep 16, 2021):
@mastert has funded $5.00 to this issue.
@issuehunt-oss[bot] commented on GitHub (Sep 26, 2021):
An anonymous user has funded $15.00 to this issue.
@issuehunt-oss[bot] commented on GitHub (Sep 29, 2021):
An anonymous user has funded $50.00 to this issue.
@issuehunt-oss[bot] commented on GitHub (Oct 10, 2021):
@mr-brune has funded $2.00 to this issue.
@IssueHuntBot commented on GitHub (Dec 22, 2021):
An anonymous user has funded $30.00 to this issue.
@IssueHuntBot commented on GitHub (Dec 23, 2021):
An anonymous user has cancelled funding for this issue. (Cancelled amount: $30.00) See it on IssueHunt
@IssueHuntBot commented on GitHub (Dec 23, 2021):
An anonymous user has funded $10.00 to this issue.
@IssueHuntBot commented on GitHub (Dec 23, 2021):
An anonymous user has cancelled funding for this issue. (Cancelled amount: $10.00) See it on IssueHunt
@lastzero commented on GitHub (Dec 23, 2021):
Please don't add funds to IssueHunt anymore! 🎁
While we like IssueHunt and are grateful for the donations we've received so far, it hasn't proven to be a sustainable funding option for us as we spend much of our time maintaining existing features and providing support.
If we don't have enough resources to provide support and bugfixes, we can't start working on new features.
@lastzero commented on GitHub (Dec 23, 2021):
See https://docs.photoprism.app/funding/ for sponsorship options 🎄🎅
@tolicodes commented on GitHub (Dec 23, 2021):
Actually....I would be open doing some work on this in the near future (need it for a project). Maybe if someone on the team is wiling to pair with me to get started.
@lastzero commented on GitHub (Dec 23, 2021):
We already know how to implement it, but must focus on multi user 100% in January and also should look into upgrading Vuetify first. Help with providing support and answering questions is much appreciated.
@tolicodes commented on GitHub (Dec 23, 2021):
What I can do is implement it as a react component in Storybook. The thing
I would need help with is wiring it in.
On Thu, Dec 23, 2021 at 4:21 PM Michael Mayer @.***>
wrote:
@lastzero commented on GitHub (Dec 24, 2021):
We need a proper API for it first, which is what native app developers are waiting for as well. It's not complicated, we just have to limit context switching, as our current donations don't fund a large team where everyone can focus on something else.
@laterwet commented on GitHub (Jan 17, 2022):
Currently, photoprism is using vuetify 1.5 (released 3 years ago). Looking at their roadmap, I see they added virtual-scroller component in version 2.3.
Using this component would solve multiple of the listed issues, such as:
Someone already upgraded in this PR: https://github.com/photoprism/photoprism/pull/886
@lastzero commented on GitHub (Jan 17, 2022):
I wish we had a team of TypeScript developers, but no. Anyway, we will focus on the missing timeline server API first... the JS part is no magic, it just needs to be done... we develop from the bottom up, meaning before we implement a UI, we work on the API.
@lastzero commented on GitHub (Jan 17, 2022):
Take a look at our public roadmap, this is (by far) not the only issue on our ToDo list. Otherwise, it would have been done long ago. We can't work on everything at the same time, especially not with our current resources.
@graciousgrey commented on GitHub (Jun 29, 2022):
No timeline view yet, but the latest release comes with a much faster scrolling experience 🎉
@melyux commented on GitHub (Sep 28, 2022):
I'm not familiar with the Google Photos or Synology timeline views, but Plex and especially iOS/Mac Photos' "Days" views are a good model to use, the most important root concept for the whole thing being: the ability to see ALL photos while logically clustering them by date and place.
Is that what we mean by timeline view? I hope so.
*Apple detects visually similar images and hides the near-duplicates, and dynamically shows photos as squares/landscape/portrait based on content, but that's just a bonus.
I think the older pre-iOS 13 timeline view is a better model than the new equivalent "Days": it was simpler and provided actual empty space for visual separation, which is paramount. Old on left vs New on right:
@inthreedee commented on GitHub (Nov 15, 2022):
I actually consider this a very important feature of a new timeline view mode to be honest. The current view normalizes all content into uniform squares, but almost none of our photos or videos are actually squares. Nearly all of our photos, panoramas, and videos end up getting cropped. As a result, this view feels disconnected from the reality of our content and doesn't make for the best browsing experience. It feels more like it was designed with an editing workflow in mind as opposed to a viewing workflow. The current cropping effect leaves no way to scroll through a "showcase" of our photos.
This is fine; it's good to have a view designed for an efficient editing and organizing workflow. But I think it makes sense for this timeline mode to be optimized for a viewing workflow where each photo/video is presented as a tile with as little cropping of the content as possible so we can see the full image as we scroll.
@lastzero Do you think this discussion belongs here or should I open a separate issue for it?
@graciousgrey commented on GitHub (Nov 16, 2022):
@inthreedee This is something we want to do --> https://github.com/photoprism/photoprism/issues/85
@inthreedee commented on GitHub (Nov 21, 2022):
I found it interesting the way Apple handles scrolling through a timeline of photos on their iCloud website vs Google and thought I'd note it here for comparison.
Google has an actual timeline bar on the right that you can hover over to select the date range you're looking for.
iCloud, on the other hand, does not have this. Instead, it looks like iCloud loads a full history of all of your photos with blank placeholder boxes. To visualize this, imagine if your photos were all organized in a grid on one massive PDF file. When you open the PDF, you have the full document available for scrolling. To navigate, you grab the scroll bar and move it up or down (obvious). This is how the iCloud website works too, except the photos load in as you scroll. At the top is a date that is always visible, organized by month and year. This updates as you scroll so you always know where you are, and the photos load in to replace the placeholder boxes whenever you pause your scrolling.
Just to be clear, the scrollbar does not need to update; every date range is already pre-loaded into the page. So, if you know your first photo is in, for example, the year 2,000 and you're looking for a photo in the year 2010, you drag the scrollbar roughly halfway up the page then fine-tune by looking at the date.
@GlassedSilver commented on GitHub (Nov 22, 2022):
I do agree that Apple's approach is better. Something I'd appreciate beyond that is a quick date search in the form of a date picker maybe. (I know we have month and year selection, but I'm thinking about a dedicated single button to quickly select a date by picking one from a calendar view and additionally by punching in the numbers on the keyboard.
Also, it'd be amazing if this SCROLLED you to that date instead of filtering like the filter option we already have, so the context of the surrounding days isn't hidden.
@lastzero commented on GitHub (Nov 22, 2022):
Has anyone tested how well Apple's approach works for libraries with 1 to 4 TB of pictures? From what I've heard so far, it scales poorly and/or consumes huge amounts of RAM. Also, do you mean the mobile or desktop Photos app? What works well on mobile may not be best for desktop browsers and vice versa.
@inthreedee commented on GitHub (Nov 22, 2022):
No, this was the iCloud website.
I have a little over 100GB of photos in there, so I don't know about terabytes. Their highest storage plan is 2TB so it's not possible to go beyond that.
I don't know if this is relevant, but they just released a new version of the iCloud website. I've never made heavy use of their photos app online before but, when I saw the banner about a new, faster site, I thought I'd click around and check it out again. The initial photos page loads in about 3 seconds for me. I'd say that, while scrolling, the photos load in about as fast or a tiny bit faster than google photos does for me while scrolling. From what I remember, this is an improvement over the old version.
As far as RAM usage, I didn't notice any huge change. Maybe 200-300MB? But, honestly, modern computers have so much RAM that who cares if something uses a lot of it. Please, use my RAM* and give me the performance I want from the thing I'm using at the moment. That's why I have RAM. Empty RAM is wasted RAM.
(edit: *within reason. Obviously we still need enough free RAM for multitasking with other apps)
@lastzero commented on GitHub (Nov 22, 2022):
I was asking because I saw Apple users complaining on Twitter that adding lots of new files used more than 200 GB of RAM, so they had to close it and restart. That of course was for the Photos desktop app. Also, I'm not sure of scrolling is the best way to navigate through very large libraries or if it's rather a use case specific to private users with small to medium sized libraries where they took all the pictures on their own, so they also know what pictures exist and when they were taken. There are many uses cases in practice, where this is not given.
@inthreedee commented on GitHub (Nov 22, 2022):
Sounds bogus to me. I just checked the apple store and iMacs can only be configured with a max of 16GB RAM. Over 200 is... a lot of RAM. Either way, I don't see any RAM issues using the website but I don't have a Mac so I can't check the desktop app. And I don't think the behavior of their desktop app is really relevant to us anyway, right?
What other ideas are on the table?
Sometimes I just want to browse my memories from a certain trip and want to scroll through them. I'll have a rough idea of what timeframe I want to jump to, but maybe not specifically. It could be as general as just "sometime three years ago" and the act of scrolling helps me remember and refine where I'm looking. Sometimes I scroll slowly, sometimes I scroll quickly to jump past a particular timeframe before slowing back down again.
When I'm doing this, I'm usually not looking for anything in particular once I've jumped to the general timeframe where I want to start browsing. This is what I meant a few posts up when I was referring to a kind of "showcase" behavior. But I will also use the same procedure when I am looking for a particular photo but only have a general idea of the timeframe it was taken.
@inthreedee commented on GitHub (Nov 22, 2022):
Just to elaborate further on this. Let's say I'm browsing my photos from a trip a few years ago and I want to look for a particular moment. I remember that it was fall, so I scroll to roughly that date range. Then I remember that the leaves had more color on them than what I see here, so I scroll later into fall until the colors on the trees match what I remember.
Based on my example of leaf colors, I'd argue that this kind of scrolling behavior is even more valuable for larger libraries or ones where you only have some vague visual reference points to go searching for (ie, if they're not your own photos). The act of scrolling is a visual refinement filter.
@lastzero commented on GitHub (Nov 22, 2022):
Thank you so much for your feedback! We'll look into it once we're done with the features that are currently in development.
It always depends on where the software is running. Keep in mind that Apple's backend servers are extremely powerful compared to a Raspberry Pi or typical desktop PCs. It also depends on whether it's a desktop or web application. That's why I was asking.
@inthreedee commented on GitHub (Nov 22, 2022):
Ah, makes perfect sense.
Don't mind me if I keep the discussion going in here whenever I have further ideas or things to compare against. I feel like it's probably a good idea to have a range of options from various other photo tools for when the time comes to actually look into implementing this.
@GlassedSilver commented on GitHub (Nov 23, 2022):
I can relate to this A LOT.
Scrolling is not ALWAYS the best discovery method, but no method will ever the best in every situation, that's why as many should be supported as possible.
@spoorun commented on GitHub (Nov 30, 2022):
From my experience (dealing with hundreds of thousands of photos, usually untagged, but even when well catalogued) scrolling is the most intuitive way, as per examples others have given, people use many methods to remember and search, including visual, visual memory, colours, rough dates, and objects catching their eye.
Real example, I remember being with a friend in Cornwall and seeing some tall boats. I've no idea what year even.
On Google Photos, I can search for boats, and scroll through. Then I find a picture of a boat in Cornwall.
Then I go to that date in the timeline and scroll around that date to find photos with those friends.
Without scrolling, there's no feasible way I could find that.
Also as I'm looking, the thumbnail photos trigger and surface memories of what I want to find (and other things).
For many of us, just scrolling through a particular period, without even opening specific photos necessarily, is a key way of utilising those photos - surfacing memories and remembering periods of time/events.
@lelemm commented on GitHub (Mar 6, 2023):
Hi everyone. I'm prototyping this feature.
Right now the biggest problem with the prototype is that it is getting too heavy for the browser to load all years/months/pics divs (even without the pictures). I have 40k pictures in my collection, its not holding up. I will have to create some on-the-fly loading when selecting a position in the timeline.
The timeline is using a heatmap to show where there are more pics. For fun atm.
Right now I'm trying to load the content on demand based where the user selected in the timeline and maintaining the scroll position after that.
@arthuragone commented on GitHub (Mar 17, 2023):
I do also find this feature very useful. i have 20k+ pictures over a 15 years span. And as it is possible to "infinite" scroll on the search tab I agree with people on this.
I do understand it might be ressource heavy.
Nexcloud memorie do have this as their basic explorer. maybe it for having a look
@lelemm commented on GitHub (Mar 31, 2023):
https://user-images.githubusercontent.com/15043428/229204438-5a999296-1a3e-4bff-a3ae-727989c09341.mp4
Had some time to dev a little bit more
There are a lot of glitches yet, sometimes it get lost and try to load images to shouldn't :D .
@lelemm commented on GitHub (Mar 31, 2023):
Some bumps in the path to make this work:
I had to create two new api endpoints:
/api/v1/photos/timelines: Returning Year | Month | Count of pictures.
This data is used to build the "scrollbar". I'm using the count just to build a heatmap (that is not working btw lol).
/api/v1/photos/timelinedetails: Returning Year | Month | Day | List of pictures in that day.
At first I was returning the hash of each picture then I was trying to calculate when call the api to load the rest of the image data.
The part of calculating when to load the rest of image data was taking too much effort, and I was not able to focus on the interactions in the frontend, so, instead of returning just the hash, right now it's returning the entire photo object (not ideal ofc).
Right now you can't hold mouse down to keep moving the timeline, you have to click and release. That's not the behavior that I'm looking for. For a smooth ux should be nice to be able to hold/slide.
I'm using debounce hoping it would fix this issue, but I guess I need to improve the logic of removing and adding new images based on the position of the scrollbar.
Btw, I was not able to reuse the infinite scroll component that the other pages are using. So I'm creating a new one for the timeline page. So, all the event expected to work out of the box will have to be implemented (like window resize).
I did not tried none of this with a touchscreen yet.
There are a lot of stuff to make this happen.
At some point I will have something that I will accept as a solution for myself, but the effort to make this happen is far too big to have something to be released to the product.
@lelemm commented on GitHub (Mar 31, 2023):
Other thoughts about this:
For my personal preference, would be nice to get rid of the normalized photo sizes. Would be nice to have each photo with its own proportions.
Right now I'm using the thumb that returns the square normalized, but the way I'm building the logic, it should work with proportion.
The only drawback of using any proportions is that we don't know the image size before hand, the only moment that the image size is used ATM is when the page is calculating how big should be the viewport for the endless scroll. This could make the viewport have more or less images in each case
At some point I will have to implement the search in this page. ATM it bring all pictures in the database.
I was analyzing the google photos page and noticed that it uses indexed-db heavily. Thinking about using it and how complex would make things to control, like cache.
@Radiokot commented on GitHub (Jul 7, 2023):
The timeline feature (grouping + fast scroll) is available in the unofficial PhotoPrism gallery for Android.
The scrolling has limitations, like you can't scroll to exact day and all the months are added to it regardless if there are photos or not. But I think it is much better than nothing.
@0liu commented on GitHub (Jul 7, 2023):
Very cool! Hope there will be an iOS app like this.
@db-wally007 commented on GitHub (Apr 12, 2024):
I was looking for an app to replace Google photos and remove my dependency on Google.
We dont create albums or categorize our photos, we use zoom view with timeline and this is number 1 feature I look for in the alternative.
Unfortunately, this is not in PhotoPrism so we can not use it at the moment. Looking forward to the feature if it gets implemented similar way like in Google Photos or Apple Photos (zoom like timeline in Apple photos is amazing feature for those that do not take time to curate their pictures library)
@Radiokot commented on GitHub (Apr 12, 2024):
@db-wally007 give Gallery for PhotoPrism a try:
https://github.com/photoprism/photoprism/issues/152#issuecomment-1625065408
@GlassedSilver commented on GitHub (Apr 12, 2024):
That's just a third-party option and only available on Android.
Sadly not really an option if you use Photoprism on other platforms and prefer first-party support and integration of features.
Additionally, there's no pinch to zoom in and out for quick scope changing from year to month to moment scopes in and out.
This may sound like miniscule differences on paper but massively impacts how people browse their libraries.
That being said it IS a very helpful app that I once installed simply because it also gives you a way to media pick in any Android app photos from Photoprism without downloading them first. (it is a media picker provider, which PWAs no matter how good they are cannot provide afaik)
@db-wally007 commented on GitHub (Apr 13, 2024):
Thanks for the response but we use mostly iOS and and web. I"ve tested the demo site before testing it on my own hardware and its not really comparable to true zoom to view timeline feature found in Google Photos/iOS photos or even NextCloud.
Personally I dont really care much about search, face recognition etc. in photos app - I just want to view my archive on the timeline and able to share properly via link/email/shared album. (everybody has different requirements obviously - but with zooming timeline view I dont have to spend any time on curation/maintenance of my pictures (either albums, folders, events etc ...)
@f18m commented on GitHub (Apr 9, 2025):
Just mentioning that indeed having a timeline similar to Google Photos would help a lot in Photoprism.
I have photos from 1969 to now, so spanning 56 years. If I go to Photoprism "Calendar" web view, I see an infinite list of albums that is hard to navigate quickly...
So +1 for this feature 👍
@SF73 commented on GitHub (Jul 22, 2025):
Hi,
First of all, I really like photoprism. For this reason I'd like to try to contribute a bit.
I started digging into the code last night.
Disclaimer, I have no experience with Go and I'm not familiar with Vue (but I've played a bit with React, Astro and Jinja)
With that said, I wanted to kind of replicate Google photos' sidebar : spacing determined by "density" of pictures.
The idea would be : on event, we convert the position along the sidebard (it's a slider) to an offset, and fetch N photos using v1/photos endpoint.
I haven't figured out everything yet. If you have suggestions / feedback especially if you have experience with the codebase I would really appreciate.
@graciousgrey commented on GitHub (Jul 24, 2025):
@SF73 Thank you very much! We appreciate you looking into this.
I expect it will require quite a bit of work to provide a good user experience and acceptable performance. My recommendation is to first investigate existing solutions to understand what's involved. While we currently need to focus on other issues, we will be happy to help with the API endpoints later on.
Last year, @capraynor started working on this, so you might want to check his results.
@Radiokot commented on GitHub (Jul 25, 2025):
@SF73 I'd like to give you some suggestions based on my experience while implementing this feature in Gallery for PhotoPrism:
takenAtLocaland the grouping must not do any timezone conversions. If a photo was taken on June 30th at 23:00 in Montenegro, then it belongs to "June" and must never jump to "July" no matter the current client timezone;@lelemm commented on GitHub (Jul 25, 2025):
@SF73 I tried this years ago. I don't have the code to share anymore, but its not a easy feature to do.
You will probably need to use indexeddb to be more performant when moving around.
I hope you can deal with this, this is probably the feature I'm waiting to migrate once and for all from Google Photos