-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UX: Timeline View #152
Comments
I agree, this also sounds like what #154 wants. I support it 👍 |
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? |
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. |
Moments sound cool! 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. |
@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! |
As far as I know ownphotos has implemented timeline and place view separately, but not moments. |
@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 #154 (comment). 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. |
Use this flag to test new features before they are stable. Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Backend: Add API endpoint for photo count per month * URL: /api/v1/moments/time
Looks like you get this feature in our mobile app first! |
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. |
If not a timeline, it could be a scrollbar that shows month + year close to it when you scroll? |
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. |
That is great, thank you for all the efforts in the project! |
@lastzero |
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. |
@lastzero 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 |
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. |
See #152 (comment) Signed-off-by: Michael Mayer <michael@liquidbytes.net>
@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 :) |
See #152 (comment) Signed-off-by: Michael Mayer <michael@liquidbytes.net>
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. |
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) |
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. |
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. |
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. |
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. |
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. |
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. |
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. 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. |
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 |
PhotoPrism.-.Personal.-.Microsoft.Edge.2023-03-31.15-45-24.mp4Had some time to dev a little bit more |
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. /api/v1/photos/timelinedetails: Returning Year | Month | Day | List of pictures in that day. 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. 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. |
Other thoughts about this:
|
The timeline feature (grouping + fast scroll) is available in the unofficial PhotoPrism gallery for Android. ![]() |
Very cool! Hope there will be an iOS app like this. |
…mple way to implement the total count.
I was looking for an app to replace Google photos and remove my dependency on Google. 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) |
@db-wally007 give Gallery for PhotoPrism a try: |
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) |
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 ...) |
I think a timeline view or a timeline scrollbar, like in Google Photos or Synology Moment, would be a cool feature to have.
The text was updated successfully, but these errors were encountered: