Get apps into the Microsoft Store
Open, NormalPublic

Description

In this task we will work on ways to help members who develop apps get them into the Microsoft Store.

Rationale

Past experiences of projects with their apps in the Microsoft Store have been in general positive. Many have seen an uptick in adoption and usage, and helped users discover FLOSS apps that do not lock them into abusive proprietary licenses.

As many apps are now built around modern frameworks and libraries that are in themselves cross-platform, building versions of apps that work on Windows, if not easy, is at least possible.

Another important effect of having KDE apps in the Store is that, as long as they have clearly visible KDE branding, they can serve as "ambassadors" for other KDE projects and contribute to help making KDE a household name outside the FLOSS bubble. A brand a person recognises and has had a positive experience with one of its products, is a brand that a person will trust, thus making life easier for other KDE-branded products.

Some projects have also managed to increase their funding from donations or sales in the store, which, in turn, can often help keep the project alive.

It's important to note the projects should only be published on Microsoft Store after we ensure they're stable and updated. Publishing unstable or old apps could negatively impact KDE's public perception by means of bad review scores.

TODO

  • Brainstorm most glaring absences
  • Bring KDE branding up to date
  • Help improve website and end user documentation if necessary
  • Help get app on store
paulb created this task.Feb 13 2021, 11:18 AM
paulb triaged this task as Normal priority.

We can look at what is there and what we got and brainstorm, say, 5 apps that would go at the top of the list. I would go for apps that tend towards general purpose to begin with, so, say we are thinking of applications for developers, Kdevelop would make more sense than Umbrello to start with.

Once we have our first five candidates we revise their websites, branding and end user documentation (if the app needs it) and have a chat with them and help them solve any issue.

One way of making sure things get done is by assigning them a deadline. How about Friday 19th of Feb (or earlier) to have a list of 5 candidates?

paulb assigned this task to Guilhermems.Feb 13 2021, 3:25 PM
Guilhermems added a comment.EditedFeb 13 2021, 4:44 PM

First glaring absence: Kdenlive. It's available on Windows but it's not on Microsoft Store. https://kdenlive.org/en/download/

  1. KDevelop: It's available on Windows (possibly outdated) but it's not on Microsoft Store: https://www.kdevelop.org/download
  1. DigiKam. Available on Windows but not on Microsoft Store: https://www.digikam.org/download/
Guilhermems added a comment.EditedFeb 13 2021, 4:53 PM
  1. KDE Connect: Builds (experimental?) available for Windows but not on Microsoft Store: https://community.kde.org/KDEConnect#Windows
  1. KMyMoney has a Windows Version (outdated?) but it's not on Microsoft Store: https://kmymoney.org/download.html

It's also available on Mac OS.

This comment was removed by Guilhermems.
Guilhermems added a comment.EditedFeb 13 2021, 5:23 PM
  1. Marble. Available in many platforms, including Windows (possibly unmaintained?). Not available on Microsoft Store and Play Store: https://marble.kde.org/install.php?
Guilhermems added a comment.EditedFeb 13 2021, 5:24 PM

Apps without Windows versions that could be ported:

Gwenview: https://apps.kde.org/gwenview

Entire Kontact Suite, including Kmail, Korganizer, KAddressBook, Akregator, Knotes and Akonadi: https://kontact.kde.org/components/kontact.html

Neochat: https://apps.kde.org/en/neochat (Nico Fe says it's almost ready)

KTorrent: https://apps.kde.org/en/ktorrent

Konversation: https://apps.kde.org/en/konversation

Minuet: https://minuet.kde.org (site says it is also available on Play Store but it's not)


KAlgebra Mobile: https://apps.kde.org/en/kalgebramobile (says it's available on Play Store but it's not)

Other educational software like: KmPlot, Kalzium, Kig, KGeography, Kiten, Step.

NeoChat is tracked in https://invent.kde.org/network/neochat/-/issues/207

KDE Connect needs checking if the remaining issues have been resolved.

Gwenview needs an updated blueprint and some build fixes

Guilhermems updated the task description. (Show Details)Feb 13 2021, 6:01 PM
paulb added a comment.EditedFeb 14 2021, 12:48 AM

Brainstorming takes several people, not just one. Maybe wait until you have at least opinions from 5 other people before knocking it off the list of TODOs. Also, you can make lists in one comment, you don't need a comment per item:

  1. Kdenlive
  2. KDevelop
  3. DigiKam
  4. KDE Connect
  5. KMyMoney
  6. Marble

(That is your list. I am still considering mine.)

paulb updated the task description. (Show Details)Feb 14 2021, 12:48 AM

@Guilhermems give me a ping and we'll see if we can make some progress on this.

There is already a work item at https://phabricator.kde.org/T9575

As I feared I have come to a simple and puzzling blocker. I have a Windows machine on EC2 to test and log in with KRDC and Internet Explorer insists on me approving every single domain name to browse but eventually I install firefox which is more sane but when I go to e.g. Filelight in the Microsoft store and click on Get it doesn't do anything. Why is Windows so broken?!

@Guilhermems give me a ping and we'll see if we can make some progress on this.

There is already a work item at https://phabricator.kde.org/T9575

As I feared I have come to a simple and puzzling blocker. I have a Windows machine on EC2 to test and log in with KRDC and Internet Explorer insists on me approving every single domain name to browse but eventually I install firefox which is more sane but when I go to e.g. Filelight in the Microsoft store and click on Get it doesn't do anything. Why is Windows so broken?!

I guess I could e-mail maintainers of the programs I listed and ask them what's their progress on the Windows version?


I don't know if the Windows version on EC2 is the same as normal Windows, but:

  1. Internet Explorer is deprecated, you should use Edge instead.
  2. You shouldn't be accessing the store through a web browser. Usually there's an app called Microsoft Store in the start menu and taskbar. That's the store. I think you also need to login to an outlook account to download apps there.
Guilhermems added a comment.EditedApr 8 2021, 8:38 PM

Okay, here's the state of some KDE programs according to e-mails I received:

KMyMoney: Progress tracked here: https://invent.kde.org/office/kmymoney/-/issues/13

"neither mingw nor msvc builds are fully functional due to some components missing" - Dawid Wrobel

"lacks us a developer/maintainer who has the necessary knowledge for the Windows environment" / "The nightly build of the stable branch on https://binary-factory.kde.org/job/KMyMoney_Release_win64/ represents the stable version but does not contain any translations and documentation which the binary factory does not package." - Thomas Baumgart

Kdenlive: Progress tracked here: https://invent.kde.org/multimedia/kdenlive/-/issues/996

"it is very stable currently, best it has ever been. Nothing that I'm aware of or noticed that is missing / broken. Perhaps some oddities around views, doesn't seem to save layouts and horizontal scroll bar on the time line is missing." - Martin Moores

KDevelop:

"I think it's missing a maintainer indeed. We can see that it builds on CI, but there's no testing/making sure that it works on Windows." /
"Given that on the KDevelop website we only offer the 5.5 installer for Windows, I think it's not stable enough for the Microsoft store." - David Redondo

Digikam:

"About to include digiKam in Microsoft Store, we fully agree, and all
help is welcome to achieve this task. There is already a wish in
bugzilla about this topic:

https://bugs.kde.org/show_bug.cgi?id=398582

digiKam must compile fine with MSVC, we ported all code to this
compiler a few months ago using KDE CI. If something needs to be
adjusted, let me hear.

Currently we cross compile awhole digiKam and dependencies with MXE
(MinGW based packages manager), and it works as expected. The cross
compiled binary bundle can also be used to make the Microsoft Store
packaging as pointed by bug #398582 (aka Krita packaging)." - Gilles Caulier

Thanks @Guilhermems

I guess EC2 windows won't work, I've ordered a new hard disk so when that arrives I can just try it on my laptop, there's no space currently :)

Personally I'd like to try with a simple app like kolourpaint so I can learn the process and how to QA and make sure the docs are up to date. Then it would be cool to try with an elite app like kdenlive.

Alas we're probably in opposite timezones so it might be hard to collaborate but give me a ping on Matrix or similar to say hi.

State of KDEConnect:

I would call KDE Connect on Windows "beta quality". It's nearly feature-complete but there are some rough patches:

  • The KNotifications backend for Windows is mostly there but unfortunately still occasionally crashes (for me). This has proven to be a sticky problem to fix.
  • The SMS App pretty much works, but for some reason it isn't able to load contact information (I can see that the KDE Connect contacts sync plugin is working and the .vcard files are being correctly written to disk, so I guess there's some weird-ness in KPeopleVCard which is causing it to look for contacts in a different place than expected)

    (I haven't updated my Windows version in quite awhile, so maybe the newer versions are better. I know Piyush made some progress on KNotifications and I'm not sure if I'm using the version with the latest fixes)

    I don't think KDE Connect is quite ready for a "big release". It would not give users a good first experience if released in the current state.

    Piyush is the primary maintainer of KDE Connect on Windows (and has done an amazing job getting us this far!). However, in general KDE Connect developers haven't have much time available for anything except critical fixes. - Simon Redman

State of Marble for Windows: https://phabricator.kde.org/T13423

Hi,

I have to ask something: What's the state of Marble on Windows?

well, Marble allows for two different compilation flavors: Marble-Qt-Only and Marble-KDE.

So far we've always preferred to advertize the Qt-Only version and offerted that one for download.

This Qt-Only-version has been pretty stable in the past. I don't know about the Marble-KDE version.

Is it considered fully stable?

Yes, it should be.

Are there any missing features or critical bugs?

There are certainly a handful minor features that are not supported on Windows - however the wide range of regular features are fully supported.

Is it missing a maintainer?

Up to my knowledge we have no long-term person that would feel responsible to create the Windows-Build.

A person that would

  • regularly create builds,
  • would test them extensively
  • would advertize the builds to app stores
  • and feel responsible to verify every now and then that the package still works.

would be highly appreciated

  • Torsten Rahn

Hi,
I've started to work on it a few months ago and working on it when I have free time (which is not a lot) : https://phabricator.kde.org/T13423
The current state is: there is a Windows build in the binary factory: https://binary-factory.kde.org/view/Windows%2064-bit/job/Marble_Nightly_win64/
The issue is that, recently, the shortcut to run it starts from %USERPROFILE% and not the binary directory. It causes the images not to be loaded and a black screen instead of the map.
To fix it, we need to look into the Marble code to check why the path is relative to the execution directory and not the binary.

Note that I'm neither a maintainer nor a user so I just checked that there were no crashes, I didn't use a lot of features.

  • Johnny Jazeix
Guilhermems added a comment.EditedApr 13 2021, 6:34 PM

Okay, testing of KDE Connect on WIndows (https://phabricator.kde.org/T11398):

KDE Connect: kdeconnect-kde_Release_win64 - Build 556 - https://binary-factory.kde.org/view/Windows 64-bit/job/kdeconnect-kde_Release_win64/

Keyboard and Mouse control: Works

Media Playback controls + volume: Works partially. It did work the first time, later I tried again (after unpluging my headphones) and it stopped working completely. I used VLC.

Ring computer: Works
Ring phone: Works partially (I had to unlock my phone first. Android app bug?)
Ping phone: Works
Receive Notificatins from Phone: Works
Send Windows notifications to phone: Didn't work, even after enabling the option on the Android app.

Control Presentations: Not sure if it works fully since I don't have a office suite installed. But on Windows default picture viewer it did "do stuff" when pressing buttons on the app: pressing next and previous buttons made the app leave fullscreen but it didn't do the intended action, pressing on the pointer button on the app showed a black screen with a glowy blue circle inside I could control with motion.

Browse device from Windows: It popped up a window asking which app I wanted to select to access a sftp. Windows Explorer wasn't an option and since I have no other app to use I couldn't get it to work.

Send files from phone to Windows: Works
Send files from Windows to phone: Didn't work. The app on Android shows a notification saying the operation failed.

SMS messaging: It lists messages but as soon as you click on one the SMS app crashes.

Phone battery indicator: Works

Commands: Don't work since they are commands specific to Plasma.

Pictures and MprisRemote: I don't know how to use it. :|

Contacts synchronization: I don't know how it works, but the contact folder in Windows had nothing inside.

Call control: Works and I can also silence it from Windows :D

Screen saver inhibition: Didn't work, but it's probably not a problem since screensavers are hidden behind the old interface on Windows and most people don't use them for that reason.

Clipboard from Windows to Android: Works
Clipboard from Android to Windows: Doesn't work


The app crashed once when trying to close it, restarting the app made it not find my phone and I had to restart Windows. Can't reproduce again.

Testing of Digikam and Showfoto (v. 7.2.0) on Windows: I went to a website and downloaded many images with different kinds of Raw formats and they all worked. I also tested many effects and everything worked without problems. The splash screen already contains KDE branding too. The only small issue I found is something pretty simple I'm sure can be fixed, to reproduce it just select an image, go to the "Colors" tab on the right and hover over the red/green/blue histograms: The tooltip will show gray text on white, so almost invisible.

I think it's safe to say Digikam is ready to go to Microsoft Store. @jriddell, any idea of what are the steps we have to take now?

Also Cc'ing @cgilles

@Guilhermems

digiKam 7.2.0 installer is compiled for Windows using Linux MXE cross compiler (Mingw based) : https://mxe.cc/. It use QtWebkit as web framework. This version is not published in Microsoft Store. Windows system is not used to build from scratch the installer : all is done with a Linux system. This give serious advantages as fast scripting, safe operating system, fast build, etc.

digiKam source code must compiles fine under MSVC. Actually, Craft CI is broken due to missing boost headers (if i remember). With MSVC build, it will uses QtWebEngine. It highly recommended to use MSVC for Microsoft Store publishing.

Ideally, the Craft CI must be fixed to restore MSVC compilation and compile an installer for the Store.
One alternative can be to use the cross compiled version and to post process the contents to generate an installer for the Store (as i can see, Krita use this way).

Guilhermems added a comment.EditedApr 14 2021, 10:08 PM

@Guilhermems

digiKam 7.2.0 installer is compiled for Windows using Linux MXE cross compiler (Mingw based) : https://mxe.cc/. It use QtWebkit as web framework. This version is not published in Microsoft Store. Windows system is not used to build from scratch the installer : all is done with a Linux system. This give serious advantages as fast scripting, safe operating system, fast build, etc.

digiKam source code must compiles fine under MSVC. Actually, Craft CI is broken due to missing boost headers (if i remember). With MSVC build, it will uses QtWebEngine. It highly recommended to use MSVC for Microsoft Store publishing.

Ideally, the Craft CI must be fixed to restore MSVC compilation and compile an installer for the Store.
One alternative can be to use the cross compiled version and to post process the contents to generate an installer for the Store (as i can see, Krita use this way).

Well, I'm not a programmer so I don't know exactly what you're talking about. First we need to find someone with the necessary knowledge to fix the issue. If anyone knows of a wiling volunteer please tag them in this task or tell me about them and I'll do my best to get in touch with them.

For anyone else that sees this task, the compilation and logs can be seen here

@Guilhermems

digiKam 7.2.0 installer is compiled for Windows using Linux MXE cross compiler (Mingw based) : https://mxe.cc/. It use QtWebkit as web framework. This version is not published in Microsoft Store. Windows system is not used to build from scratch the installer : all is done with a Linux system. This give serious advantages as fast scripting, safe operating system, fast build, etc.

digiKam source code must compiles fine under MSVC. Actually, Craft CI is broken due to missing boost headers (if i remember). With MSVC build, it will uses QtWebEngine. It highly recommended to use MSVC for Microsoft Store publishing.

Ideally, the Craft CI must be fixed to restore MSVC compilation and compile an installer for the Store.
One alternative can be to use the cross compiled version and to post process the contents to generate an installer for the Store (as i can see, Krita use this way).

Hi @cgilles , about the Windows version, do you need help of more people to get it ready for MS Store? If necessary, we in Promo could come up with something to help find more volunteers, maybe some sort of campaign or something. By the way, I have to say I'm not a developer, so I unfortunately can't help with that, however, I can test Digikam on Windows and report bugs.

The version I tested in my other post on this task was the version downloaded straight from Digikam's website, so I don't know if it was compiled with MSCV or not. I say that because I saw the comments here: https://bugs.kde.org/show_bug.cgi?id=398582 and I don't want to cause any confusion.

Hi @Guilhermems,

The current digiKam Windows installer is not compiled with MSVC. It's cross-compiled with MXE (Mingw).

The current implementation must compile with MSVC as we patched all implementations to be compliant with this compiler.

The problem come from the Craft environment where we need help to adjust and test whole compilation. digiKam is huge (1.5M code lines), and requires plenty of optional dependencies. It's will be a long task to achieve.
Few month ago the craft MSVC CI works as expected, and implementation have been tested fully under Windows. So I'm sure that compiling digiKam will not complicated under MSVC, but the Craft environment changes to much in time has it's used by all KDE projects.
Without a stable workflow, it will be complicated to use the KDE Craft CI/CD infrastructure safety.

The MSVC CD including packaging for the Microsoft store has never works. It's typically a Craft problem as digiKam compile everywhere without problem.

To resume, we needs a Craft expert here...

Best

Gilles Caulier