 Oh, it works. Surprise, surprise. When I made the proposal for this presentation, some time ago, I expected it as a success story. And in the end, it's maybe not really a success. It was a GESA project this year. So it's not my work, basically. What I wanted to present is how it goes from the first step of the usability team, where we identify flaws in the software to the implementation in the end, what happens there, and how it looks like this. Work was done by Risha Kumar and Karina Behrens. She's not that with that. And Jay Meeg. So, for the introduction. Many of you may... Wow, it works. It was the biggest issue about creating this presentation to have a video included, embedded under Linux. Very impressive that it works. Many of you may wonder why we need some work for this dialogue. It is powerful. It has all the features. You can get solid colors, or you go to the sidebar and select in the sidebar the properties. You have not so difficult to use layout. List box where you can quickly go to red and select red. You didn't select red. Select it once again. And red is not red. So you need to change everything. So it's not clear what the upper color is in relation to the lower. It is when you change the RGB value, you get the information here in this dialogue. If you do not change the RGB value, you have the same information points. It's a little bit weird. And one problem, obviously, is that you have a starting tab where you get the areaful stuff and something similar in the tabs. So you start at area, go to, for instance, gradient, or here it's a hatching, and it's the same as the first tab. On the other hand, it's not really the same because the first tab has not all means to deal with the properties. You need sometimes to switch to the other tab. And it could be quite difficult to tweak information. This one, Bitmap. You have a number of really crazy options like X offset, Y offset, tile, checkboxes, all spread over the UI, a placement thing. You can deal with all the features, and you have me. You have no queue what I'm doing. Not more than the preview below. And when you go to the actual tab, Bitmap, what happens? Do you get the same information? No, you will not. What happens now in the presentation is the X and Y offset. It's iterating through so you can see there is some movements in the Y and X axis of the tiling. It's hard to understand why it is implemented, and it has some relation to the other features. I just wanted to show it in the background a little bit. It is some crazy stuff. That's a Bitmap tab. It shows completely different information. For gradients, you have more options in the gradient tab. For Bitmaps, you have more options in the area tab. Some stupid thing. And the reason to have tabs is clear. It's because area can be changed for, for instance, the paragraph settings. A paragraph settings dialog has a lot of tabs itself, and when you add a tab gradient to the indentation tabs, next to indentation you get a tab for gradient and another tab for Bitmap, it makes no sense. So in these dialogs, you get only the area properties, and you cannot tweak the other settings there. It's only relevant here for the shapes and draw wherever. Just to show all the features. And one slide for the notes to recapitulate. It's not easy to access the information. It's spread over the displays. The tabs are not intuitive to use. And pickers are a little bit of an issue because it's always a dropdown. You have only this color from the dropdown, and most of the controls, for instance, the gradient, you can choose from the currently active palette. You can choose color from this palette and nothing else. I cannot say I want a pure red if you don't have the right palette chosen. And some features that have been introduced in the past in the sidebar are not really able in the dialog. So what we create as a proposal is something like this. We want to achieve consistency so that a dialog is the same at every place where you deal with colors in the background. We want to have it easy to use. Our vision is, the liberal office, vision is simple for beginners, powerful for the experts. We need to put it into work somehow. So the dialog needs to be simple for everyone. And that's why we focus on presets. We have in all sections, it's not a tab anymore, it's a section. In all sections of the options, we introduce a preset. So the users can choose the settings from the preset. You can just one click away. And if the user wants, they can tweak the chosen preset, change something, and add or delete the settings that are set up in the options by the buttons under the preset. And of course, a preview so that you see what happens is necessary, of course. And that's the concept. It's clean, I hope. Reasonable has an apply button. I personally miss apply really because the preview is a tiny thing and sometimes I want to see it included in the drawing or in the document if it fits to the other objects there. So apply would be really nice. So what happened? Let's have a look how it was before for solid color and how we created for this particular section. Solid color was, as I said, you have a weird selection. You have a name of a color and if you enter the name, you jump to the respective color. So name red means you select red in the dropdown. The dropdown is there to select a color and the color picker below is there to select a color. You have three options to select the same object but nothing to change the palette. You have no chance to get a real red. There isn't any in this palette. What you can do is to jump over to the RGB values and change the RGB values or pick something. It's well known. So what we suggest is the common, what was introduced in the sidebar, just the normal color picker with a chooser for the palette and something with reason colors so that you select something. If you do repeat a task, you add a couple of shapes or do some tweaks to your document. You want to repeat the same operation and the recently used colors should be available there. That's the task. And next to it, active and new means, I want to compare where I come from. Active is the color of the object where you started the dialogue. It should be just an information so you see it was a green color and the new color will be in this relation to it. What happened is that... Sorry for the not well aligned controls. It's in a state where you have to cherry pick pieces of the code. It's not finished and the cherry pick code compiled against Qt is not well aligned. You can see it at several places right now. It's not the best. But it looks a little bit similar to what we proposed. You can select a palette. You get the color below and select one of the colors from this palette. You get the active color with the information. It is an issue of the brief scene that you do not read the labels that are grayed out, but it should be visible that RGB values of active color where you come from, white shape, is 250-50 for all. For the new, you can have the RGB values. So close to what we have. What you can do is to add the color to the recent color. It's below there. You get also a new palette, custom user palette where you can collect all the things that you want to integrate in the palette. It was before in a dialogue in the user options. Tools, options, color, and there you could have up to 5.3. Configure a palette, but you do not create your own. You tweak existing palette. You could delete colors from the standard palette. You could change red into green or add something there. Now this section or this option will be removed. So tools, option, color will be obsolete, but you get the feature to add colors to the user palette. And the factory settings will not get compromised anymore. It is something like this. What has been also done is that recent colors have been fixed. There was a bug that makes it only working for the active object. If you switch from one shape, for instance, to another one, all the recent color were lost. There was nothing. It does not depend on document or running application. It was the active object. Switching from one object to another lead to a loss in the recently used colors. So it was a meaningless function. This one has been fixed. What you do is record it and store it. So if you go to another object, you get the recently used colors. If you close the document, open another one. You get the recently used colors. And if you restart the application, still recently used colors. It is one more beyond the custom colors. This one is a couple of custom colors that I created here. So something that's a real success. Gradient need to go a little bit faster. Gradient is a challenge because it would be nice to have a multi-stop gradient, to have something to visually deal with the gradient. It was the idea to have some visual controls in the middle of it. It's kind of a slider, and you slide the stop between two colors at a certain position, and you adapt kind of bezier or whatever it is. How it is implemented. You adapt the position. So this one should end in a perfect sundown, for instance. To get it, you need more than two colors. From red to yellow in ten steps, make it not a sundown. Or if you want to have a multi-stop gradient, which is a rainbow, which all the colors, it's not possible. It is not easy because we do not have any multi-stop gradient. And the advanced control is also not easy to implement. So it has not been done. What we get is some kind of consistency, which is good. Consistency in terms of presets in the left hand. You choose the predefined gradient from the left side. And you have options in the middle to tweak this gradient or to create something new and a preview. But how it is done is the same as before. Except the fact that from and to, which are colors, are shown in a way that you can choose a palette. I hope so. It was a plan that you can have all the access to all the colors. Hatching and patterns are pretty simple. It should be similar, a preset options preview for hatching and patterns. Patterns were implemented as part of the bitmap because internally the bitmap pattern was converted into a bitmap and applied as a bitmap with a tiling feature to the object where you want to have it as a background. So for the user it's not really expected that you have a pattern that is a bitmap. It's a weird position to deal with a pattern. So the proposal is to have a pattern as an extra section here. It was a task to get the pattern option out of the bitmap. And yes, it has been done. I cannot show the pattern thing because it crashes the dialogue in the current state, but it works. It looks similar to this one. I think it's pretty nice. You can select hatching, predefined hatching. You can change all the features. We have a few things that needs discussion, for instance the background color, which is not part of the hatching itself. It is an additional option and we need to have a better placement somehow. But in the end basically it's pretty well implemented. Last but not least the bitmap thing. Bitmaps as I said is a weird feature. I tried some time and all in the team we tried to figure out what it means to have an X and Y offset together with a tiling and an option to have an original size. But there are many features that are going together and in the end you do not know what you do. So the proposal is to throw away all the things and to have it as known from wallpapers. On a wallpaper you can have it in original or you stretch it or you zoom it or you tile it. That's all. And perhaps a few more things that are needed. It is too simple here. It is not possible first of all to drop features. You cannot just ignore the feature because documents created before the change you couldn't load a document that has been created before. If the specification contains this feature we need to deal with it. It's also something we have to take into account. And there is in this case one more option missing. So we end up in this UI. Of course it has add import feature, all these things. You start with selecting add style. In this case, tiled. There you have original, zoomed, stretched and all the other things. And it affects the size. If you change from original, which means 100%, to stretched it depends on the size of the origin how it is applied. For instance, if you have a rectangle with two by one it could be the fact that you have 200% and 100% as a perfectly stretched object. If you zoom it means it has to be equally sized so that it fits all the screen, meaning with a height of 200%. That was the idea. It is not fully implemented and it has some more not so easy to understand features like the tiling position where you move the column where it starts somehow away. I'm not sure that it's really an improvement to the dialogue besides the consistency. Of course, what we get is a dialogue which works in every situation on every source you can open this dialogue as a paragraph background and you get the same dialogue as for a shape or a page background. Works perfectly. Putting all together with a nice kitten in the background, no presentation without a kitten. I hope that the concept is clear and easy to understand and that the workflow is something which is accepted or rarely accepted by the users. We had a lot of issues that have to be solved first. It was a small obstacle for the Jesusch student because he did a lot of bug fixing. Before he started to rework the dialogue, he had to fix the bugs. Some of my personal outcomes it's not easy or not possible in such a scenario with a student to do large-scale changes like multi-stop gradients. Caligra has multi-stop gradients. Sounds to me like a simple task, but it isn't as you need to make sure that it works for the files. You need to store it in the ODF format but also in the PDF. You need to make sure that you can read it from other documents, from SVG, from everything. But it's a badly requested feature. We trust on gradients that come from Inkscape and load it as small lines. So it's something which should be implemented. Someone needs to take care about gradients. My personal expectation to Jesusch student was too high and took it into account. Sorry for that. The issue is that I think... What does it mean? Regressions are a problem for us. We cannot update everything at once. We need to take care about the past and our specifications. So regressions and compatibility issues are something which prevents good usability, in my opinion. Or it isn't the result of this project. So Google's a mouth cold. Thanks a lot.