I use it for almost all my diagramming needs (scientific publications/documentation). Closed source tools are almost certainly better in one or more respects. But it's certainly good enough for me, and it makes me feel happy and secure to be using an open source tool.
I can't speak for people who don't suck at design, probably for them Inkscape falls quite short, but for me it was a godsend (despite the presence of some bugs, namely copying and pasting to/from different instances used to be a lottery, let's see if it's better in this version). Kudos to the team.
I find myself unable to grasp the way all the avaialbe tools are expected to be used together, even after following the basic shapes tutorials; and I always seem to have the wrong thing selected, or the wrong tool active, or the wrong properties panel opened. And I still can't make sense of the differences between "object" and "path".
Maybe you can help me. When I want to change the way the current selected tool works, how do I know whether I have to change the options in the above contextual menu bar, or those in one of those dozens of hidden panels (that I can't manage to open again when I dismiss them)? How does one change more than one color in a gradient? And how does one create a shape with radial symmetries? (I found about tiling and the symmetry tab, but I couldn't make sense of it) I've been unable to complete any of those tasks.
* A "path" is a collection of nodes connected by Bezier splines; nodes can connect them smoothly or in a cusp.
* A path has an outline (with color, line thickness, etc) and a fill (none, a flat color, or a gradient).
* An "object" is either a path, a constrained path (like a rectangle or a circle / arc), a bitmap, or a text,
or a group of these. You can nest groups arbitrarily.
* Pointer, the arrow, shortcut F1. This is your main tool. Used to select, move, rotate, stretch objects. Shift-click to select multiple objects. Click-drag to select objects within a rectangle. Ctrl+click to select inside a group. Alt+click to select things under the object on top. Space bar switches between this tool and your other tools.
* Node pointer, the triangle, shortcut F2. Used to edit paths. Click-drag on a path to change curvature, or click on nodes to move / edit them, or ctrl+click to add a node, or drag the spline handles. Does different things to rectangles, circles, stars, by moving their control points.
* Rectangle (F4) and circle (F5) are good starting points for most things.
* Line / polygon drawing tool (Shift+F6). Click on places where you want nodes, press Enter to finish. Press F2 to move nodes and make segments curved.
* Curve drawing tool (F6). Click-drag to draw a freehand curve. Ctrl+L to smooth down the curve.
* Text tool (F8). Click where you want your text, type. When frustrated, press Esc, click the text, Shift+Ctrl+T, edit the text in a convenient dialog.
Most useful keyboard:
* Cursor keys: move the selected object(s) by a small amount.
* Shift+Ctrl+F: fill / stroke dialog (if clicking on colors is not precise enough).
* Ctrl+D: duplicate the current object.
* Ctrl+G: group selected objects, or ungroup a selected group.
* PgUp / Pgdn: move the object up / down in Z-order.
* Shift+Ctrl+A: align and distribute things.
* Shift+Ctrl+M: precisely transform things.
* Space: Switch back to pointer from your current tool.
* Press space, click+drag: scroll the window.
Context menus, accessible by right click, are your friends.
Re symmetries: look at the star tool (press asterisk). Explore clones: clone an object with Shift+D, mirror it with H or V, then try editing the original object. Shift+D brings you from a clone to the original.
How is this all intuitive to me? Well, I started with Corel Draw 3 ca. 1992, and most concepts and shortcuts still apply.
You definitely have to understand the app's model of things; this applies to every app, including things like notepad.exe. Users just happen have some prior exposure to certain models.
Clicking on toolbar buttons and reading the menu items, plus a little experimentation, also helps.
That's fixed. But last time I used it the gradient dialog was still bad (there's an "edit" button on that edit window that only changes one color, you must click on it) and I also could never make sense of symmetries.
Inkscape can be considered as a good professional tool for creative people because it's slogan "Draw Freely" is honored: once you got the basic rules about vector drawing and that you stick with it, you can create something, you won't create something because the tool created it for you by guiding you in a manner that will influence your work too much.
This is how I understand "Draw Freely", that resonate with the GNU/GPL freedom.
As I said, I followed several of the shapes and paths tutorials. That still didn't make the tool intuitive. I've just found this  "crash course" that might have just the right level of detail; it would be great if something like that was linked from Inkscape's help menu with a neon-flashing "start here!" button.
You haven't even tried to learn the software and still open your post with a statement like that??
Maybe you should watch some tutorial series on YouTube first?
Inkscape is excellent at surfacing options. Even a novice can discover how to use it simply by reading options available at any time.
What is it that's particularly unintuitive?
* The multi-window interface. I know you can change this, but there's no good reason for not being the default since the beginning. God help you if you close the layers window and don't know how to bring it back.
* That you cannot save to any format that it's not XCF, but that you have to export to them.
* The sliders to select tool properties, such as brush width. I can slide them (but not all the way from 100 to 0, that requires 6 slides!), I can use the up-down arrows, and I can type a value. But if I want to slide and I click it wrong, I have to enter a number. So now I have to click somewhere else first, and try again. It's frustrating.
* Overlap in functions between different tools. For instance, the perspective tool and the cage tool.
* Fine-tuning a digital tablet. I doubt anyone knows the difference between "screen", "window", and "deactivated".
* Only save XCF and export everything else — I was infuriated by that too at first but when you think about it it actually makes a lot of sense. People hit save with the expectation that they can continue their work later, but "saving" to a PNG (or similar) won't preserve your layers, paths, undo history, etc. That particular design decision has really grown on me even though I still hit Save every now and then when I really want to export.
* Sliders being split and acting non-standard, I'll give you that it takes some getting used to. I don't think it's terrible, but maybe enabling Ctrl for fine tuning or something would be better than splitting the slider in the middle without much except a small and somewhat ambiguous cursor change to indicate it.
* I don't think overlap in tool functions is a Gimp only thing. I would expect that in most software that doesn't exclusively operate on the lowest level possible.
* For tablet/screen mode, that's a part of Gimp that I've never used so I obviously have no idea.
Sliders are split, so the top slides over the full range and the bottom is for fine adjustments.
Assuming you even know you need to bring it back! I've had the experience of starting up GIMP for the first time, realizing I want to use it later instead, while trying to close it I close each individual panel first, and then the next time I opened it, it apparently remembered that I had closed all of the panels last time and helpfully didn't open them again. Took me a long time to figure out how I was supposed to do anything because I didn't realize anything was missing. I hope whoever has decided that UIs should be in many accidentally-closable-and-forgettable panels has seen the error of their ways or retired by now. See also: every single IDE...
There is. It has bugs.
> God help you if you close the layers window and don't know how to bring it back.
You mean god help those people who don't see the Window menu in the menu bar?
> Overlap in functions between different tools. For instance, the perspective tool and the cage tool.
There is no overlap between those two whatsoever. None. Nada. Zilch.
> doubt anyone knows the difference between "screen", "window", and "deactivated".
Everyone who understands English?
Every. single. time. I. use. Gimp. I. Open. The. Wrong. Save. Window.
This is true and awful.
Gimp workflow/UI just does not stick in my brain. I can get back to using Photoshop after skipping a year and it will feel like I've left yesterday. With Gimp it is always a painful 15-minute struggle to figure out the right combination of controls to press.
Tools you know will always be faster then ones you don't know but that doesn't help people who don't yet know any of the tools.
Do you also believe in vampires and zombies? :)
Sometimes, it's even useful for simple 2D CAD (for cutting shapes on a desktop CNC mill), editing PDFs or printing the output of KiCAD's PCB exports to check it for errors.
Truly a secret weapon and certainly my favorite open source graphics program.
Does Inkscape have good routing yet?
2. It takes a lot of time and you frequently have to start over once you find out that what you thought works well, doesn't work well for others.
3. From anecdotical experience, I'd say that user interface design isn't what open source developers are interested in. It's a distraction from what they actually want to work on.
Personally, I find Inkscapes UI okay to use. Blender and Gimp, on the other hand, are a horrible, unintuitive mess. Whenever I need to do some image manipulation, I try to get by with Irfan View and Inkscape (even for raster graphics) as much as possible, just to avoid having to mess around with Gimp.
Also why don't you use Krita?
Because GIMP is for general image & photo manipulation and the product vision for Krita is to be a painting application.
No-one ever said Photoshop 3's UI was unintuitive, yet that's what Gimp feels like to me (having used PS from vers 1 through 4)
It has nowhere near as many features though. I think part of the UI problem is handling a huge number of tools and features like in Inkscape and Blender.
It does have a learning curve. But the same applies to 3DMax or whatever else you might consider using professionally.
That said, Andrew Price's improved UI mock-up did look pretty amazing, and I'd love to see something like that.
https://www.youtube.com/watch?v=UWacQrEcMHk if anyone's looking
E: After watching it, I have to say it has a lot of good ideas, although the dynamic ribbon stuff is probably too much (how did I get here, how do I go back?)
For casual 3D work, I've always been a big fan of SketchUp, but there's nothing like it for Linux. A couple years ago I tried to run SketchUp via wine which to my great surprise almost worked, but when I wanted to save my model it crashed :(
Many things in UX design apply to programming languages as well.
The same could be said for programming: it costs a lot to produce code. In fact, if you run sloccount on Inkscape you end up with about 470.000 lines of code. Whatever way you slice it: that's a considerable effort. Yet people have contributed that for free.
Does this mean that UX-designers aren't interested in working on open source projects? Or does it mean that it is hard for them to collaborate with open source developers? If so: what are those problems?
The reason I'm wondering this is that if I were a UX designer wanting to make a name for myself, making some piece of open source software UX really good would seem like the best possible way to promote myself.
Successful open source projects don't usually start with teams. They start with programmers with an itch to scratch. It's hard to get investment in a group of people. Everyone is always keen at the beginning, but drift away as the realities of the daily grind kick in.
So if you are non-programming UX person, you are dependent on a programmer who might not stick around. Then you are shopping around for programmers (which never show up). If you are a programmer who wants a UX specialist, the one you start with usually wanders off and then you are shopping for a new one (which never shows up).
The result is that programmers develop a culture of building these kinds of apps and UX designers don't. Even if a UX designer shows up late in the process, they now have to fight all the programmers who have gotten used to making the decisions. And one of the perks of running your own project is not having to listen to other people. If you want to do what other people tell you, you can get paid a lot more ;-).
With open source, the feedback loop from users to developers is much weaker because it's not powered by money. It turns out changes in cash flow are a valuable signaling mechanism. I think this is an issue with many aspects of Open Source development, not just UI.
I'm not in any way saying this is an unresolvable issue or that it dooms OS projects, or anything like that. I just think it's a factor.
- UX designers that are actually good at their job seem to rarer than good programmers
- Hence the pool that would or could contribute to FOSS is smaller
- Getting UX changes in is likely something that maintainers don't really like, because it's harder and more time consuming to review (eg. the code you can just look at, but to review a .XML UI you need to apply patches, compile/build, play with it etc.), also UI changes will almost certainly require a bunch of code changes, so if you're changing a ton of lines to "improve UX", then it's not really a great incentive for a maintainer to invest his time into merging that (because it's "just UX").
UX also tends to be opinionated, the guy who wrote the interface originally probably has no issues using it himself, but is probably somewhat opposed-by-default to changing it (works for me™).
Also, if the UX human isn't also a good coder she probably needs to find someone who works with her to make the necessary code changes to support her UX changes, which would be quite challenging in many projects. (Why would I invest a lot of time to work with someone - that I don't know, has no reputation in the project - on something where maintainers will probably not give some sort of "yeah we'll merge that"-waiver?).
- Good UX has a lot to do with consistency. So fixing up an inconsistent project will mean tons of changes, exacerbating all the issues above. It might be as big a change as porting to a different language or framework. How likely is maintainer acceptance for such changes?
So unless there is a process for doing UX in a project, and all the project maintainers back the process, and the process is actually somewhat sane, it's unlikely that it'll work out. This might mean things like having an UX review queue and UX review for new interfaces. Imposing strict UX guides on code/feature contributions might also deter contributions. So you also have to balance these things.
That's also assuming that you have an XML or designer friendly UI toolkit at all. A lot of Open Source is built with GUI toolkits that use essentially 100% code and don't have good designer-friendly tooling (because the programmers were busy scratching other needs first). That definitely narrows a lot of designer input to designers that also can code.
A lot of people give Electron flak, but if there is one benefit to Electron becoming more common in the wild for open source projects, its the relatively much more designer friendliness of HTML/CSS(/SVG/etc) as opposed to classical C++ macros and duct tape UI toolkits.
For that matter, and bringing things a bit more on topic, I'd think Inkscape could be a good application to "dogfood" their own tool and own code a bit further and build more of their UI/UX elements in SVG itself. (Maybe even in a way that others could piggy back off of for future applications.)
This is essentially the case with GTK+. Glade, though it has potential, is practically useless in it's current state. I've searched far and wide to find a mature project using it - so I can learn how to use it on the next level - and came up empty handed. There is no next level.
As far as it goes with GTK+, the only people designing UIs are programmers. It's all either hard coded in C or Vala (or sometimes C++), or defined in XML using tons of features that aren't implemented in Glade at all, and require an intimate knowledge of the GTK+ API.
As a free software enthusiast trying to work on a GTK+ application, I'll be the first to say, things could be (need to be) much better here! Beyond a couple trivial examples, the reference, and a couple dated books, documentation is extremely scarce. The tooling is incomplete, and it seems that the majority of people working in GTK+ have either grown used to working like this, or moved to another UI stack. Making GTK+ programming more accessible doesn't seem to be a priority (and adding more language bindings, or entirely new languages don't help nearly as much as a couple solid books on GTK+/GTKmm and a first class Glade would).
The only way to really learn the ropes seems to be by meticulously dissecting dozens of free software projects. No one will ever invest their time do this commercially when they can hit the ground running with Qt. It only seems remotely possible for stubborn people who write software as a hobby, and people who have matured to the point they can sell their knowledge. For a UX designer to end up here, they would have developed much more valuable skills in the process.
- Consistency. A good UI requires consistency throughout, which requires a good understanding of the entirety of a piece of software, and a willingness to work at a high level. For open source packages there’s rarely a UI standard to hold individual problems up against.
- User testing. UX design doesn’t work in a vacuum, it requires user testing to be effective. This costs a lot of time and effort to organise, and isn’t something you can hack on for a few nights. It’s possible to to A/B testing to gain data of course, but then you have to persuade your friendly developers to implement a testing framework and have some place to store data while waiting for the results to analyse.
For a contrary opinion on the cost of usability testing, see "hallway usability testing" at https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...
I doubt UX specialists live in such a culture. I might be wrong, but from my experience with artists and designers, it's much more of an individualistic culture with stronger commercial interest. I.e. "I do it for myself" and then "want my work - pay me".
If that is true, then there's simply much less UX specialists with spare time and interest in open source than there are such developers.
I think the big difference is actually that commercial software entities can hire UX people to design their user interactions. Open source projects generally have nobody with that kind of skillset, and if there is any money available it gets spent on core programming because there are masses of bugs to fix and features to implement.
I know this because I am a developer and have a very good designer friend.
Or maybe UX as a separate role only works in hierarchical organisations where you only have to convince a few people that maybe don't care that much, don't have to do the work themselves, and might not enjoy thinking out things on their own, just saying...
You do know that we, the GNOME application developers, spend a lot of time supporting both MATE and unity to give people the best experience no matter which shell they use, right?
Do you feel excluded by our work?
And with current technologies I'm sure you could set it up to be all remote with volunteers who'd like to help or use the help of their family members.
Find 2 or 3 random people and ask them to do some task while describing their thought process. Get your devs to watch the recording, notice what's not easy to understand in their UI and make it a priority to resolve.
Inkscape, Krita and Gimp have a good or at least good enough UI (it took some years). I don't understand why Blender has such a unique UI. It feels more like Unix Motif style app from 1994, something that was used for Jurassic Park. 3D editors and 3D CAD apps got a lot more user friendly - pretty much every 3D editor from 3DMax to UnrealED, Unity Editor and 3D CAD like Soldworks, CATIA, Creo and the open source FreeCAD have a very similar user interface and UX. You don't need a manual, if you know one, you can easily pick up an additional app and learn the details starting from there. I wish Blender would over an alternative mode, with more "traditional" mouse and keyboard mappings and re-arranged toolbar-icons.
Meanwhile adding or updating features can be done readily, just stick another menu item on ... which can be eroding the UX gradually.
To add to that the UI that you have becomes familiar and so there's a huge inertia to overcome to make changes. I'm used to The GIMP way of things because it was my first such graphics program that I used heavily - using something like Photoshop/Krita/Corel Draw is hard because of the nuanced different approaches despite them being probably easier for a person approaching them fresh.
It's a difficult thing for a developer to distance themselves from an app to take a fresh view, also difficult to have a plan to make the app harder to use for veteran users in order to make UX gains in the long run.
Or at the least, more effort would need to be put in on the meta layer - how to enable a cohesive UI vision in a decentralized manner.
I'd imagine this is a different challenge than backend coding styles. There is still room for differing backend coding styles as long as certain principles are followed like following APIs, writing tests, etc. A cohesive UI requirement sounds much more stringent.
They thrive to include as many feature as possible and have absolutely no UX / design guidance.
Anecdotally, each time I have interacted with open source enthusiasts while working on a our b2c closed source product, they have ended up being very user adverse with little empathy for the fact that the end user has no interest in learning to use the 10000 features they want to dump to them.
Windows only though.
It's 10 years ago. I feel old.
I don't really understand the complaints about Inkscape being unintuitive - tools that have lots of options and do complex things will by nature be less intuitive than tools that do simple things. Sometimes you've just got to learn the software to make use of it. I have lots of experience with both Inkscape and Illustrator and I actually like Inkscape more. Illustrator was perfect to me at one point, and it seems like Adobe just kept tweaking endlessly in ways that were detrimental to the product, rather than enhancing it.
It also edits PDFs, which I found pretty cool! I use it to make airline tickets not take up a full sheet of paper. To be honest, if you export the PDF back out, it jumbles some of the fonts a little, but that's mostly OK.
on your command line. It exports things to formats, and you can query information from files.
Protip: It's PDF import is amazing.. try it.
The only thing I miss is a workable layers functionality.
I find it interesting how people still don't like GIMP. I always suspect people want it to be like Photoshop, but now I don't know. With single window mode, I have virtually no complaints. (beyond the continual lack of CMYK support, which prevents wider adoption)
For those developing Inkscape, I hope you realize that your efforts have helped me professionally, as I have regularly used it to design graphics and icons for web development at my work. Thank you!
The GTK2 and GTK3 versions work about the same for me. The main issue is that double-clicking and/or select-all in certain text boxes will crash the app. Fortunately, Inkscape saves a backup of your work before crashing.
 : https://bugs.launchpad.net/inkscape/+bug/947660
The "bug importance" field is detailed here: https://inkscape.org/en/develop/bug-management/#Bug_importan...
Also, .93 will have more options in png export; so it's not impossible that antialiasing options makes it, that bug being in my shortlist of "bugs with potentially easy solutions to try". No promises, though.
I don't use/need vector graphics editors very much, but I now bought affinity designer. It seems to be way more professional, and is quite affordable (basically in the same price category as Inkscape, at least for me).
I used it for a while for generating SVG files, ended up writing a script that would optimize the crappy files it generated and reduce them 10 to 20 times in some cases. Oh and then there are these odd floating point drifts (coordinate 10 becomes 10.035 etc.). Seems like one of those pieces of software that would be very difficult or impossible to fix.
Its also not great on small screen resolutions.
I basically just bought Affinity Designer as a knee-jerk reaction because I disliked Inkscape so much.
On Linux, it's vastly more usable, and quite polished for a GTK+ application.
But it has a few problems in terms of usability the major one that would be nice to get addressed at some point is GTK. Getting inkscape to run on macos for instance, requires X11 which creates a really bad integration with MacOs itself. The solution is Qt, probably this is one of those initial decisions that Inkscape devs regret everyday.
Gradients is another example about bad usability, try by yourself to add a new step to the gradient without smashing your keyboard/mouse. Turns out the solution is googling it which gives a solution for that, however you will eventually forget about that since it's non-sense (then repeating the same cycle again).
Otherwise a superb product, in particular if you are on Windows or Linux and you can't run Sketch.
Ideally you could make a selection, and then go to file > export for web, and get a graphical dialogue to allow you to play around with viewBox and other display attributes. Or is there another open-source program that handles this well? Now that SVG seems to be becoming more and more a first class part of the web, this kind of thing would be very useful.
The catch is that if you're using objects, they will be converted to paths (curves) and you'll lose useful things like fill, rounded corners, gradients... If you think about it, what you're asking only makes sense for very simple drawings - only those can be represented by a single path.
I had to pause it quite a bit, but the demonstrations are nice to skim.
What I like most is the abundance of alignment tools Inkscape provides: it is really easy to produce slides that use the space in a well balanced way!
I'm looking for ways to diagram Neural Networks. It would be great if there were some 'NN clipart' from which I could just drag-n-drop stuff.
This usually finds me good options, many from wikimedia etc, which are under a open license.
Many times, if you only can find free and open images, but in raster format, use something like vector magic to convert them to SVG.. VM usually does an excellent job with basic handholding.
* Openclipart - https://openclipart.org/
* Iconfinder - https://www.iconfinder.com/
Uses XQuartz, the platform's X11 emulation.
I'll subscribe to their dev mailing list and see about volunteering to get the macOS version out.
The fact that most of Inkscape's controls are bound to function keys, and that function keys require a modifier by default on macOS doesn't help either.
Still... I greatly prefer Inkscape to Illustrator for the type of work I tend to do in it (creating vectors for a vinyl cutter).
I have to keep old versions around in order to produce cut lines for my laser.
Very disappoint. Perhaps 0.92 fixes.