Libre Arts - Streamlining Inkscape for the masses

It’s not a heavily guarded secret that I have an undying love for Inkscape. For me, it’s one of those applications I’m really excited to use every time I have some silly need for a vector graphics editor. Which is why everyone actively involved with the project is my personal hero, and I’m only happy to chat with them every once in a while about how the project is doing.

This time, I spoke to Chris Rogers (Vectors team, i.e. PR and communication), Tavmjong Bah (developer), Martin Owens (developer), and Adam Belis (UX guy).

Q: So, first off, I love a lot of things going on with Inkscape lately. There was a, well, not a moment, but quite a long period of time, actually, when I was a bit scared for the project. Long dev cycles, not enough developers etc. Things seem to be so much better these days. What would you attribute it to? What did you have to change?

CRogers: better organisation internally helped. A move to RocketChat and Gitlab to track issues and multiple groups for different parts of the project seem to really have helped. Also, sharing successes and mutual respect and gratitude creates motivation, and it’s easier to do that with organised chat and group structures.

As always, a considerable effort by all our developers to make a great release really helps. Possibly having a release video to showcase that work adds to the feeling of achievement, and a place for users to say thanks for all the hard work. It’s really motivating to see. Feel free to steal/modify or otherwise reinvent our welcome screen, just give the user the opportunity to banish it if they feel they don’t want one. ;)

Tavmjong Bah: I agree with Chris! RocketChat and Gitlab. I would add the important contributions of the “Vectors” team who have done lots of great work which helps build the Inkscape community (and offloads a lot of stuff developers didn’t do so well in the past like release notes).

Adam Belis: I don’t feel like we have more devs since I joined 3 years ago. I still feel like the project is lacking people on all fronts: org, dev, UX, documentation, etc.

From what I understand, what helped was finally porting the user interface from GTK2 to GTK3. It was just a huge task and brought many regressions, some of them are still in even after 2 years. Just to compare, 1.0 was in alpha state for 1.5 years; but for 1.1, it was just 3 months. So if you want a faster release, don’t port your app. Too late for us though! And we probably need to port again to GTK4 now if we want to fix performance regressions.

Another thing that changed is release strategy/schedule. We are aiming for timeframes, not the features. Major release should be out every year, minor — every 4 months.

And yes, having a place like our RocketChat and GitLab where you can build relationships with people in the project helps a lot. Good UX for contributors is very important.

Q: With my GIMP hat on, when I saw the new greetings customization dialog, I was, like, we should be sooo stealing this for GIMP! :) We had that sort of thing long ago, people were furious having to click through stuff, so we ditched it. Some 15 years later, we have a 50/50 split between users of dark/light themes and maybe a 50/50 split between users of grouped/ungrouped tools in the toolbox. So we are taking notes, because now even Blender has a basic first-start setup dialog for basic workflow things like left/right click for selection etc. For Inkscape, did this new feature come from necessity?

CRogers: That dialogue was a joint effort between Martin Owens and our recently formed UX team (with template icons by yours truly). It’s a work in progress, but does go a long way to making Inkscape feel like a more professional application and not just a hobbyist project.

Part of that comes from being able to display some great professional artwork made by our talented dedicated community of designers and illustrators, and also the ability to give the user quick-start customisation options. It was not an easy thing to decide on, and there was significant conflict within the project on whether to include it at all.

A year or so ago we, as a project, decided to leave decision making about Inkscape’s UI to the UX team (which developers can join in the conversation). The decisions that come out of that group are basically “marching orders” for developers of the thing, whatever it is. It’s what developers wanted — carefully thought out and considered UX from designers who use Inkscape in production, and also have some experience in UX.

We consider the options, the pros and cons, do some user testing, and give the results to developers, who have been awesome in doing just what they said they would do with the work — implement it.

Do you have a plan going forward when you unavoidably add major changes that require users' decision? Meaning, will you keep adding more options to this dialog?

Adam Belis: Hopefully, no. Only if we would add some new customizable option to the theme. This should be seen by users just once after they install Inkscape the first time. I would much rather fix the UX of our crazy theming settings.

Q: In fact, what’s your plan for UX design going forward? Some software projects rely on testing ideas on focus groups, which I don’t think you do yet. And some will implement telemetry and let people test alpha versions, which, judging by recent Audacity confrontation, doesn’t sit well with users. And it’s hard to neglect user-focused design, especially with such a complicated piece of software like Inkscape. So do you have a plan for UX work?

Adam Belis: Our current workflow really depends on case by case. We try to encourage devs to ask for UX help ASAP — sooner than they start doing any coding. Then test and give feedback as the feature is developed. If nobody is sure or we have a conflict with opinions, we try to design studies or ask the community or find solutions we all can agree on.

New, cleaner, and more compact page settings design has landed to the main development branch of @inkscape. This will be part of version 1.2 expected later this year. Patch by Mike Kowalski pic.twitter.com/uRkSMq23F6

— Libre Arts (@lgworld) January 13, 2022

We do testing when we are not sure about our solutions. We would like to do more, it’s just so much work. Also, our testing workflow still sucks. I am poking our devs to improve it by having experimental MR build on the site so they are easier to test. Anyway, “Pasting on top of selected objects” is probably our best UX study we did so far.

Q: There seems to be a pattern this year with Google Summer of Code projects for Inkscape: lots of on-canvas stuff. Boolean ops, marker editing, smart guides. Was it a happy coincidence or more like an orchestrated UX push?

Adam Belis: It’s 50/50. I told all students to look for ideas in our UX tracker, and these tools are popular in general. It’s much nicer to click on the canvas than looking for specific dialog or remembering shortcuts.

But I also think this is a design pattern that Inkscape uses in general — editing everything on the canvas. But at the same time, we are missing so much editable stuff, e.g. we still cannot easily edit symbols and patterns.

I was one of the people to give feedback on GSoC proposals, so that could have played a small role :D Now when I think about it, I had help with designs most of the time :D

Exporting multiple pages with the resurrected GSoC export dialog. Now just lots of bugs to fix! @inkscape pic.twitter.com/3XEqI0yRjE

— Martin Owens (@realdoctormo) January 13, 2022

Q: Some 6 years ago, in an interview (back when Libre Arts was Libre Graphics World), we spoke about performance issues, and Tav mentioned that Inkscape suffers a lot from what he called cargo cult programming :) You did a lot of cleanup while working on both 1.0 and 1.1 (and before that, of course). What does your gut feeling say? How much is there left to do in terms of major changes?

Tavmjong Bah: Lots of cleanup done but much more to do! We still suffer from too much cut and paste but we’ve moved to using Git Merge Requests which makes it easier to review code coming in.

Adam Belis: Yes, performance is still not good, we still do not have the performance of v0.92. Windows users suffer a lot, but macOS users — even worse. We discussed having another GPU render engine but … That’s a topic for a few more years.

Q: Every time there’s a new Inkscape release, I generally see a lot of excitement because every time you bring something important to the table. But I also see a lot of resentment, because, well, I’ve seen many people who are unhappy with Adobe subscription plans. They seem to genuinely want Inkscape to work for them. But they can’t switch because of whatever missing feature and they don’t write code. So they either stick with Adobe for the time being or maybe go for smth like Affinity Designer. And they are really loud about it. How do you mentally deal with the negativity that comes out of it? How do you channel it to something productive?

CRogers: No push for change comes without discomfort. There’s a difference between people who are just frustrated with lack of particular features, and trolls who want validation for their store-bought sense of professionalism. It’s important to listen to genuine complaints, and possibly turn a rant into “this user really wants X feature”.

You might have noticed the information gathering in the Facebook group regarding CMYK workflows.

Oh yes! That was a fun thread to read :)

CRogers: Yeah, we do listen to our users and we do want to deliver things that will allow people to switch and live more comfortably in the FOSS world, one step closer to being free of proprietary software.

Adam Belis: I get where they are coming from and usually tend to agree with this type of criticism. We have some big UX issues and some workflows are objectively worse than Adobe’s or Affinity’s. We usually have 98% of their features (and some more they don’t), just with the worse UX :D. I read a lot of feedback but I guess I just don’t take it personally. I am a loud critic of stuff in the project myself!

Pages tool just landed to main dev branch of @inkscape. Create new pages from presets or draw them freely, fit pages to contents, change order of pages, delete them easily. Smart guides work across multiple pages. Expected in v1.2 the coming spring. Full review to follow pic.twitter.com/80rRGrJQvA

— Libre Arts (@lgworld) December 10, 2021

Martin Owens: I talk probably the most to Affinity and Illustrator users, I ask them what they’d like to change in Inkscape, if they had the power to. Sometimes I remind them that it’s a public project, a charity, it depends on the context of the message. But it’s important to give a lot of these users a different sense of ownership than they are used to with their proprietary tools. This isn’t a “wait until the master gives me my favourite biscuit and a pat on the head”, it’s more of a “get involved and affect change” sort of problem.

Q: Speaking of which… Martin, you are the most sponsored Inkscape contributor of all who have a Patreon page (Tav, Jabier, Marc). But the donation still wouldn’t make a living. I get it that these things don’t happen overnight, it takes time. Do you think this has the potential of growing into a sustainable income? Or is an orchestrated centralized effort to fund development still on the table?

Martin Owens: The charity funding is not just on the table, it’s required to be used correctly. As a charity, it’s important that the funds be used for the public good. Which means that the kinds of projects that the charity fund would pay for must be viewed from the perspective of doing the greater public’s best interests. These projects will be very important items for most, if not all users.

But there will always be a need for the private good, for involvement from people who want to move their own niches, particular focuses or business needs forward. This private good I offer through both contracting and funding like Patreon gives non-developers an important ability to have someone listen to them directly and work towards their private goals. Without which many users would not be able to access quality development resources and get their contributions into the project.

These two methods of funding shouldn’t be confused, or in competition. They serve very different needs and both should be pursued as strongly as possible.

My Patreon account already provides sustainable income. It’s proportionate. If it falls, my hours fall, if it rises (up to a point), my hours increase. If there aren’t many inkscape hours, then I can work on other things for that time.

As for centralized funding, we do have a budget for 2022 with assignments for both development and non-development tasks.

Featured artwork by Victor Kirilchuk.

All original About screen artwork on screenshots was created by Ray Oliveira, available under CC BY SA 4.0.

As usual, thanks to everyone at Inkscape for being extremely patient and understanding with me :)

If you appreciate the kind of work I do, you can subscribe on Patreon or make a one-time donation to help me spend less time on paid projects and more time on Libre Arts.


This is a companion discussion topic for the original entry at https://librearts.org/2022/01/inkscape-early-2022-interview/
3 Likes

Super interesting interview! I only follow Inkscape’s development from far away, so I was not aware of a lot of things. Thanks a lot for this article, @prokoudine!

I can’t help but trying to make a parallel with GIMP. Even though GIMP’s pace has increased in the last 2 years, with regular updates and news, it seems there is still a missing interaction between pro users and/or UI/UX experts. What’s your take on this?

(Note: I’m not trying to troll on GIMP. It’s a great FLOSS image editor!)

Thanks a lot Pierre!

Okay, the important part is that the team does talk to pro users, e.g. the latest dev release has a feature requested by people who do photogrammetry. The team also worked with a UX architect between 2005 and 2012. There’s no dedicated effort to fix UX presently. There is some low-hanging fruit in terms of UX/UI but the current team of developers is busy hacking on what will become v3.0, and that’s mostly under-the-hood work. So there’s a limit to how much can realistically be done in this development cycle for UX, however much they talk to pro users and UX people.

I’m quite certain that should a dedicated developer join the team to focus on UX, a lot of issues that currently require complicated user onboarding could be solved fairly easily. So it’s not “we know better”, it’s mostly “we know this has to be done/changed, we need help with this”.

That was ten years ago… Back when I didn’t have a single white hair… :laughing:

There are two separate problems:

  1. Figuring out UI/UX issues and providing the necessary resources to identify/explain them
  2. Developing a fix or a new feature to implement these changes or fix these issues

Usually, developers will take care of the second part, but the first part requires UI/UX experts. Inkscape seems to have figured that out. Is there anything out of this experience that could be copied by GIMP?