Why Inkscape writes everything twice

Поделиться
HTML-код
  • Опубликовано: 15 сен 2024

Комментарии • 101

  • @fixfaxerify
    @fixfaxerify 13 дней назад +122

    Inkscape is one of very programs where the UI is such that most of the stuff just works like I expect it to. Whereas GIMP is hopeless and has the same UI quirks as 15 years ago, in Inkscape *almost* everything seems sane and coherent. Big fan!

    • @radomane
      @radomane 12 дней назад +7

      More like 20 years ago, when GIMP switched to GTK 2.

    • @SolidTux05
      @SolidTux05 3 дня назад +4

      Gimp is recently getting big updates like non-destructive editing.

    • @KaizenNeko
      @KaizenNeko 2 дня назад +3

      ​@@SolidTux05But still no nondestructive transforms. 🙄

  • @notenoughmonkeys
    @notenoughmonkeys 18 часов назад +5

    I'm truly impressed with how you managed to lip sync perfectly with Audacity.

  • @iRockbard
    @iRockbard 13 дней назад +44

    This is huge. Providing users with the ability to extend Inkscape's functionality is a brilliant move, setting it apart from its competitors. I hope this area of Inkscape will keep evolving and will become even more accessible to regular users.
    It's a pleasure to see the rapid progress Inkscape has made in recent years.

    • @superviewer
      @superviewer 13 дней назад +3

      It reminds me of when Apple finally revealed the iPhone App Store :D

  • @Grant_S_M
    @Grant_S_M 14 дней назад +58

    "Off the top of my hat" :)

  • @PremierPrep
    @PremierPrep 13 дней назад +12

    Thank you so much for the incredible development you do on Inkscape! Love the funding model too. I hope more FOSS devs make it this clear on how to support their work too

  • @jfolz
    @jfolz 13 дней назад +49

    Can you please teach the Gimp people how to make an actually usable tool?

    • @MichaelPohoreski
      @MichaelPohoreski 8 дней назад +7

      All they had to do was just COPY Photoshop's hotkeys and prompt a dialog on first run:
      Default shortcuts? (x) Photoshop or ( ) GIMP
      BOOM. Instant more users but the EGO of the GIMP's devs gives Zahi Hawass's ego a run for the money. /s

    • @Acetyl53
      @Acetyl53 3 дня назад

      It's literally named gimp.

    • @ohio2440
      @ohio2440 День назад

      ​@@MichaelPohoreskidisregarding /s, sadly... not that easy, gimp has a lot of missing „photoshop features”.

    • @epocfeal
      @epocfeal 15 часов назад

      ​​​@@MichaelPohoreskiNot even, honestly all they have to do
      ADD A SHAPE TOOL
      WHY AM I OPENING MS PAINT TO DRAW SQUARES (please don't tell me to use the select tools and swap back and forth to the fill bucket or do edge selection over and over and over)

  • @georgH
    @georgH 12 дней назад +19

    By using free software, we gain the 4 freedoms, and is a moral duty to donate to the developers.
    If everyone did this, the world would be a much better place.

  • @FabioRaitz
    @FabioRaitz 14 дней назад +27

    Please consider giving a look into better text formatting tools for Inkscape. Working with typography on Inkscape is a nightmare. Thank you for all the hard work.

    • @doctormo
      @doctormo  14 дней назад +19

      Eh, it's more of a irritating mess. Nightmares are reserved for text editing in some other notable programs :wink:

    • @sherpya
      @sherpya 13 дней назад +2

      also for tables, I had to create it html then tranform into a pdf, finally loading into inkscape

    • @SteveMacSticky
      @SteveMacSticky 13 дней назад +4

      How vague. Provide details

    • @fonesrphunny7242
      @fonesrphunny7242 12 дней назад +21

      ​@@SteveMacSticky Create a text box an write something.
      You change the font, but it doesn't do anything, because you haven't marked the text.
      You mark the text, but now you'll have to find the font again.
      And when you've figured it out eventually and keep writing, it suddenly switches back to the default font.
      I'm always afraid to set up a new text box, so I keep copies off to the side.

    • @carlosrvillegaschazaro1092
      @carlosrvillegaschazaro1092 12 дней назад

      ​@@fonesrphunny7242 once you like the style just duplicate it (Control+D)

  • @vaibhavmalik7948
    @vaibhavmalik7948 13 дней назад +4

    @Martin, that was a great explanation of the Inkscape's extensions framework. Thank you for making these videos!

  • @KristianBenoit
    @KristianBenoit 11 дней назад +4

    A plus value that come with writing twice in two languages, is code revision. Making sure the C++ backend structure is right... It reminds me of a kernel vs user level apps.

  • @ficolas2
    @ficolas2 12 дней назад +2

    Bro has a fedora and builds open source code, I'm instantly a fan

    • @Craulback
      @Craulback 12 дней назад +4

      it's a bowler

  • @gljames24
    @gljames24 13 дней назад +7

    Wait! You're adding more color spaces? Thank you!

    • @doctormo
      @doctormo  13 дней назад

      Yes. Lots of work, but should be good.

    • @aqua-bery
      @aqua-bery 12 дней назад

      ​@@doctormocan't wait for OKLCH!!

    • @doctormo
      @doctormo  10 часов назад

      @@aqua-bery O can confirm that's one of them.

  • @Titousensei
    @Titousensei 14 дней назад +9

    Do you export some of the C++/C functions commonly used in inkscape in a library that can be easily loaded in python? Would that help with code re-usability?

    • @doctormo
      @doctormo  14 дней назад +4

      It would help. There's lib2geom which needs to be packaged into it's own py2geom library and made available. Other code too could be partitioned. We'd still want them to be on pypi though.

  • @deltapi8859
    @deltapi8859 10 дней назад +2

    Inkscape is life. Helped do my master thesis, helps me with my creative projects. It's the only software I consider more worth than my PC hardware, yet it's for free.

    • @doctormo
      @doctormo  10 дней назад +1

      Well, instead consider it "already paid for by other people"

    • @deltapi8859
      @deltapi8859 10 дней назад

      @@doctormo true. A truly remarkable software. I try to push it to people, but they think it's either "to much work to learn" or when they want feature they tend to go to "illustrator". I would say just start with something and then later look for the professional tool.
      Inkscape in fact is easy to learn and hard to master.

  • @Omnifarious0
    @Omnifarious0 12 дней назад +1

    I love Inkscape. The way it works with SVG has made it relatively easy for me to make art with math. I've been able to use Python to generate serpinski's gaskets, golden spirals, and a number of other shapes that I've then been able to further manipulate in artistic ways with Inkscape.
    The one I'm proudest of is the golden spiral, partly because it involved me having to compute a limit of a non-trivial function in order to figure out where the center was. But... the one that was likely the most challenging for Inkscape was one where I used linked clones + transforms to build up the Serpinski gasket from a base triangle. This enabled me to then go in and add features at various levels of recursion to achieve effects that automatically replicated back up to the largest level.

  • @pulsar17
    @pulsar17 13 дней назад +16

    That was the best description of C++ ever 😂😂

  • @tracyrreed
    @tracyrreed 9 дней назад

    I love Inkscape! Thanks for all that you do!

  • @lomaharshana6933
    @lomaharshana6933 13 дней назад +4

    That's such great news! Can we request Inkscape to do boolean as part of preprocessing before passing the SVG to our extension; e.g. intersect object A and B and pass the resulting SVG to the extension? Also, like selected objects are passed to extensions, it would be great if in edit mode selected nodes are passed so that the extension can work at the node level. Greatly appreciate your hard work!

    • @doctormo
      @doctormo  13 дней назад +4

      Yes. Though I haven't tested it. I'm not entirely sure if it'll do the expected thing, but I image that tweaking the actions to be more pre-processor friendly will be simple jobs that can be given to any programmer.

  • @PixelOutlaw
    @PixelOutlaw 12 дней назад +1

    One thing that might be nice is an interactive REPL the way we program in Lisp (we work with a running image, compiling per function as it's entered in). With C bindings, I could embed ECL and have such a thing. It's very hard add scripting functionality after a substantial portion of the program is written rather than define the primitives of the program and expose those directly to the programmer as Emacs did with Emacs Lisp. In this way, the script writers can actually outpace the developers because they have the primitives of editing exposed to them directly through a language that isn't frozen and supports extension via structural macros. While I respect batch programming, I think a language designed to be running WITH the program presents more power to a programmer who wants to build tools that run during the creation process.

  • @mikemhz
    @mikemhz 13 дней назад

    I was really thankful when I found Inkscape

  • @user-ev6fj5up9w
    @user-ev6fj5up9w 12 дней назад +2

    Inkscape 1.4 release date?

  • @benhetland576
    @benhetland576 13 дней назад +3

    So... back to the video title: Why _does_ Inkscape write everything twice, then?
    Maybe I just missed the explanation buried in there somewhere, but I didn't really catch it.

    • @doctormo
      @doctormo  13 дней назад +1

      Once in python and once in C++.

    • @benhetland576
      @benhetland576 12 дней назад +1

      @@doctormo Oh.. you were referring to the Inkscape _developers_ writing everything twice. Thanks for the clarification!
      As a C++ developer myself my brain wasn't even contemplating that interpretation, since almost everything else that is to run fast in Python already calls right into some C or C++ [compiled] functions. You know there's things like for example Cython, right?

  • @be1tube
    @be1tube 13 дней назад +1

    That was the Holy Grail of Python descriptions. 😂

  • @edbeserk
    @edbeserk 14 дней назад +1

    Hello, how are you? I would like to know if there is any possibility of the option that is within the steps "Arrow keys move bay" being placed in the context menu when the "selector" tool is selected, giving the possibility of quickly changing the movement using the arrow keys, instead of having to go into preferences/behavior/steps to change this option.
    Thank you very much and keep up the excellent work!!! Good luck

    • @doctormo
      @doctormo  14 дней назад +1

      Could I get you to join chat.inkscape.org and come to the UX channel? You need to layout your thoughts in a place where you can maybe upload some screenshots and do and bit of back and forth. I'm not sure what you are asking for in this comment at the moment.

  • @logicalfundy
    @logicalfundy 13 дней назад +2

    Interesting - I do some 3D printing, and I occasionally want to do things like make name tags or create patterns to go on prints. Being able to convert what I make to paths is a good feature, as SVG import into OpenSCAD or FreeCAD doesn't seem to work well with text. Sounds like it should be easy enough to create a script that I can just run to do it.

    • @GegoXaren
      @GegoXaren 12 дней назад

      You need to save as standard SVG, not Inkscape SVG.

  • @oxiigen
    @oxiigen 13 дней назад

    Fantastic news! Thank you Martin!

  • @slizgi86
    @slizgi86 13 дней назад +1

    Just a question. Do you think that the better future would be to rewrite everything, to be of course 100% compatible with SVG, but being not written on it as a foundation? I know, easier say than done etc. But I think that SVG itself give fairly easy base to build on top what was great and awesome idea, but now I am afraid it can be, and it is already limiting a bit this project itself. I doubt it will ever happen, but, just a thought...

    • @doctormo
      @doctormo  13 дней назад +2

      I don't think that brings the advantages that people think it does. Yes, you get to do *whatever* you want, but then again, you have to have the energy (i.e. money) to *decide* what you want. That design work is real work that shouldn't be skipped when making file formats or even in this case an internal data format. The discipline of svg internally in inkscape is actually a very good thing. And we can be bolder about extending it when needed.

    • @slizgi86
      @slizgi86 13 дней назад +1

      @@doctormo Fair points for sure :), But for example, whole workaround of adding CMYK to SVG you are doing. Do you think maybe all that work can be somehow maybe "translated" to never version of SVG format? There are any plans to extend it? Did you think about that or contact about this with the SVG standard?
      And of course, "keep on keeping on" on your great and hard work for us! :)

    • @doctormo
      @doctormo  10 часов назад

      @@slizgi86 SVG 1.1, back in 1999 supported CMYK, and inkscape has technically supported that CMYK since 2007 (see the previous video about the history of CMYK in Inkscape). The problem is, 1. no one other than Inkscape supports SVG icc profiles and 2. Inkscape couldn't export those colors to PDF, so it was a bit pointless. (also 3. our UX was really really bad).
      The new work is all about extending Inkscape into CSS Color Modules which are much newer, so wider support in browsers et al, and providing a way to export these colors, providing safe and predictable conversions and allowing developers a firm base to grow all the new UX on top of. When you look at it, the problem is not the problem it first appears to be.

  • @grandork180
    @grandork180 13 дней назад

    Inkscape saves my ass all the time! Thank you!

  • @superviewer
    @superviewer 13 дней назад +1

    Great news :) Any comments on the recent developement of GIMP? Any contact between the two groups. Perhaps certain things or UI would make sense to share. Time saved. Just a thought. Thanks to the dealings of Adobe many look to alternatives for the whole graphics suite.

    • @doctormo
      @doctormo  13 дней назад +2

      The Gimp project are cool, we've talked with them before. Though the main issue is always "those who pay, choose" and since we aren't paying the gimp project to become like Inkscape, it's hard to convince people.

  • @gljames24
    @gljames24 13 дней назад

    Two things I wish Inkscape had
    1: A well made Animation system
    2: CSS Color 4 color gradient color spaces like linearRGB. sRGB interpolation sucks.

    • @doctormo
      @doctormo  13 дней назад +1

      it technically has linearRGB interpolation. Not that it's easy to use, you have to edit the xml.

  • @RaniaAmina
    @RaniaAmina 13 дней назад +1

    Btw, is there CLI option for tracing bitmap?👀

    • @doctormo
      @doctormo  13 дней назад +1

      technically yes. Inkscape uses other libraries to do all tracing options. Look for autotrace.

    • @RaniaAmina
      @RaniaAmina 13 дней назад +1

      @@doctormo i found and test something like this recently, but seem need fix some part to get best result.

  • @dunno-h2d
    @dunno-h2d 13 дней назад +2

    It's a pity that I don't know python, maybe I've written a lot of useful extensions for Inkscape.

    • @RoamingAdhocrat
      @RoamingAdhocrat 13 дней назад +1

      oh python's fun. easy to get started with, relatively easy to use in a moderately structured and stable way that won't tie you in knots when you're adding more stuff to something you've been building for months

    • @unbekannter_Nutzer
      @unbekannter_Nutzer 12 дней назад

      I guess it is not too hard, to call a xy-program from Inkscape and pass it some SVG and receive the resulting SVG which the xy-program returns. Disclaimer: I've never even tried it and as a non-python dev, don't know how to do it, but would prefer to have a bridge, being it from python or c++ wouldn't matter - in my instance to Scala or Java.
      Is this possible, maybe already done, or am I lacking some important knowledge here?
      I can understand, if the Inkscape devs don't like the idea to support extensions in 20 different languages, but for running it on your own machine… .
      If an extension in some exotic language shows to be pretty useful and is shared in the open, it might still be adopted from c++ or python devs and being reimplemented.

    • @doctormo
      @doctormo  10 часов назад +1

      @@unbekannter_Nutzer Just wrap your program in a bash script, that should work. Just build the inx with the right callable program name.

  • @RoamingAdhocrat
    @RoamingAdhocrat 13 дней назад

    I'm curious about your desk/screen setup there. I work from home from a small desk, currently with two mismatched 1920x1080 monitors plus my laptop, on a bunch of ad-hoc stands, on a small desk in the corner of the room. was gonna replace with two matching 1920x1080 monitors on arms but am open to ideas!

    • @doctormo
      @doctormo  13 дней назад +1

      One monitor on top of the other has been a great set up here.

  • @oglothenerd
    @oglothenerd 10 дней назад +1

    Inkscape! Woohoo!

  • @victorwestmann
    @victorwestmann 13 дней назад

    I would love if Inkscape had better text tools and controls to put text on a path. Especially inside of circles. How much time and money do you think we would need to make it similar to affinity designer tool to do this the same way?

    • @doctormo
      @doctormo  13 дней назад +1

      I know there's some work ongoing to improve the situation from mikekov, although I'm not sure of his priorities. From my own perspective, better UX for the text tools might be fairly easy to do, it depends on the design and how much of the design work is ready for a programmer to jump into.

  • @vil_br
    @vil_br 13 дней назад

    Martin, do you think that in the future the community could invest in some specific resource that is in greater demand from the community for Inkscape? Of course, within certain parameters so that some investors do not take the project to a place that is not good for the community. Thanks.

    • @doctormo
      @doctormo  10 часов назад

      I think so, yes.

  • @ThePacmandevil
    @ThePacmandevil 12 дней назад +3

    I was 90% of the way towards judging your hat until I heard the accent.

  • @jomohogames
    @jomohogames 13 дней назад

    You think that writing extensions is the best way to get into inkscape development? I use inkscape a lot personally and I'm an experienced developer, mostly C++ and Python.

    • @doctormo
      @doctormo  13 дней назад

      Yes. More so for people who don't know C++, but I think the sense of accomplishment in the python side of things is greater, you get to see results much faster.

  • @marloelefant7500
    @marloelefant7500 12 дней назад

    Did you also thought about compiling the related C++ into a stand-alone library that could be loaded into Python via ffi or cpython? Are there reasons against this approach?

  • @Tuxon86
    @Tuxon86 12 дней назад

    I havn't been able to install extensions for a while on Inkscape. All are returning various Python errors, and I know my Python installation is correct on my system and up to date.

  • @oladrolahola
    @oladrolahola 12 дней назад

    Hmmmmm, perchance doth thou use Fedora? I myself dabble in Arches.

  • @disdroid
    @disdroid 13 дней назад

    Inkscape rocks!

  • @RyanLynch1
    @RyanLynch1 3 дня назад

    nice shirt!

  • @SianaGearz
    @SianaGearz 13 дней назад +1

    "Inkscape extensions are separate programmes"; hey it looks like it borrowed this architectural choice from GIMP.

    • @hylje
      @hylje 12 дней назад +1

      You have to isolate extension bits from the main program in one way or another, because the quality requirements for extensions are much lower and can cause a lot of hard to track down trouble if allowed to go amok. Crashing the whole thing is what you should be least worried about. Using separate processes and an inter-process interface is a pretty good approach.

    • @thp4983
      @thp4983 2 дня назад

      More than GIMP it is basically the first two points of the original Unix philosophy:
      "
      1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".
      2. Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
      "

  • @johnpapadopoulos5687
    @johnpapadopoulos5687 14 дней назад

    Is exporting to CMYK going to take that long? Over a year...?

    • @doctormo
      @doctormo  14 дней назад +6

      By release, yes. But you'll be invited to beta test it long before then. And don't forget with my funding cut in half this year, this is the slow road. I wish I could get more people and businesses into investing into this project, but we'll get there with what we have, it'll just take more time.

  • @CallousCoder
    @CallousCoder 13 дней назад

    I don’t like Inkscape, it’s so slow the UI always feels laggy. And I don’t understand why rendering is so slow, there should be no need. And I experience it on Intel Mac, M1 Mac, Intel with RTX2070.
    Where I don’t have those issues with Adobe or AutoCad or even the far more complex freecad.

    • @doctormo
      @doctormo  13 дней назад +1

      Slowness is unfortunate. We tend to see slowness on windows, and sometimes on macOS. Of course Linux is very fast in comparison, there's still a lot of work to do to find windows and macOS developers who can help.

    • @CallousCoder
      @CallousCoder 13 дней назад

      @@doctormo I hope you guys can tackle it because it’s other than that a great vector drawing program. But when I used it two years it was so frustrating to get done. But Adobe was out (isnt coming back) so I pulled through.
      Now I mainly use FreeCAD as I just need technical drawings mainly.
      But I would love to see Inkscape become the best blender (another favorite of mine).

    • @doctormo
      @doctormo  13 дней назад +1

      @@CallousCoder Me too.

  • @ImpressusArt
    @ImpressusArt 13 дней назад +3

    Hard. Hard. Boring Logo. Old Fashioned. Named after C, an O "K" letter.

  • @techrazor3280
    @techrazor3280 13 дней назад +1

    C++ and python are inherently different types of language.
    C++ code runs like Rabbi, python runs(?) like a snail (its bloated too).

    • @hylje
      @hylje 12 дней назад +2

      But both run circles around the poor fool on the other side of the keyboard.

    • @thp4983
      @thp4983 2 дня назад

      Speed of the program vs speed of development. With modern computers the first becomes a non-issue for most relatively simple tasks, such as extensions.

  • @rashedfinance4727
    @rashedfinance4727 14 дней назад

    Could someone please tell me why it is impossible to bring the CMYK feature to Inkscape in 2024 where the CMYK feature is supposed to be in 2004 in Illustrator? The text tool features also need to be developed in Inkscape. I think Adobe's Illustrator is monopolizing the market due to feature CMYK not being in Inkscape.

    • @doctormo
      @doctormo  14 дней назад +17

      Calm down there rash. There's a mass of videos in my channel that explain CMYK and how much god damn work I've already put into it. Including one where I interviewed people who explain why CMYK failed in the past.
      I'll give you the tldw; though. Money. We're asked to run Inkscape on two pennies and a bit of lint. Compare Adobe's year on year investment into Illustrator or millions and millions of dollars to Inkscape's twenty to fifty grand depending on how you count it. Put your coin in and we can move this forwards faster, stay on the sidelines complaining and you get it when it's ready with the resources supplied by other people.

    • @sesebere
      @sesebere 11 дней назад

      Hey ​@@doctormo
      Thanks for all your Inkscape work.
      What do you think about making Inkscape run on a paid subscription, but insanely cheap to subscribe (Maybe $5 for every 3 months for example) and granting users the ability sponsor subscriptions for those in poorer counties. This would help the development of Inkscape into a better tool, yes?

    • @thp4983
      @thp4983 2 дня назад +1

      @@doctormo You now have the blessing of a random guy on youtube, me, to go ahead and delete these sorts of comments and not waste your time responding.
      In the immortal words of RuPaul Charles: “Unless they paying your bills, pay them bitches no mind”.