-
Notifications
You must be signed in to change notification settings - Fork 44
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
Suggestions (improvements and bugs) #516
Comments
Hello! Thanks for the feedback! I mainly just do the designing parts for Oculante but there's a few things I would like to respond to here in your list! In-case that you have any other questions related to the UI / UX please let me know! I've already completed redesigns and they are currently in the process of being implemented so some issues which I'm seeing at a glance like the filters being too small will be fixed down the line! Improvements
This is an idea I had at some point and forgot to open a request for it, I think this would be great! I'm not so sure about the double click part as that seems very unusual to me, instead a keybind seems better, perhaps Shift + V?
I think this could be nice, can you give an example of another program which has this? I'm not sure I've seen this before as it's typically 1 for 1x zoom 2 for 2x, etc?
I'm pretty sure this has been fixed on master? There's a branch with a bunch of changes including changes to the zoom window that's currently in progress, I'll make sure this shows the edge correctly before it's merged.
This might be slightly problematic as I plan to have shift / control + left click work as shortcuts for functions like angle locks and snap to grid with the upcoming measuring tools. I don't think I've seen this in other image viewers either, would a zoom percentage with manual input on the status bar work for you?
These work in a way to be centred at the moment by default, this is an easy change at the moment but these windows are about to change in a way which hasn't been decided yet due to egui layering limitations and some rendering changes which are coming up.
This will also be redesigned eventually, including rewording what the action does to make it more clear to the user.
I have plans for side scrolling with this key by default so maybe something else would work better? This could be a good use for function keys?
I think just typical keys like Ctrl + Z / Y would work better here than complicating the next / previous image buttons. Also to note that Oculante is not photoshop, it has editing tools yes, but it's primary goal with those is quick edits.
Cropping will be completely redesigned!
I definitely can see this being useful! To add to this, there's some formats like .kra or .psd which might as well receive layer support at this point which was something I brought up a little while ago, nothing was really said about it, but it's something I would like as well! @woelper Pinging you here for your input on this?
This is due to a type limitation if I recall correctly. Upcoming designs have already been made around this and I'm not sure there's anything to be done about this or even if it's wanted.
I'm not sure about changing this directory as it still would require leaving data at the original location, but everything will be put into
Already implemented, the problem is it doesn't appear on the keybind. This was an issue which I brought up with woelper initially and I believe the consensus was it will come eventually?
Fear not! Through the power of random shit people do online, I've already brought this up and it's a possibility! For some reason there's a select group of people who like to rename .mp4 files to .gif, they seem to be uncommon but common enough to a point to consider implementation in my opinion. I've brought up some things for editing as well like having the implementation use a ffmpeg wrapper or something similar for lossless trimming. The problem is of course a native rust library with support for most if not all of the major formats. Bugs
Reported at #420
I can only reproduce this with pasting, copying doesn't have this issue.
The editing page will be redesigned, same applies to filters. |
Thanks for your reply! I think there are a few misconceptions which this reply should clear up, everything else I did not reply to seems to be solved/going in the right direction. And something rather unrelated since I'm rather new to Github: Do you know how to make Github give me some notification whenever someone (like you) replies to an issue or similar? Currently I just open up the issue again (if I manage to find it again) and check whether a new message is there.
The double click is part of the default Windows (11 only?) image viewer but yeah it's a bit confusing. Shift + V is a good shortcut for that
I meant that the center point of zoom in is in the center of the image rather than where the cursor is (similar to the Shift + V idea), no changes to the 1 -> 1x, 2 -> 2x zoom amount
A shortcut to hold down would work just as well, maybe holding down Y (as a default) can do this? Manual input would make this quite slow and even though it will be helpful it won't be helpful for this exact case
Yeah probably, I'm not too sure about what is a good way to implement this, just the functionality would be appreciated
Ctrl + Z / Y are usually exactly what back/forward buttons are so implementing one would solve the other (by changing the default shortcuts or adding multiple to the same action). I believe that this is really important for quick edits
It's not that big of a deal but one day this can be a really painful limitation if the tool expands in the editing direction
I mean being able to change the location of
Okay great!
I see, great to hear that it's a possibilty!
Yes copying does not have the issue, I rather meant copying the image and then pasting it which is one action containing of 2 actions to reproduce it quickly, my bad
UI/UX improvementsSince you've asked here are a few things I think could also be improved
Is there anything else I can help with? |
Those options would be in your account notification settings.
Apologies, I should have phrased that better. I meant that I've seen these be applied towards the image dimensions and frame, not towards the cursor? Is there another program which has this behaviour?
How about alt or middle mouse?
This would still require leaving a file or something in the default location to point to the new one, not sure if that's desired? UI/UX improvements
Multiple keybinds are planned! This area has also been redesigned. A search bar can definitely be added as well! A preview of these designs can be seen here:
That's a new one! This might be possible? It mainly depends on if it's possible in egui.
Already planned! This will come around the time that sorting filters are implemented! |
Thanks for this. Turns out I'm already getting email notifications but those are not shown inside of the github website, very weird.
I think we talk about two different things: The + and - shortcuts are zooming in from the center of the image (I think this is what you mean) but the mouse wheel scroll scrolls in where the cursor is and this cursor zoom also happens when pressing the buttons 1 to 5. This is what I meant, I want an option to have the same center of the image zoom of the + and - shortcuts for the 1 to 5 buttons instead of the cursor zoom.
I avoided alt because it seems to be a button a lot of people use for aditional system wide actions such as moving windows around (alt+holding left click) for example with the tool AltSnap and holding middle mouse is a bit annoying when you use the same finger for left click / right click. To better explain what I mean watch this video (with timestamp) https://youtu.be/TB8gkdRif_I?t=165 till min 3:10
Not if it first checks a relative file to the binary and if that doesn't exist it uses the current default location. This could be easily configured inside of the program or even outside by just creating a specific file next to the binary to tell it to use the current folder UI/UX improvements
The new design looks pretty good, especially the multiple tabs but I think it contains a bit too much whitespace to quickly see a lot of settings. A global settings search bar considering the multiple tabs can be helpful and also replace the search bar for only the keybinds (unsure what scope you meant with your message)
Must be possible but it could be hard to implement, I haven't tried egui yet
Very nice! |
To clarify, you mean pressing 1-5 should zoom according to cursor position, correct? If so this is already the behaviour on master. I thought it was currently zoom based on the middle of the image but it seems not, sorry for the confusion!
This is a first to me, I've only seen and used the windows key + left click for moving around windows. I think alt would work best here since middle click is an oversight for trackpads. Maybe tilde would work better since it's not really a common key?
Not sure about this direction. This could easily lead to several problems and possibly be confusing to users. I think this makes sense to the windows users demographic, but not really to those on unix systems? I can easily see users creating an Currently the way of handling this in a "portable way" is just an all inclusive folder, this shouldn't be hard to copy or move to another system so it's portable in that way if that makes sense?
This is a mixture of design choice and UX / accessibility choice for those on smaller screens. Those on smaller screens are more likely to press a wrong option because they are too close together or may even be on a touch device, especially if they are further away from the device this can be pretty problematic. My thought process here is those with larger screens or resolutions can resize the window if they need more visibility, compared to those on smaller screens who can't really do much. When viewing at the actual size it will be implemented compared to my monitor, it fits a nice in-between and doesn't seem like a problem to me. On my laptops screen it's very nice to have that bit of extra space!
The scope would be everything in preferences. |
Yeah, so it got changed? I would like the old variant better but I can see how it's less useful
Alt + holding left click anywhere inside the window would have the same effect as clicking and holding the window top bar (moving the window), this is something that people with WMs that resize windows when new windows are opened won't be familiar with but with floating windows this is quite helpful and common for power users. Yeah anything works that can be changed in the settings. I'm not on a US keyboard which means the tilde key would cause a lot of issues for me if the implementation does not care about different keyboard layouts
Yeah it can make it quite hard. Better solution would probably be to provide a .zip release folder that has the binary compiled with a setting to use the directory of the binary for settings and co
With the "all inclusive folder" you mean the ~/.local/share/oculante folder? It's not much work to move it but you have to think about it since the binary (most likely) won't be in that folder.
Maybe a slider to make the whole ui smaller/bigger can make this even better?
Yeah then that's fine |
These can always be revisited, for now there are several things which have a higher priority so it may take a bit to match expectations.
This might be a windows userland thing then, for both Linux and Mac WMs I've seen windows key or equivalent be used.
The user can move the binary into the folder I suppose is the answer?
This would be up to egui, I don't think there's an option for it so it might require messing with state? Note that egui has no where near the configurations you would find with things like GTK or QT. |
Thanks for all the great input and discussions!
bypassing a filter should be super easy to add. I am not sure we would want to be the next Photoshop or Krita. I think they are much better at that. I do think that a nice edit stack can still be very powerful. Also if we support all or most bit depths, this is pretty unique. I think if we add masks to each operation we would be very close without becoming too complex.
This would be easily possible (it was the way it worked long ago) but it would be super slow to mix them. Oculante is non-destructive, and each tweak recomputes the whole edit stack. Oculante has two types of filters: One type only works per pixel and does not need to know about neighboring pixels. This can be run in parallel and is quite fast. The other type needs access to the whole image (Cropping, resizing). Some of them can become very slow, for example blurring. All per-image filters result in one cached image, and all per-pixel filters in another. As a result, you can resize an image from 20.000X20.000 to 1000x1000, which is slow only once, but then have super fast per-pixel filters on them. Since it is non-destructive, you can just delete the resize filter once you are happy. Maybe there is a better caching method - for example we could cache one image per filter. In that case you would only need to recompute if a filter lower in the hierarchy changes. But that would come at the expense of memory. |
There was an issue that was opened for pre-caching the entire directory a while back, on the contrary of a "low memory mode" there could be a more intensive mode which aims to speed up the users experience at the cost of said memory. Ideas I would have in mind for this off the top of my head is caching a number of nearby images in both directions (next and previous) as well as the image filter "limitation" also being cached for those images to prevent the slow down. |
I've split this into a bunch of issues to make tracking easier. I can't promise that all these will be added or fixed, but I hope that at least most of the big things for you make it in! Feel free to open issues about anything I may have missed or that wasn't mentioned previously! |
I have used the program for like 10 minutes to test it out and while this is pretty amazing and I will most likely use it on multiple occaissions, there are quite a few things which I think need to be improved/fixed:
Improvements
I have not explained every single improvement for why it is a good change because it would be a lot of text and most should already be understandable, if not simply ask me I'm happy to expand.
Bugs
I've written this in case anyone wants to improve on these things because I know getting feedback can sometimes be pretty valuable but I also understand it if this does not help much or most is already known/in the works
The text was updated successfully, but these errors were encountered: