 Hello everybody, I'm Jesús Fernández, as you can see in the slide, I'm here to present my contribution to Qt, it's all out support for Qt 5.8, okay, what's all out, as you can, most of you, I'm pretty sure that you know, it's an open standard for authorization to avoid the users to give the application, our credentials, instead of that, we rely on, for example, Google, Facebook, Microsoft, Twitter, whatever, the authorization and the credentials of the staff. There are two different protocols, but all out is all out one and all out two. My class is, my new module implements all out one and all out two separately. The main point of using all out is, it gives us a security layer over our application, could be in a web server or in a client application that is not really thought to be, but it's all out. The main point is when we have this server and we can, we need to connect it to it to receive some information from it, we can use an application that simply ask for the username and password, and we should trust on this application. Who knows, maybe it's storing the username and password and encrypt it on the disk, send it to internet or whatever. Instead of that, we go out, we can rely on, for example, a Twitter authentication web that has a certificate and everything. I consider that it's more reliable than the other example. I can show you a small example about how to use this new set of classes. There is a queue out of yet that encapsulates everything, like identifiers, secrets, tokens, everything. Also, it creates an HTTP server to be unable to receive the call up, because one of the most important stuff that all out as a standard provides is the way that communicates with our application in the web server or in our client. We need to receive the tokens that provides us the, ok, you are authorized to use this information in some way. This is what we see here in these tokens. These are the tokens and this allows us to make authenticated requests to the server. Ok, I have a small example of Twitter. You see that we need to configure some URLs to make the request, because you know how we have temporary tokens and tokens that are used to make these authenticated requests, and the temporary tokens are used to get these tokens. So, let's try it. The application starts, it's in standby, and we can see the deslogging from the slide. I simply, ok, I can confirm that the permissions that ask are ok, so I simply authorize that. If I have no credentials stored in my web browser, in this case it's, I should write my username and password. Ok, let's authorize it. Ok, redirecting, and this is information received from the local web server that receives the token. We can see it here. So, in our application we receive the token, so we can receive our timeline. In this case, my user timeline. Ok, these classes will be part of this new model in QT58, it's called Q-Network out. In the future we will add more standards to this library, this moment is a technology preview, so it could fail, could improve it, could change everything, and if you feel that you are able to contribute, I appreciate any help with new protocols, wrappers for example Google services, whatever. If you need something, you can reach me in these addresses. Thank you. Give me a second. How do I do this then? Oh, there we are, there we are. My talk is about design. My name is Hans Rathbaid, and I do design for QT with the QT visual design group or the design group, mainly working on Plasma, but also different applications. And I've done this talk several times, this is an old talk, like simple rules to improve your UI design, how many here have tried to do a UI or do ever done anything graphical? How many here does it professionally like work with it? You don't have to stay, you can go. Ok, so my talk is design dummy, it's essentially ten easy rules to improve all your designs. If you're not sort of used to doing design, this might be helpful, you might just fall asleep, it's fine, it's fine. Ok, so we have design dummy, that's the title, and here we are. The first rule is sunsets is filled with color, all caused by pollutants don't be a sunset, colors are indicates not flare. The point with this is, one of the things I often see is that colors are used as some sort of, oh I just add a splash of color, which is horrible, always try to stick with gray, black, white and variations thereof until you have to, until it actually makes sense. For example red color is a good indicator of something dangerous because we all see it. But when you start filling in color, this is what happens, well, extreme examples. There will be a lot of these because this is a lightning talk, this is not a longer thing. It's this thing, you see this first of this. Front weight placement decides to find what the user will look first, you idiot. This will continue by the way, this is the theme of the thing. It's essentially the importance of actually placing things correctly, actually thinking which is the biggest text because your user will always see the biggest text first. It will also see things like if it's bright red, it'll notice that but that's the previous line. This is more or less about placing things correctly on a screen. Then you have spacing, a lot of people complain, I'm from KD so a lot of people complain about our increased spacing. They usually go, it takes too much space, it's so annoying, it's like this empty space everywhere, it's not empty space, it's placement, it's borders. Space is a thing, it's a border of something, around something else. By squeezing things together, you tell them that they belong together, by tearing them apart, you're essentially saying these are two separate things to your user. This is the most important thing in the whole slide because a lot of technically added people ignore the human interface guidelines, the design guidelines, all these things and people have written them for a reason. Unified design is the step one in all design project, you have to start with unification, it has to behave and act the same and look the same, at least feel the same so that the user doesn't have to relearn every little part of your application. Then we have this thing, which is also important to me, which means essentially removing as much as possible. A lot of people always think, oh we're going to have settings for this and that's common in KD specifically where I'm from, but it's not needed. You don't have to have that many settings, people won't use it, really consider what you're adding, remove everything and then reconsider because yes, options are cool but they can't be displayed at the same time like some massive space shuttle, it doesn't work, people don't like that. Animations, I have once said and I will say it again, people who use animations too much should be rounded up in shot and I stick to that because I hate animations. If animation doesn't bring a specific set of information to the user, leave it, don't have flashy things, don't have things flying over the screen, it's just nauseating. Even Google does this wrong at times, they just add animation because it looks cool and that's not a reason enough. Wow, I sound angry, I'm sorry, it's because I'm hurrying up, ok? Then we have this thing, I don't know if you can do this, but essentially the sign is about information. It's about delivering information to your user and making sure that the user understands it correctly. And when you don't consider the placement of what you're trying to say and try to sort of move the user, plan how the user will move through your application, then you're ruining it. It's not going to work if you don't do that. And well, I'm not going to try to read that one, but essentially it's your fault if they mess it up. Don't copy create your own, which is fairly common as well, and that's cool, it's cool to copy at first, but please don't try to invent something new and fun. It doesn't have to be the most craziest thing ever and if you don't feel like doing it, ask someone, there's a large group of people at this convention, I sure you know a lot of people elsewhere as well. So just ask around, it's going to be awesome, you're going to work together and everyone will be happy. Ok, study rules, learn how to break them handsom, which is the point that you kind of have to look at the sign guidelines, you have to kind of look at the sign blogs, but you can cheat, it's fine. Everyone who studied the sign did cheat, all of us, that's the truth. So just check Wikipedia or something and just try to follow that, that's fine. And then just learn it so you know how to break it properly, it's the same with human and face guidelines. Human and face guidelines are written by human, therefore they're sort of lost, they don't make sense completely, so try to break the rules a little bit. And this is the last one, which is messed up again, this is a Google product that messed up the placement, so it's not us, we can feel proud about that because when Google mess up it's ok for your essos. Courage is more important than aptitude and this is the second most important. It means that you have to try, there's a lot of, the reason I usually keep these talks is because a lot of developers always go like oh, I can't do this, I don't have the sign in my head or whatever they use. Nonsense, everyone knows the sign because you use it constantly and the point is that courage is always more important than aptitude. Courage, por exemplo, a brave idiot will always be more useful to everyone else than a really, really, really smart coward. A brave idiot would either succeed and learn something or fail and die. A coward will always sit and do nothing and that's the point, like ask developers, you should do it yourself, it's fine. No, people will say oh no, that's not good, like Reddit will be shock full with people telling you you suck. That's fine, we're used to that, we're all used to that and ask people, ask designers. If you're in KDE, it's the visual design group, just talk to any one of us and we will help. It'll take some time and it'll be a bit, well, weird trip, but it's going to be fine and that's the summation of everything I had to say and just want to move. This is still the most important, thank you. Hello everybody, we are from Wikipedia Learn, we have this. Hi Matteo, here is Ricardo and now we are going to present you what we have done so far in these months and what our future plans, if your laptop wants to, this laptop doesn't want. Ah, it's plugged in, it says it's enabled. Can you hear me? So we wanted to present a little bit of what we have done in this year as we get to learn because we felt that we have done really a lot of things and many times we failed to communicate it properly. So this is one of the ways we are trying to catch up with the whole community. So how many of you have been here at Academy 2015? Well not that many people, but so in 2015 was when Wikipedia Learn was announced and at that time in the picture you can see almost exactly half of the team of Wikipedia Learn at that time. It was great, we had a lot of reception of good feedback and many, many good suggestions from the KDE community, but it was really very much in paper. Until when? Until September, which is when we got our first community, some of the members of this community are here right now. And we got funding from KDEV to go to a house in the mountains and lock ourselves up for four days and come up with what would be the first Wikipedia Learn release. Very few content, very buggy, lot of confusion, but still it was our first version. And that way we could manage to start to speak to students and to professors about it. And that's how we got, in between October and December, our first academic partnerships. We went to these universities that decided to join, they decided, one of them even had an official wiki course, which means they had a course where the official book for the course would be on Wikipedia. And in particular you could see there is two universities and another entity, which might look mysterious. But it's the national network for research and education, which provided us with the servers so that we can run wiki to learn. And not just a tiny amount, they want us to grow big. They gave us a lot of computer power, they gave us machines in 3D centers with 250 CPUs, a terabit connection. So we really thank them for that. And this has given some impact, this is actually not from now, this is from March, it's quite hard to count contributors. But all these activities proven to be beneficial and we are trying to build and we are building quite a healthy community. At least the trend seems nice. What did we do after, in March, after with all this community, we had a way larger sprint. Where? At CERN. I'm adding this picture so that I hope you're envious, so that then you can decide to be a wiki to learn contributor and join all this sort of cool events. And it was very nice because CERN also participates with the HEP software foundation with wiki to learn. And so they gave us a building so that we could hack for one week, day and night and train ourselves and make things even more awesome. Seal in a timeline, one of the last things we did was to file an H2020 proposals for which we still don't know the outcome. It's as an obviously in H2020 proposals, it's not very likely that it will pass, but we hope it will. But the more important thing is that we got 20 of the best educational institutions to sign an agreement and to actively work in wiki to learn, regardless of the outcome of the proposal. And last, but not last, but not least, but still one of the last points is we participated in GSOC with one of the largest organizations within KDE, one of the largest projects within KDE for the number of slots to have all sorts of improvements you can read about. You might have seen some of the blogs writing offline editing and many improvements to the media wiki editor so you can just bring your laptop to class and take notes there. And this is last, but not least for this report is content. So how much content do we actually generate, which is the most important part because at the end you can build a great community, but if you want to make books that you don't have books, that's a problem. So this is numbers for the Italian language, which was the first one which really started and we managed to create about 800 chapters. More, it's like 850 right now. And we actually count on arriving on more than a thousand by the end of the week because most of the material is already there has already been contributed, but it's just not uploaded yet because of some of some issues. To give you a comparison, I took the Italian Wikipedia, which is probably the largest project, which does something similar to what we do. And they have 10 years of history and they could do 2800 chapters, almost 2800. So this was the report, but of course we got many more exciting things to say, but I will let the plans for the future to Matteo. Thank you. And what about the future? For the future we don't want big things, we just want to conquer the world, to dominate the world. Ok, first of all, so far we could learn as being an experimental project. We tried to figure out what was going on well and which problems did we have. After figuring it out, we have decided to release by September 30, so by the end of this month, we could learn 1.0. This will be, as someone would say, the best we could learn yet. It will be the production we could learn, so we are trying to move from experimentation to production ready. We are trying not to make the user need any more code, but to have everything, operations have their own user interfaces. For what concerns community building and participation, during our sprint at CERN, we have decided to launch this operation, which is called Operation 1000, which aim is to create by the next year a community of 1000 contributors. To do so, we have launched the local hives, local groups of weekly learners, and we are planning to launch pilot hives in Milan, Goa and Barcelona and a few more cities, and maybe your city can be in these local hives, in these pilot hives to create new communities and to expand our participation all around the world. For what concerns academic participation and academic contributions, we have created also thanks to the Horizon 2020 project list of more or less 25-30 institutions that are collaborating with us. Here you can see a few of them and on our meta page you can see all the list of academic contributions. We are trying to create academic and research network of high quality to get, you know, to expand the weekly learners all around the world. So far I've talked about a few of the things we have done, but a lot of things due to this, a few times are not allowed to be talked. So you can see here more of our faces, all around there you can see other weekly learners, and we are here at the Academy and QtCon, and we are willing to collaborate with you to share your opinions to talk with you, so please contact us and talk about us. We have also both on Tuesday at 12.30 and you can find more information about our communication channels at join.weekitlearn.org. And so I hope that you will join our battle. Thank you. We are going to talk about post books. Are there any tax collectors in the room? So who doesn't need money? Who thinks money is the root of all evil? So everyone else uses money for something in their life or in their work. We are going to talk about post books, which is an accounting application, and there are many other free accounting applications for Linux as well. Basically accounting software helps you go from this to this, so tidying it all up into neat piles, making it easier to organize. Who already uses a double entry accounting system for their personal finances or self-employment? Put your hands up if you are familiar with this. Is anybody doing any consulting to other businesses about their accounting or ERP software? Does anybody do this sometimes? Ok, so these are both great opportunities. So whether you use it yourself or whether you sell it to other people, you can do this with free software. Post books is not the only free solution that you can use as well and we'll get to that in a minute. Who thinks it's a good idea to have their financial accounting data stored in a SQL backend? Is that a good idea? So many of the smaller packages you can find out there and many of the commercial products for home use don't give you a SQL backend. So this is one exciting thing about using free software is that in the proprietary domain many of the solutions that let you use a SQL backend are a lot more expensive and they are not available for use at home unless you pay a lot of money for them. So a little bit about Xtupel and Postbooks. Xtupel is the company that makes postbooks. They also make Xtupel enterprise and some other things that are not free software that they sell and support. But Postbooks is a complete solution that is free software that you can run and modify under a free software license. They use Cpal as their license. It's one that you may not be familiar with. The basic thing about the Cpal license is a bit like a Mozilla license but it says that you have to put the name of the original author very prominently on anything you distribute. So you always have to put Xtupel on any derivative works in a very prominent way. It does accounting and ERP. So ERP means you can do a lot of other business management tasks basically. It was originally developed in the US but now they've generalized it to work in other countries. So instead of using the word check, spelt the American way, they now use the word payment. They support other languages and things like this. It's particularly strong for manufacturing and distribution businesses. So that's probably a good thing here in Germany where manufacturing is a big thing. A little bit about myself and my involvement with Postbooks. So I'm a software engineer. I have a lot of experience of financial software, systems administration, networking, various things. You can find out about all of them on my blog. I'm a Debian developer. I also maintain packages in Ubuntu and Fedora. I maintain the Postbooks packages in all of those Linux distributions on a voluntary basis. Because for the final point is that I'm using it myself. And it's very convenient to have it packaged and to have other people using it and to get their feedback about issues and to also help in maintaining it. So a little bit about accounting. So who is not familiar with double entry accounting? Who doesn't know what I mean? So we'll break it down in very simple terms. In all software you've got inputs and you've got outputs. So in an accounting system the inputs are your bills, checks that you've written, bank statements, receits that people have given you. These are all things you can input into the computer. The outputs might be instructions to pay a check. So if you put in a bill a month ago then now you have to write the check or send the payment to pay that bill. Otherwise you'll be in trouble. And reports, things like your balance sheet or your profit and loss statement. If you're self-employed you might have to make a VAT return or some other reports from time to time. The benefits of using a double entry accounting system. Has anyone ever paid a bill twice? This is a problem that some people have, especially if there is more than one person involved in running the books. So if you're in a non-profit or a small community organisation and you've got a couple of volunteers, two different people might accidentally pay the same bill. This type of software helps you to avoid that. You can also track who has not paid you. So if you're self-employed you're invoicing people and you're really concentrating on doing the best job you can. You don't want to be constantly looking through your bank account and working out if someone owes you money. So the software helps you to see that and if someone hasn't paid you in there like 40 or 50 days overdue, it will help you see that very quickly. The reports, things like your balance sheet and profit and loss, they help you understand the big picture and to see if you're getting richer or poorer. They let you see risks like big debts appearing in your balance sheet and at a glance in just a few seconds. So double entry accounting looks a bit like this. You have debits and credits and in a typical journal entry they should all add up. You have at least one credit and the values of the debits and the credits should be equal. So in this example we've sold a product for 108 euro and that's gone into the accounts receivable because the customer hasn't paid us yet. So 100 euro is tracked as income from selling that product so that's our money to keep and 8 euro is the tax from that sale and that's a liability now because that's money we have to hang on to and give to the tax collector at the end of the quarter. So the software helps you keep track of little things like that so that you'll keep that money safely in your bank account to pay that tax bill on time. I made a blog a few months ago comparing many of the free software solutions. I won't go through this table in detail right now because this is a lightning talk. But please look it for my blog comparing free software accounting solutions. If you're using it for personal use you might find some of the smaller solutions are more appropriate for your needs. If you're looking at something you can sell to businesses then you might choose a different product from that table. A big topic today is web based accounting. Many of the business solutions offer a web interface. The benefit of a web interface is that you often have bookkeepers and accountants who work for many different businesses and they can't install every version of the software that every customer is using on the same computer. Using a web interface they can log into their customers accounts even if each customer is using a different system. On the other hand if you've got a full desktop interface and post books has a Qt based client then you can have multiple windows, you can have more advanced widgets and controls for manipulating your data and inspecting your data. This is a look at the post books architecture. You've got the GUI as the client application and you've got PostgreSQL as the server. Very basic client server architecture, no other server is needed unless you want to offer the web service to some of your users then you need to run a web server but that's optional, that's off to the right of this picture. You can install the Postgres and the Qt client on a laptop like this and run it wherever you go or you can be running the Postgres on a server in a data center and people connect to it over a WAN. One of the things I mentioned before is the packages so this is what I've been doing with post books is packaging it. On Debian you can apt get install post books as I've demonstrated there. On the client machine use the first command to install the client application. On your PostgreSQL server use the second command and that will install the schema and the PostgreSQL server so everything is packaged. There are three different schemas available, a demo, a quick start and an empty schema for people who want to build it all up manually. So I'll give a quick demo. I've taken screenshots so I can do it really quickly. This is the login screen. This is the main screen when you've logged in. This is the trial balance. Does anyone know what a trial balance is? If you're showing it to a business user or an accountant or a bookkeeper this is probably one of the first things they'll ask to see is the trial balance. This is from the demo database and this is digging down into that trial balance to see some of those transactions. So what next? Try the packages explore the demo database. If you're interested in this type of thing you can contribute to a GitHub, you can contribute to the packaging effort. If you can help internationalize that would be very welcome and to help potential users to compare free software solutions for their business accounting. Postbooks is a good example. Triton is another popular example. Has anyone heard of Triton? So it's based on the open ERP but it's a more free fork of the project. A quick plug for conservancy. Software freedom conservancy has been raising funds to enhance accounting for non-profit organizations like many of the free software organizations participating here. They've just hired someone who's actually starting to work on that project. If anyone has experience they'd like to contribute to that please have a look at their web page and join their mailing list. That's really exciting stuff. A lot of the non-profit organizations actually help participants to come to events like this and code and give talks and things like that. So anything that improves that work for reimbursement which is what they're focusing on right now. It makes everything run a lot more smoothly in the world of free software so they can't overestimate how important this is. So accounting and software freedom is in my final point. Every business needs an accounting system. It's a lowest common denominator whether it's an arms company or a tobacco company or whether it's like a pharmaceutical company or a political organization or whatever. They all have accounting systems. Changing systems is a big effort so they rarely do it. If someone gets started with a free software solution then they're going to grow with that and they'll keep using it for years and that will build confidence in the whole free software ecosystem. Once they've trusted a free software to look after their money it'll be much easier to offer them other free software solutions as well. So thanks for coming and I think that's it for the day.