 So first up, Istavniong with an Inkscape update. Inkscape, I'll give a quick introduction. I'm probably not really needed here. Talk about the upcoming release, and then a little further down the line with SVG2. In case anybody doesn't know what Inkscape is, it's a vector graphics editor using SVG as its native file format. The one thing I would like to mention is that the developers are foremost users, at least traditionally, it was artists who were the main developers who forked it from sort of podiums and started adding things that they wanted. And this is reflected in the features that Inkscape has. For example, live path effects, where you can take the lizard as a path, and then you can put it on another path. And then later on, it's a nondestructive transformation that you can then go, and you can change the path, and you can have your lizard wiggle around any way you want. Or for example, the tweak tool, where you can take an array of objects, and then you can push them around randomly, randomly change their colors. These were things that were put in because the users wanted it, and the users were the developers. Cartoonists, the bucket fill was something that they did. There's some font designing stuff in Inkscape. I'll use a lot for diagrams for scientists and mathematicians. There are many extensions to make nice figures or to embed equations into figures. Scrapbookers, there's DXF export for tabletop paper cutters. Inkscape is used to make designs for engravers, woodcutters. There's a map making extension. OK, so that's a little bit of an introduction. Now what is the status of Inkscape? Well, currently, Inkscape version is 0.48.4. It's mostly bug fixes. That release was over two years ago. So where is 0.49? I'll answer that in a little bit. First, let me tell you what's in 0.49. It's a major refactoring. It was planned to be a long release cycle, not this long, but it was planned that we're going to make some major changes. And the biggest change is using a chiral-based renderer. It's faster, and it's more accurate. It produces more accurate rendering. There's also some caching of complex objects for faster rendering. There is a move to lib2gion, which is a geometry library for manipulating paths. It gives you faster, more accurate path operations. There's improved snapping and many, many, many other behind-the-scene changes. So let me talk about chiral for a second. chiral is a 2D rendering library with multiple back-ins. For Quartz, X11, Win32, PDF, PostScript, even SVG. There's open GL back-ins being developed. It's been used by Firefox, the GTK Plus web kit, the GTK Plus version. And it was used in Inkscape for 0.48 for outline mode and for PDF and PostScript export. Well, in Inkscape 0.49, it uses chiral for all rendering. And this was done over two summers. Most of the work was done over two summers by a Google Summer Code student. So the benefits, as I mentioned, increased speed of Inkscape by at least a factor of two and even more if you use lots of gradients and filters. The filters are accelerated by OpenMP. There's a reduction in memory use up to a factor of four. And complicated objects, as I mentioned, are cached now, which also speeds things up quite a bit and allow rendering bug fixes, especially in patterns. OK, other things, improvements. The gradient tool, there's an improved gradient toolbar. Everything that used to be in the gradient editor dialog is now in that toolbar. So you can say goodbye to the dialog. The stroke and field dialog has had some enhancements. The gradients are listed. And you can sort the list by color or name or number of times they're used. You can rename your gradients in the dialog. So it's easier to keep track of them. You can duplicate the gradients and then make changes to the copy. The text tool has received a lot of work. If you know 0.48, you know that there was a bold and italic buttons. Well, that doesn't match what's used by font designers very well. Those buttons have been replaced by a dropdown menu, allowing selection of all variants in a font family. For example, Deja Vu Sands has nine different font variants. And those are all accessible by the dropdown menu. The text unit has changed to points instead of pixels. There's an improved font family dropdown menu. The fonts that are being used in the document now appear at the top in blue. Often, you are using Inkscape to modify an existing file. And sometimes the fonts that were used are not on your system. And you're worn now by a red line through the font. You can also, if you need to change all the fonts, if you're missing a font and you want to change it to something else, you can now select all the text objects or using that font family by clicking on the button up there. And it's not obvious, but font family fallback lists from CSS are supported. You can actually put multiple fonts in there. And it'll do the right thing for CSS. The node tool has received a few changes. There's something here that allows you to put nodes at the extrema, which is useful for designing fonts. There's a new measurement tool, also motivated by people interested in font using Inkscape for font design. And now measures across objects. So you can make sure all your stems have the right thicknesses. There's a new symbol dialog. Symbols in SVG are defined by a symbol element. And Inkscape will go through a document and create a library of all the existing symbols that are being used in a document and present them to you. There are also, you can also have libraries of symbols in an SVG file. If you drop them in the right folder, then they will appear in the dialog and you could use them. There are two sample libraries. There's a logic library and then there's the travel symbols here. You can also use Visio symbol files by dropping them in the same folder. And in the future, possibly you'll be able to use arbitrary groups in Inkscape as symbols. There's a power strokes. In the beginning, there are Bezier curves. Version 40, 0.40 of Inkscape introduced calligraphy path. And then 0.46, you put a pattern along a path. So here is a oval shape put along a path to make a nice stroke shape. But that was a destructive operation. In 0.47, we had live path effects where you do the same thing in a non-destructive way so that you can then later on change the path and the shape remains the same. And then in 0.49, we'll have power strokes where you can edit the stroke width. So here's an example curve. And you can see the purple points, those little handles. And you can change the thickness of the stroke using those handles. And you can add new handles if you want. You can also choose the cap and the joint styles. And there are a few extras that you don't normally find, the peak and cap. And out of this actually came the person that implemented this implemented an extrapolated line style or arcs line style where you carry on the curve. And this was such a good idea that I brought it up to the SVG working group and they liked it. And now it's going to be part of the SVG standard. I'll show that in a minute. A new feature with the live path effects is the ability to clone a live path effect. The problem was you have one path that's your source path. And then you change the width of it. On SVG, what you need to do is then have an object that you fill. And so you lose the ability to fill the fill. And so by having a duplicate cloned LPE, you can now also fill the inside. Other SVG improvements, there is some work to make the SVG output by Inkscape to be a little more web friendly by removing, optionally removing all needed attributes and style properties. Inkscape has a habit of just filling all the styles in some that you don't need, some that are invalid, some that are inherited that you don't need to specify. A few .49 will be a little more complete in terms of the SVG standard. The Clip Rule property is now supported, although there's no interface for it. The color of interpellation filter value of linear RGB is now supported. If you ever created a drawing that had a filter in it that was created somewhere else and brought it into Inkscape, often it wouldn't look quite the same. Because Inkscape only supported SRGB filters, which is actually not the default color interpolation value for filters in SVG. Also, you can now, if you put text along a path, you can now place it along that path by setting the start offset value. There's new export facilities. You can export flash XML. You can export SYNFIG file format so you can import it into SYNFIG and XAML. And import, you can now import Visio files. And there's a new internal CoralDraw import. There are lots of new extensions. I guess I'm not going to have time to go through all those. A new grayscale mode, a new line in the line distribute dialogue, there's a new possibility to exchange selected objects in different ways. There's a new find and replacement dialogue. So you can find and replace a text or a particular attribute that you want to change. And there are new ways of doing selection of objects. So where is 0.49? Well, there's still a few bugs in it. But the biggest bug that is holding up 0.49 is the scaling of bitmaps. If you put a bitmap into Inkscape that's been scaled, reduced, or enlarged, you get artifacts. So on the left here, you can see the bomb is a single line. Above is a few white lines. And that bitmap is actually larger than what you're seeing. It's been reduced down, scaled down. And you no longer get a straight, nice white line. What you want is more what you see on the right. And that was done, the problem there is that Cairo didn't support very sophisticated scaling algorithms. It's just basically nearest neighbor. And that was a result because Cairo relies on the Pixman library for handling bitmaps. Recently, Pixman has included better scaling, but there's no API in Cairo yet to take advantage of that. We may be able to have a temporary work arounds that in the end, we may be able to not have to wait for Cairo to adopt an API. But now in doing that, we've discovered we have a upscaling problem. Normally, when you're upscaling a bitmap, you often want to keep the blockiness. So if I take the smaller bitmap on the left and upscale it, what you want is in the center. Well, it turns out the SVG specification says you're supposed to use a complicated scaling algorithm when you upscale. And you end up with what you see on the right, which is probably not what you want. Now, a few of the browsers get around this. There's actually an attribute you can specify whether to use a quickscaling method or a more sophisticated scaling method. But you're not supposed to use the quickscaling method if you have the resources to support the more sophisticated scaling. And the more sophisticated scaling gives you what's on the right, what you don't want. A few of the browsers, Ink Opera and Firefox, if you specify the quick upscaling, will give you what's in the center. But you can't rely on that because WebKit doesn't do it that way. So there's possibly in CSS, they actually have recognized this problem. And they're changing the meaning of the values that you're allowed to have with that attribute to something that says, I want to keep things blocky or not. But that's a little ways off. So we have to kind of figure out what to do with this, how to handle it properly. Now as we talk about the future, a few things people are working on is a port to GTK3, on-screen tessellation editing, improved guides, of course, more bug fixes. We are participating in Google Summer Code this summer, so hopefully we'll have some nice projects coming out of that. And of course, we're looking forward to SVG2, and it'll offer us a lot of things. But we need to have to figure out how to integrate that into Inkscape. It's kind of like a chicken and egg problem. We can't have our SVG being exported as SVG2 if the browsers don't support it, support features. So we have to figure out how to do that. For example, a mesh gradient. How do we handle mesh gradients? Well we can have, possibly we can have a PNG fallback in there. But we have to figure out exactly how to implement that. So here's the mesh gradient. We used Inkscape as a test bed for the SVG proposal, which has been approved for mesh gradients. So if you have a trunk version and you've enabled it, you actually can edit mesh gradients in Inkscape. So some examples. Here's the peppers that we're missing from my SVG talk. You can tell which is the real and which is the vector graphic there. It's still black. I think that's a Firefox problem. Hatch fields are another thing that are now in SVG2. So that's something we can add to Inkscape. Unfortunately, SVG2 has not included everything that we want. For example, it's not going to include vector effects. Things like being able to define a path as a bunch of sub-paths. This is interesting for like map makers who have two countries touching each other. And you really want to have just one path to find that boundary. You want that path to be shared. If that's something that interests you, you should let the working group know, because the more people that demand things, the more likely it's to be implemented. Also, control over the stroke position that was part of the vector effects thing. And that's not going to happen, it looks like, for SVG2. Things like multi-page SVGs, multi-line text entry, text initiative. That may happen in SVG2. May not. Perspective transforms should be happening, because it's happening in CSS3. We'll have to see. Also, there's a screening filter primitive that I'd like to see in. But that's not going to be in soon. I'm going to skip that, connectors, that's not so important. Warp text is something that people have asked for, being able to warp text between two lines. Right now, you can put text along a path, but you can't warp both the top and the bottom. Also, there are a few problems. If you see this office here, you notice how the ligature has a nice curve. You can't get that right now in SVG 1.1. There are some problems. And part of those could be political problems. Some fonts, licenses don't allow you to have access to the point data, which you need to do that nice curve. So that's the problem. So anyway, that's the status of Inkscape. I take two questions. One question is quite a technical problem with butt-ended lines, butt-capped lines. When you have a large change in the direction for in the very end of the lines, the shape that is the result is not really defined in the SVG specification. And I know Cairo does it wrong. Inkscape is a little bit better, but not good. So do you know if there is any work going on on that, or if there is any interest in discussing this? I'm not sure what the problem is. Well, should I bring it in? Maybe. Yes, some things are difficult to put in questions. You can answer something to this, or you will talk to him later. I'll talk to him about it, because I have to fully understand. But he understands the problem. So hello. So you mentioned that there are some improvements to the rendering, like using better scaling algorithms. Is there anyone trying to separate the export and the preview? Because when I hear that we're going to get improved scaling algorithm, what I hear is scaling is going to be slower. Because I love Inkscape, but what I have problems with is that there is no separation between the need for high-quality output for the export and then having a very responsive interface while I'm working on it. There is a value you can set in the preferences. The value for the oversample is the same for while I'm working on the graphic and when I export. And it's only important for me to have high-quality output. But when I work and I zoom in, it affects even blurs. When I zoom in to my work, that includes bitmap textures and I have blurs, it's frickin' slow. But I do want eight times oversample when I export. Have you done 0.49? Is that? Because things are a lot speedier, 0.49. Especially things like blurs, because that's a filter. And so now you can use all, open MP, you can use all the processors and. Okay, well I just got a 12-core machine, so. There is something where you can set the filter quality. It will use the highest quality when you export something in a lower quality for the screen. Right, that's. But for upscaling and downscaling, that's, okay. There's no difference. Thank you very much. And now, another applause for Dalvion. And inkscape.