KDE Bugsquad – Konsole Bug Day on October 20th, 2018

We will be holding a Bug Day on October 20th, 2018, focusing on Konsole. Join at any time, the event will be occurring all day long!

This is a great opportunity for anyone, especially non-developers to get involved!

  1. Mascot_konqi-support-bughunt.pngCheck out our Bug Triaging guide for a primer on how to go about confirming and triaging bugs.
  2. Log into KDE Phabricator and join the Bugsquad!
  3. Join the #kde-bugs IRC channel on Freenode to chat with us in real-time as we go through the list.
  4. Open the shared Etherpad for this event (use your KDE Identity login) to select your block of bugs and cross them off.

If you need any help, contact me!

Advertisements

Cleaning up the Cruft in KDE’s Bugzilla

There are 42,000 open bugs in KDE’s Bugzilla.

We know this is a problem, and some steps have been taken recently to attempt to reduce this. Not long ago, Nate Graham proposed a cleanup of our plasma4 product, which closed 4,000+ bugs. Most of the bugs there were very old and no longer relevant, due to the introduction of Plasma 5 four years ago. While that was a good step in the right direction, we have many, many more products.

In fact, there are 741 “products” in the KDE Bugzilla.

bring-out-your-deadMany of those products are long dead. Projects that were brought under the KDE wing years ago, but have been abandoned and unmaintained for many years. Or, products that have been purposefully obsoleted in favor of a newer product name. Unfortunately, those Bugzilla products have been left open, allowing bug reports to be submitted, left to linger and clutter the database.

So we fixed that.

Nate and I worked together, building off of a list produced by Julian Schraner, of unmaintained, dead products. After a few days of verification, we were able to close 259 products and close 2,500+ bugs that were left lingering in those products. Now, when you create a new bug, those 259 are hidden, and only available in the “Browse” page.

So that is helpful, and we’ve seen a visible drop on the Bugzilla charts from these closures.

But what about the daily intake?

KDE receives 30+ new bugs per day.

The KDE developers do an excellent job, many of them triaging themselves, and resolving bugs quickly, attempting to hold back the onslaught. But it’s just too much, and we often have more new bugs opened than closed.

This causes terrifying charts such as this:

open bugs

The bugs pile up.

See those 27,000 UNCONFIRMED bugs? This is the reason I resurrected the KDE Bugsquad. The signal-to-noise ratio is much too low!

A good example of what the above chart should look like, is the one for Krita:

krita-bugs

The signal-to-noise ratio here is much higher. Most bugs are CONFIRMED or NEEDSINFO from the reporter. Developers know which are real issues, and the bug reports have information from the reporters and the triagers in the comments.

We need to get the rest of the KDE products to look like this.

Let’s clean up the old cruft. I’m proposing the following actions to take:

  1. Close any additional unmaintained products that were missed. I have a list of a few that are questionable, and will require some additional investigation or emails. This step could close 2,000 bugs.
  2. Close NEEDSINFO bugs that have not had a response for 30 days. This would become a KDE Bugzilla policy. It cannot be expected to leave a bug open indefinitely, if the reporter will not provide the additional requested information. This is already a policy at many other projects such as The Document Foundation, Chromium, and Fedora. After a discussion regarding this on the kde-community mailing list, there appeared to be a consensus, so work has already begun. This step alone, will close almost 6,000 bugs.
  3. Request follow-up and potential closure of old crash reports. This would clean up old crash reports provided mostly by Dr. Konqi, that have sat untouched for several years. There is a good possibility the crash is no longer relevant in newer releases. This step would close over 3,800 bugs.
  4. Close old bugs that are beyond 10 years old in their last activity. This would get rid of the oldest abandoned bugs, some of which date back to 2002 or earlier! This step would close over 3,300 bugs.

Getting involved in the KDE Bugsquad is a great way to easily get involved. You only need a few minutes and the latest version of an app. Check out our Bug triaging guide to understand the process. It’s really easy!

You could help triage bugs with me!

Visit KDE’s Get Involved page for more information, or contact me!

Making Plasma Superb in HiDPI

notebook-xps-13-polaris-pdp-design-1.jpgNot long ago I purchased a Dell XPS 13 with the HiDPI touchscreen. It was one of the Project Sputnik “Developer Edition” laptops loaded with Ubuntu from the factory; nice and clean. This was my first foray into using a HiDPI screen in Linux. From my research before purchasing, it sounded like a mixed bag of functionality. I fired up a bunch of apps, tested them out and dutifully submitted a bunch of bug reports regarding scaling issues to a number of projects. From there, once ushered into the development side of KDE, I decided to start helping out with fixing some of the issues I saw with KDE/Qt apps.

It appears there are still very few users and even fewer developers with a HiDPI screen who run 2x scaling, so I notice things others don’t. Most of it revolves around window sizes upon loading, interface button and label sizes, and icon pixelation. Minor stuff, but annoying.

The latter of which, is actually really easy to fix in Qt apps.

It’s one line:

QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);

Enter that into main.cpp of the program and you’re set! Even myself, a rather entry-level programmer can perform that task and submit a patch. So that’s what I did for several applications.

Look carefully at the before/after pixelation of the icons here in KTorrent:

Some more examples and links to Phabricator, please ignore any change of icon colors, that is a different issue that has been recently resolved:

I have a few more in my list, such as the AppMenu button you can add to KWin. Anyone want to tackle that?

But anyway, lots of progress is being made! These sorts of fixes, along with ones like display of scaled icons from intended folder, 2x icons in Breeze, enhanced scaling abilities in Wayland, and implementation of HiDpiScaling in some older apps are being committed constantly.

Running the latest Plasma release, there are very few HiDPI issues left, and a good portion of them can be blamed on X.

You could help do easy tasks like this too!

Visit KDE’s Get Involved page for more information, or contact me!

KDE Bugsquad – Kickoff with Krita! – Part 2 on October 2nd, 2018

Thank you everyone who participated in the first Bugsquad event! We saw the team page on Phabricator double in membership, and had seven people contribute triaging bugs. Thank you xyquadrat, emmet, spaliwal, eoinoneill, and jtamate! Many of them continued triaging past their assigned blocks, knocking out the majority of the bugs. Absolute rockstars!

The KDE Bugsquad is back for Part 2 of joining forces with the Krita team as part of their Squash All the Bugs fundraiser!

We will be holding the second Bug Day on October 2nd, 2018, focusing on bugs reported on Krita. Join at any time, the event will be occurring all day long!

This is a great opportunity for anyone, especially non-developers to get involved!

  1. Mascot_konqi-support-bughunt.pngCheck out our Bug Triaging guide for a primer on how to go about confirming and triaging bugs.
  2. Log into KDE Phabricator and join the Bugsquad!
  3. Join the #kde-bugs IRC channel on Freenode to chat with us in real-time as we go through the list.
  4. Open the shared Etherpad for this event (use your KDE Identity login) to select your block of bugs and cross them off.

If you need any help, contact me!

How I Got Involved in KDE

Since this blog is starting after the beginning of my contributions to KDE, the first few regular posts will be explaining my prior contributions, before moving into the present.

Continuity, right?

I’d also like to outline how I got involved in development, as an entry-level/non-programmer. I hope this will be helpful for those interested in helping, but unsure how to go about doing something useful.

Konqui_dev_close_cropped.pngI was introduced to the idea of developing for KDE by Nate Graham and his Usability & Productivity goal. I was immediately drawn to the idea of polishing the applications, like I stated in my first post. But how do I get started? I mean, besides the technical stuff. How do I find something easy to work on? I’m not a programmer by trade, so while we do have the Junior Jobs, a lot of those seemed out of my reach. So what to do?

One of the Usability & Productivity posts from Nate mentioned icons being added to the menus in an app. I looked at the linked code that was changed, and noticed how simple it was! I can do that! So I searched through the Junior Jobs, and Phabricator (KDE’s development and code review platform) for applications that needed some icons added to their menu. I found some tasks, and set to work:

Check out the screenshots in those links! Here is an example:

It really makes the app look nicer, right? If you scroll down in those pages and look at the code changes, you will see they are basically simple one-liners that are copy/pasted from elsewhere, with a different icon name. Easy!

You could help do easy tasks like this too!

Visit KDE’s Get Involved page for more information, or contact me!

KDE Bugsquad – Kickoff with Krita! – Part 1 on September 15th, 2018

More long and thoughtful posts like the prior one will be coming. But right now I have an important announcement! I have resurrected the KDE Bugsquad, and we have our first official Bug Day on Saturday!

The KDE Bugsquad is back! We can think of no better way to celebrate than joining forces with the Krita team as part of their Squash All the Bugs fundraiser!

We will be holding the first Bug Day on September 15th, 2018, focusing on bugs reported on Krita. Expect events to kick off at 10:00 AM EDT.

This is a great opportunity for anyone, especially non-developers to get involved!

  1. Mascot_konqi-support-bughunt.pngCheck out our Bug Triaging guide for a primer on how to go about confirming and triaging bugs.
  2. Log into KDE Phabricator and join the Bugsquad!
  3. Join the #kde-bugs IRC channel on Freenode to chat with us in real-time as we go through the list.
  4. Open the shared Etherpad for this event (use your KDE Identity login) to select your block of bugs and cross them off.

If you need any help, contact me!

My Linux Desktop Manifesto

It’s time.

27 years after the creation of Linux, I firmly believe, we are finally at a point of quality usability for the Linux desktop. “The year of the Linux Desktop” has been a joke for a long time, as the fractured FLOSS community has struggled to gain a footing on the average desktop.

There’s a reason.

The community has always prided itself in its choice. Don’t like something? Replace it. Want to change something? Fork it. Choice is great, and a free individual certainly appreciates it. But, it hinders development. Let’s be honest, there aren’t a ton of us working on the desktop. What small community has been hard at work over all of these years, has always been split. Just in desktop environments we have GNOME, KDE, XFCE, LXDE, MATE, Cinnamon, Unity, Budgie, Pantheon, Deepin, etc. And that’s not listing off all of the dead projects over the years. Same goes for the applications, we have two or three or four relatively popular applications that fill the same needs, in every area. We rebase, refactor, rewrite, rebuild, replace, rework. We duplicate efforts endlessly.

But, even with this fracturing and duplication of work, we finally have a solid base to use. I’ve been using Linux for 15+ years, all of them as a desktop. I’ve witnessed its evolution, its hardships, its victories. 2018 is the year I’ve finally witnessed the Linux Desktop “just work”. The installers are easy, the applications are mature, the desktop environments are capable and stable. Drivers auto-detect, configuration auto-define, graphics auto-adjust. Networked printers of all things, automatically detect and install. It’s all quite impressive.

We need to consolidate and focus.

We need to focus on what will attract more users. We need to focus on what will attract more developers. We need to focus on what is working well, and polish it up. Eliminate that hacked together, pseudo-functional feeling of much FLOSS software over the past 30+ years.

Not long ago I became a convert.

I used to be a huge GNOME fan. Starting out in the early years, I enjoyed the GNOME design, especially the much lauded GNOME 2.x series. One of the features of GNOME, even in the early years, was its use of designers to craft the GNOME Human Interface Guidelines. The HIG helped create a harmonious and pleasing system, one that removed much of the hacked together and clunky designs of FLOSS software. Upon the release of GNOME 3.x, the HIG was modified to drastically simplify applications. A simplification that many reviewers believe went too far, even stepping past Apple-level simplifications.

The average person wants a system that can be simple, fast, easy, and powerful when needed. They want something familiar to them. Considering Microsoft Windows still holds almost 90% market share, they want something that looks like and works like, Microsoft Windows. Like it or not, we need to support traditional Windows-style work flow to attract more people.

The best environment for these requirements is KDE Plasma.

After my third GNOME 3.x crash in a week, causing my profile to corrupt and be wiped, I had enough. I spent some time re-evaluating the Linux desktop environments, and after a few tests, I have settled on KDE Plasma. Originally reluctant, due to my bias towards it from experiences a decade old, I sit here duly impressed. Yes, there is MATE, Cinnamon, Budgie, and XFCE that offer the traditional Windows-like desktop experience. But I believe KDE Plasma surpasses those in performance, modern design enhancements, and customization.

I hereby declare my time and energies toward ensuring KDE Plasma is the best Linux desktop environment. The default selection for a new user, and an obvious choice for business use. Plasma is simple and elegant, yet advanced and powerful. It’s defaults are very similar to Windows. The average person would love this desktop.

If they knew it existed.