 I'm used to the KD Smites to have honey because it's all basically blue. And we don't have blue on our projector. For the yellow you see it's actually green. Our discreet shots won't look a little bit strange, but I think we can handle that. Now, I went first and we contacted, we contacted these a tonne ago. They asked about a talk, not about KD, but a talk about KD Future, which is a difficult thing to do for the future's glory. But I'll try nevertheless. Here's the agenda for the next 45-50 page. I will talk about the original girls of the KD project. Give a short history of the Unix desktop, where you'll just read the short history. Then I'll talk about the present. And when I talk about the present of KD, I will not talk about the current that we have today, but about the challenges that the project is facing today. In other words, the things we are working on today. That means immediate challenges and opportunities, strategic key focus areas, technical challenges, usability challenges, challenges from the programming frameworks perspective, social challenges for the project itself, and the sustainability of the project. Yeah, I think that's enough challenges. Then I will try to, if I still have time, to look ahead, what has changed and what does the future bring. There can be some kind of input, I think, too. I'm talking to most of your software engineers that I understand. But are there any people who have written, like, I think we need to face applications for the free desktop? If you've written, like, GUI stuff, can you raise your hand please? And that's, like, 15%. Thank you. So that's still a lot. The others, I mean, I assume you like GUI, and you're interested in GUI, that's why you're here tonight, this morning. So that's still a lot of potential. Let's start with the original goals. KDE was one of the first projects, I think, on the desktop that targeted both developers and users a lot. Because our goal was to fall in rank from the start. For the users, we wanted to provide a consistent user experience. For the developers, we wanted to give them a better development experience. Because what does that mean and how can you achieve both goals at the same time? If you just think about the users and you say, things should be consistent and easy and user friendly, you can set a lot of guidelines and say, an application should do this, this, this and that. And then you have to force those guidelines by forcing the developers to write the applications like that. And good luck. Free software developers that do voluntary work will not just do the things that this would tell them. So the idea we had was we would make it really easy for the developer to write standard compliant applications. And by that, might provide a developer framework where we would give the users a consistent experience. This development experience made the ultimate goal for a developer framework is to let developers focus on the real tasks of the software and not on the other stuff, not all the new stuff that you have to do. And what does that mean all the other stuff? Can it wait a little bit more? What is the other stuff that people have to do? If you go back a little time, I know that some of you have written applications for Linux like 10 years ago, like the OliKD people did. If you did that, writing an end user application and really showing the last mile to make it usable was painful. It was really painful. In the small print you see some examples. You had to write a configuration file parcel. You had to write an online file system. You had to write a couple of standard widgets because they were not all there. You had to invent a file dialogue, a print dialogue, your own code script driver because there was no way, no common way to be printing. You had to draw yourself standard widgets because there were a lot of them. You probably invented your build system and some kind of problem on end and end. In the end, when you wanted to write a small application, you would spend more time and more current and more energy doing stuff that you really didn't want to do. The result was that that stuff of course wasn't as good as it was. The second important part of the development experience is to share components with clients. Why is that important? It's important because it improves your components. If you write a component in your application, it's also useful for other kinds of applications. You give that to them. You make that available to those developers before they can use it. They will actually improve the component. They will give you feedback. It's a very rewarding thing. What's even better is that they will allow you to share their components. So it will improve your application. If you look at... We've been very successful in that approach. If you look at many of the smaller kind of applications, the amount of code that they are based on is a lot more than the amount of code that the application itself gives. So most of the functionality you put us more to come from shared components written by other people. The prime example is the... The K-developed ID on every of you has seen the presentation from our opening yesterday. It's a prime example of what you can achieve by putting components together at length or width. Can you actually see those screeners to lighten it on the desktop to start with what you can do to get into certain electronic systems? I didn't know a few years back that kind of desktop. That was how I started that university. That was what people use. So what can we see here? We have all the four elements of a modern desktop. We have... I'll start with the most important thing. We do have a clock. We still don't have a desktop. We have nifty background utilities that perform us about the CPU that... So when the system became slow, you would see on this graph that the system became slow. We have... That was an important application. XMAT is an active page viewer. Indirective page viewer. We have a great feature. If you look at the window down here, that is a rich text rendering. You see some of it, like X. It's bold. So it looks very nice. Actually, I don't think anybody ever used XMAT because it was faster to just type that. We have... I can... XIs. I don't know if you still remember that utility. The eyes would look at the position where the mouse person... So you move the mouse person, the eyes would move. The graphical editor. There's what we call XMAT. And some of you may laugh, but I've actually seen people use XMAT as programming with XMAT because that's what they found on the system. Until they found a little in XMAT. But the most important part of the test term was the terminal. So X windows in the way of the X window system was a way to go on many terminals. And we actually like the system a lot because we could have, well, SSE overlapping windows, lots of terminal multitasking. So it was perfect. I think most of us were pretty happy. Progress of course was unstoppable. A few years later, in 1996, there was XMAT in the test term. Probably a lot of people have met with that. So let's have a look at the innovations. We have a virtual desktop painter. I've been there. But the rest is to switch desktops. Now it's shaped. It's round. It used to be shaped window exception. We do have very important background image to start application from. You see an interesting bit of technology. The little X mode utility that showed in the CPU look is now embedded into the panel with an X repair window. So that was really cool. We have some reference applications. There's XV, which was the standard image viewer, and another image panel relation. It still has the best keep-on of any industry that is out there. So if you want to clone it, please do it now. And we have the web. Netscape. Standard web browser. I think this is Netscape. Probably 2.0 something. This is motif. That's an original screenshot from 1996 where somebody wants to show up in the cut for my desktop. You see that we're hiding the real meat here. You see that here's an extra. Here's an extra. This is where the work was actually happening. And if you look at those, you can see it. I'm fairly sure that IRC would just launch extra dash E. IRC, probably in the news thing, is probably extra dash E. I don't know. Alright. What is interesting about that desktop is in 1996, that many of the most used graphical applications XB and Netscape were not free time. And XB was shareware of our innovative prototypes. We did it at some point. I'm protected. It took the XB over like one year to reply. And he said, eventually thank you. We moved the unregistered from the top one. So it wasn't really business, but it was shareware. Netscape was closed source. They were using a tool that had run by them to distribute freely. And it was closed source. The commercial world that we, and many people in the Linux community or some people argue, we should go into the direction of becoming more like a real business. So that is the standard CD Desktop on Solaris. That is still kind of state-of-the-art. If you buy a modern Solaris workstation today with Solaris 9, that is what the cat can choose between another version. No. Or this one, I think, is still the default. If some of you have not had the chance to use the CD Desktop and play with it, if you see a sub-workstation do it, it's really an experience. It's unbelievably fucking good. Let me explain why. I mean, apart from being ugly with just a matter of taste, there is, the depth of the Desktop is just like, like the depth of this Desktop is very, very low. You have beautiful icons here, but when you actually vote them, you wouldn't get much. Let's make a step ahead. This is what we have today. Of course, my talk hasn't taken place. There's an office assistant to do know about it. This is the HD Desktop. It still has a lot of elements of the CD or of the previous Desktop, like, hey, hey, hey, hey, hey, I'm sorry. You have the clock down there. I'm sorry for the colors, this is not my laptop. That's the projector. You have a clock down there. You still have a virtual Desktop switcher. You have a Desktop. You have icons on the Desktop. You have a file manager that looks on the first plan similar to CDE. But the real innovation why that is different than what we had before is what you have behind the icons. This here is not just a clock. If you click on it, you would get a calendar. This is not just a little icon that tells you you've got an email. If you click on it, you get a full-fledged group where and calibrating and organizing application. These here is a help system, a word processing application, a complete mail application, a complete web browser, and all those icons represent a totally free, standard-mined application that you can launch that didn't exist before. And the greatest feature of that Desktop is of course the little cane they did because when you open it, you have access to literally hundreds of applications for that framework. So that is where the real progress is. Always keep in mind that cane is a development framework not just a way to launch a free Desktop. Whether it's not ready or never be ready can never work. And they did that five years ago and they will probably do that in five years. But if you look from it from a broader perspective from the grand scheme of things we were just a few years ago working on today. If you would type today's free Desktop and you move it a few years back they would just totally run low people away. We have integrated Desktop like open-office. We have web clients. Not just one with several. We have Firefox and Conqueror free ones. We have Opera which is an emergency browser. We have collaboration software groupware stuff, content and evolution. We have a lot of things in the area of multimedia. Small brokers and detainment. If you want to teach kids to do useful stuff with computers rather than playing on their games there's a lot of software that you find on your Linux that can be used for that. But the most important thing is it's a superb development platform. In many ways it's a better platform to develop software for more than anything else. And sometimes it's looking what we have achieved that we are being the entire free Desktop community in the past years is pretty amazing by all the criticism that we sometimes gather and do ourselves. As late as in 1997 if you would demonstrate to an audience dragging something on a panel or between applications the audience would be amazed. Wow, that's cool. Today people are really annoyed that they cannot drag and drop to the internet. And that's cool. I think the main limit of a superb development platform is that I do that changes plot duty. I think that is the thing I'm working with the past couple of years. I think that is what I consider in the past years biggest contribution to the free Desktop and the limits of the community. I don't know if anybody here used to do a program with it. It's a single source cross-platform C++ that's a lot of words. And essentially it means you can write one program and compile the different platforms like the Linux, Microsoft Windows or MacOS 10 or embedded Linux with a native, fast native-looking feeling application. Qt is a lot more than just user interface classes. We cover IO, printing, networking, XML, SQL drivers, different databases. We have process handling. We have classes with threading. That's a couple of hundred classes with a sophisticated framework. I don't know if you've read the answer. Starting with version 4, that's the thing we're working on today, we will make it finally have it GPL across all platforms. You can write a GPL program and distribute under the GPL with GPLQ on all this mentioned platforms and with it Mac and embedded systems. Which I think is critical. For those not working with toolkits it's probably the same about pieces of software. A toolkit seems like a very simple thing. Like a few widgets, how hard can it be? So many programs start their own toolkits and I think they can be very much controlled by the first 20 people having their own toolkits at some point in time. But once you do it more deeply, the demo is always in detail and the toolkits become a more than more difficult task as time goes by because people's expectation is dramatically. To give you one key figure just in the upgrade from QT3 to QT4 I think we invested something like I have exact measurements but roughly maybe 60 to 70 man meters and one last number about QT If you're wondering about the commercially part of it we have currently around 5,000 customers some of those have been companies with hundreds of licenses and many different products and 70% of those companies say they worry target linux or they do target linux already. So there is, if you think about the success of linux or the free desktop desktop platform there is many also commercial applications written for it and coming to the platform. Now most of those things are not retail software so you must not be mistaken if you think there is software or there is maybe some doughy stuff very few things that you can get on linux there is a lot of other places where software is written that runs in linux that you never hear about so it is a pretty strong platform. So we have a lot of development going on lots of uses we can use a linux computer with a free desktop everything is relatively consistent it's the mission accomplished it's the free desktop basically finished all remains is a little bit of polishing in there of course that's a boring, rhetorical question in my view the journey just again in the past nine years we've developed from basically nothing to a usable desktop system in fact it's so usable it has so many features that many of you probably don't use it because it has too many features but numerous challenges in front of us which give us even more opportunities once you reach the line of the necessary features you have a foundation from where you can go on and innovate the free desktop is there but it's usable now we have the opportunity to use this feature to complete flexible framework and innovate and try new things if you have ideas and have people should interact with the computer I think you should use the computer you have two ways to do it you can make some research project play around with say some 3D interfaces new concepts of existing files etc and purely research prototype kind of a way that's fine, lots of people have been doing it and have been doing that for many years but those ideas into the mainstream is what it's hard for or you can choose to use KDE as a basis for this kind of work join the KDE project and innovate with this existing flexible framework that is there so I think we'll have exciting times in front of us if that's going to happen let me talk about the challenges that we have I mean the hospital KDE project this immediate challenge there's a lot of exciting stuff to do no matter what kind of engineer you are if you're like low level stuff, high level stuff if you're like middleware type of programming optimization type of program, what's happening there's a lot of things going on one of the important projects currently is debuts and how that is something we're going to integrate to KDE I don't know if you're familiar with debuts it's essentially a message from middleware very similar to KDE's D-Cup in many ways it's a D-Cup two kind of implementation we've been involved in that from the start the implementation was mostly done by source code factory I don't know if there are several young people and it has a chance of becoming a ubiquitously accepted middleware on the free desktop now why is that needed and why is that important we have seen what D-Cup has done to the KDE desktop when we introduced it in 1929 if you add the possibility that suddenly an application is not just a process but you have the possibility to talk to every other application at the moment this creates a dynamic that allows you to integrate components and applications in a very smart way the problem so far has been that this integration always started the border of the desktop world that means can the applications could talk now applications could talk separate applications could talk to that world so when we had C-bindings and tried to promote it we thought nobody really picked a D-Bus after a chance of becoming becoming that middleware by introducing D-Bus nothing will change the first event what happens the next year the year after is interesting because once you have a standard way for any application to talk to any other application to cooperate on a higher level you can start agreeing on interfaces for all sorts of things currently we would like to cooperate more with other people and they would like to cooperate more with us or another both desktop world the problem is how do you define the interfaces how do you make that happen in terms of technology D-Bus is that technology so I think you will see a lot of cooperation and integration of D-Bus and by the way that's not the first time the projects that do this we have a lot of free desktop standards that were written in in an effort sometimes more than any device sometimes more than one device but we did that together like XD&D XMPad or the extended window publishing so one challenge for 20 years to get more involved in free desktop in fact I think the whole that community should get more involved in free desktop challenge is to get more involved in expert work if you followed the desktop in the past years there was one stable thing that you can't touch that you can't change that you just have to live with and that you could rely on that was X and a lot of people in the community still have that mindset X is how X is and X is there XD&D is an open development process and everyone is invited to go there and some people start going there and innovating the project if you're interested in graphics and image manipulation and cool things have a look at the expert and this is where you can have a make a significant difference so getting involved in XD&D is a challenge for me we have to port from Q3 to Q4 and kind of reach back to the framework the last one is we can have we have the possibility to have KDE applications on Windows when Q2 comes to GPL on Windows and the question is are we going to do that and who is going to do that and what is the order is that something that you really want to work on here's some strategic key focus areas in the group where contact is applying code up is a server but again in the way of work there's a functional replacement to an exchange server the project has quite the mindset that group-wise and evolution has a vision of this path but if you're interested in group-wear checking out intensive features is definitely going to help software development is extremely important to KDE as probably the most advanced free IE especially if you consider C++ support eclipsed at that point in time can mention at all and of course there's Q4 as a software development tool to simplify the development process accessibility is a key focus area for all of the freedom community it's one for many reasons one reason of course is that it is important for people that depend and rely on assistive knowledge the second thing is accessibility is important because there is a way an area where we in the free desktop world can be a lot better than anything else that exists out there and with this support that accessibility gets in terms of government requirements this can actually be a major benefit for free software or the other way around if we don't do it we probably can easily get kicked out of all the context the last focus area is beyond hierarchy of data the desktop as a searchable web of context this is quoted from Tor that Scott Wheeler will give after my presentation in the other room this is about desktop search immediately we all are confused that it's a way to find information on the internet and it is to find information on the local hardware and that kind of change we do have a lot of ideas how this is going to change technical challenges the thing that annoys me the most is from the start of the time and you've seen that when I was booting first the scissor distribution was booting for almost two minutes and it also took a significant amount of time before it was starting and why is that? this is not because we are all programmers but because we program in kind of good style everything is very modern it's independent processes it's very dynamic which works and it's very nice and flexible but of course it doesn't depend on style of time it's very important because it's just getting longer multimedia framework is another way to challenge we have a free desktop it's not settled what we need who is using the computer who is using the desktop who is the target user and how should we address all those things this is some of my personal thoughts there are a lot of other words that are part of it it just shows that we have a lot of freedom there to innovate and find new things for example before the approach of a universal browser to find new things is the web browser and that is basically because the KIO slave architecture is very successful you can map anything to an IO slave the question is is that the right thing to do is to use your image manipulation program your image data your web browser or your file manager or your three collection things are actually distinct applications so there's lots of things going on we do suffer from a significant amount of feature and configuration both and too long the problem with this is very often you have discussions with other people saying this but nobody uses why can't we just remove it of every feature you have is a software is there for a reason because somebody requested it and somebody can't enough about the feature to implement it so it's very very difficult to remove, volunteer work that people have done because it's simply too much there is like an asset test when a GUI is too complex is when you notice that users normally use the toolbars or the menus but they only work with the context menu because that's the only thing that kind of narrows down the options that you have so one of the challenges you have is simplification of the users there are a couple of broken concepts in KETI that I think should be fixed one of the things that's my personal opinion is magic sidebars copper has a very advanced sidebar that does all sorts of things I haven't yet found a user who's actually using that so I'm still whenever I'm in the KDV logo I ask do you use the sidebar, always good so if you're using the sidebar come to me after the talk the other broken concept is something I feel guilty of it's copy from Microsoft Windows I implemented it not because I liked it but because there was no user request and lots of people asked for it that is the system trade the system trade is literally at the bottom but not so small like this and that's a standard setup I haven't configured anything and I have six icons already in there and the more software people install the more icons you get on Microsoft Windows it's pretty extreme most people that configure the computer like the graphics cover any network, anything they spend most of the time trying to fill around here with those little icons popping up in the windows and it's very hard to do with a laptop mouse you have this huge screen and you're basically filling in the third corner the third corner you have so it's just a broken concept and we have to do something about it challenges in the programming framework a focus on the second part we do have language bindings like today or yesterday there was a talk about KD programming with Python we do have Ruby bindings there's people there's people right after with Java bindings there has been a a project to chart and that was used with a portable laptop there's all sorts of layers but if you look at the result very few people write software in those higher level abstractions they all stick to stick to C++ it might be interesting to figure out why that is the quality of the bindings has promoted is it what is the reason for that and you can see something similar in the normal world even though C has been harder to use most people still go the C way instead of using any of the bindings for the application that you have to see and have as part of the distribution we do have some social challenges in any big project I think the project has become very big which requires some in fact this project leadership which currently works fine and self-organized but it's a little bit not transparent we heard that sometimes it would be difficult to enter the KDE community and understand how it works and want to talk to etc so in any project of a certain size you always have to ask yourself the question how do we make decisions and make sure that then we have some meritocracy the during the Wikipedia talk we talk about aristocracy and we have some elements of that but you don't want to have like warlords protecting that in the areas you want to still be open and transparent and some elements of democracy and a project I think that quickly what's next in the future so the computer changed what we did and what we should do this is just some performance and some reflections of what we'll probably face in the next couple of years if you look at the computers we had in 1996 the standard computers and the ones we have now in 2005 a couple of things changed significantly they said years went from average 33 gigahertz to like 3 gigahertz which is a factor of 90 we have 90 times the CPU I'm talking desktop computers we have average was back then I think 8 megabyte now the average is 512 maybe even more which is a factor of 64 at 64 times the red the most important growth was the hardest 100 megabyte in Rv6 now we have 100 gigabyte which is a factor by effect the network improved from like 38 kilobit to a megabit which is a factor by 26 but what is more important we have like the broadband networks that we have are like round the clock it's not under dialogue we have a network all the time the screen roughly 800, 600 to twice the resolution but not just twice the resolution it's also almost twice the dots per inch we have like 75 dpi like that today I know it's kind of like 135 and 140 and the uses of our software the uses of the free desktop easily went up from a few hundred to a hundred thousand maybe a few hundred thousand at least the factor of that and that means the wall changed drastically and one should think that these kind of changes especially if you change this one the flourish side have an impact on how we do computing so let's see what we've done with that in cynical view 90 times the CPU that means we do a bit more eye-catching for the rest of your life 64 megabytes 64 times the RAM and it allows us to do sluggy programming and not care anymore thousand times the hard test that's played a lot and 26 times the network and we need to cut the mp3 from somewhere so what do we do with the large screen we have a lot of fonts I think we're more likely to have consistent training and to address our big user base we just have more configuration options to make them all happen of course that is a cynical view but I still think it's quite remarkable how little changed how the computer changes so drastically realistically things are not quite as black we have 90 times the CPU and if you look at the modern investor there's a lot of background tasks and things going on that make use of the fast CPU I give you an example that we didn't have back then we do have spell checking everything you fill out a form in the web page you write a mail you write a little note everything is spell checking in background, very non-intrusive then the red line happens all the time you couldn't do that for 10 years you have water completion you never get tired in open office you can see how the work is completed program and editor we don't just do primitive syntax highlighting based on token we do class parts we parse the whole logic we compile it in the background and then the screen will be already in order to give you feedback can you tell us what's going on we have functionality like sewage while typing and we use a lot of CPUs stuff like scripting so I think we're doing quite well on the CPU side the network is probably the area where it's best we have thanks to the network web applications we read our e-mail we install and update our computer systems through the network boot through the network we also do things like can you tell us assistant does that that you don't install anything locally but at some parts of the documentation you would just access online and you would hide that when you use it it just tells some documentation comes online so it's not going to be installed that works fine because we have a fast network and we have it all the time and of course there's sq's in all type of systems but what should we do and what are the possibilities we have with 90 typeset we could do a lot more obviously for many standard tasks that we use as we do the desktop writing e-mail web browsing the computer has a lot of extra time we can do with multi-threaded stuff we can do a lot of things a lot of backup computation like indexing, looking at looking at hands, figuring out what we use what we want to do and prepare for the future rather than just want to save there's always a problem hard disk is the most remarkable for if you drop the mp3 collection we have four hard disks we basically have unlimited hard disk space unless you do video editing but for what you can create office hard documents even the e-mails we provide we have unlimited storage and still today we require the user to save documents and when you forget to save your documents you might have more to save properly or not and when you save your old versions obviously one of the biggest differences in terms of using a computer between a gig and ordinary people is that we use revision control systems everything I do is in something before the cvs as a version and we are used to that but we don't offer it to the normal user everybody has hard disks big enough that when you write phd-thesis and mass distributions whatever or even letters we can store all revisions for you easily enough space go back entirely right this time we also have a lot of space in order to do replication caching when being occasionally disconnected this is something we don't use a lot the question is if we think we have two years from now we will have insanely huge hard disks and sometimes no network but we will have network all the time except in places where we don't want network if we think that wireless network will be available for us wherever we are and we don't need to work with this replication caching technologies but maybe it will take longer for us to get there and it's interesting to use the recarters to take all the information caching but one thing that everybody talks about you really have a solution is the file system we think that the size it has to gain and the size it has to gain and the way you work with it it has to die the last slide a network 26 times the network that we had before and then wanted to do like in the 80s or early 90s today today works fine with an external machine you have possibilities that you didn't have before in order to use your network remotely wherever you are and at this point in time those technologies are not quite integrated into desktop in everyday usage and we could all have access to the sessions anywhere anywhere else and just go there and get access to our desktop and this is not how it is in computers we have twice the screen and what we did was a bit of fun and obviously the natural step what we should do is resolution and DPR in the middle of the board because we also have better devices, they have screens like that and on very small LCDs you get a very high number of dots I think up to almost up to 200 it's like paper so if you write applications that should work on a screen like this with 200 DPI's or on a screen like this with 140 DPI's you need to eventually get to better graphics resolution and DPR in the middle of the board in Q4 all the drawing what we'll do is totally third base and then finalize so we have a lot of possibilities to make that smooth really last slide I promise you 1,000 times at least the least of us that means we are moving from underground culture to main screen computers are no longer deep toys, computers are parts of everyday culture and the old days we made fun of like how we print our desktop computer and we knew like right now we wouldn't use that computer so it didn't matter but today DPR uses the computer and what's worth is eventually we will get better graphics too and the older you get and I'm not that old but I still can feel it myself the less you're interested in doing complicated things with the computer after you've stored that it's like 50 times you just want it to work out of the box so we have to think about we are more than me we are no longer just a soft culture best of resolution just began and if you think more about the difference between the desktop and the desktop that's the perfect time to turn on the KV project or any other free desktop project and the good thing about that sentence is it was true last year and we hope you also appreciate the next year thank you for your attention