Getting KDE Apps to our Users
Some time ago, before the world locked down, I pondered that KDE wasn’t very good at getting our apps to our users. We didn’t even have a website that listed our apps with download links. If you were an open source app developer using our tech (Qt and KDE Frameworks) would you come into KDE to build your app or just start a project on Github and do it yourself? KDE has community which means some people to help look over your work and maybe contribute and translate and some promo and branding mindshare and there’s teams of people in the distros who specialise in packaging our stuff. But successful projects like Krita and Digikam and indeed my own Plasma release scripts still have to do a lot on top of what KDE communally gives them.
So I launched apps.kde.org and made the All About the Apps goal which was selected in the hope of getting KDE to support taking our apps to the users more slickly. I didn’t manage to make much progress with the goal which I will readily take the blame for. After some fighting I managed to get our announcements linking to the app stores directly but I didn’t manage to get much else slicker.
What my dream still is would be for apps to have a button that…
- Bumps the version number in the source
- Makes the tar and uploads it to a secret place
- Tells the Linux distros to package it
- Packaging for Windows/Mac/Android/Snap/Flatpak/Appimage would be in the Git repo and our CI would now build them and upload to the relevant test sites
- OpenQA style tests would be in the git repo and our CI would now test these packages
- Another button would make the source and packages public in Microsoft Store/Appimagehub/SnapStore/Flathub/download.kde.org and somehow tells the Linux distros and send the announce to the Discuss group and start off a blog post for you
I just released KDE ISO Image Writer (another project I didn’t make much progress with for too many years) and had a chance to see how it all felt
There’s no nice buttons and while we have a tool to make the tar and I have a tool to add the release to the AppStream file, there’s nothing to bump version numbers in cmake or add releases to AppStream or make templates for pre-announcements and announcements.
How’s the packaging and app store situation?
Windows and Microsoft Store
I had to go out and buy a laptop for this, there’s virtual machines available for free which should work but I didn’t trust them with the hardware needed here and they’re time limited so I’m a bit wary of setting up Craft then having to do it again when the time runs out. Craft does a lot of the hard work building for Windows and binary-factory and elite Craft dev hvonreth is often around to give help.
Getting access to the Microsoft Store takes a sysadmin request and working out what to ask for then working out what to upload. I uploaded the wrong thing (a .appx file) when it should have been a .appxupload file and that seemed to break the MS Store from accepting it at all. After lots of twiddling and deleting and generally turning it off and on again I got it uploaded and a day later it was rejected with the claim that it crashed. While the app had installed and run fine for me locally using this .appxupload thing to install it locally did indeed cause it to crash. We diagnosed that to the elevated privileges needed and after some Googling it turns out the Microsoft Store doesn’t seem to support this at all. So my dream of having it available to install there has not worked out, but you can get the installer from download.kde.org and use that.
There’s still only 9 KDE apps on the MS Store at a quick “KDE” search which seems far too few.
These have been around for decades and KDE has always had fans of this format (it used to be called Klik at one point e.g. test KOffice). SUSE devs were a big fan at one point. In recent years its gained auto-update, daemons to manage the system integration, build tools, support from top apps like Krita and Digikam and a centralised place to get it in AppimageHub (not to be confused with the other AppimageHub). And yet mass adoption seems as far off as ever.
There’s two ways I found to build it, with appimage-builder which was easy enough to pick up and make a packaging file which uses packages from Ubuntu and neon.
Or you can reuse Craft (used earlier for Windows) to build on Linux for the AppImage. This also allows binary-factory integration but I don’t seem to have got this working yet. It might also be worth exploring openSUSE’s OSB which might allow for other platforms.
I tried to upload it to AppimageHub but that broke the website which needed some back channel chats to fix. Once uploaded it appears shortly, no further bureaucracy needed (which is a bit scary). It doesn’t appear on the KDE Store which seems to be about themes and addons rather than apps. And I put it on download.kde.org.
It’s hard to know how popular AppImage is within KDE, neither of the AppImageHubs seem easy to search and many apps publish their own in various ways. There’s about a dozen (non-Maui) KDE apps with appimages on download.kde.org plus a dozen Maui apps which are developed within KDE and used by the Nitrux distro. I hear complains that AppImage doesn’t support Wayland which will limit them.
Flatpak and Flathub
This format has lots of good feels and mindshare because it integrates well with the existing open source communities.
The flatpak-manifest.json file can be added directly to the repo (which I’m very jealous of, when I suggested it for Snaps it was rejected and caused me to grump off the whole Goal) and that can be added to binary-factory but also to invent.kde.org CI. There’s an active team around to help out. That gets uploaded to a KDE testing repo where you can install and test.
But to get it out to the users there’s a separate process for Flathub the main host for Flatpak packages. That takes a another week or two of bureaucracy to get published (bureaucracy when publishing software for people to install is necessary and important). There’s also a stats website which suggests it has 300 installs.
Searching for KDE on Flathub gives over 130 results.
This works the smoothest if I say so myself. Add the packaging to the snapcraft repo and it builds on the invent.kde.org CI which actually just sends it off to the launchpad builders and it builds for ARM and AMD64. Then you get one of the KDE Snapcraft team (Scarlett, me, Harald) to register it and voila it uploads to candidate channel for testing. It needs manually moved into the stable release channel which can either be done by our team or we can share admin rights. The bureaucracy comes when you need to ask for permissions such ISO Image Writer needing access to disks, that took a week to be accepted. The packages are build using KDE neon for Qt and KDE Frameworks etc and we’ve had troubles before when KDE neon moves onto new versions of Qt but the content Snap has stayed on older ones, but we’re working out when to save a spare snapshot of it. The build tool Snapcraft also has a kde-neon extension which just adds in common parts used by KDE snaps but sometimes that gets out of date too so we’ve had to work out ways around it.
The Snapcraft KDE page has about 140 apps. From the admin page I can see ISO Image Writer has 920 installs around the world (not bad for two days old). The store doesn’t seem great at picking up the AppStream meta data so screenshot and icons are often out of date which I’ve brought up with the devs a bunch of times. It’s centralised around a single Canonical owned store which open source/free software fans can find a bad smell but it is what users want.
I’ve not looked at f-droid, Google Play, Chocolately, or Apple’s App Store. With the probable exception of Apple’s store we should embrace all of these.
I couldn’t find any tools to add release data (the files to download) to AppStream file which is what ends up on apps.kde.org, that feels like a low-hanging-fruit fix. Building pre-release tars which aren’t available publicly seems tricky to do, we have that for KDE neon but none of the app stores have it. Similarly tools to make templates for release announcements can’t be hard, I do that for Plasma already.
So lots of work still to do to make KDE have slick processes for getting our software out there to the users, it’s social and technical challenges and cultural shifts take a long time. Loads of people have put in lots of work to get us where we have today but still lots to do. If you’re up for a challenge and want to help I hope this blog shows the challenges and potential for fixing them rather than sounding too negative. Let’s keep KDE being All About the Apps!
Kommit 1.0.2 Released
The first stable release of Kommit is now available for packaging and distribution.
Kommit is a Git GUI client.
Signed by me Jonathan Esk-Riddell <email@example.com> E0A3EB202F8E57528E13E72FD7574483BB57B18D https://download.kde.org/stable/kommit/kommit-1.0.2.tar.xz.sig
KDE ISO Image Writer 1.0.0
KDE ISO Image Writer 1.0.0 is out for users.
- Adds udisks2 support
- Packaged for Windows, AppImage, Snap and Flatpak
AppImage – x86_64
Windows – win64
KDE ISO Image Writer beta 0.9.2
Windows builds are back
- update ubuntu and arch key
- open ISO from current directory
- claim freebsd support
- ifdef linux only code
- add back in Windows support
- Verify ISO with async API
Ubuntu and Arch ISOs appear not to be verified by gpgme library
AppImage, Flatpak and Microsoft Store packaging needs doing (Snap in progress)
More testing on Windows would be good
Just out is isoimagewriter 0.9.1, an unstable alpha release of the ISO image disk writing tool for USB and flash drives.
This adds udisks2 support and drops KAuth support. It also adds Qt6 and KF6 support. However I don’t think Windows support or signature checking is working currently.
Signed with my key https://jriddell.org/esk-riddell.gpg
pub dsa1024 2001-10-09 [SC] 13C1 6D03 EDE7 2851 4473 AA73 A506 E6D4 DD4D 5088 uid [ultimate] Jonathan Riddell <firstname.lastname@example.org> uid [ultimate] Jonathan Riddell <email@example.com> sub elg1024 2001-10-09 [E]
- Full changelog
- unistd.h does not appear to be needed and breaks windows build
- switch to QRegularExpression API for Qt 6 happyness
- remove build warnings
- Remove old code and debugging
- Bump version number Remove use of KAuth now we use udisks2 on Linux
- Remove KAuth use now that we use UDisks2
- update copyright
- do not use O_DIRECT which makes linux stop using my insecure buffer, try O_EXCL instead which stops block devices being used by multiple apps
- try some debugging but write not working so meh what is going on
- attempt to open device with udisks but it does not work
- port physicaldevice to udisks2
- link to qdbus and use udisks2 to get devices
- Add FreeBSD Qt6 CI support
- don’t duplicate search Auth
- Search kf<version>
- Window doesn’t have it
- We need kauth lib
- Make it compile against last kf6
- Qgpgme has never been required, restore the status quo so the build on Windows can proceed
- Show all headers in qtc6
- Add support for QGpgmeQt6
- adapt to in tree i18n
- Use ecm_set_disabled_deprecation_versions
- Add clickable IsoLineEdit to open file dialog
- Let craft embed the manifest
- CMakeLists.txt if condition is identical to elseif condition
- .gitignore sync with .gitignore from frameworks/kconfig
- Remove explicit use of ECM_KDE_MODULE_DIR, is part of ECM_MODULE_PATH
- Allow compilation on FreeBSD
- Add Qt6 CI
- Port from QRegExp to QRegularExpression
- Port away from deprecated install dirs
- Also adapt nativeEventFilter signatures for Windows and Mac
- Fix some qt6 compile error
- Adapt build system for building against qt6
- Add missing headers
- Add content rating tag
- allow kauth to be optional on linux with cmake -DUSE_KAUTH=off
- set app version and update copyright
Paddlesport Safety and Rescue Course Provider
I did the training to become a provider of the British Canoeing Paddlesport Safety and Rescue Course (PSR or PSRC). This course is a new course which replaces the old Foundation Safety and Rescue Course (FSRT). The training was led by Calum Mcnichol at Pinkston. Here’s some notes for my own reference and anyone else who cares.
Remit is to train 8 people over 6 hours for safety and rescue in sheltered water. That means “Ungraded sections of slow moving rivers where the group could paddle upstream against the flow (not involving the shooting of, or playing on, weirs or running rapids).
Areas of open water (e.g. lakes and lochs) where the paddlers are no more than 200 metres offshore and the wind strength does not exceed Beaufort force 3, avoiding the
group being swept/blown out of the safe working area. Slow moving estuaries (less than 0.5 Knots)”.
This is a mixed craft course where a range of crafts should be available (kayaks, SUPs, open Candians, sit on tops etc of various shapes). However the trainees only need to use their preferred boat. So they might all want to use sea kayaks all day long but it should include trying to rescue other craft from the sea kayaks.
There’s no need for throwbags in this course. No mention of shout-reach-throw stuff. The use of the word “victim” has been replaced with “casualty” for self-team-casualty-equipment.
Point the trainees to the PDFs on British Canoeing Awarding Body website first and the videos on YouTube. Hopefully they will get ideas of what’s involved first which means less direct instruction and more improving their skills.
In the old UKCC coach syllabuses they always emphasises that demos should be given silently. This is nonsense and can be ignored but still be careful what language you’re using during the demos.
Get them to reflect after the course. Possibly not under pressure (he isn’t a fan of e.g. asking for top three learning points from each person).
Providers need an authentication before the event.
I ran a session on unconscious paddler rescues and I ran it in reverse, talking about what to do with unconscious paddler on the land, how to get them out the boat and finally how to get the kayak upright. I could also include how to get them on a SUP to float to the side and I suppose how to swim with an unconscious paddler. I discussed differences if they suspect a spinal injury and if they are not breathing.
Ubuntu Summit 2022 Prague
One of the lovelyest things about open community development is you can do it from home but you also get to travel to fancy places to meet your fellow devs and share ideas. Lockdowns stopped that for two years but with Akademy last month it felt like open tech life could return to a more fun state. Then came the return of a meeting that had last happened a decade ago, the Ubuntu Summit. A bunch of KDE devs were invited, me (who does KDE neon), Ade (who does Calamares installer), Scarlett (who does Snap packages), Aleix (who does Discover app installers), Harald (KDE neon), Luca (OpenRazor and hangs around KDE).
Unlike the old Ubuntu Developer Summits this wasn’t aimed at planning the next Ubuntu release, they had already spent the last two weeks in the same hotel doing that. This was just a fun sharing of ideas conference where people gave talks and workshops on what they were working on.
Me and Scarlett gave a lightning talk on KDE Snaps and Scarlett gave a workshop on KDE Snaps. KDE has over 100 apps in the Snap store, a great way to get KDE software promptly.
Ade gave a talk about his Calamares distro installer and compared it to Ubuntu’s installer which is being rewritten in Flutter. Harald gave talks on KDE neon and on secrets of KDE Plasma. Aleix spoke about the KDE community and what we do. Ade also talked about KDE Frameworks.
There was plenty of talks on Snaps, it’s how Canonical makes money where it’s used in embedded devices, if you can call a 10 ton steel press an embedded device. Adam Szopa works for KDE and also Canonical and he gave a talk on Linux gaming, I hear Canonical has a whole team just to get gaming working well. Canonical also makes money from Microsoft’s Windows Services for Linux (WSL) and there were a bunch of talks showing this off. Using JuJu to set up servers is another large project Canonical works on which had some talks. Flutter seems very fashionable, a rival to Qt that is gaining attention, it uses the Dart programming language and is designed for mobile devices but Canonical has been working with Google to port it to Linux desktops (using GTK).
It was great to catch up with Erich Eickmeyer who makes Ubuntu Studio and works for Kubuntu Focus selling laptops with Plasma. Ubuntu Studio ships with Plasma of course. I spoke to him about Wayland and he says the next release (for Ubuntu plus Plasma) is looking great for Wayland.
It was also great to meet Simon Quigley (tsimonq2) who does Lubuntu and has worked on Kubuntu. LxQt is a lightweight Linux desktop and probably one of the largest users of KDE Frameworks outside KDE, they use KScreen, KIdleTime, Solid, KWindowSystem and probably other Frameworks.
Canonical is reported to be profitable and hiring (after some “brutal times”) and spirits seem to be good. They have a community team now and are keen to engage.
There were also inspiring talks from e.g. a Zimbabwean developer talking about the challenges of taking software development on donkeys here he lives. Geopolitics is an interesting subject but one aspect I’ve not thought about before is how countries with a coastline can connect their internet directly to the world while countries without such as Zimbabwe are dependent on neighbouring countries to pass it through.
Lorenzo’s Music is an open source band who create on Github using Ubuntu Studio and Kdenlive. They gave a great performance on the river boat cruise under the Charles bridge in Prague.
Thanks to Canonical for sponsoring travel and helping us re-engage.
Akademy 2022 the BoFs
After two days of talks we have moved to a week of BoF sessions. (I’m not a fan of the term BoF but I’ve never managed to think of anything better.) Here’s some notes I made incase anyone is interested.
The big news is the Frameworks 6 session had some Plasma people there too and voila we have a plan for 6. Most Frameworks and even most Plasma is already working with Qt 6. So the last Frameworks 5 release is due in December and then work will happen to finalise the porting to Frameworks 6 and once that’s solid releases will start again using Qt 6. And for Plasma we’ll make a final Plasma 5 release at the start of next year versioned 5.27. That will be LTS so we’ll stop the 5.24 LTS releases and make further 5.27 releases as long as they are useful. The finalising of the porting to Qt 6 will start in January and we’ll schedule a release whenever that becomes practicle which should be not too far into 2023.
We had a session with App Stores looking at what are the most popular products and what methods are there to make money. My notes say we discussed charging some money on the Windows store for say Okular and monitor how well that goes down. There’s also ideas of bundling games together. Monitoring could be implemented with KUserFeedback. KStars could be worth asking money for but that’s already on the MS store for free. Automatic testing would be very useful for app deployment, possibly with OpenQA or other tech. I asked for help with packaging Kontact and Akonadi in Snaps (Flatpaks need it too).
The translations, which have always been kept separate in KDE codebase, are now copied nightly into master by the Scripty script. This should make it easier to make tars although releaseme will continue to copy over the latest translations when run. Some apps need CMake updated for this change. Most importantly this means KTuberling can compile in KDE neon for the first time years.
Speaking of KDE neon, we had a KDE neon session. Nate suggested the idea of making a specification that could be applies to brand any distro spin which would require it to ship up to date KDE software, apply recommended patches prompty, use KDE’s Qt branches, use recommended software suite, not change wallpapers etc. We decided that using the neon branch for this was not the way to go but it could be e.g. a Plasma Distro Experience certified brand. Needs someone to make the spec and the test suite.
Back to neon proper we discussed the rebase on ubuntu 22.04 which is almost nearly ready and David Redondo was good enough to do a live upgrade in the BoF but it broke in various ways so I guess some more fixes needed here. The problems of invent gitlab rejecting our server for Git requests was dicussed, it’s the main thing that drags neon releases when we are slow, more debugging is needed. We pondered added RiscV and concluded “do it”. Moving our infrastructure into invent is still blocking on a service which orders the builds. kdeedu-data builds are still broken (because translations are funny here) and Albert has said he’ll write the code for this.
On Wednesday we had a nice hike up the mountain of Montserrat and then an even longer hike downwards.
On Thursday David Faure gave us a training on debugging and profiling as sponsored by KDAB. He took us through using strace. rr is for record and replay which lets gdb do a reverse run which is useful for non-deterministic tests that randomly fail. And for gdb he recommends using cgdb the ncurses frontend for it. He took us through gammaway which lets you see lots of interesting Qt goings on such as which signals and slots get run, which settings are set in widgets etc etc. radardoc is a good debugging tool for graphics calls. And he took us through compiler sanitizers which get more debug tooling into gcc and clang and works similar to Valgrid but with some different properties.
Later on we went for pizza on the beach.
Akademy Talks Day 2
The sun is shining, the beach is busy, the cava is flowing, the record shops are full of hipsters. Akademy is in full swing here in Barcelona, Here’s some scribbled notes I took from some of the talks I went to incase they are any interest to anyone.
The keynote was from Ashai dev Hector Martin. Ashai Linux runs on M1 ARM macs. EFI is a security nightmare, it’s an operating system in itself. Linus said Apple Macs won’t be available for Linux unless Apple opens up its GPU. Macs have a permissive mode to boot custom kernels including XNU (Apple’s open source OS kernel). He got himself a patreon and github sponsorship and enough people fund him to do it as a job. He did lots of impressive things to get Linux working on ARM M1 Macs and voila his video shows a Plasma desktop on a Mac.
Neil Gompa spoke on Fedora. See http://fedoraloveskde.org/ . Packages by Fedora KDE SIG. Fedora has Wayland by default (also RHEL). Better graphics performance, less resource usage. For gaming SDL is Wayland native (Simmple Direcmedia Layer), needed replaced with a shim library for SDL 1 to use SDL 2. Fedora is first distro for Pipewire for all audio routing (dropping Pulseaudio and JACK). Btrfs by default, optimised for flash storage, transparent compression, improves space efficiency and IO performance. The flagship variant is Fedora KDE Plasma Spin. It has some minor branding and usability tweaks, Firefox as browser, FirewallD and SELinux. Fedora Kinoite launched last year, minimal default experience, rpm-ostree immutable base, apps as Flatpaks. In RHEL Plasma is in Extra Packages for Enterprise Linux. CentIS Hyperscale and AlmaLinux have Plasma ISOs from RHEL. (AlmaLinux is a RHEL rebuilt and replaces much of what CentOS used to.) In the future they hope to make SDDM use Wayland (needs an SDDM release). Fedora workstation is shipped by Lenovo and more, he wants Fedora KDE on hardware. The out of box experience isn’t great for this yet but he’s working with Nate to do it. Plasma Mobile packages just integrated into Fedora Rawhide so maybe x86 tablets and then ARM device support.
Wayland downside are that it has quirkyness, multi monitor quirky, mixed DPI is quirky, Plasma Wayland is pretty much feature complete. Accessibility not there and input methods not there so no screen readers. Plasma LTS was horrible to maintain as a distro because underlying frameworks and apps not inline. He suggests to spend the energy of Plasma LTS dev fixing normal Plasma releases.
Volker Krause spoke about push notifications, they must be part of the platform and app does not need to run, there’s potential for apps to abuse them but they are crucial for some uses. On proprietary systems (Google, Apple, Windows) you are locked in, they can’t be removed. UnifiedPush standardises interface and DBus, Android etc. Push drivers are Ntfy, NextPush (for NextCloud), Gotify. Android distributors FCM bridge. DBus mostly proof of concept. He shows the distributor in the KCM. He shows an app subscribed to notifications of German weather warnings. There’s legal and privacy risks: storage, authentication and encryption is not standardised. We have all the blocks, the main challenge is hosting the provider service.
Shyamnath Premnadh (Shyam) spoke on How C++ and Python can thrive together. He’s a Senior Software dev at Qt for Python team. C++ is loved, fast, control, mature etc. Python is also popular, at least from Stackoverflow rankings. You wouldn’t use C++ for something quick and dirty. He gives some exmaples of where Python is easier than C++. Qt for Python is an application suite. Pyside6qmlls, Shiboken, assistant, linguist and others. Shiboken makes the bindings, it uses libclang to parse the Qt headers. He shows a C++Papp with Python plugins which can change the themes and other settings in the C++ app. The code to make this is easy and he shows that too. He shows QtScrypt, a proof of concept for integrating Python inside C++ in the same file. He shows pyside-deploy making a Flatpak package for his app.
Volker Krause spoke about Frameworks 6 porting. At Akademy 2019 they made a plan, do the work in the Qt 5 codebase, branch late, actionable tasks. Now KF builds on Linux, BSD and Android. Windows has 30 of 55 building. CI coverage is good. Plasma platform integration builds and works. QtWidget apps work, QML ones need more work. He shows his desktop running Kate with KF6, then Konsole, then Systemsettings. And he reveals that the whole Plasma desktop and KWin is running with KF6. This is not the out of box experience it requires some modifications for QML. ToDo before we can branch is not much. Still to be decided the scope, just KF6 or Plasma as well.
Lydia talks about fundraising with Jean-Baptiste. It was lots of work and not cool. They’re trying project specific fundraising starting with Kdenlive. Jean-Baptiste takes the stage, their workload is increasing, they want a sustainable project. That needs a CI for binaries. For 1 year he’s been working with the e.V. board on a fundraiser. Signed a contract in March for the new fundraising software. Launched September. After 12 days it has now raised over €12,000 which is amazing. Challenges: make it sustainable. Increase presence in schools. Keep having fun. Lydia says contact the board if you want to do the same with your app.
Albert Astals Cid talks about security, 9 people with history in KDE (3 of them accounts so old they don’t know when they started). Needs new blood. When they get an e-mail they reply to say “thanks we will look into it”. Then check if it’s a bug or a feature. Then contact with someone who might be able to fix it. Get a CVE and publish. But you need to be careful when else it’ll go on The Register. They would like help from oss-fuzz adding kfilemetadata, baloo, kmime etc. They want KAuth uses audited.
Harald talks about Healthy Mind Healthy Code. He became aware some people had problems and struggles with their KDE contributing. It’s important to have sleep. Learn to say no. Have friendships. Reflect on your state on mind, maybe you’re being stressed out by KDE. You should be mindful you should get something out of it. You don’t want to lose sleep over it. Know your limits, do not stress too much if you can’t fix all the bugs in the world (half might do). Sometimes its OK to take a holiday for a couple of years. Do not over plan your life. He points to a Gitlab activity chart showing gaps, gaps are a good thing as it means you did go on holiday.
Akademy Awards winners for winning app is KStars, winning developer is Harald, winning non-dev contributions is Aniqa.
Akademy next year will be in Greece! Now onto the week of Birds of a Feather Meetings!
Akademy 2022 in Barcelona Day 1 Talks
Akademy is back, online and in person. FFP2 masks being the only sign of a pandemic having happened. Barcelona is warm and sunny and we’re meeting at the Universidad Polytechniqua de Catalunya in grand lecture theatres with high def projectors. It’s great to see some old faces and some new and discuss the progress of the last couple of years since we could last meet. Here’s some notes on some talks I went to.
Volker Hilsheimer gives the keynote aschief architect of Qt for last 6 months. We are 2 years into Qt 6 and stuff is still being ported. Qt 6.4 is now out and it adds QtLocation as the last major module to be ported to 6. Qt WebAssembly is an important development, zero deploy, near native performance, Web in Qt and Qt in Web, they consider it to be Docker for Apps. How will KDE use it? Lots of work is happening to make Qt prepared for C++20. C++23 is on its way, stuff like the stack tracing library will be valuable. There’s some C++ successor languages upcoming like cppfront and carbon which they want to see what’s relevant. Python is something they have invested in. People are asking about Rust, they’re not actively doing anything but it’s something they’ll need to look into. Many people think of Qt as a user interface library, that’s not the only aspect but it’s a big part of it. What controls are still missing? QtWidgets they won’t throw much resources at, they will keep it relevant and up to date but QtQuick is where they want to put effort. They have not spent a great deal of time making sure Qt apps look great on the Linux desktop in recent years – they are now looking at that again. HMI, Human Machine Interface, is relevant. Connectivity is interesting for Qt (it’s not just a UI framework). Community is important for the Qt project, there’s a long and good history with the KDE community. Qt now has a community manager Pedro Bessa (who takes the stage). Almost 100% of the real world problems being solved with Qt is done outwith Qt Company so your perspective is important to them. 1/3 of maintainers are outside the Qt Company. Having an ecosystem for Qt. A question about speed recognition in Qt? Yes, contribution was this summer to QtSpeech repo.
Adam Szopa goals talk. Goals initiative was started in the distant past of 2017. In 2019 Wayland, Consistency and All About the Apps kicked off. Then Covid happened.
Aleix talks about Apps: if humanity used more of our apps we would have less wars. It’s hard for us to do all the work. Are we as good as it gets to getting the last mile? On all the stores and all the platforms? We always have a one to one relationship with the app and the user. Snapcraft has most apps and 350k base users, 60,000 installs of Krita and Kdenlive. Flathub has 120 apps with Krita and Kdenlive most popular at about 25,000 installs. On Google Play Krita has 1m active installs (Android and ChromeOS) which KDE Connect has 300k installs. The Craft SDK now works for Android. KDE Connect uses native Java-style code in Android. Windows store has lots of users, 1M Krita installs but otherwise only 8 apps. Apple not convenient, incompatible with GPL in the store.
Niccolo and The Dawn of Consistency. He gives the example of KHamburgerMenu which should have a similar widget which is a panel, having a common component was something he kept talking of but it was never done. App redundancy, one part of the goal was removing multiple applications. This depends if KDE is an umbrella for any app or if it’s a brand that promotes a set of apps. For example Maui is very much doing the wrong thing with their own design with their own Kit and they have their own shell but MauiShel isn’t part of KDE even though MauiKit is. Maybe we should have a requirement for KDE look and feel as part of being KDE. Some apps are a bit stagnant, in general I’d like to move them to Kirigami because that helps consistency. Kate and KWrite use the same code so congratulations. Band consistency, many apps had their own website, there has been a lot of improvement for this. Consistency within applications has improved.
Méven talks about Wayland goal. In Plasma 5.24 we got the Overview Effect, improved NVidia support (where the distro uses the patches), improved stability too. In Plasma 5.25 we got touch mode for better tablet support and a tonne of stability improvements. In Plasma 5.26 we got improved virtual keyboard support, improved graphical tablet support, xwayland and DPI improvements and a lot of stability improvement. But showstoppers are still missing colour profiles, blurry rendering with fractional scaling and many more. Virtualisation and screen recording still needed before people can switch from X.
Announcing the New Goals for 2022:
KDE For All: Boosting Accessibility with Carl
Automate and systematize internal processes with Nate – make sure people’s processes they know about are automated so when they move on that knowledge is still there, e.g. bug triaging, CI checks, document knowledge, doing off-boarding when people leave,
Sustainable Software with Corelius, see eco.kde.org
Tomaz spoke on Terminals. Unix users will use a shell, but terminals are difficult. He got some users to use different terminals with various tasks: how to change text size, how to open another program etc. 5 different universities took part. Changing text size. For xterm etc 0%, gnome-terminal 90% could but the name of option is “zoom”. Konsole 100%. Kitty is a new terminal based on Rust got 70%. Copy and paste didn’t work well as everyone used control-c (except on MacOS) maybe we should allow control-C for copy. One student cried in despair. Thankfully Konsole has sane defaults but we are still far from good. He demos the SSH session panel and the quick commands
Devin Lin and Bhushan spoke about Plasma Mobile. Within Plasma Mobile there’s over 40+ projects, 300+ tickets and 6+ active downstreams (opensuse, fedora, manjaro, postmarketOS etc). He showed the new shell as it will be in Plasma 5.26. He shows the quick settings. In the middle is the pin view with notifications, the same tech as desktop. He shows the audio applet and lock screen notifications. For telephony they switched from ofono to modemmanager. Plasma Dialer is for calls. Spacebar app is for SMS and MMS. callaudiod from Mobian for audio routing. There’s convergent apps like Discover, Elisa, Koko, Kasts, Neochat, KClock etc. Some mobile specific apps like Angelfish, QMLKonsole. Supports Pinephones and postmarketOS supporter devices such as OnePlus 6. It can also be installed anywhere on Linux distros. But there is more vendor lock in coming, a fragmentation between open mobile communities. Coming up: Kontact. Improved tablet support. And a great feature would be full convergence – you can walk up to monitors and plug in mouse and keyboard and get a desktop.
KDE Snap Packages now on ARM and KDE Invent CI
KDE’s apps are available to install from the Snap store. 110 of them are packaged there ready to run on pretty much any Linux distro out there.
There’s 350,000 devices with KDE snaps installed in the last week. The most popular Snaps are Okular, Krita with 50,000 devices this week. Kdenlive has nearly 44,000. Kolourpaint is popular at over 20,000.
Thanks to the help of Maximilian Federle they are now built on KDE’s Invent CI. In turn this farms off the build to Launchpad which means they get built for both AMD64 and ARM64, great for running on your Raspberry Pi.
Take a look at the packaging repo. Come talk to us in the KDE neon chat room. Read the packaging guidelines. All app developers should get familiar with at least the basics of getting apps onto the stores so come and say hi. Lots more Snaps need updates and testing and various fixes.
OpenUK Awards 2022
Nominations are now open for the OpenUK Awards 2022.
We’ve run our annual awards ceremony to recognise great Open tech contributions for the last two years with great success and this year nominations are open for you to join or point is to the best people, organisations and projects that need rewarded.
Two years ago it we had dinner sent to your door during Covid. Last year we dined at the centre of the world at COP26. This year we’re Lording it up with a ceremony and dinner in the House of Lords on 30 November.
Last week we had a preview of the event, a delayed Burns supper in the House of Commons. One of the wonderful aspects of Open tech is how it gets you to exciting places and meet interesting people. In this case SNP MPs hosted and we got to promote KDE and tech freedom.
So please nominate yourself, your project, your company or your org. Or if you know someone else who should be nominated go and nominate them. We have three fine judges lined up who will go over the entries so remember to give a good writeup of what the work done is and why it deserves recognition along with links to code repos etc so we can research it.
Categories are: software, sustainability, data, belonging, young person, finance, individual, hardware and security.
Nominate now. And take a look at the 2021 OpenUK awards for more inspiration.
Midlothian Council Election 2022 Voting Green and SNP etc
I’m a postal voter for Midlothian South ward. There’s three spaces up for taking and none of our existing Councillors are renewing their terms. None of the existing councillors have written anything easily accessible about what they have been doing for the last five years so it’s no great loss there. When I last looked the pro-Johnson Tory boy of Kieran Munro wasn’t even turning up for council meetings.
I looked through the national council manifestos. These are strange vague documents because they can’t talk about anything concrete, I’m not sure why they don’t include priorities for each area. The SNP one is about how the SNP councillors will work with the Scottish government. The Tory one is about how the Tory councillors will work with the UK government. The Green one is about nice green stuff. The Labour one seems to be about long term Scottish government issues.
Ballot Box Scotland has a useful background summary. Spokes has some analysis of the Edinburgh manifestos but nothing on Midlothian.
I couldn’t find many local party manifestos when I Googled and looked on their websites. Labour has some stuff on their Facebook page about community police teams and against the congestion charge for Edinburgh, I’m all for the congestion charge although I do think it needs implemented to charge people in Edinburgh as well as out. They currently run the council and proposed to raise council tax this year which is probably no bad thing but they were voted down. Their national manifesto says they’ll get rid of the council tax which is interesting as it’s the first I’ve heard of that policy from them but that’s not relevant to this election.
The SNP Midlothian Manifesto is mostly also about national policies. I delivered some leaflets for our local candidate Ellen Scott who is a well kent community figure running the Gorebridge Hive so certainly her actions are concrete.
The Greens seem a nice bunch when I had a beer with them, I can’t find a manifesto and the only concrete policy seems to match my view on the Edinburgh congestion charge.
The Conservatives also don’t seem to have a manifesto for Midlothian, their twitter feed is busy but only about Scottish and UK issues and they seem to go on about voting against the SNP when we have a Labour run council.
All a bit disappointing, I’d want to hear policies on the Gladhouse reservoir parking but neither of the candidates I asked seemed too fussed (probably because it needs a big car park which is expensive and nobody wants to be seen to be attracting cars). I’d want policies on getting a useable cycle path into central Edinburgh. I’d want to know if Gorebridge will get a senior school any time soon.
Balancing the candidates and my preference for parties I’ve gone:
- Malcolm, Green (nice guy, lives locally, not much chance of getting in)
- Ellen, SNP (very useful local person)
- Douglas, SNP (I don’t know him but SNP seem competent to run the council)
- Hazel, Labour (generically uninteresting from what the leaflets say but mostly harmless I guess)
- Kelly, Labour (as above)
- Alba (the less mad of the wee parties)
- Libertarian (the most mad of the wee parties)
- Robin, Tory (tactical vote last for the high-tax high-inflation low-freedom British nationalist corrupt party)
Local democracy seems not very functional around these parts. I suppose if I want it to be better I should get more involved but y’know, reasons.
Remember to use all your votes cos you never know which ones will count!
KUserFeedback is a library for collecting user feedback for apps via telemetry and surveys.
Version 1.2.0 is now available for packaging.
Signed byE0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Esk-Riddell <firstname.lastname@example.org>
bump version for new release
opengl source: Do not crash if we could not make our context current
Add Linux Qt6 CI
Make UserFeedbackConsole build with Qt6
Fix linking libKUserFeedbackCommon.a
Build with C++17
Build docs on Qt6 too
Adapt CMake code to make it build with Qt6
Add auto generated files to .gitignore
Add FreeBSD CI
Add Android CI
Enable Linux CI
Fix typos found by codespell
Qt 6: Replace calls to removed QDateTime(QDate) constructor
Qt 6: Fix issues caused by size() returning a qsizetype
Qt 6: Remove QNetworkRequest::FollowRedirectsAttribute
Replace declarations of QVector, QStringList
CMake: Allow building with Qt 6
Qt 6: Replace QMap<QVariant …
Qt 6: Fix signature of methods for QQmlListProperty
Fix cmake warning
Port away from ECMSetupVersion's deprecated *_VERSION_STRING CMake variable
Make the survey expression variant comparison work with Qt6 as well
Use non-deprecated QStandardPaths enum values
Make QString to QUuid conversion explicit
fix Windows compile, no unistd.h needed
Update historical links to cgit.kde.org.
Check for invalid JSON first, then for empty objects
Don't record telemetry-less survey queries, that just produces empty rows
Fix php unit tests
Also record the device pixel ratio
[server] Convert JSON fetch to stream data
Provider: add API to restore default user-visible settings
Always show the "View previously submitted data…" link
Add appdata file for UserFeedbackConsole
KUserFeedback: Convert license headers to SPDX expressions
Fix area charts with Qt 5.14
Use KDE_INSTALL_LOGGINGCATEGORIESDIR with ECM >= 5.58
Make it compile without deprecated method
Plasma 5.24 Beta Review Day
Plasma 5.24 Beta Review Day
When a new Plasma release enters Beta Phase, there are three weeks of intense testing, bugfixing and polishing.
During this time we need as many users and developers as possible to help with finding regressions, trying to reproduce incoming reports and generally being on top of as much as possible. The more users, workflows, use cases and hardware the tests are being run on greatly helps to cover a wide variety of the entire software stack.
In order to make this process more accessible, more systematic and hopefully more fun we have an official “Plasma Beta Review Day”
Who can take part?
Any user of plasma who is able and willing to install the latest beta or run a live ISO with our beta on it and wants to help.
When will it take place?
Thursday 20 January 2022 11:00UTC – 17:00UTC
Please see our Plasma Schedule in the Future releases section. Look for Beta Review Day.
Where will it be coordinated?
Join us in our Matrix chat room.
What will this consist of?
- Introductions to Our Bugzilla Bugtracking System for people who want support for filing or triaging their first bugs
- Being assigned a short list of bugs to validate or de-duplicate entries (for those more experienced)
- Going through a defined list of all the new areas of Plasma to check for regressions
- Developers being online: if Developers can get debug info for issues you have (we will help you with getting this info), they might be able identify and fix things in real time!
What should I prepare?
Ideally, get yourself set up with a beta of the latest Plasma. You can either use one of the Live-Images (without the need to install) or use packages provided by your distribution.
Disclaimer: As this is Beta Software, there is a (small) chance that you might encounter data loss if you’re installing the Beta version to your system. Make sure that you backup any data before installing. Users of the Live-Image are less likely to encounter data loss, but a backup of your data is still encouraged!
If you can’t use the Plasma beta on your own system, shells.com has provided us demo accounts, so you can try the beta inside your web browser. These accounts will be available in the shared notes in the web conference channel.
We hope to see you all soon!
OpenUK Awards 2021, COP26 and KDE
The OpenUk awards reconise and celebrate the best in open tech in the UK over the last year. We have a bunch of awards this year and the shortlists are up. I’ve clerked the judges into tracking down the gossip on all the shortlisted nominees and we do have final winners which will be announced at the ceremony on Thursday evening.
The ceremony is at COP26 in Glasgow, Scotland. This is the UN conference to try to get international agreement on mitigating the worst affects of the climate crisis. We’ll be one of the last events there.
I’ll be making announcement about KDE’s sustainability effort in front of the politicians and tech audience which I’m very excited about.
You can sign up to watch the day event on sustainability in tech. The evening award ceremony will have its video published shortly after the event.
Who’s is nominated I hear you ask?
OpenUK Awards Shortlist 2021
Belonging – sponsored by Osmii
Pride at SUSE – Rob Knight – executive lead and ambassador for “Pride at SUSE”
Red Hat B.U.I.L.D UK&I – Ally Kouao – who set up the UK and Ireland chapter of Red Hat’s Blacks United in Leadership and Diversity (B.U.I.L.D.)
Endless Compute – Endless’ commitment to open source and an inclusive community goes beyond their own work sharing their OS to promote digital inclusion, to sponsoring the creation of the GNOME Community Engagement Awards, promoting bringing people into open source.
Open Knowledge Foundation – a global, non-profit network that promotes and shares information at no charge, including both content and data
Viæ Regiæ project – Viæ Regiæ project aims to extract data on early modern transport networks from historic maps and documents in Britain
Code the City – is dedciated to the use of tech and data for civic good
Hardware – sponsored by The Stack
Lime Micro – Lime Micro specialises in field programmable RF (FPRF) transceivers, SDR platforms and ecosystem technology for the next generation of wireless broadband systems.
Gatecat – developer of nextpnr, the open source FPGA place and route tool
DevTank, HILTOP – Tim Telford – Devtank are an open source test and measurement business dedicated to supplying high quality solutions to businesses across many sectors including space, aerospace, telecoms, defence and green energy
Finance – sponsored by FINOS
Starling Bank – Starling Bank has built its business on open source software
Wise – open source technologies: MariaDB, Envoy and Orchestrator
Software – sponsored by GitLab
Royal College of Paediatrics and Child Health – Their Child Health Digital Growth API wraps all complexity the of child growth in a simple REST API
The Herald Proximity Project – creates an opensource and privacy focused Proximity Measurement and Digital Contact Tracing solution
Open Health Hub – runs an open forum, which provides the only completely independent, open internet-facing, and free place to discuss health technology in the UK’s four NHSes
Sustainability – sponsored by Centre for Net Zero
Turing Institute – The Turing Way – The Turing Way is an open-source project that involves and supports its diverse community to make data science reproducible, ethical, collaborative and inclusive for everyone.
Icebreaker One – an independent, non-partisan non-profit with global reach, which aims to influence investment decisions of $3.6T/year to deliver net-zero by 2030
DevTank, Open Smart Monitor – Tim Telford – an open source test and measurement business
Individual – sponsored by Open Source Connections
Catherine Stihler – Chief Executive Officer of the Open Knowledge Foundation
Kevin Mayfield – an integral part of the Open Health Hub
Cheryl Hung – VP ecosystem at the Cloud Native Foundation
Young Person (under 25) – sponsored by JetStack
Lowena Hull – Lowena has been volunteering and speaking at events to promote girls in technology
Samuel Van Stroud – Turing Data Stories has the goal of developing an open-source platform that enhances the understanding of the world around us through
Paul Ogbonoko Owoicho – PhD candidate who researches Mixed-Initiative interaction for Conversational Search System
See you there!
OpenUK Open Technology for Sustainability and OpenUK Awards 2021
This week sees COP26, the UN conference which is probably the last chance for humanity to mitigate the worse effects of the climate emergency.
At Akademy earlier this year KDE had a talk about Towards Sustainable Computing. Open tech can make a difference.
OpenUK will be hosting a venue on 11 November with a day of events about sustainability with technology emphasising why open tech is the most effective way to do that.
Sessions include an opening from former government minister Francis Maude, Launch of the OpenUK Consortium Data Centre Blueprint, Open Collaboration Opening Sustainability led by Red Hat, Opening Up the Energy Sector, building the Sustainable Open Future for the UK.
In the evening I’ll be hosting the OpenUK awards 2021, showcasing and recognising the best people and organisations for open tech in the UK.
Do join us online for the streaming of the event Join us Digitally on 11 November
BC Advanced White Water Coach Training with Matt Haydock
I did an BC Advanced White Water Coach Training with Matt Haydock overseen by Ken Hughes.
We started with Ken doing a session on paddling in a ~10m wide circle using constrains based coaching to limit the possible options of the person being coaching until they got the right answer. Turns out that when turning in a circle you use your inside stroke much more than the outside stroke.
We did a varied practice session on eskimo rolling with Matt. Go and roll. Go and roll after paddling about. Go and roll without any setup. Go and roll in the moving water by the fall. Roll and do Bren’s helicopter under the water then roll up. The point is that we rarely practice rolling in the river but on a not-too-cold day it’s fine to do if you have a drysuit and it doesn’t ruin the rest of the day and it’s well worth doing rather than just a roll at the end of the day when you are cold and tired.
We did some sessions on the first two drops of tripple step at the Ettive looking at attentional focus to get a clean line through the section. It does help a lot to look ahead of you where you’re going.
We practiced some boofs off the last drop.
The next day we had three students come and we coached them in the pool at the bottom, the bottom drop and then I did the top two drops. Using video to review and watching each performance to review who got the slickest. The aim is to do it, do it cleanly then do it so it looks good on Instagram.
Plasma 25th Anniversary Edition Beta Testing Day
Friday 1 October is the testing day for Plasma 25th Anniversary Edition.
Please show up on our Plasma Matrix room (accessible on Libera IRC as #plasma) and download one or more rolling distros with the beta on. Distros with Plasma beta.
You can also try the KDE neon Docker image
I’ll get a shells.com machine running for us to try out too.
I’ll be online 11:00UTC – 23:00UTC (midday to midnight UK times, 13:00 to 01:00 CEST) to answer questions and get bugs to the right place.
You’ll kick yourself if you don’t help out and that annoying bug is still there 🙂