Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.79k stars 316 forks source link

Roadmap for v5.9 #5632

Closed Beep6581 closed 1 year ago

Beep6581 commented 4 years ago

https://github.com/Beep6581/RawTherapee/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3Av5.9

Beep6581 commented 4 years ago

Hey

Let me know what is the status of the codebase in terms of stability, feature-completeness and stabilization of PP3 data, so that we can plan for the 5.9 release.

Thanatomanic commented 4 years ago

Hi @Beep6581 welcome back online. No trouble with COVID-19 I hope?

There are quite some issues tagged v.5.9 for which nothing noteworthy has happened. What is your suggested timeframe?

Floessie commented 4 years ago

@Beep6581 @heckflosse @Hombre57 @Desmis @Thanatomanic I noticed that Ingo tagged some issue "6.0". Shouldn't the next version after 5.9 be "5.10"? Wouldn't "6.0" warrant incompatible changes (like PP4 or something)?

TechXavAL commented 4 years ago

There is a discussion about some changes in the future v6.0 that maybe would warrant a change in major version.

heckflosse commented 4 years ago

I tagged some issues 6.0 because that was the only tag available after 5.9

TechXavAL commented 4 years ago

Even if there is a 5.10 version, you may wish to discuss when those tools should be removed (on which version), so you can warn users within the application that they will be removed in the next release version: every time they use a deprecated tool, some sort of warn should be shown telling that tool will disappear in the next version.

If they should be removed in v.5.10 (or 6.0), then you should consider adding those warnings in v.5.9

Beep6581 commented 4 years ago

Hi @Beep6581 welcome back online. No trouble with COVID-19 I hope?

There are quite some issues tagged v.5.9 for which nothing noteworthy has happened. What is your suggested timeframe?

Hey, no COVID-related issues here.

Shouldn't the next version after 5.9 be "5.10"? Wouldn't "6.0" warrant incompatible changes (like PP4 or something)?

Yes, 5.10 follows 5.9, though non-computer people find 5.10 confusing so it would be nice to break compatibility to warrant 6.0 :)

every time they use a deprecated tool, some sort of warn should be shown telling that tool will disappear in the next version.

No support for that idea from me, I consider that pointless and bloat. There are more urgent things that users should be notified about: #4261 #2899

Beep6581 commented 4 years ago

Hey everyone

How are sentiments regarding feature-completeness and stability with regards to releasing 5.9? I see many commits involving wavelet-related stuff, @Desmis let us know when you feel it's feature-complete so we can feature-freeze and go into bugfixing and eventially get 5.9 out the door this year.

Thanatomanic commented 4 years ago

I think we're pretty much feature complete. There are only two things I feel should definitely be included:

Other than that, the current two PRs on changes to the histogram would be nice-to-have, not need-to-have, imo.

Beep6581 commented 4 years ago

"Waveform and vectorscopes" #5887 would be nice to have.

I still need a response from @Desmis regarding "Various improvment to Local adjustments" #5903

Desmis commented 4 years ago

@Beep6581

For "Various improvment to Local adjustments" #5903, the response is with Ingo... @heckflosse

Jacques

heckflosse commented 4 years ago

I think, we should delay #5903 for 6.0. Currently it needs too much memory, which will stress Jacques and me if we merge it now. Better to take some time to improve it before we merge. Jacques, I hope, you don't mind.

Desmis commented 4 years ago

@Beep6581 @heckflosse

No problem for 6.0

Jacques

Beep6581 commented 4 years ago

Great, then I will gear up for releasing a 5.9-beta1 soon.

Desmis commented 4 years ago

@Beep6581 I think we need a few more days to work out with Wayne Sutton, the review (in good English) of all the labels and tooltips in Local adjustments... But perhaps, it is not a problem, if some labels or tooltips wil be update after ?

Jacques

Beep6581 commented 4 years ago

@Desmis there is no hurry. We need to review and complete the strings first, because if they get translated into e.g. 15 languages and then if changes are required then that's 15 times more work later on.

Could you point me to the branch/issue where you are reviewing the strings?

Desmis commented 4 years ago

@Beep6581

We work on this feature since beginning september 2020.

Similarly, rawpedia has been translated and improved by Wayne Sutton https://rawpedia.rawtherapee.com/Local_controls

Now we are working on tooltips for "softlight & original retinex", "common mask" and "Dynamic range & exposure" in branch "local_tool". I think tomorrow (or perhaps latter) I will merge this branch

I think these tools are finished (labels, tooltips...and fixed bugs), but you can improve if you want

Tomorrow or just after

These tools represent about 80% of uses... I think we need about 1 or 2 weeks (perhaps a little more) to finish

And a big thanks to Wayne Sutton for his patience, the relevance of his proposals, the dialogue between us, ....

Jacques

rom9 commented 4 years ago

Hi all, sorry for the late comment. Regarding the film negative tool, there's still a lot of brainstorming on Pixls, but if you think it's worth it, i could quickly finalize a version with a minimal set of features, which would bring:

...and postpone current experiments / feature request for the next release.

What do you think?

EDIT: just in case, the latest hacks have been rolled back, the branch should now be in a clean state ;-)

Beep6581 commented 3 years ago

Hey

In order to get 5.9 out the door, I want to remove all issues from the 5.9 milestone, except for issues marked as documentation - these must be done before a release can be made. If there are any non-documentation issues you require for 5.9, speak now.

Beep6581 commented 3 years ago

@Desmis what is your intention regarding your work and 5.9? i.e. is there a point of stability & feature completeness you're aiming for that 5.9 should wait for, or are we at that point now?

Thanatomanic commented 3 years ago

@Beep6581 I am all up for making good work of getting 5.9 out! Could we take, let's say, 1-2 weeks to focus attention on these milestone issues? There are a few bugs that should probably get some attention. Jacques is less available this week anyway.

Desmis commented 3 years ago

@Beep6581 the only point to "wait"...is the PR for "grain"... https://github.com/Beep6581/RawTherapee/pull/6120 if no remark, objections....I will merge saturday or sunday

:)

jacques

Beep6581 commented 3 years ago

@Thanatomanic could you list here the issues you want to keep, or assign them to yourself? Then I will omit them when removing the others.

@Desmis ok great.

Thanatomanic commented 3 years ago

@Beep6581 Below is my pick of the most important milestone issues. It would be ideal if people assigned to other milestone issues could indicate whether they want to take action, or increase or remove the milestone. But if you want to decide that to speed things up, feel free.

Important things:

Things I'll pick up myself:

Desmis commented 3 years ago

@Beep6581 @Thanatomanic @heckflosse @rom9 @Floessie @Pandagrapher @Lawrence37 @TechXavAL @waynesutton50

And others....

Excuse my bad english

What are we waiting ?

I see the comments on the French forums "Rawtherapee is dead"...or the remarks on Pixls.us more and more insistent..."what happens"...The answers given are ambiguous and not very credible....There is a perception (at least for me) of conflict or disagreement within the team

if we make a comparison with DT on the one hand we have a new version practically every 2 months, and for us that will make 15 months !! (while the number of commits is very high)

Admittedly I have withdrawn from the project - partly because of this - but this is not a reason to do nothing.

For me the 2 PR "spot removal" and "trcnew" must be merge.... unless major opposition (these 2 PR are open for several months)

Do we not agree on the aims of RT? If for some of us is that Rawtherappe must be a simpler software..I think it is missed...The place has been taken with brilliance by ART. I think, maybe I'm the only one? that the positioning of RT, now that there is ART is the excellence in areas little explored by other software on the market (such as Wavelet, Ciecam ...)

Jacques

Thanatomanic commented 3 years ago

@Desmis

First of all, I'm going to make a blunt statement, then a more nuanced one. Please bear with me.

Jacques, you have currently withdrawn from the project because you don't like how things are going, because the team seems undecisive, or unresponsive or simply because there is criticism on your proposed feature(s). The way I see it, this leaves you with three options: 1) take charge of the project and lead us forward, 2) leave, fork the project like Alberto and do whatever you want on your own terms, or 3) keep discussing and working together on the nuanced points I make below.

My observations on the project are as follows, as I have said in similar terms on Pixls a few times:

  1. There is no clear, broadly agreed vision for RawTherapee (if there ever was any...) Everybody has a personal vision, of course, but these can differ a lot, which inevitably leads to disagreements. A lack of future vision also slowly kills the project if we cannot fill our niche anymore and we lose users (not that we really care, but the competition with darktable for the raw processing niche is strong).
  2. There is no clear project manager. At least, not anymore since the beginning of 2020 when the contributions of @Beep6581 strongly diminished (no judgement, just stating facts). I have tried my best to keep the GitHub maintained and jump in for support on Pixls, and although I am willing, I am not able to take on more responsibilities due to time constraints. Besides, I have no idea how to prepare and deploy a release...
  3. There is a very small development team. The vast majority of coding is done by Ingo and you (Jacques) and there is definitely still wonderful progress. But there is more to the project than being a "feature factory", and imo there is hardly any time for quality control, bug fixes, usability improvements, etc. Documentation is also an issue for which Xavier contributes a lot.
  4. People's available time is limited. This just extends the previous point. Additionally, it can lead to a lot of frustration whenever somebody has much more time (like you, Jacques) than somebody else (like me). You may be thinking "Why is nobody commenting? Does nobody care?" which can lead to "I'll just merge it myself then...". While on the other side you have me thinking "I want to properly comment, because I care, but I don't have time" and then I may forget and after a merge I'm like "Oh, now it's done and there's no going back." and even a little bit of "This is turning into a one-man's project, I don't like that...".

I truly wish we could change this and improve how we function as a team and how we continue to push RawTherapee to become a better program. But right now, I completely understand the sentiment that RawTherapee seems dead when we haven't had a release for more than a year, nor any sort of public update on what is going on behind the scenes. I know we are still enthusiastic for our project, but I am also afraid we are very close to coming to a complete standstill.

I have no solid suggestion on how to change any of this in a significant way, except one which would cost me a lot of time. A simple idea is to try and schedule a Zoom call or something. That way at least we could do a lot of good in terms of getting to know each other and each others motivations. If anybody has other opinions, please share.

Desmis commented 3 years ago

@Thanatomanic Why target a personalized response when my point is general? For points 1) and 2) there is no question of it, given my age (74) and my poor health.

You are forgetting a 4th possibility...that I leave this project permanently.

That leaves 3) which seems to me a way forward.

As for "zoom" or any other live exchange, I will find myself totally isolated given my very poor performance in the language of Shakespeare

Jacques

heckflosse commented 3 years ago

@Desmis

my very poor performance in the language of Shakespeare

In my experience with meeting you in person, you really underrate your english!

Desmis commented 3 years ago

@heckflosse Ingo

I don't think so...Of course, if everybody speak slowly, whithout specific technical language, and with sometimes outside help (in our case your wife Petra... who speaks impeccable French) then that's fine, but for example I am totally unable to understand a video of Andy.... I look at the images :)

TechXavAL commented 3 years ago

@Thanatomanic : I'm sorry but I feel I'm out of anything like Zoom or the likes. I have to constantly look into online translators and English dictionaries to write something understandable, and my spoken English is even worse...

About «RawTherapee is dead», in my opinion anybody saying that is simply an ignorant. Or perhaps too lazy to make a brief search about a development version.

One extra possibility while looking into the future of the project may be doing something similar to other projects:

I also don't like too much the idea of looking «at the competition», and prefer to take care of what makes RT different from the rest (wavelets, Ciecam, capture sharpening, ...), making those tools even better, always polishing them, because if RT doesn't have them, I won't find them anywhere else.

I may be extremely critic with certain features or behaviors on RT, because I don't believe in a collection of tools/features just because nobody else have them. I believe in features/tools/behaviors that make sense, that work as intended, are understood by plain users, and that are intuitive enough from the user point of view: once a feature is added, work on it until it is flawless (leaving bugs aside). And then recheck to be certain it is flawless. After that, you can add another new feature. (But I certainly know that this is not too funny from the developers point of view).

In my opinion, if there are no critical bugs to be fixed, the latest commit could perfectly become the new release.

Lawrence37 commented 3 years ago

Adding the dev builds on the website is a great idea. However, I would not use a rolling release. We need time for features to stabilize so that users don't experience frequent UI changes, incompatible pp3s, etc. I suppose we can keep features in separate branches for longer, but this can make merging a nightmare.

That said, increasing the frequency of releases is important. It allows us to push out bug fixes, performance improvements, camera support, translations, and new features more quickly. I recall reading somewhere that there is a goal of making a release at least once a year. The intent is there, but we lack the procedure to stay committed. We should become better at preparing releases, which probably involves a stricter release process.

A suggestion for one improvement is having minor point releases. These will be for bug fixes, camera support, and other small changes that greatly benefit users if we release them quickly. We could achieve this by maintaining a branch for point releases, such as 5.9, and backporting commits from dev. This branch is used to create 5.9.1, 5.9.2, etc. We continue making regular point releases from dev.


I see two things being discussed here. One is what we want to do after 5.9 is out. I would be pleased to see us come to a consensus on a release strategy, the general goals of the next release (5.10 vs. 6.0), and the purpose of RawTherapee.

More urgent is the main topic of this issue, and that is releasing 5.9. There are some things that are good to have, like spot removal and exiv2. We don't need to take action on these, but it would be better to collect opinions and act. Then there are the blocking issues. I will try to look at the TRC pull requests and provide feedback soon. I also want to look at the inspector window issues. There may be other blockers which I may or may not be able to help with. Once these are resolved, I think we can release 5.9 quickly. I'm sure we can all agree that a new release is overdue.

waynesutton50 commented 3 years ago

I would not use a rolling release.

From purely a user point of view, I agree for the reasons outlined. Given the extent of new features in the current dev build (Local adjustments with a number of new algorithms, significant changes to Ciecam and wavelets, changes to dehaze, additional demosaicing etc), would it make sense to release it as a v5.9 beta? This would allow a much a wider section of the community to test it thoroughly.

the purpose of RawTherapee.

This is an important question given the limited development resources and developments on similar FOSS projects. Managing user expectations and setting priorities in such a context is almost impossible without a clear definition of who the software is aimed at. FWIW, I have been discussing this informally with several people lately using the attached document as a starting point. I'm not sure however what the best way would be of moving this forward. It needs to involve users as well as developers but the discussion also needs to remain focused, which can be difficult when it is opened up to a wider audience. Target audience.zip

AndyAstbury commented 3 years ago

The minor point release 'model' has been used by Adobe and others for a very long time. Not so long ago we had 3 updates in 7 days for Photoshop - 1 real point update followed by 2 corrective updates because screw-ups were overlooked.

And people who are silly and buy Topaz software seem to have a new update every time they fire up the software!

So it's nothing new, folk are used to it in the world outside Raw Therapee (yes folks, there is one) and I for one would have an easier life if what I demo in my videos was actually available (yes, I know it is, but a lot of folk around the world seem to find the installation of a dev build quite intimidating).

So a point release option gets my vote I think.

Beep6581 commented 3 years ago

Hey

What are we waiting ?

I am waiting for things to stabilize. I managed to pump out frequent releases in the past, but with the merge of Local Adjustments and related work (CIECAM etc), branches which were not stable at the time of merge, things went into turmoil for a long period. On the one hand I don't blame @Desmis for his choice to merge - maintaining such branches for years is immense and stressful work. On the other hand, don't be surprised that merging huge, feature-incomplete and unstable branches has consequences.

if we make a comparison with DT on the one hand we have a new version practically every 2 months, and for us that will make 15 months !! (while the number of commits is very high) Admittedly I have withdrawn from the project - partly because of this

I have taken an extended leave from the project partially because you can't have your cake and eat it. But that is off-topic to this issue.

Another reason for my leave were real-life situations. As these are being resolved, I wish to make more time available for RawTherapee again.

I see the comments on the French forums "Rawtherapee is dead"...or the remarks on Pixls.us more and more insistent..."what happens"...

RawTherapee is very transparent. Anyone more interested in facts than in making a fuss can go to https://github.com/Beep6581/RawTherapee/graphs/contributors and see the state of the project.

Anyone who wants to test latest code/dev builds/beta builds can do so from http://rawpedia.rawtherapee.com/Download

I see the automated builds have stopped being built - I will investigate. I will also add a link to the development builds to the website once they work again.

Anyone who wants a release (as opposed to an automated build) expects a certain level of quality. I will make a new release once I am satisfied with the following:

Moving forward, I think we should have a rule not to merge any PR for which documentation has not been provided.

Thanatomanic commented 3 years ago

Another reason for my leave were real-life situations. As these are being resolved, I wish to make more time available for RawTherapee again.

That's good to hear, welcome back! And thanks for taking charge of the release management. I think most new features have fleshed-out well enough over time, including documentation, but there is of course always room for refinement. There has been a call for a quick beta release, which I think is valid at this point in time. Would you agree?

Beep6581 commented 3 years ago

I just fixed AppImage nightly builds.

Jacalz commented 3 years ago

Is there anything that I could help out in terms of this release? I have quite basic understanding of C++, but I'd be willing to possibly help out in some way when I have the time to do so.

Thanatomanic commented 3 years ago

Today I've made a good round on updating camconst.json to support more camera's with minimal color matrix support: https://github.com/Beep6581/RawTherapee/commit/fc4814420be0fa508e14be0bf0472d2d697132ae https://github.com/Beep6581/RawTherapee/commit/6c96bf7507d631284c4c71134f12e09e3dbe9090 and https://github.com/Beep6581/RawTherapee/commit/8fafaa7aba92b2f607f0a055bb35af26825eabe4. In total about 50 camera's now have basic support and should render acceptably in RawTherapee.

@Jacalz Help is always welcome, though I'm afraid there are no, lets's say, entry-level bugs to fix that have been added to the 5.9 milestone. Most help would be needed to document tools for RawPedia, but that's not everybody's cup of tea. You might also want to take a look at this issue, which should not be too hard. https://github.com/Beep6581/RawTherapee/issues/6052. And otherwise, just casually browse the outstanding issue list and pick your poison. Please indicate if you start working on something.

Jacalz commented 3 years ago

Thanks for the information @Thanatomanic. I will start with giving the development version a go to see if I can find any issues in my general editor workflow and file any bugs that I might find. Then we can see where we get from there 🙂

Jacalz commented 3 years ago

I built the latest development commit (https://github.com/Beep6581/RawTherapee/commit/c075f84fce6884b5993f94b6d2ca33ca4805a303) for Linux to try it out. There was some warning is in the console, see https://github.com/Beep6581/RawTherapee/issues/3543#issuecomment-841834546, but the compile worked perfectly otherwise. In general, things appear to be working quite well.

Jacalz commented 3 years ago

The only thing that I'm not a huge fan of is the new look for the inspector panels. I think the styling in 5.8 looked better and more modern. image

Thanatomanic commented 3 years ago

@Jacalz Please see https://github.com/Beep6581/RawTherapee/pull/5929 for earlier (long) discussion. There is a Legacy theme available for those who don't like the changes. And further changes may happen for later versions.

Jacalz commented 3 years ago

Thanks, though I don't think it all applies to why I prefer the old one. I think the correct look could be tweaked to look perfect with rounded corners and perhaps a bit more contrast.

Thanatomanic commented 3 years ago

@Jacalz Please open a separate issue if you want to discuss this further. Let's try to keep this thread focused on what is needed to release v.5.9.

heckflosse commented 3 years ago

There are some old open documentation issues (blocking RT 5.9) for which I'm not able to provide documentation at the moment (for example pixelshift). Do we really need to treat them as 5.9 blockers? I don't think so...

Beep6581 commented 3 years ago

@heckflosse as you're the best suited to explain how features created by you work (Pixel Shift), and as you can't do that at this point in time, I'm happy to not treat those issues as 5.9 blockers.

As for the other documentation issues, they are 5.9 blockers. They don't need to be fancy, screenshots can be added at a later date, but they must explain how a given thing works.

Many of the non-documentation issues currently on the 5.9 milestone will be removed from that milestone.

Desmis commented 3 years ago

I have update Rawpedia for

5351

4959

I think (I hope) that these 2 modifications of Rawpedia do not block 5.9 anymore

jacques

Desmis commented 3 years ago

I have update Rawpedia for

4962

English and French

Jacques

Beep6581 commented 3 years ago

Documentation writers and translators, please see: http://rawpedia.rawtherapee.com/Contributing

waynesutton50 commented 3 years ago

Documentation writers and translators, please see:

This is a welcome addition to Rawpedia. It would be helpful though if there was a more comprehensive style guide for anyone writing or translating documentation into English. Spelling aside, there are significant differences between British and American English notably with respect to the use of capital letters (e.g. after the use of a colon) and punctuation (single quotes vs double quotes). There are also inconsistencies in the way GUI elements are referred to in RawPedia i.e. single quotes, double quotes, italics, capital letter at beginning of each word. The following page is an example of where the last three have been used: https://rawpedia.rawtherapee.com/Exposure. Some guidance on this would be appreciated. There appears to be more consistency in the GUI labels where the following rules seem to apply with one or two exceptions: Tool Panel Names Slider names

However this convention isn't always carried over into RawPedia e.g. Exposure compensation (slider name), Exposure Compensation (reference in RawPedia).