 to introduce you to Martin Owens. Martin Owens is a longtime user experience centric inkscape developer. He's also a streamer. He does regular streams on his inkscape UI developments and is very, I would say passionate about making sure users who, even those users who can't code have an ability to have a say in their tools. And that's kind of part of this whole events theme is these tools that are open source and free. We all have ownership in them. Well, anyway, I'll let Martin take it away. Thanks, Mel. Thank you for joining me on this presentation. I'm gonna be talking about the multi-page features that I developed, actually developed them the year before last and they were released last April. And we're gonna be walking through some of the, just the basics, cause this isn't a very long talk. Okay, so the first thing to note is, I'm going to be using the multi-page features to actually do this presentation. So the first time I've done a presentation using inkscape. So let's see how it goes. The first thing you'll notice is that I'm sharing the screen in inkscape and at the very bottom in the status bar, there's actually a page arrows where you can navigate between the previous and next pages. And you can actually have a drop down of pages. So I'm gonna be using this as sort of like a way to go through these as if there were slides. Okay, so an introduction to pages. The first thing is that inkscape is an SVG editor and SVG does not have pages. We worked with the World Wide Web Consortium for a number of years to try and get them to add multiple page support into the SVG specification and they wouldn't really let us. This is mostly because web browsers don't really like the concept of multiple pages, but it left us with a bit of a problem because as inkscape developers, we want to stick to the specification as much as possible, but we also want to serve our users with the functionality that they need. So what we've had to do is we've developed an inkscape specific multiple page document. They said it couldn't be done, but it is possible as long as you're willing to break the rules. The way in which pages work is there is a first page which is basically the same as it always was in inkscape. It is the SVG documents. It is the thing that shows in previews and thumbnails. And if you load it into a web browser, that's what you'll see. And then there is all the parts that are outside of that page, which are all the pages. The only thing that a page really is is just an area of the canvas, which is defined. And then we use that area in order to do things like exporting it, importing pages and organizing them, and snapping and various other functionality. Because they're just areas of a page of the canvas, I should say, you can actually have sub pages. So here I have, you can see a page that's inside of another page. And what I'm gonna do is I'm gonna show you by using the Pages tool, which is the very bottom on the left-hand side. You can actually select paid pages and move them around. And obviously use these controls to resize them. And obviously use a preset list of sizes as well. You can set labels using the toolbar as you can with every other inkscape tool. And then essentially this just allows you to control the very basics of it are that the page has a position and the page has a size. And then if you wanna get complicated, the page has a label. So pages, actually, yeah, you can see them moving around. You can also delete them as well. I should point that out. So as you move through the pages, just get this one, there's something very important to understand is that when we did a user study on people interacting with these features, it became very apparent that just having an area of the screen that was defined as a page was confusing to a lot of people because there are two different types of modes that you think about. One is that an object is essentially owned by the page. And if you move the page, you expect the objects to be moved along with it. And another is that a page is just a bounded shape. It's just a rectangle that you can move. And this creates all sorts of interesting things of like how do you explain to the user the difference between having objects that will actually move around and be owned by or contained within. And when do you want to just define a shape? We actually decided to go with the shape definition for the technical basis, but that didn't mean that the functionality had to be limited to that. So one example is, is that on the toolbar, this piece of functionality gets confused. There's a previous and next buttons and people use these to navigate the page pages, but this is actually incorrect. The bottom status bar is how you navigate. Not perfectly, obviously. Yeah, okay. And the toolbar is actually how you move the page pages around. So if I select this page, which is page A, and I deselect this option that says move objects with page, and then I select move after next, you'll see that like nothing appears to have changed, right? Page A is still exactly where it is, but it actually has changed because there is an order to these page pages that's inside of the document. So if you were to export it to a PDF, for example, or print it out, then this is the order that you would end up with. But most people find this very, very confusing, like I expected the page to move. And so this is why you have move objects with page as an option, and you can select it, and you can see now, when you move them backwards and forwards, the actual objects move along with them, and the page itself moves. This hopefully should encapsulate most of the functionalities that people expect to see when they're talking about multiple page pages. Oh, I should point out that the version of Inkscape that you're seeing right now is the development version. So there may be some parts of the user interface that are unexpected from the version that you currently have access to as stable, which is 1.2. Okay, so let's move on. Now I'm gonna talk about some of the things in Inkscape 1.3. I had more requests from the people who fund me in my Patreon to improve some more aspects. Margins, Bleeds, some templating, extensions, and printing. Printing is a mistake. I really should have been able to do printing from the start, but I forgot. But Margins and Bleed are actually very, very, very interesting and you can see in this document here, there's a new box next to the page size, which allows you to set margins and an advanced option that allows you to set Bleeds. Most users won't generally have to use the Bleed, but it's there so we can export it and do interesting things. That these things will probably continue to need to be developed since we need to do some more user experience testing. There are some online controls for the Margins. That's what these circular controls are, which you probably wouldn't see on an older version of Inkscape. When I talk about templating, this is essentially, this entire dropdown with page sizes has been completely redone so that it is using the same page size system that you see in the start screen and that you see in the new from template screen. This allows you to do things like load in specific templates and save templates and then use them as a page size later, which can be very useful. Extensions allow you to write some page stuff in extensions, so there's basically more support for paid pages in the actual Inkspitan library as well as being just accessible to templating. Hopefully, these features will be useful, but please do test them because I depend entirely upon users being able to try out these things before we release them and tell me where we've broken things. Okay, so that's the core of what I was gonna talk about. I know it's not a very long talk because I think there's going to be questions and people will probably ask me more in-depth things, so please do let me know. Marion Moses, the dropdown in the upper left will now show the page template size is seen elsewhere in Inkscape UI, yes, that's correct. I was just taking live notes as you were talking. Oh, no, that's not to do with this. Yeah, so one of the things I didn't talk about was the way in which you can now import. So, Jesse's not sharing it, I can see it. But imagine, for instance, that I've selected file import and that I'm now importing a file. One of the options that pops up is essentially to add the pages that are inside of the SVG or PDF on top of the ones that you have. So if you wanted to concatenate a whole bunch of files, you can actually do that. There is not in this version of Inkscape, but obviously with multiple page support, you need to be able to export your pages and it wouldn't be enough to just export single page pages as individual files. We also need to be able to export all of these pages into one document. 1.2, you can actually select in the new export dialog, PDF or SVG, both of these will support multiple pages. By default, in 1.2, it's a simple direct matter of it'll export all of the pages. In 1.3, the next week's video is actually me showing the features that I've been developing very recently, which is an improvement to this export dialog that allows you to select which pages you want to export. So imagine, for example, you wanted to export just five of them to one PDF file. Then this should allow you to do that. You'll have to imagine something a bit like this Backlatch export, but sitting here in where these image size widgets are. And it has the support for page pages. Yeah, so page support is one of those things that I developed as a fundamental technology inside of Inkscape so that over time it can be incorporated into more parts and more functionality. This is something that I wanted to be able to do so that other developers could actually just come in and go, oh, there's a page manager object and we can just facilitate whatever functionality we want without forgetting the fact that multiple pages existed. This was one of the concerns that other developers had when I said that I was gonna work on multiple pages is the fact that it touches a lot of things and you don't wanna break everything. Shout out to the Creative Freedom Summit for inviting me here. It's very kind. Because I'm not really a designer, I'm a developer, but it's my intention to be able to help people with being able to make their artwork. So Ryan Goley asks, what will browsers do with the SVG that have pages incorporated? They should load the first page and that's it. All of the other objects are inside of the document. So if you're running JavaScript or some other processing, they'll still be able to access those objects, but they won't understand any of the Inkscape-specific namespaces, so they won't load anything. Are you seeing slides for your presentation as a use case, like a whole presentation of single multiple page document or for each slide diagrams separately? What are the presenting options? So I am using this a bit cutely because I can show you the Inkscape interface at the same time as showing you multiple page pages. Inkscape has no use case for presenting things to you, but creating a slideshow, exporting it as a PDF file and then using a typical presentation tool to show a PDF should actually be pretty good. I've used it with Big Blue Button, where you can upload a PDF file and then use that as a presentation and that worked very well. Will we ever see Pantone Color Support and Inkscape PMS colors or is that something out of the scope of the software? Technically, I'm not a lawyer, but Pantone is a protected, is it trademarked or copyrighted? Probably both. It's a heavily protected color scheme that Inkscape cannot use. It might be possible for an independent construction of the color palette that either has completely different names with ink mixes that are the same or you could buy a license from Pantone that allows you to install it as an extension, but Inkscape itself could never ship with it, for example. But color support in general is something that I've been working on in 2022, the end of, you should check out some of the videos. It's a long road, I'm gonna say, for getting color support into Inkscape up to scratch. A page can be inside a page, how does that work? Okay, so because a page is only defined by its position on the canvas, your squares can be inside other squares, is basically, it's just a way of saying, it's here and then there's another page here. Is it possible to set up a fixed gap between pages so that content can be nicely aligned to a single grid rather than manually reposition each page? Yeah, so pages themselves can actually be snapped. You should be able to use the snapping tool on the side and then select page borders, I think grids, yeah. So it should be possible. I'm really hoping this doesn't crash now because I'm using the developer version, properties, grids, your regular grid, yeah. So this is aligned to a grid, for example, but there's no automatic way because what I've done is when you're importing new pages or you're creating a new page, it just has a fixed offset in the code to say, I'll just shove it to the left of the last page by this amount. It's a bit crude and in the future, I would hope to improve it. Question, are coordinates say the x-coordinate per page or per whole document? I think I noticed the other day version 1.2 that I had to calculate the x-coordinate on page two of a document instead of just entering saying 50 millimeters like on page one. Yeah, so in 1.2, all coordinates are relative to the first page. So you'll find essentially that the ruler at the top and when you go to place objects, they'll all be relative to the very top left-hand corner of the first page. In 1.3, there's actually an option. You can either have that or you can have per page support. I should have added that to my list of features, but yeah, so you'll notice that this rectangle that I've created on this tiny little page actually has an x-coordinate of zero and a y-coordinate of zero. And so that should be fixed. Is there a way to share templates? Sure, yeah, so if you save as a template, it creates an SVG file and then you can just give that SVG file to somebody else and they can then put that file into their templates folder. Although, you know, the way that I would do it is I would open the SVG file in Inkscape and then use the file save template. That way it'll save it into the correct folder for them and they don't have to think about where it is on their system. Is pages part of the SVG spec or is it Inkscape's own feature? So yes, as I described at the very beginning of the stream, pages is something that Inkscape tried to get into the SVG spec. We sent a representative to the World Wide Web Consortium working group on SVG 2.0 and they were not able to get almost anything into the SVG spec because most of the functionality that a tool like Inkscape needs for editing are not things that web browsers want to have. And ultimately the World Wide Web Consortium is for web browsers. To decide on what these specifications should look like for them. So we've had to develop pages as a function of ourselves and I can actually show you what this looks like by using the XML editor very briefly. Each one of the pages is one of these page nodes. It has an ID. You can see bleed, margin, height, width, X, Y and then the label. So it's a very simple node and the order that they appear here is the order in which they would be exported. Hopefully in the future we might end up in a scenario where multiple pages is such a useful feature that maybe the W3C will reconsider. Time for a new editable SVG standard. It's not an insane idea to imagine that we should have a specification driven by graphics editors from like vector editors because you could imagine even if you invited people like Adobe Illustrator people and CoralDraw and Penpart and Inkscape and we all sat down in a room we would be able to come up with things that suit our needs better than Firefox and Chrome can. And yeah, it's something that I've thought about but I imagine that the organizational infrastructure would be quite considerable. Off-topic question related to Inkscape will there be support for Smexel? SXML. I don't know what SXML is. I presume it's a vector format of some kind. Have I talked to the Penpart developers on their SVG editing work in the browser? Yeah, Penpart is interesting because it's inside the web browser itself and they actually work around the SVG spec. So when they do text, for example, they do it in an entirely Inkscape incompatible way by doing foreign objects with HTML inside of it so they really have a blended approach of both SVG and HTML and I'm not entirely sure what to do about that because the only way to support importing those files into Inkscape would be now to include an entire web browser into Inkscape and I really don't want to do that. But maybe there's some place we can get to where we can make, for instance, SVG 2.0 text support work well enough because that's the other problem is that SVG 2 wasn't supported by browsers even the things that they agreed to support haven't been implemented and so SVG is sitting there with text with very, very incomplete text support. Inkscape has now implemented three separate text implementations and only one of which has been supported by Browse browsers. It feels like I'm ragging on Browse browsers and the working group. The real answer is that they have very different focuses. Okay, are there any other questions? Yeah, if we've got to everybody, I'm happy to break it. What would you want to add to Inkscape if you could? That's what I'm going to ask everybody for the last handful of minutes. If you could wave a magic wand and add one thing to Inkscape. Yes, surprise. It was a quiz all along. A knife tool. That's basically cutting shapes in half. That's cool. One of the nice things we have coming out in Inkscape 1.3 is the shape builder tool. Not quite a knife tool, but it is fun. Fast rendering, yes. We have a guy called PBS who has been working on multi-threading and GPU support. It's a bit of a slug. CMYK supporter I have been working on and it is. I will say what I said in a few videos, Inkscape has supported CMYK for years and years and years, but we support CMYK in SVG, which is entirely useless because who the hell is going to print an SVG? We need support for CMYK in PDF, and that's the problem. There's a hacky way to add underlines via CSS and XML, but no UI. We had a developer who was adding the underlying support and then didn't complete it because our implementation of CSS was incorrect. I still think that we should have added it anyway simply because for simple cases, it would have worked out fine. Does Inkscape support XML translations? I think that is Excel, ST. It does if you use... We have a couple of extensions you can have a look at that do XML translations. One of the merge requests that I have actually supports importing PDF files and retaining their CMYK and ICC profile information. Please do test that if you're interested. We are about finished. It's 11.59. I'm going to turn on my sound. I don't know if you can hear me, Martin, but thank you so much for... Okay, cool. Anyway, we are gearing up for the next talk.