Switch between LA and global mode is confusing - This UI element should be redesigned

This discussion is very interesting but I’m afraid that some UI programming fundamentals are forgotten. I think that I should explain this more simply than I did above.

An application UI must be managed in a centralized way. Using a Finite State Machine will certainly help a lot but this approach is not mandatory. The basic idea is to clearly identify the various states in which the application currently is. In a given state, it must be determined whether a user action triggers a state change. If this is the case, this event must be immediately sent to the code managing the UI. This code will update the state of each UI element, according to the new state. This includes :

  • disabling any UI element that cannot be used in the current state
  • enabling all UI elements that are relevant for the new state
  • clearly give feedback about the new application state (e.g. by changing the appearance of the relevant UI elements).
  • possibly rearrange the whole UI if the current state needs this

The current discussion about the necessity of a GA or LA mode is actually a discussion about determining whether the application enters a different state when LA tools are activated. And the answer is IMHO, clearly yes.

Why ? Because when LA tools are active, a lot of user actions do not have the same result. Mouse click, mouse hovering of the image, click on a slider (or impossibility to click it). If the same user action doesn’t trigger the same result, the application is in a different state, period. Back to the necessary actions described above. Any UI that doesn’t respect this approach is doomed to create confusion for the user and will facilitate the apparition of bugs.

We can compare this to another key programming principle : a given information should always be provided by the same source. It’s the same for the UI : all user actions have to be managed in a centralized way. And the DPL 7 UI clearly demonstrates that it’s not the case.

As long as this situation persists, we’ll have problems with this UI.

1 Like

And that’s why OOP might be a solution.

George

Or simply fully utilise the existing layers UI and implement a Background/Image Layer.

C1 Layer panel

1 Like

…another possibility. Looks like DxO didn’t want to go there when local adjustments were introduced at least 3 years ago.Could have been a smart move though :person_shrugging:

The problem some people have overlooked is that when you have selected an LA and you switch to GA mode the LA is still selected and some of the GA tools don’t work properly or don’t work at all. The only remedy is to show the LA tools and deselect all LAs. This is so frustrating as you have to remember to deselect the current LA before switching to global mode.

As @John-M says, the best option is to make the BRUSH tab/button act as the old Local Adjustments button and everyone will be happy - can’t be hard to program because they have the code to do it already!

1 Like

I just wanted to clarify that Local adjustments were introduced six years ago when PhotoLab 1 was released in the fall of 2017. There were a couple of small display enhancements fairly early on. After that, there were no significant updates until a basic Local adjustment palette was added as a precursor to what we currently have today in PL 7

Mark

1 Like

I couldn’t agree more but…………… unfortunately, like so many good design practices, as you said it is not mandatory :face_holding_back_tears:

Your summary of a state machine is certainly adequate but, as you are well aware, even that may not be sufficient because of the complexity of the UX that is involved here, which, in my estimation will involve nested state machines. Oh what fun!

You are absolutely right and it would seem that is the case for the current implementation.

Oh yes. I once consulted for a company that brought me in to design (in their words) an OO user interface to an existing functional data engine. One of the team was a very pleasant young German woman who was tasked with part of the logic. But she initiated it in one class and disposed of it in another, thus leaving the possibility of not calling one part of the code or calling the same part twice.

All in all it had taken her three days to produce this badly flawed code, which I then had to rewrite - in half an hour.

Her reason was that she was used to a culture where juniors felt unable to ask others, in case they were regarded as failing.

Having worked with a French company, where I found a similar hierarchical behaviour and fear, I dearly hope that doesn’t prevail in DxO.

I fear so but we seem to be regarded as “mere customers” whose input is not demanded or even expected.

I have been teaching OOP for well over 30 years. One of the problems is that frameworks nowadays are often written using classes, protocols, etc. but, with Microsoft’s development tools, the developer is “encouraged”, visually, to design the UI before the business logic and folks end up stuffing procedural code and variables into event code on forms where they simply don’t belong. So, while acknowledging your excellent comment, it’s all going to depend on the skill levels of the programmers as to whether they are willing to “get it right” in terms of sticking to a proper OO architectural pattern like MVP.

1 Like

What I think would work is create an object oLocal. On oLocal.enter that object set the editable area to that part that is/was selected. On oLocal.leave set the editable area to global or the old value. All kind of stuff can be realized with these 2 methods.
PL is still a single user program.

George

As an ex procedural programmer, I was very aware of the avoidance of repeating code. I have done some rudimentary object orientated programming and would reckon that in the case of applying a local variant of an existing function, a blend of both would be suitable.

Objects being the various types of mask, procedures called by them would be exposure compensation, white balance etc. I imagine that this using of existing functional code is probably how Photolab is built. To duplicate the code for each object would be unwise would it not?

YES = That’s exactly what I’m advocating too … and;

PS. You can vote for this here: PLv7 Request/Suggestion: Clarity for when PLv7 is in (or not in) Local Adjustment mode

Yes - I’ve seen a LOT of that in my time too. No proper separation of “business logic” from UI-logic … makes debugging and maintenance a real pain.

BUT - the implementation aspect of PL is not something that we have any control over - and we don’t know enuff about it to constructively comment on it either … What we can do is advocate for improvements to the way PL works - and let DxO decide how best to implement it (assuming they’re listening in the first place !! :thinking: )

2 Likes

I believe that sufficiently experienced developers can acquire a kind of 6th sense, enabling them to get a general idea of an application’s structure by observing the way it behaves. A given kind of problem is often related to the same type of design flaw.

Many months into 7 and I don’t think anyone is listening at DxO I’ll just keep using 6!

It is probably down to company culture. I find the difference in approach between companies very interesting. Recently another raw editing program had a very similar UI issue where the new version contained a Local adjustment UI change that generated a lot of criticism. Their reply was to recognise the feedback and fix the issue in a version X.1 release.

“Below is from a bulk email from the company to its users:
Owners of the latest version in the coming months, can expect major innovations in noise reduction, sharpening, masking, and retouching tools, along with the integration of more AI-powered features designed to alleviate pain points in your photography workflow and make editing even easier.”

I hope we can get something like this from DXO as they improve their responsiveness in this competitive market.

I fear DxO has moved rapidly in the other direction, ignoring users in this fourm and not giving any indication of what they may do or not about all the problems PL now has.

2 Likes

Platypus: The problem in Photolab is that these tool sets for Local and Global doesn´t match. The set för local use is far more limited than the global ones.

There is a third way: have the same tools för everything and no switch at all. Just layers that gets automatically created when a tool is activated and used.

If there is a basic layer that is global (and all the other layers are local) that global layer and not the tools themselves gives us both global and local possibilities. With that approach there isn´t even any need for concepts like global or local.

1 Like

Do you? I fear more that we are watching a snail trying to get through an obstacle course. A sign over that course is hanging there with the following text: “Slowly but surely we are getting nowhere”.

Does anyone see any evidence to the contrary?

1 Like

Heh, this is a user forum and we can speculate. :slight_smile:

Looking from a business viewpoint DXO look to me as a company in transition. Possible acquisition or being acquired, complete business reset etc.

Personal view. I see a company in a rapidly changing market with too many products which dilute sales/marketing and most importantly R&D efforts.

FilmPack and Viewpoint are no longer viable stand-alone products. Viewpoint is already effectively part of NIK and that’s where it belongs and FilmPack would further strengthen NIK.

Pure Raw is clinging to life now that Lightroom have upped their game with noise reduction. Who are the customers? Capture One, ON1, ??? ON1 have said they will be improving their No Noise reduction this year. DXO should role this into NIK to plump up the perceived value of NIK.

NIK - Where to go next? All the apps have been updated to a new high dpi UI, what next?
NIK has its fan base but how to get them to upgrade? Another 150 different presets? I don’t think so.

Photolab
This should be the premier product for DXO. It needs to become more competitive in the changing market. FilmPack and Viewpoint should be part of the Elite version this significantly improves the competitiveness of Photolab for new users and would impact the professional reviews of Photolab. The R&D costs are already covered and the effort required is minimal, whoever in the current market you can’t increase the price of Photolab - suck it up, the market rules.

How to enhance Photolab?
The bad thing is there are many areas where Photolab can be improved. The good thing is that there are many areas that Photolab can be improved. These areas are well documented in these forums, many of them have existed for years Printing, compare of images etc.

Increase the functionality of Photolab by incorporating the functionality of select filters from NIK Colour Efex eg pro Contrast filter, light & darken centre, Sun Glow and Silver Efex eg Amplify white/black, soft contrast, dynamic contrast. NIK sharpener Pro for image and incorporate in to the printing module.

Go all in on the layers UI, they have added a layers UI but haven’t committed to it. Image base layer for global adjustments, add a filled mask option, able to use adjustments like LUTS as a layer so that the treatment can be applied to parts of the image as well as globally and being able to adjust layer opacity, Blend modes, text handling, adjustment/style brushes AI Masking and on and on.

As I said there are so many ways to improve Photolab.

All speculation and we wait and see what transpires :slight_smile:

3 Likes

For me it boils down to productivity. I have so many for me important images that I haven´t even had the time or the really proper tools to handle them with effectively before now (I have processed over 25 000 but still have to handle another 45 000) and I just turned 74). In fact, that is just another way to say that Photolab isn´t at all meeting the productivity demands I have today and that there are far better options out there now that does.

Look at this image carefully. It is a screen capture from the latest build (16.3.5) of Capture One that I just have migrated to. It shows a test with a just masked table with some artifacts on it, that I masked with the help of Capture One’s new AI driven masking tools…

Before I started, I thought that as it is now with the state of DXO Photolab 7 and especially with the mess they left us with the Local Adjustments I feel I don´t see the best practise of doing this in PL 7 but in CO 23 with it´s new AI Mask Tools AI Select and AI Erase the work flow is very obvious and easy to understand.

With CO I first select AI Select, draw a square around the whole table together with everything on top of it. That will even mask the artifacts on the table. Then the next step is to select AI Eraser to erase the masked areas on these artifacts. I just clicked once or twice on the bottle and each glass and the card pile and then draw three lines over the three sets of cards spread on the table and that is about it. It can be done even by a pretty unexperienced AI-mask user like me being fairly new to these tools. This process was done in less than half a minute and I guess a beter user than me would be able to do it on half that time or at least 20 seconds.

How long will that take with PL7 if it at all is possible without calling for Photoshop? Fans of indirect isolation with Luma Mask, is that your best offer or maybe a not so precise Color Wheel having problem with all these different flavors of brown??

For the first time I think it´s now finally possible to work in a totally different and much more intuitive and effective way in Lightroom or Capture One than in for example Photolab 7. It is the first time I really feel that I have all the tools I need even in my converter to do everything I want to do with my images.

Photolab is in many ways excellent for everyday work and gives excellent image quality but when it comes to smart polished effective advanced layer handling and smart efficient AI-support in those layers, it´s just not there in Photolab.

I already feel that this is going to change my way of working with images totally and it will definitely have a deep impact on my creativity. I feel that the way between an idea I get to the way it will materialize visually just got very much shorter. I really hope DXO sees and learns from both Adobe and Capture One and that quickly because I think many users starts to see these AI-driven opportunities as mainstream now. I hope DXO is up to these tasks but they for sure have a lot to prove.

A very good example of how AI masking has changed how we think of going about photo editing. Hopefully DXO will catch up with V8.