As a teenager, I played a lot of Vampire the Masquerade (VtM)–a tabletop role-playing game. One of the skills in which your character could become experienced was Computers, with ability measured from 0 to 5 dots:
This little table has stayed with me over time. As simple and crude as it is, I think it provides a reasonable measurement scale that can be used to guide software development: you need to decide how many dots in Computers a user must have before they can use your software, which helps you organize the user interface and prioritize features.
My sense is that currently most Linux-based software targets people with three dots in Computers or more, but is often usable for people with two dots. My wife is a solidly two-dot user who is happily using KDE Neon as her distro.
But how many zero and one dot users are out there? What fraction of the market are we abandoning by requiring two dots?
This question was answered a couple of years ago when the Organization for Economic Co-operation and Development commissioned a massive a study of adults’ computer skills, with over 200,000 participants (!!!) across 33 high-income countries. The Nielsen/Normal Group summarized the results, and here I’ll condense them even further:
- 25% of users cannot use computers at all. AT ALL! These people have zero dots in Computers according to the VtM scale.
- 14% can can perform easy and obvious button-driven tasks in single simple apps, such as sending or deleting an email. They also have zero dots in Computers, but would be on the higher end of zero. Maybe a little more than half a dot.
- 29% can use more advanced functionality in individual apps, such as searching for data that is not currently visible, or writing an email reply to multiple people and not just the sender. They have one dot in Computers.
- 26% can perform multi-step tasks involving more than one app, collate information from external sources, overcome minor errors and obstacles that occur during the process, and do some monitoring of background tasks for activity. They have two dots in Computers.
- 5% can perform complex tasks involving multiple data sources and apps with lots of navigation, transform imperfect data with tools to make it suitable for the required work, and succeed at ambiguous tasks with more than one correct outcome or possible approach to get it done, overcoming significant roadblocks along the way. These people would probably have three dots in Computers (even if they are not software engineers).
Let that sink in: almost 40% of adults in rich countries have practically no computer skills at all. This isn’t mentioned in the summary, but my personal experience with people in the lowest-skill group (25%) is that they can only use smartphones and tablets, while those in the next skill group (14%) still strongly prefer them over computers.
Another 30% of people have effectively one dot in Computers on the VtM scale. Taken together with the two lowest-skill groups, this means 70% of people’s computer skills are non-existent or very basic. Those with more advanced skills–three dots in Computers and up–are only about 30% of the population.
Maybe the dominance of the smartphone makes a bit more sense now…
KDE is never going to achieve world domination with software that can only be used by at most 30% of the market–those with two or more dots in Computers. To broaden our appeal, we need to make our software usable by at least the people in the next level down (one dot in Computers), which doubles the potential to 60% of the market–going from a minority to a solid majority.
BUT WAIT! Won’t this “dumb down” KDE’s software? Won’t we alienate our current audience of 2-and-3-dots-in-Computers users? After all, smartphone software optimized for zero-dot people is indeed really simple and limiting. So it’s a risk.
But I think good design and high customizability can make software elastic, suitable for users with a range of skills. Software with little or no customizability or poor design can probably only straddle two categories, so decent phone apps would be comfortably usable by people with 0-1 dots in Computers, maybe 0-2 dots with exceptional design. This pretty much matches the experience of myself and many people I know: those with more technical ability find most phone apps to be limiting and prefer using a computer for heavy lifting.
But well-designed software that’s customizable and has good default settings can accommodate a wider range of skill levels: people with 1-3 dots, or even 1-4 dots!
We can deliberately exclude the zero-dot people from our target audience, who are probably never going to be happy with KDE software. Our focus on power will bleed through in even the simplest apps, and just never appeal to them. GNOME and ElementaryOS can have those users.
This is what I think we should shoot for in KDE: software that is simple by default so it can work for 1-dot users, but powerful when needed via expansive customization, so that it can appeal all the way to the 4-dot users–which includes many KDE developers. This is currently a strength of KDE software, and it won’t be going away!
Essentially we need to fully embrace Plasma’s motto of “Simple by default, powerful when needed” all KDE software, not just Plasma.
I see a lot of this already happening via our simple-by-default Kirigami apps gaining power and customization opportunities, and our powerful-by-default QtWidgets apps gaining better default settings and a streamined appearance. So let’s keep it up!
Tuesday, 30 November 2021. Today KDE releases a bugfix update to KDE Plasma 5, versioned 5.23.4.
Plasma 5.23 was released in October 2021 with many feature refinements and new modules to complete the desktop experience.
This release adds three weeks' worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:
- Breeze style: Reduce groove opacity for greater contrast with scrollbar/slider/etc. Commit. Fixes bug #444203
- Applets/weather: Make cursor a pointing hand when hovering over source link. Commit.
- Plasma Systemmonitor: Don’t make right click popup modal. Commit.
Monday, 29 November 2021
Sunday, 28 November 2021
Saturday, 27 November 2021
Since the last summary KDE Itinerary has been moving with big steps towards the upcoming 21.12 release, with work on individual transport modes, more convenient ticket access, trip editing, a new health certificate UI, better transfer handling and many more improvements.
Current ticket access
A small but very convenient new addition is the “Current ticket” action, which immediately navigates you to the details page of the most current element on the itinerary. That comes in handy when having to show or scan your ticket and avoids having to find the right entry in the list in a rush.
This action is now also accessible from jump list actions in the taskbar on Linux, or app shortcuts on Android. Combined with the easily accessible barcode scanmode mentioned last time it’s now just two clicks or taps to get ready for a ticket check.
KDE Itinerary so far provides only very limited editing capabilities for existing reservations, but one common case has now been added: shortening of train trips. That is, boarding later or leaving earlier along a booked journey, useful for example when having to react to service disruptions. Unlike general free-form editing, we can easily ensure in this case that the result remains a valid actually existing train connection, and thus all features requiring that remain functional.
Realtime trip data is taken into account when available, and selecting canceled/skipped stations for boarding/leaving is prevented.
The health certificate UI has been restructured to use a tab bar instead of one long scrollable page. This is not just easier to navigate but separates the QR code from human readable details that a person scanning the code doesn’t necessarily need to see.
There is also support for a new certificate format, the Dutch COVID-19 CoronaCheck system. This one differs quite a bit from the formats supported so far as it’s much more optimized for privacy. The only information contained in the certificates are the user’s initials and day and month of birth, but no details about what actually has been certified (vaccine, recovery or test, etc).
Next to a paper-based variant which has a fairly long validity (and thus allows some guesses on how the certificate was obtained), the digital form provided by the official app generates very short-lived certificates to prevent tracking users across multiple scans. We can so far only provide an equivalent to the paper form, ie. the official app has still superior privacy features.
Individual transport modes
That is interesting for a number of use-cases, such as driving to a station using your own bike or car and then parking it there (and thus requiring an appropriate parking space), taking your bike with you on the train (and thus requiring a train connection where that’s possible), or using rental vehicles like scooters for getting from a station to the final destination.
The data model of KPublicTransport supports this now, as do all its backends. The first bits of this also already show up in KDE Itinerary, for selecting transfers different individual transport modes can be chosen in the context menu.
There’s a lot more to be done to nicely integrate this though, such as remembering the locations of the user’s vehicles and selecting appropriate modes automatically.
KDE Frameworks locale data
The previously discussed support for looking up and localizing country, country subdivision and timezone information in KDE Frameworks has finally landed with KF 5.88. This replaces older and less accurate or up-to-date code we used so far.
More interestingly this also enables a few new possibilities like informing about different currencies or local public holidays at travel destinations.
Fixes & Improvements
Travel document extractor
- Added new extractor scripts for the Pretix and gomus event ticketing systems.
- Improved extractor scripts for Eurowings, Lufthansa, MÁV,
- Fixed erroneous merging of train trips with the same line on the same day.
- Incomplete location types in schema.org annotations are now extracted correctly.
expirationDatefield of Apple Wallet passes is now considered by the general pass extractor.
- Event merging now also works for slightly differing reservations, e.g. due to different tickets for adults and children.
- Sorting of flight reservations now also considers airport timezones when still missing exact arrival times.
- KItinerary Workbench can now also show intermediate extractor results for each document node.
Public transport data
- Attribution information for line or product logos are now provided, which enables using such logos under CC-BY licenses from Wikidata as well. This about doubles the amount of logos available.
- Added a new UIC coach classification parser which is now used by all coach layout backends, improving detection of coach features especially for international trains.
- The ÖBB coach layout backend has been ported to their new backend API.
- Provider metadata can now also contain VDV organization identifiers, similar to what we already have for UIC company codes. This helps with selecting the best provider based on a given ticket.
- Improve provider selection by preferring those containing both ends of a journey.
- New OpenTripPlanner coverage area probing which produces more accurate coverage polygons when faced with outliers or otherwise inconsistent/corrupt data.
- Improved product name parsing for Hafas, which in turn significantly improves merging with results from other sources.
- Improved platform parsing for IVV ASS, providing platform information for trams as well in a number of places.
- Pinch zoom now finally works properly on phone touch screens.
- Platform data aggregation and identification from OSM data now also considers IFOPT identifiers when present. This not only improves the platform list shown in the station maps, but also allows identification of tram or subway stop locations that don’t have a name, given the public transport data also contains an IFOPT identifier.
- Improved Russian language support for parsing non-standard OSM opening hours expressions.
- PDF417 ticket barcodes can now be displayed, needed e.g. for the Hungarian railway (MÁV).
- The context drawer is accessible again in the favorite location editor.
- Transfer elements have the same progress and disruption highlights as regular reservation elements.
- Automatic transfer selection picks more suitable options before a following departure.
- Transfers are now considering realtime arrival/departure data of the reservations they are attached to.
- Transfers to/from a favorite location now automatically select a nearby one.
- Transfers can manually be added in more cases, such as around events or restaurant visits.
- Transfers involving bikes or rental vehicles are now shown correctly.
- Train or bus reservations now show their line or product icon in the timeline when available.
- Bus reservations are now also monitored for delays.
- Journey details can also be viewed for bus reservations when available.
- When editing addresses of events, hotels or restaurants an automatic geo coordinate lookup can be triggered.
- The location picker no longer closes itself when panning the map in the wrong way.
- Icons in the timline elements are no longer randomly shown in smaller sizes.
- Tooltips and accessibility hints were added in more places.
- If you are not into flags, the statistics page can now also list the names of all visited countries.
- The app now scales better to smaller screens.
- Apple Wallet passes for events are no longer wrongly claimed to be boarding passes when attached to a calendar event.
- Apple Wallet passes that don’t specify all required colors are no longer rendered unreadable in black on black.
- There’s a new KIO thumbnailer plug-in for Apple Wallet passes.
Feedback and travel document samples are very much welcome, but with travel remaining difficult there are plenty of other
things that can be done as well of course. The KDE Itinerary workboard
or the more specialized indoor map workboard show
what’s on the todo list, and are a good place for collecting new ideas. For questions and suggestions, please feel free
to join us on the KDE PIM mailing list or in the
#kontact channel on Matrix.
This was a major bug squashing week, with quite a lot of annoying issues fixed–some recent regressions, and many longstanding issues as well.
On the subject of bugs and recent regressions, I’m starting to think from a higher level about how we can prevent them. KDE has largely conquered our historical issues of excessive resource consumption and visual ugliness, and our next major challenge on the path towards world domination is reliability. One idea I’m toying with is starting an initiative to focus on the “15 minute bugs”–those embarrassing issues that can easily be found within just a few minutes of using the system normally. Here is a preliminary list of these issues in Plasma. I would encourage any experienced developers to try to focus on them! The impact will be very high.
Bugfixes & Performance Improvements
Creating archives using Ark’s main UI once again works (Kai Uwe Broulik, Ark 21.12)
Elisa no longer shows an error message instead of the number of tracks in the playlist footer when the playlist only has one track in it (Bharadwaj Raju, Elisa 21.12)
Okular’s zoom buttons now always enable and disable themselves at the correct times, in particular when a new document is opened (Albert Astals Cid, Okular 21.12)
Ark can now handle archives whose files internally use absolute paths, rather than relative paths (Kai Uwe Broulik, Ark 22.04)
Touch scrolling in Konsole now works properly (Henry Heino, Konsole 22.04)
Fixed a common crash in the System Tray (Fushan Wen, Plasma 5.23.4)
Fixed a common crash in Discover when using it to manage Flatpak apps (Aleix Pol Gonzalez, Plasma 5.23.4)
In the Plasma Wayland session, dragging a file or folder from a Folder View popup into its parent folder no longer causes Plasma to crash (Marco Martin, Plasma 5.24)
In the Plasma Wayland session, when using a stylus, it’s now possible to activate other window from their titlebars and also just interact with titlebars more generally (Fushan Wen, Plasma 5.24)
Changing various settings in System Settings no longer causes a flickering effect behind Plasma panels (Vlad Zahorodnii, Plasma 5.24)
Repositioning a panel from horizontal to vertical or vice versa no longer causes the layout of the control strip to get kinda messed up (Fushan Wen, Plasma 5.24)
Activating the new Overview effect no longer causes auto-hidden panels to be shown (Vlad Zahorodnii, Plasma 5.24)
In the Plasma Wayland session, the Clipboard applet now shows entries for images added to the clipboard using the
wl-copy command-line program (Méven Car, Plasma 5.24)
User Interface Improvements
Hovered and focused Breeze style scrollbars no longer blend in with their track so much (S. Christian Collins, Plasma 5.23.4)
Kate has been replaced with KWrite in the default set of favorite apps, since it’s a bit more user-friendly and less programmer-centric (me: Nate Graham, Plasma 5.24)
Discover’s somewhat confusing checkbox on the bottom of the Updates page has been transformed into a couple of buttons and a label which should be clearer, and it also doesn’t say the word “Updates” quite so many times on that page anymore (me: Nate Graham, Plasma 5.24):
When using PipeWire and streaming audio from one device to another, the audio stream now shows the name of the remote device in Plasma’s Audio Volume applet (Nicolas Fella, Plasma 5.24)
The Properties window for files now displays which app will open the file (Kai Uwe Broulik, Frameworks 5.89):
The icon selection dialog now pre-selects the folder’s currently-used icon for easier visualization and keyboard navigation (Kai Uwe Broulik, Frameworks 5.89)
Those little transient messages that sometimes appear at the bottom of the windows of Kirigami-based apps (which are nonsensically called “Toasts” in Android land) now have easier-to-read text (Felipe Kinoshita, Frameworks 5.89)
…And everything else
Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.
How You Can Help
Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!