As usual KDE is running the testing program throughout the beta period
of KDE 4.10. It's a great way to get involved in KDE.
How do I get the latest release?
The latest release for testing can be found on our wiki page http://community.kde.org/Getinvolved/Quality/Beta/4.10/Installing
we try and keep this up to date with the latest information from your distribution.
I've got the latest beta, what should I do?
When you have the latest beta, have a play with the new release and report any bug to http://bugs.kde.org and select "File a bug".
Bug reporting is an essential part of the testing process, it's especially important to catch regressions, which is when a new bug is accidentally introduced when something is changed. KDE developers only have limited hardware and our own workflow, we really do need you to help test and see if you find any bugs we've missed. All bugs are looked at, even if they cannot be immediately fixed and reacted upon.
If you are playing with the release, it is especially helpful if you try using the areas of KDE that either contain new features or have undergone significant changes "under the hood". We have a list of the areas that you should spend some of your time testing on our wiki http://community.kde.org/Getinvolved/Quality/Beta/4.10/AreasToTest. We also have various checklists that should be completed before the release http://community.kde.org/Getinvolved/Quality/Beta/4.10/Plasma
KDED is a daemon for running lots small workspace tasks. Tasks such as monitoring display changes, notifying you if you run out of free space, power management and so on. Running each of these as it's own process has a lot of overhead and as each task is really tiny they are built as plugins all loading by one process, the kde daemon (kded).
As there are lots of plugins at once this makes debugging a real pain, there is lots of noise from various other plugins and it can be quite hard to see which plugin is at fault in the event of a crash or memory leak. Furthermore it's difficult to test without restarting kded, which can cause over issues.
To solve this I've built a tool for running one KDED module on it's own, purely for debugging purposes.
Software is available from
Usage is very similar to KCMShell, a tool for running a KCMModule at a time.
Today we are releasing 0.5.1 of KDE Telepathy, the first patch release in our 0.5 series.
We have fixed over 14 bugs since release, including:
A full list can be found here
Many thanks to the entire KTp team, as well as to all the testers and bug reporters who helped in this release.
Source code is available here and it should be in distributions shortly.
The aim of the extra mile project is put some energy into fixing the little annoyances in KDE, the small bugs and UI issues which get in the way of the user.
We've been working on areas all over KDE, I've outlined some of my favourite changes I've been working on over this past week.
Redoing the Network Manager Authorisation Prompts
This prompt is for when you need to re-enter a password for your wifi connection. The main issue is that the layout cut short, but it is also lacking clear context as to what the dialog is asking. Important text and instructions should be put in the window and not only in the windor title. A bit of text and an icon shape everything up nicely.
Improving the Akonadi KCM
Padding and margins are one the most important tools to a designer, uneven and misaligned spacing can quickly make a really good piece of technology look unfinished.
Improving Kate dialogs
Aurélien Gâteau made some changes in the kate dialogs, updating icons to reflect the actions and updated the tooltips to give a appropriate description of the actions each one does.
There's still lots more to be done, and it's a great opportunity to get involved in KDE or even just getting more familiar with a different area of KDE.
There are two ways to get involved in the extra mile project. We need people to go through applications, dialogs and workflows spotting areas where we can improve by opening extramile bugs, as well as going through this list and getting things fixed.
Find out more about the project on the wiki page, or join us in our IRC channel #kde-quality on Freenode.
When dealing with bug reports, getting bugs that you can't reproduce is one of the worst situations to be in. Without the right information it's impossible to progress. Knowing where the bug is is 90% of bug fixing, if we are unable to reproduce something it's frustrating for everyone involved.
This week two bug reporters have stood out as being absolutely fantastic. So much so, they deserve a shout out on PlanetKDE.
Mohammad Al-Rashed, when he encountered a bug we could not reproduce, not only managed to find out it was reproducable if KWallet was disabled, but recorded and sent us a video of it happening. With this extra information, the bug was fixed within a day.
I also had a bug in LightDM that I couldn't shake. The bug only appeared in OpenSuse, and caused the entire KCM to crash. Weirdly, it never crashed when launched from kcmshell, but would crash every time it was invoked from System Settings.
I challenge anyone reading this could have a guess as to what would cause that, I certainly couldn't. Without being able to reproduce this I had absolutely no hope of fixing this.
Alin Marin Elena kindly went to the effort of giving me SSH access to a machine he set up specifically to reproduce this bug. That night I was able to work out what caused the crash, and another developer Hrvoje Senjan managed to trace it to the specific compile flag being used in the Suse packages that caused this bug to manifest itself.
The moral of all this is if you're waiting on a developer to fix a bug, be proactive and go beyond the call of duty to help supply all the information needed to fix it.
The goal of KDE when it was first started, was to create a consistent desktop. Where all the look, feel and interaction from one app was the same as the next app.
I've seen lots of mockups or discussions which use Plasma components inside desktop applications, the result not only looks inconsistent but prevents a usability problem.
(FIXME mockup showing what I'm talking about)
Not only do our applications risk looking un-seemless with ourselves (FIXME choose a real word), but we destroy all the work that has gone into trying making our applications seamless on Gnome, OS X and Windows. Using traditional widgets we adopt the look and feel of the native toolkit, a form layout will even be aligned differently on each system to match the natvie approach.
Plasma components were designed and built for the workspace domain. Panels, applets and so on. When merged inside the desktop, we end up with behaviour that stops being consistent from one to the next. Layouts are different, keyboard accelerators and shortcuts don't work, views scroll different and items which provide the same functionality are visually disimilar, requiring the user to re-learn how to use a widget.
It's wrong to be using desktop widgets in the workspace domain, and equally it's wrong to be using workspace widgets inside applications. As a general rule;
“if it has window decorations, user interface elements should look like ‘application’ widgets”. - Aurelien Gateau
This isn't about the technology, there's scope to use QML inside an application if you are trying to make something visually different and new, but the end result needs to fit in with everything we currently have.
LightDM-KDE 0.3 released
I have just released version 0.3 of LightDM-KDE, the new alternate KDE login manager. LightDM-KDE is set to be the new default login manager in the next release of Kubuntu.
This release brings many bug fixes including:
- No flickering between the greeter and KDE splash screens
- Better keyboard navigation
- Last user to log in is remembered and automatically selected
- Background images can be scaled either keeping the aspect ratio, or stretched
- Translations have been included
- Many more fixes...
A special thank you goes to Nuno Bento, Ralf Jung and Michael Zanetti for their contributions this release cycle.
Downloads are available at here or in Kubuntu repositories shortly.
Over the last two months we have been preparing to release version 0.5 of KDE Telepathy.
This release brings over 50 bug fixes and 500 commits since 0.4.
About our release cycles
Every alternate release in KDE Telepathy does not bring many new features, but instead puts the focus on bug fixes, minor improvements, and putting on the extra polish throughout our current feature set.
This release schedule allows us to do more than simply patch releases as we are able to fix any strings or add code where it is needed. This also encourages us developers to spend the time on improving our code rather than chasing new (more fun?) ideas as the master branch is still closed for large features.
How can I get involved?
There's still plenty of room for more testers, and there are plenty of things that can still be improved upon. For further details please see our wiki page, or join us in #kde-telepathy on freenode.
After far too long, I'm happy to announce LightDM-KDE 0.2.0!
Fixes since 0.1.1
- Suspend when closing lid (Bug #295693)
- Config should be saved only once (Bug #294964)
- Port to Plasma Components (Bug #294965)
- User pictures are not shown (Bug #296303)
- Selecting "Previously Used Session" with Guest causes login to fail (Bug #298658)
- Nothing is translated (Bug #299381)
- Shutdown button in the login screen does nothing (Bug #299881)
- One can select to auto login as guest, even if guest is not enabled (Bug #300329)
- Change default lightdm greeter (Bug #303014)
- Misc visual improvements
Where can I download LightDM-KDE 0.2
Requires lightdm v1.3.2 or higher available from https://launchpad.net/lightdm
Is it usable
Yes definitely, this second beta release adds even more stability and functionality.
Want to help? If you can draw artwork or want to help fix some of the bugs get involved! Email me directly (email address is at the top of any source file), alternatively join the very quiet IRC channel #kde-lightdm on freenode.
During Akademy Daniele Domenichelli and I held a workshop on Telepathy Tubes and how they can be integrated in your application.
What is a Telepathy Tube
In Telepathy, a tube is a method of sending arbitrary data between two contacts over the XMPP stream. This is abstracted to the developer in the form of a local TCP socket or a separate Dbus session between the two computers. This allows you to set up a network connection without having to worry about all the difficulties of IP addresses, firewalls, routing and NATs.
In simple terms, it allows you to exchange more stuff with a contact than the normal text, files or video traditionally associated with instant messaging.
Fun and Games
After the workshop Daniele and I decided to try and add Telepathy tubes to an existing KDE application, in this case KBattleship.
We added a button to the main menu such that instead of starting a game by having to manually type in hostnames and port numbers we simply select a contact from the menu. Considerably easier!
From here we simply select the contact, and all the network setup is handled in the background.
I then lose dramatically.
Having a Go
I don't expect this to be merged into KDE Games anytime soon, we need to get our internal libraries complete and stable. This was just a fun hacking project rather than anything serious.
We need the latest kdegames libs
svn co -N svn://anonsvn.kde.org/home/kde/trunk/KDE/kdegames
cd kdegames && svn up cmake libkdegames libkmahjongg
and my patched version of kbattleship.
git clone git://anongit.kde.org/scratch/davidedmundson/kbattleship.git
If you have it installed, let us know.. maybe we can have a game :D
This was primarily just a demo to see how quickly we can hack Telepathy into an existing application that has network support. It took us less than 3 hours to have something working.
There are far more practical, exciting uses and it would be really good to see more people make use of this. If anyone is inspired and wants to hack on something cool, come talk to us on #kde-telepathy on freenode.