Today KDE released updates for its Applications and Development Platform, the second in a series of monthly stabilization updates to the 4.13 series. This release also includes an updated Plasma Workspaces 4.11.10. Both releases contain only bugfixes a…
Today KDE makes available the third beta of Frameworks 5. This beta release is part of a series of pre-releases leading up to the final version planned for July 2014.
From January 18th to 25th, Kate, KDevelop and Skanlite developers met in Barcelona. The sprint was focused on the work of the upcoming few months, and covered a wide range of aspects of these projects.
left to right, back row: Kevin Funk, Gregor Mi, Dominik Haumann, Christoph Cullmann, Milian Wolff, Joseph Wenninger
front row: Sven Brauch, Aleix Pol, Heinz Wiesinger, Miquel Sabaté
One of the big initiatives that the developers have been working on recently is the KDE Frameworks 5 migration. During the sprint, Kate’s port to Frameworks 5 matured while KDevelop received its first push towards the adoption of the new Frameworks. This is an important step because it lets the team think ahead about adopting the technologies that will be developed on for the next years.
KDevelop also improved on the supported languages front. The new KDevelop Clang plugin got a big push, and, while it is not going to be released yet, it is expected to supersede the current C++ plugin in the long term. Clang is expected to improve the support for standard C++, and also offers an opportunity to support C projects properly. Eventually, an Objective-C plugin could be built on top of Clang. Clang integration reduces the maintenance burden compared to the self-written C++ parser. During the sprint, we carved out a roadmap for the Clang plugin and also extended what we already have so far. The main focus was on polishing infrastructure inside KDevelop for providing a solid base for integrating Clang’s useful diagnostics and fixits module.
Currently, the kdev-clang plugin consists of only about 4000 lines of code, compared to nearly 55000 in the old plugin. Further good news—there will be a Google Summer of Code 2014 project that will take care of delivering a first releasable version. There’s still *a lot to do* to make this as usable as the previous C++ support plugin. Read more about kdev-clang.
KDevelop’s code assistant popup has gotten a revamp, which will — after some polishing — provide a more flexible and better integrated UI for the assistant features. The useful “blame” feature, which shows who touched each line in the current file as provided by the project’s VCS, was improved as well. It now shows the commiter’s name instead of the commit identifier and also works properly with dark color schemes. KDevelop’s interface is now more customizable, toolviews can be detached (for example, source code documentation can be detached from the main window and moved to another screen). KDevelop’s codebase was cleaned up and quite a few optimizations were added. This and other improvements will give a noticeable performance boost when operating on large projects consisting of thousands of files.
Find out quickly who the writer is
Much internal cleanup was done in Python support and some long-standing bugs were fixed, such as the debugger not working properly. Python 3 support is now finished, and future development will focus on that.
The KDevelop Ruby plugin was also greatly improved during the sprint. Lots of bugs have been fixed and a first stable release is closer now.
The sprint also provided a good opportunity to improve the language support within the PHP plugin. A lot of progress was made on completing syntax support for the new features introduced by PHP 5.4. Most notably there is now full support for PHP’s trait syntax. While catching up with newer syntax features is important, so too is improving support for older features. One of the most requested improvements for the plugin is proper support for PHP’s namespace syntax. During the sprint we worked on making this a lot more usable. However, there are still some kinks to be worked out.
For Kate, the focus was mostly on the Frameworks 5 port. The port already started back in December 2013, resulting in the KF5-ready KTextEditor framework and stable KF5/Qt5 versions of the Kate and KWrite applications. During the sprint, the Kate team worked on a lot of details, polishing the KTextEditor framework.
KTextEditor Interface Cleanup
The KTextEditor interfaces are responsible for all the interaction between the editor component Kate Part and the host application (eg. KDevelop, Kile, Kate, …). So it is important that these interfaces allow good integration of the editor into the host applications. During the sprint, these interfaces were cleaned up and optimized for speed. In addition, the default colors were extended to allow for better color schemas in the future.
New Status Bar
Previously, Kate Part did not provide a status bar. All host applications (KDevelop, Kile, …) had to write their own variant of a status bar, displaying the cursor position and similar information. In the KTextEditor framework, Kate Part will ship a default status bar, showing the cursor position, the edit mode, the modification state, the highlighting, encoding and the indentation settings. Further information can be found in this blogpost.
KTextEditor Plugin Architecture
KTextEditor’s plugin architecture was improved substantially. Plugins written for the KTextEditor framework will be available in all applications embedding Kate Part, making it possible to share a lot of features such as collaborative editing, search & replace in multiple files, and similar tools. This is possible because the plugin interfaces are now much more powerful than the former interface for shared plugins.
As a byproduct, the Kate application interfaces were completely dropped in favor of the KTextEditor plugin architecture. Most of the Kate plugins are already turned into KTextEditor plugins, such as the Documents sidebar, the Filesystem Browser, Search & Replace, the Build Plugin, the Backtrace Browser.
Kate Application Changes
The Kate application saw several changes; among the most visible is the new built-in tab bar. Previously, Kate provided the Documents sidebar to navigate through files. The Documents sidebar has the advantage that it stays usable when working on a large number of files. However, a lot of users want an integrated tab bar for quick file navigation. Therefore, the Frameworks 5 version of Kate will have both—the Documents sidebar as well as the tab bar. Since the number of visible tabs is often limited, only the tabs that were most recently used will be displayed. Users will be able to navigate quickly through the files being worked on. Besides quick navigation, the tab bar also allows the view to be split the view vertically or horizontally, to show the quick-open view, and to maximize the currently active view by hiding all other view spaces. A preliminary version of this tab bar as well as a KF5 version of Kate is described further in this blogpost.
Kate’s vi input mode also gained several improvements and polishing.
All in all, a lot of work was done under the hood in both Kate (detailed sprint wrap up report) and KDevelop. The Kate developers are still improving and extending the KDE 4 version of Kate, KWrite and Kate Part, while the KF 5 port is being finalized. The KDevelop team started porting to KF 5 as well, but continues to improve the KDE 4 version in the meantime. A major effort is being made to rework KDevelop’s C++ language support to be more reliable, powerful and easy to maintain in the future.
Thanks to Blue Systems for hosting the Kate+KDevelop sprint in Barcelona! Your support is greatly appreciated!
Though the Krita team was one of the first to start the tradition of having sprints, with the first Krita Sprint in Deventer, in 2005, Krita sprints are rather infrequent! But, of course, we also meet each other during the more regular Calligra sprints.
Anyhow… Krita developers and artists met again in Deventer in May 2014. It was the most awful weather you can imagine for a sprint—warm, sunny, bright, lovely to be outside! Long and lazy lunches, discussions out on the roof terrace until after midnight, walks through the park. Is it a wonder nothing much got done?
Wait, that’s wrong! Bravely resisting the lure of the fine spring weather, three artists and six developers got down to some serious work! In the week before the Krita sprint, Boud, Dan, Arjen and Stuart already had a week-long sprint working towards the final release of Krita Gemini on Steam, and on Thursday the others started to arrive. And only by Tuesday the house was empty again…
Krita Sprint Team
Let’s see what got done:
The KDE Applications 4.13 announcement highlighted the delightful new capabilities of Palapeli, the KDE jigsaw puzzle application. What the announcement did not mention is that the Palapeli maintainer, Ian Wadham, is celebrating 50 years of software experience. He’s ready to hand off Palapeli and his other KDE software development responsibilities. Albert Astals Cid called attention to Ian’s achievements and suggested a Dot interview.
A Portrait of the Programmer as a Young Man
Ian Wadham’s bio at a glance
What are your thoughts about cutting back on software development?
This is my second retirement. My first, from the workforce, was in 1998. This time I am withdrawing from writing programs for public use. I will continue to present a Science course for seniors at the local U3A (University of the Third Age) .
I seem to be getting involved in moves to make KDE’s portability work better on the Apple Mac OS X platform. And my grandchildren are always a joy.
How did you get started as a coder?
How I started was one of those accidents of fate. My Ph.D. studies were not working out and I was looking for a new career. My girl-friend at the time was a programmer and she told me no qualifications were required, only an aptitude test, and that the job was interesting and the pay excellent. This was 1964 and I was nearly 26.
So I put in some applications and accepted the offer of my first programming job the night before I was interviewed as a Physics Instructor in the Australian Navy. All next morning I was saying that I had already accepted another job, but the military has its own ways of doing things. I went through the full medical check, the eye test, the IQ test, the psychology interview… Finally I entered a room with a long table and wall-to-wall admirals and captains – gold braid everywhere – and was finally allowed to deliver my news. “Oh, thank you for telling us,” they said.
At that time in Australia, very few physicists were using computers. Computer use was more common in the US, UK and Europe, especially in large, well-financed organizations such as NASA, the Atomic Energy Commission and the US Military.
Computers for individual physicists were an exotic and trendy means of avoiding lengthy and tedious calculations, if you could afford the time and money to acquire one and learn how to use it, but were not yet a routine tool as computers became within the following 10 years.
What major technology shifts have you been involved in?
Control Data Corporation, our US parent company, made the largest and fastest computers in the world. Our chief designer was Seymour Cray and for decades he designed the world’s largest and fastest computers: later in Cray Research, his own company. At Control Data he insisted on seclusion and freedom to work in his private laboratory in his home town, Chippewa Falls, Wisconsin. There were many legends about him. One of my favorites is that each morning he would walk down to the river near the Falls and an eagle that nested there would fly down and perch on his shoulder.
CDC-160A Personal Computer
My first computer was one of Seymour’s lesser-known designs, a Control Data 160-A. The desk in the foreground is the entire machine. Some say it was the first minicomputer, even the first PC. It was significant too because essentially the same design, shaped as a 20cm cube, went into the ten peripheral processors on the CDC 6600 supercomputer. The 160-A was a wonderful first machine because it was possible for one person to learn everything about it – something that has been impossible with most machines since.
This was your “personal” computer? Wow!
How did you come to KDE? And how long have you been part of KDE?
Among the source code, in the Alpha section, I found the first version of KGoldRunner, by Marco Krüger. I had always liked Loderunner’s unique combination of action, strategy and puzzle solving and had always wanted to do something non-trivial in object-oriented programming, ever since Simula and Smalltalk days. So I set to work to learn C++ and Qt and with Marco’s permission produced a new version of KGoldrunner, committed to kdenonbeta (a precursor of playground and review) in March 2002.
Akademy is being held this year in Brno, Czech Republic. Have you been to Akademy?
You maintain several KDE applications, mostly games. What are they?
KGoldrunner is based on my all-time favorite game: Loderunner. One intriguing thing about it is the way bugs become features. One day I was sitting with my son (grown up) when he found out that it was possible for the hero to dig holes while falling through the air. Before I could fix the bug, he had made up a level that exploited it. Now that “feature” is an important part of many creative new games that people from around the world have contributed.
Kubrick was an effort to branch out into 3-D and OpenGL. It’s fine, but I am no good at cubing and I wonder if others enjoy Kubrick.
KJumpingCube and KSudoku I rescued from unmaintained. In KJC I added features and AI to make it more intelligible and also more challenging. In KSudoku, there was a half-finished re-development which left it so that it would generate mainly easy puzzles – no good at all for a serious player like my wife. I found a Python puzzle-generation algorithm on the net and, with the author’s permission, adapted it to C++ and KSudoku. I like KSudoku because it supports so many variations on the basic puzzle. I do not know of any other Sudoku game that does that.
My favorites games to play are KPat (solitaire card games), KSudoku (X and Aztec variations) and Palapeli.
You’ve gotten the applications into good shape, and are ready to hand them off. What type of person would you like to see take over? What will they get out of working on these applications?
The group could be continually changing. Nobody can stay interested in such work for long. Also the group and its stock of programs would be a good source of Junior Jobs and a place for newbies to start. It would need to have some experienced members, or ready access to such people, because some bugs are too hard for trainees to solve.
This is not a new idea. It is roughly what has been happening everywhere I have worked since about 1967, when the burden of people quitting jobs and leaving behind unmaintainable, half-finished messes became intolerable for most organizations.
What was your experience in the various game transitions from early days to now? Did you play computer games when they were first available?
Even the first supercomputer, the Control Data 6600, in 1966, had a game similar to KSpaceDuel (spaceships orbiting the Sun and shooting missiles). Only the elite and hardware engineers got time late at night to play games on those multi-megadollar machines.
Things became easier with minicomputers. In 1978 I was at a customer’s DEC PDP-11 site presenting a new version of their application system and was asked to finish up early. Why? It was the night the users all got on the computer to play Adventure, the original adventure game. They had made a wall-chart mapping out all the caves.
On our first PC, an Apple IIC, my children and I played a lot of Loderunner and Zork (“You are in a maze of twisty little passages, all of them alike.”). That was in 1983. We wore out several joysticks on Loderunner. We made up levels and challenged each other to solve them. Many of the current KGoldrunner levels come from that time. My Apple IIC still runs and can still play the Loderunner demo, but I used up the last gasp of the last joystick working out design details to be used in KGoldrunner. So I cannot play Loderunner now.
Later I had a Commodore Amiga 500 and became very hooked on Flood and Populous I and II. The Amiga had much better graphics and OS than the IBM PC and Windows, but sadly the Commodore company lost its way. My Amiga also is still in working order.
Later still, on Windows, I worked my way through Myst, Riven and Alpha Centauri. I never liked first person shooters, though.
You’ve added a lot to Palapeli, the jigsaw puzzle application. The new capabilities make it possible to do puzzles with a lot of pieces. It’s fun and challenging. The manual is quite helpful, especially with a lot of pieces. What was the thought process to create the latest version?
The Book by Juan Gris in Palapeli; 320 pieces; main screen, right edge piece-holder, preview
It seemed necessary to resolve the issues with a practical test, so I bought a 1000 piece puzzle and tried to solve it on a small table, no larger than the completed puzzle, using only the table and the box to hold pieces. As I played, I noted difficulties that arose and how they could be overcome. At the same time, I was mentally trying out analogues of what might be feasible on a computer screen. And of course, I had already tried solving large puzzles with Palapeli 1 and had seen what physical difficulties arose there.
Most of the manual was already written by Johannes Löhnert and Stefan Majewsky. I just added the chapter on large puzzles.
When I was growing up, we often had a jigsaw puzzle on the dining room table. It was a social event. What about adding a capability for working with others on a puzzle with a lot of pieces?
It’s hard to beat the computer at KJumpingCube. Do you have any strategy tips?
What would you recommend to young programmers?
Can people learn to program when they are older?
Windows, Mac or Linux? Why?
One day my Windows/Linux dual-boot system’s hardware died suddenly. I bought a new machine and installed the latest OpenSuSE. When I booted up KDE, my carefully constructed four-part Plasma desktop had been long gone, and I found myself in some new, empty and quite alien-seeming version of KDE and Plasma. It took me two days just to find out how to get rid of the blue glow around active windows, which was hard on my tired old eyes.
Ian Wadham – older, wiser, still gaming
It was important for me to keep working rather than play with settings, so I turned to the MacBook I had been messing around with, which was also supporting my wife’s iPhone and iPad (pre iCloud). I had some KDE and Qt software already installed, with MacPorts, and I was soon able to set up a KDE development environment. OS X really is quite a lot like Unix and Linux.
I like working on the Macbook. The desktop is quiet, unobtrusive and easy on the eyes. I can work for hours without getting tired or being distracted. Also the battery is long-lived, Time Machine does regular backups and the Spotlight indexer collects everything (even my source code) with no perceptible overhead. I feel I am more productive with Mac OS X than I ever was with Windows or KDE because I do not have to think about what the desktop is doing.
I feel as if I have come home.
The traditional KDE interview question—Richard Stallman or Linus Torvalds?
Thank you for the many years of work you’ve dedicated to the advancement of FOSS, and the KDE games in particular. Thanks also for sharing some of your experiences on the front lines of computer development over the fifty years of your active career.
Many thanks to Albert for the idea of interviewing Ian, and to Bob Potter for bringing in technical perspectives.
In this week’s KDE Commit-Digest you can find an interview with Aaron Seigo about KF 5 and a look into KDE SC on devices. And of course, the overview of the development effort is there as every week and includes:
In this week’s KDE Commit-Digest:
KDE is pleased to announce that Plasma Next Beta 1 has been released. Plasma Next is the codename for the new version of our beautiful desktop workspace built on KDE Frameworks 5. It features the same familiar layout you will be used to but with a si…
Today KDE released updates for its Applications and Development Platform, the first in a series of monthly stabilization updates to the 4.13 series. This release contains only bugfixes and translation updates, providing a safe and pleasant update for e…
In this week’s KDE Commit-Digest:
In this week’s KDE Commit-Digest:
In this week’s KDE Commit-Digest:
In this week’s KDE Commit-Digest:
From May 16th to 18th, Málaga is hosting Akademy-es 2014 in Escuela Técnica Superior de Ingenieria de Telecomunicación of Universidad de Málaga. This event is organized by KDE España, Linux Málaga and Bitvalley, and represents the return of a KDE event to Málaga 9 years after it hosted Akademy 2005.
This Akademy-es will have a wide range of talks from informing users about KDE software to programming with QtQuick and ASAN. There will also be introductory talks for people who want to start contributing to KDE.
As always the event is free to attend, but you should register to make it easier for the organization and to get a printed badge instead of a handwritten one ;).
Thank you to Gold Sponsors Digia, Opentia and openSUSE for helping make this happen!
We continue the tradition of having the PIM sprint in a place that starts with a “B”. The last 3 PIM sprints were in Berlin (twice) and Brno. The Spring edition of this year took place in Barcelona, continuing the tradition. Add to this the name of the company hosting us which conveniently starts with a “B” as well (BlueSystems).
From left to right, top row: Martin Klapetek, Christian Mollekopf, Mark Gaiser, Alex Fiestas
Bottom row: Vishesh Handa, Daniel Vrátil, David Edmundson, Sergio Martins, Sandro Knauß
One of our regular attendees, Christian Mollekopf, had a nice surprise for us at the sprint. He works for Kolab Systems and told us about some of their plans in terms of the upcoming deployment of KDE PIM in the city of Munich. This should bring some usability improvements, including work on KOrganizer which should be able to better address a situation where a user literally has access to thousands of calendars. Kolab Systems is also working on bug fixes, stabilization improvements and optimizations throughout the KOrganizer product and entire KDE PIM application. The best thing is that all changes will be sent back for the KDE community to enjoy. The regular KDE software user will begin to see these changes in the KDE Applications release 4.14.
With the upcoming releases of KDE Frameworks and Plasma 2014.06, there is a need to port the heart of PIM applications to Qt 5. Some sprint attendees started work in that area which will make it possible to do things such as KMail running on top of Plasma 2014.06. We also decided that applications without a maintainer won’t be ported to Qt 5. Applications that will probably not be ported are KNode and KAddressbook. The latter is currently being rewritten in a GSoC project.
Bugs and performance
A habit in sprints is to take a look at those pesky issues that are difficult to figure out alone. Quite a few bugs were resolved and performance has been improved throughout the PIM applications. Many of these changes are already available in the recently released KDE Applications 4.13.
KDE software is developed mostly by volunteers. Most sprint attendees are volunteers (and some are fortunate to do KDE software development as a daily job). We spend much of our free time improving the experience of our users. Having a sprint is made possible by a company willing to host us and our KDE e.V. organization willing to cover the traveling and hotel costs. We are rely on your donations to continue this. If you want to support KDE software development and have the financial means, please consider hitting the donations link.
Akademy is the KDE Community conference. It is where we meet, discuss plans for the future, get inspired, learn and get work done. If you are working on topics relevant to KDE, this is your chance to present your work and ideas at the Conference from September 6-12 in Brno, Czech Republic. The main days for talks are Saturday 6th and Sunday 7th of September. The rest of the week will be BoFs, unconference sessions and workshops.
What we are looking for
The goal of the conference section of Akademy is to learn and teach new skills and share our passion around what we’re doing in KDE with each other.
For the sharing of ideas, experiences and state of things, we will have short Fast Track sessions in a single-track section of Akademy. Teaching and sharing technical details is done through longer sessions in the multi-track section of Akademy.
If you think you have something important to present, please tell us about it. If you know of someone else who should present, please nominate them. For more details see the proposal guidelines and the Call for Papers. The submission deadline is Sunday 18th May, 23:59:59 CEST.
About Akademy 2014 Brno, Czech Republic
For most of the year, KDE—one of the largest free and open software communities in the world—works online by email, IRC, forums and mailing lists. Akademy provides all KDE contributors the opportunity to meet in person to foster social bonds, work on concrete technology issues, consider new ideas, and reinforce the innovative, dynamic culture of KDE. Akademy brings together artists, designers, developers, translators, users, writers, sponsors and many other types of KDE contributors to celebrate the achievements of the past year and help determine the direction for the next year. Hands-on sessions offer the opportunity for intense work bringing those plans to reality. The KDE Community welcomes companies building on KDE technology, and those who are looking for opportunities.
For more information, please contact The Akademy Team.
Today KDE released updates for its Applications and Development Platform, the fifth in a series of monthly stabilization updates to the 4.12 series. This release also includes an updated Plasma Workspaces 4.11.9. Both releases contain only bugfixes…
In this week’s KDE Commit-Digest:
In this week’s KDE Commit-Digest:
What is Bodega?
First off, let’s find out what Bodega is all about. Aaron explains:
The most important thing is of course the ‘digital asset’ term. That can be anything. For example, applications. Applications can be self contained – think how android does its APK files. Of course, things on Linux are often more complicated. Apache isn’t exactly a self-contained thing. And look further – perl, php, ruby, they all have their own addons like gems that need managing. Generalizing further, there are manuals. And books in general. Music, movies, pictures, you can go on.
Of course, the competition has these too – look at Apple or Google.
And how about Linux…
Linux does not have a store where you can get such a wide variety of things. For a game, you can use Appstream, get it from Apper or GNOME’s software center. They all give a view on applications. Unfortunately, that is only useful for desktops and can handle things barely above the level of Angry Birds. If you want a python module as developers – these fancy tools won’t help you. Nor are they useful on servers. For those you have to rely on command line tools or even do things completely by hand. And it is all different between distributions.
How is Bodega different?
So, Bodega offers a digital store which can handle a wider variety of things than our current solutions. But what sets it apart from proprietary technologies like the Playstore and of course Canonical’s store solution? Aaron:
Bodega has all the meta data in one place and offers ‘stores’ which are views on that data. That means you can have a software developer store, for example listing all languages and their addons separate; and a server section etc. And a separate UI for the angry-bird-and-spreadsheet crowd. All from the same bodega system, filtered by tags (not static categories!).
Talking about Appstream, Bodega can of course benefit from the metadata gathered for Appstream. And GNOME’s Software Center could be reworked to be a front-end to Bodega, adding books, music and lots of other digital data to its store. This is not meant to be a rewrite of what is there, or an isolated effort!
And why would you build on Bodega?
Bodega is open: everybody can quite easily add their own stores; or their own data sources; and add content and even sell it through their channels. It is not a closed system, on the contrary.
Open is a must, especially for Linux:
And Bodega is useful for people outside of Linux. You can have your store on your own website so it is realistically possible for a independent author to sell their books in a bodega instance on their own website and never even SEE Linux. Yet the openSUSE users can get the books and benefit from the larger ecosystem…
You might be eager to find out what is there, today. Well, if you’ve seen the screenshots to the side, you know there is an app to access the store. It is build for touch screens but works just fine and you can get it in openSUSE through software.opensuse.org. Once installed, you can fire it up typing “active-addons” in a run command dialog.
Shawn Dunn (of cloverleaf fame) is putting together a more traditional desktop UI, while maintaining these packages as well. You will be able to have a conversation with him as he’s going to be at the openSUSE Conference in Dubrovnik this month where he will present a session about Bodega! He is known as SFaulken online and pretty much always hangs in the #opensuse-kde channel on Freenode where you can ask how to get things running or how to help him break stuff anytime. He’s also yelling at the world on google plus.
Bodega now contains the entire book set of Project Gutenberg (thousands of awesome, free books) as well as a number of wallpapers and applications. Aaron: