Is there something we can help with with my knowledge? Proposal for the forum

This is just typical designer talk, and already thinking about investment in the marketing already, M’kay.

Every time I try to answer this thread, it ends up wayyyy too long. So, I’m going to just write the summary, and if you want me to elaborate on anything, please just ask, I don’t want to write too long needlessly.

  1. There are plenty of UI/UX threads on this forum, let alone all places with Krita community, like old forum, reddit (earlier, when I was still visiting), IRC, bugzilla etc. In fact, now that this forum exists, most of the time when I work on something, I ask here for feedback or discuss things even before the mockup stage. Also you missed some of our hottest topics back in the day… like two summers ago… when every thread had “UI redesign” mockups :wink:

  2. 3D and 2D worlds differ: for example, most competitors to Blender are pretty expensive, while quite a lot of Krita’s competitors are much cheaper or free. PS, which has the fame of being “way too expensive”, is only half the price of cheapest 3D options, usually those with just one purpose (like ZBrush, or Substance Painter). Even if Blender was subscription-based and costed like PS, everyone would praise it for being so cheap with so much functionality. Krita on the other hand has plenty of cheap competition.

  3. Krita already has plenty of reach. Every month ~4 millions of users open it. Some of them of course cannot really help financially (they are children, or students, or hobbyists, or in economies with unfavourable exchange rates).

  4. We do have strategies, both marketing-wise and developing features-wise. In the second category, one of the rules we use is that we try to make features as good as possible for already existing users, instead of hoping to get some potential ones (who might be using other programs not because Krita doesn’t have something, but because of multiple other reasons). That’s both fair, considering we are partially funded with donations, and more reliable, because we have contact with those people, for example here. And people already invested in Krita better know the program, so they can better advice on what exactly is missing, and will take more time thinking about all kinds of consequences of implementing it this way or that way.

  5. Some of the things you write betrays that you haven’t been involved in the community for too long, or maybe haven’t been participating in the feature requests discussions? Because for example you write (paraphrasing) “you need to think about what your target audience is” as if it was a novel concept to us, while there has been plenty of times users’ requests were denied because they were outside of our goal. In fact, there has been some critique that Krita’s goal is too narrow and we should make it more general. For example, we don’t intend to make Krita a photo editing program. We also don’t intend to make it a graphic design program. Therefore, features that are only useful for photo editing or graphic design are very low priority, often they only end up in Krita if a volunteer codes them up (as long as something is useful enough, it can be merged, but paid developers won’t work on something outside of the goal without a good reason) (alternatively, if someone can argue it would be useful for some kind of digital painting as well). That’s one of the reasons of Krita’s success, I think. You can see the goal explicitly said here: Welcome to the Krita 5.0 Manual! — Krita Manual 5.0.0 documentation (it was described together with user long, long time ago, but seems working well - maybe at some point we’ll be able to add pixel art to it, but things like graphic design will probably never be there).

  6. Recommended read: Developing Features — Krita Manual 5.0.0 documentation (this only touches some aspects of designing new features, of course, but can still be interesting to you).

  7. I do actually have some things I have trouble with recently in terms of UI/UX design, and I need ideas. Since I had to write it anyway, I created a new thread: How to improve quick editing/use of assistants? .

  8. People who are able to do UX design well, and understand the developer’s point of view, and consider needs of users with different workflows or different needs that their own, are really valuable. It saves plenty of time if developers have a clear list of things to do. Most of the time we have to sift through all kinds of requests in the wild on our own, talk directly with users, and figure the desired result ourselves. We do have a few go-to people who we just ask when in doubt - in my case, I usually ask David Ravoy who is good at for example prioritizing features and seeing whether something is worth it if it requires a lot of work (comes from experience, David helps Krita with feature design for over a decade now). I would not mind at all having another person who can quickly and easily communicate things I need to know as a dev. Someone who can understand constraints and limits, who can identify pain points in the current or initial design or workflow, and provide alternatives.

4 Likes

I have to agree that it feels as though Krita has no idea what it actually wants to be before it starts being it, or it has a major problem in the connection between actual artists and the programmers themselves. I really, really wish there was a way to help Krita along as an artist other than suggesting things and getting them shot down with no explanation.

The devs love to point to their donation funding compared to say, Blender, as if it’s a failure on the community and not a failure on themselves to get actual artists making actual money to care about the program. You donate to projects you want to see move forward, if every idea you have as an artist that you think would move Krita forward gets shot down, why in the world would you donate to it? To hope that they change their mind?

1 Like

What things were shot down without any explanation? The only things that generally get shot down is “can you make Krita exactly like software X”. Otherwise, there are generally responses. Of course everyone has their off days and may not be able to give the most detail explanations, but one can simply follow up.

Generally, the more details someone can give of what they want and how it can be fitted into the current workflow without completely redoing everything the better likelihood I’d imagine i’d be considered. Not to mention when many features are worked on, they are done so via merge requests, phabricator or discussed during developer meetings. So if something is being worked on and someone wanted to add their 2 cents, that would probably be the best time to give opinions.

If the feature doesn’t require completely redoing everything, or ruins the current workflow completely, then most likely it might be low priority. And as mentioned, Krita is too underfunded to deal with all the bugs, new features and etc all at once. It is a catch 22. If you feel your donation wouldn’t be worth it cause it doesn’t have the feature you want, there is always the option of hiring a freelance developer to add features to Krita. Just confirm first with the devs in advanced. You can even get other artists onboard and create bounties. Though do note, developers aren’t cheap. But that is the beauty of open source, anyone can contribute.


On a side note, I think the real advantage Blender has in terms of funding is because 3D has far more commercial use than 2D. Thus, you have far more corporate sponsors. Where as 2D has a lot of hobbyists or people who aren’t even interested in art but simply want to make memes or edit photos. Then amongst professional artists many say no to digital. I do wonder what % of Krita’s user base uses it for professional use regularly.

3 Likes

There’s the option of completing unimplemented features as there are unfinished code.

For example: I have a foreground extraction selection tool that needs to have only one quirk finished before artists can talk about how to use it. If you could figure out why the foreground selection tool generates a lot of noise, and fix it at the code level, then you’d be making this tool happen. It’d be a step for making Krita closer to the level of Affinity Photo with the power of flexible painting option.

2 Likes

‘Without any explanation’ was a bad way to put it (but if you want examples of that, check out the next paragraph). What I mean is that devs use the excuse of ‘a feature being in another program isn’t good enough for us to add it’ way too often, and as a dev myself I get it. There’s a billion people asking for X purely because X is in some other random program/website/tool. They’re probably asking for some barely usable marketing-garbage tool that got shoved down their throat because it had a bunch of buzzwords that made people think the program was ‘so advanced’ just for having it. That’s not what I’m asking for.

I don’t know if you’ve ever scrolled through one of my Krita discussions before, but I spend hours or days of my time sometimes just trying to make a case for something. I don’t just go ‘add this please’, I make videos, screen recordings, direct comparisons with the performance or reliability of other programs, infographics, mock code, possible solutions, deep dives into QT or Krita code myself to try and find the underlying problem, time things down to the ms, record with high speed photography, etc. Keep in mind that linked thread is more of me rambling about extremely deep, inherent problems with the way Krita’s foundation is coded, all the way down to the QT level and isn’t what I’m talking about above with the ‘shooting down’ suggestions.

Here’s a better example of a bug fix or feature example with pictures, artist-friendly explanations, math, deep-dives and direct real-world examples of the ugly output Krita gives and what it should give instead, that got a ‘yeah that sucks’ and then sat dormant because only professional artists would notice this stuff.

My feature requests ended up getting shorter and more jaded because I realized effort in suggestions gets barely anything, and of course got no reply. So if you want an example of a legitimate concern getting no explanation here’s your example.

A more positive example, where I felt the devs actually cared but was absolutely expecting silence when I first posted. Of course if I recall from the MR, it was a handful of lines of code at most and since it was a regression it was logged as a bug. But it felt good as an artist regardless.

Version control and the entire Phabricator MR landing and auditing and approval process is so unbelievably daunting to artists that I don’t know how you expect to get true artist feedback there (unless the artist is they themselves a programmer). Saying that is ‘the best place’ for artist feedback just shows how disconnected the artist-programmer dynamic is in the whole process.

Funny you mention that, because one of the only features I’ve ever successfully got implemented in the probably 3 years now I’ve used Krita, was added when I did exactly that. Right after the original request was almost completely ignored. I still use the feature they added nearly every day, dozens or hundreds of times, and it has saved me an uncountable amount of time and I am eternally grateful.

I think these are good questions I’ve never seen really considered. Which brings me back to the original topic I had brought up, who is Krita for? And not the corporate answer of ‘everyone teehee’, who do you target? There is a target, or Krita would have all manner of random non-art features. Is it a photo editing program? An art program? A meme making program? Ironically enough, I’ve seen features get added which benefit barely anyone, if anyone at all, and all I can think is why? I’m not going to name which ones because I respect any and all work put into the program, but it’s frustrating thinking that the same effort could have been put into something that would benefit wide swaths of entire industries.

But every time I think of some feature that would benefit nearly every artist I know in my field, all I can think is how it’ll just get ignored and I don’t bother. And it’s mainly because a lot of them are a bit more than some small feature.
I dream of a day where I have the funds to personally commission the development of specific features of Krita to benefit everyone.

4 Likes

A little off topic. Just an idea about getting fund.

Create a feature-sponsorship board. For each requested feature, show an estimated development cost and time along with it. User who want that feature could join and place a vote with a suggested amount they are willing to donate. Once a feature accumulated enough vote/fund, dev team can start an actual KickStarter to crowdfund for that feature.

The way it is done can be different. The main idea is that when people want a feature, they sometime don’t care to make a small donation to speed things up for what they need. The current donation system is just asking for money and to be honest does not motivate people to donate.

3 Likes

I agree. While I love to donate to Krita and support it vocally in every situation I can, I feel a lot of resistance from many people.

I’ve seen this problem with Affinity Photo, too. Once they had a list of top features users wanted, many people got into the hype and bought the program. Now they don’t have any kind of actual roadmap anymore and it feels like the development kinda slowed down. Doesn’t help that two years ago I send two bugs to them and they fixed them over one or two days and now relatively small bugs take months for them to change.

Also, Photoshop is getting relatively more more worse than better, at work I hear someone complaining about it every 15 Minutes, while that was certainly not as true around the time of CS6. We’re about 40 Adobe users. With me and a few selected others using Krita as much as we can :sweat_smile:

I think Krita is in a great spot right now. Especially since now we finally get some real big names to use it.
Who thought that Craig Mullins, the godfather of digital painting would use Krita? Let alone tell anyone to do so? Well he did last week. (He made Photoshop kinda big for painters and worked directly with the developers since the beginning of PS, even when there were no graphics tablets around yet).
Dave Rapoza now tried it too and likes it. We’re in a good time right now.

On the funds page: writing that it’s being worked on the overall performance, faster transformations, filters and an overall snappier performance would increase funds, I’m sure. That is what users want, what people say. That is, let’s stay honest, also what I personally want.

3 Likes

Where is the link for this? :hushed:

Here :slight_smile:

3 Likes

Well to know who is using and how you can just make a post on the news feed for a link to a simple questionere.

I would venture the biggest reason people ask for things that are in another program is because they came from that program and rather then trying the Krita way first and seeing what truly does work better. That doesn’t mean that features can’t be added that are in other programs, there just has to be more than just “make it like the other program”. To give a recent one I remember, with the eraser stuff where someone wanted the dedicated eraser tool because they were used to it that way. But Krita has far more control over erasing than many other programs as pretty much most tools can act as an eraser. It also adds yet more bloat to the toolbox. This would be an example of simply asking for a feature from another program without knowing the workflow of Krita. Now if a user is familiar with Krita and other tools, a more better request would to have the ability to add/remove tools from the toolbox, and preconfigure presets. This way, someone can have their eraser tool, while those who don’t want it don’t have it fill their toolbox, but also can benefit for preconfiguring other tools.

The devs my guess just want to be sure that you are thinking what is best way to integrate something, not simply because it is integrated that way by other software on a completely different workflow. It’s like painting, if you were to take all famous painting and put them all into 1 painting, it would look more like Frankenstein than another masterpiece.

Of course I understand that isn’t what you were asking for, just pointing out that a lot of requests are like that.

I understand that, taking a quick look at that post the devs did respond to it. Though it sounds like a specific issue with specific hardware correct? And to debug something like that, a dev needs access to the hardware. Developing blindly takes 100x more effort then developing something that a dev can replicate. You providing these details does give devs a better idea of what the issue might be and work on general fixes that may end up fixing your issue. But unless something is replicatable, they can only guess. Krita has added features to the tablet settings for better compatibility, 5.1 has new settings for max brush speed and brush smoothing for tablet settings to overall improve experience.

The response for that wasn’t “‘yeah that sucks’ and then sat dormant because only professional artists would notice this stuff.”, the response looking at the thread is that they are redoing it piece by piece. And considering the timing, I’d imagine getting 5.0 resource rewrite held priority. I would open a bug report for it. Or simply follow up with the dev who responded in the thread.

Do note, the official way to report issues or bugs is through bugzilla. If you post it on the forum, there is no guarantee a dev will see it. Now generally, the forum acts as a great way to fix issues for average users or get people talking about fleshing out features before requesting it officially. but in your case, it seems like you are tech savvy enough, so in case of issue you should make a bugzilla report. Or put it on both the reports and on the forum. If you know who the dev was who worked on the feature, you can even @ them on the forum I guess. Otherwise, not responding doesn’t mean you were ignored, it simply may have been missed.

In general, regressions would probably have higher priority, because nothing is worse than things breaking that used to work

It is, I don’t disagree. But do you know why the loud minority often get more say than the silent majority? Developers as mentioned have limited staff and funding. Which means the more people participate in the process, the more things that can get done.

Maybe that would be the answer to @Whikebain , somebody who gets opinions of people and brings them forward during technical discussions and makes sure old features or bugs are not forgotten, retesting old bugzilla requests to see if they are still valid or should be closed.

That is one of the beauty of open source :slight_smile:

Krita’s focus is artists, things like photo editing or memes are things that are not the focus and low priority. Krita has never claimed to be “everyone”. As for features being added, as mentioned, that not all features are added by the dev team. There are features added by volunteers as well. There is also some features that get added via sponsorship or the like.

Not to mention sometimes a dev can get caught up in something due to inspiration. That often yields better productivity. (Do you know how hard it is to program X when Y is eating up all your though process)


PS That said, I want to clarify that I am not a dev (only contributed a little), so I am not speaking for the devs or on behalf of Krita. It is simply my own take based on my experience as a programmer and general take I’ve seen of Krita.

I can’t talk for others but in my case, I was hired those, what, three? Four? years ago, for bug fixing (hence my official™ job title Chief Bug Wrangler :stuck_out_tongue: ), and for many months I was focused on just fixing bugs. But later I was tasked with Resource Managment, and it took most of later years. Last year I got very badly burned out in general, working on Resource Management, which of course at the end mostly consisted of fixing “the same” bugs over and over, which was terrible for my motivation, so now I’m trying to do some more enjoyable things to kinda build up the energy I lost at the end of working on RM. Hence I’m working more on some new things. I did work on fixing Coverity issues, which is kinda like bugs, but not found by users but by a static code analysis (so, it’s not very visible to users, most of the time, but it’s good for maintenance and makes creating new bugs less likely).

That burnout was kinda the reason for me not interacting as much on KA as I did once upon a time, too.

But your post, and some others, motivated me to actually make a good public document for the assistants work, so people can see how much cool stuff will be there (besides some niche technical things that I unfortunately have to do alongside the fun stuff).

Do you maybe have some suggestions on how to be more communicative on what’s being worked on? “Krita Weekly” kinda failed, I think, because (1) it was difficult to keep it up, (2) sometimes weeks were kinda empty, maybe it was too often? Or, maybe someone should write about their own work? I can usually write about those things just fine, but I wouldn’t want to be responsible for writing about things other people did, that sounds a bit exhausting to make sure you catch up with everyone.

I keep hoping that the transformation tool docker stops looking like a sandwich :stuck_out_tongue:

imagen

I understand the frustration of many because it really seems that the suggestions are not taken into account but I think that maybe it is more than anything lack of time and other things, the developers can not do everything.

What we could do is make a list of all the suggestions that have been made here on the forum :thinking:

3 Likes

Wasn’t weekly mostly focused on merge commits, not the actual details that were happening behind the scenes. I think summarizing the weekly meetings would have people more informed. Though maybe making it monthly makes more time to show stuff. That said, while I think keeping people more informed is a great thing, I think the concern people are having is the process to them seems mostly 1 way where devs inform but no feedback loop? Maybe like there is a Q&A with artists, one where people ask the devs questions? Albeit we probably don’t want to waste the devs time too much either :/, but maybe it would help with motivation showing community is behind?

If the goal is simply to move some buttons or adjust margins, that can be done without any programming by just taking the qml .ui file and loading it up in Qt Designer. As long as one isn’t adding any elements or removing them.

1 Like

I wonder if it helped if devs would give some clear feedback that would state, for example, this:

  • priority of the feature
    • high - we want this asap - usually means most artists would appreciate it and it happens in some often used tool/feature/etc. (must be in Krita’s goal)
    • medium - will need to be done at some point (needs to be in Krita’s goal)
    • volunteer - meaning if a volunteer comes up with good implementation, it will be merged, most probably
    • low - for things outside of Krita’s goal, possibly even if a volunteer implements it, it might not be merged (I doubt there would be many examples, but it’s good to have)
  • time and difficulty (low/short, medium, high/long; two separate assessments since there are things that are difficult but short, or easy but time-consuming)
  • readiness
    • ready - developer can just jump straight in and develop it (for example a new, very clear option in some tool, or it has good mockups and looks very sensible - all problems must be only technical)
    • not ready yet
      • either it’s not clear how to implement it (needs design, mockups, etc.)
      • or the feature/change is a bit controversial, or needs more discussion with artists

Would that help in communication?

I personally think it might, because for example, sometimes features are very good, sensible, probably even mentioned multiple times already, it’s just that no one worked on it yet. Or, other times, it’s clear people want the feature, but it’s not exactly clear to me how it should be implemented (eraser icon anyone? :wink: ). So, a dev account with this kind of summary would, potentially, give the idea what’s next: should there be more discussion, or maybe you need to just wait until it happens, or the idea probably won’t be entertained for some reason. And it might gives an idea how long it will take until it’s implemented: short, easy tasks might be implemented asap if some developer notices it when they have some time, while long, difficult tasks might take longer.

On the other hand, I’m a bit worried that clearly stating “nah, this is low priority, sorry” even with a reason might not be met positively. On the other-other hand, if right now some people feel like devs are “shutting down” ideas by not confirming them or promising to work on them soon, then that’s a bad situation as well… Clarity might still be preferable. What do you think?

Using the threads you mentioned as examples: (click to unroll)
  • What makes Krita's canvas operations feel so "wrong"? - that is definitely difficult (all input-related tasks are, in my personal opinion :wink: ), medium-length, ready, with medium priority.
  • Krita's higher bit depth color handling is unusable, and it affects you even if you don't use it. - this is more tricky, it has three parts:
    • one is already done (gradients work the way you wanted, at least they seem to in my tests)
    • second one (filter layers) is difficult, medium-sized, high priority, but kinda unready because it would change the internal design of Krita, so there should be a discussion with Dmitry present, and possibly it needs another solution than what you suggested (so the discussion should be with artists and not just among developers, so it’s not only a technical issue), so I wouldn’t consider it a task ready to implement
    • last one (export) is medium difficulty, medium time, medium or high priority, and ready.
    • I added a comment there since I had more things to say but there is no point in writing them here instead of in its ow topic.
  • Add more axis to the 'fish eye' perspective ruler. - easy, medium or small-sized, medium priority (only medium and not high because fish-eye is a bit niche), ready. And the reason you got no reply from developers is probably because they/we missed it. Or someone looked, saw that it’s a valid request, but they can’t implement it right away, and didn’t comment because they couldn’t promise anything.
  • QOL request: Have translation transformations act the same as the move tool - #10 by tiar was a recent regression, if I understand correctly, so it has the highest priority. It was also difficult (all transform tool related things are, for me), short and ready.

Also good thing you mentioned the fisheye axis request, I am working on assistants right now and I went through feature requests on the forum to make my TODO list, and this task didn’t appear simply because it lacked “assistant” word. I will add it now (though, interestingly, I already got a request to make fish eye axis in different colors).

(Which also shows how old feature requests might still show up later when someone starts to work on a specific topic).

5 Likes

What we could do is make a list of all the suggestions that have been made here on the forum

FYI, I just coincidentally came across this featureupvote thing. Its free for open source project if krita developers are interested. ( I was trying to find something similar but opensource so that I can host on my own for my personal project but found this.)
A list of all suggestions where people can vote is definitely more useful.

3 Likes

Well there have been Kickstarter campaigns in the past. But according to Halla, the whole crowdfunding hype is just over, hardly anyone cares, since too many projects simply didn’t go anywhere.

And concerning “estimated development cost”, I think you can still make a lot of money if you can make just halfway decent predictions…in a lot of engineering fields you can make good estimates (if you want to, I guess everyone knows the result is often what potential customers want to hear, not what the real costs are), but software engineering is not one of them.

bugzilla technically already has the ability to upvote stuff. That said, one downside with things like this is that if what people ask for is something that involves a lot of developer time such as rewriting everything? It would be quite a disappointment if the thing that wins the vote takes years to implement. Not to mention I’d venture the big things are quite well known about. And like any vote on a thing easy to access can be manipulated.

It might work out though for things that don’t take up a lot of developer’s time though.

How about instead of crowdfunding, just give sponsors “votes”. And let them vote once a month on features that would take a dev small amount of time to implement. And once a year for things that would be medium to implement. So sponsors feel like they have some say while at same time not being completely in control of direction.

Though probably not to discourage people, make it like what can be implemented in a week. So if #1 is finished in 2 days, rest 3 days can go into #2 and if it is finished earlier into #3.

2 Likes

Wow, there was a lot of feedback since last time I was able to answer here! I will not reply every single point in each post because it would take forever, and some of the points were taken by other users, so I’m glad to know my original opinion is not only my point of view and the suggestions here are not for saying how to do things in the correct way, because I think Krita is really a wonderful thing built with pure effort and talent; my point is that at this point, if development follows a path with a parallel communication strategy, their work will not be only reflected in software features, it would also be reflected in the growth of the community, the user experience and the increase of resources to work even more in Krita in the future.

My main point is that we could create huge hype while developing minor features that gives great value for specific work flows to create social media communication, showing each new update as a whole new product for each market segment, but in the end, it’s Krita we already use with a focus in every user type in each release, and that may involve must have features, improved UI thinking in the final user, a premade workspace for each (texturing, pixel art, digital painting, sprites, etc), shortcuts they already know in their workflows, etc. Those are things that may not have a heavy impact in developers work in all the cases (of course, there are some that will be more work intensive), but mostly is what will make the difference in the guy who only use their software for an specific task and suddenly opens Krita and has to start configuring it to make it really comfortable for him. It’s not my preference, I must say I enjoy the software like it is at the moment, but I don’t think in myself like the standard Krita user (some people make that mistake, and that blinds themselves to the capabilities of improvement), and I really think that a simple thing like asking the new user during setup process which will be his main use for Krita would make a huge difference when seeing the program open for the first time and can find the elements they are looking for and start to draw/work in a natural way.

As I said, all this sort of ideas are just examples, and those can only be taken after some research in artist community with some polls, investigation and interviews through this forum and social media. This information could be organized and documented for developers as an additional tool for them to improve their results and they also could decide if they use it or they prefer to focus in a different thing or specific task. This sort of research open oportunities like different crowdfunding campaigns, patreons or direct donations, and also makes Krita visible for possible sponsors. Reaching new public means a lot of new oportunities.

Edit: Sorry if im not answering every mention, Im writing on mobile otside home for this weekend.

2 Likes