Publish Falkon in the Microsoft Store
Open, Needs TriagePublic

Description

Falkon will be a useful program on Windows. We should package it and upload it to the KDE Community's account on the Microsoft Store.

Checklist:

  • maintainer/team agrees
  • package is ready
  • some testing has been done
  • icons in 44x44 and 150x150
  • screenshots
  • description
lydia created this task.Sep 2 2018, 1:59 PM

At Qt World Summit people expressed interest in having Falkon available on the Windows Store

I like Falkon but it's not ready to be shipped anywhere and needs a good amount of polish.

The current way of implementing scripts is possibly the one thing that needs to work absolutely flawless. From what I gathered, Python scripting is currently in a rather kaput state (please correct me if this is wrong) and the other option to bundle a new plugin with the source and then re-compile your browser is everything but userfriendly.
The reason why Firefox and Chrome got so much users is simply because they allowed a great deal of relatively easy customization through plugins and other hacks like userChrome.css files.
So IMHO what needs to happen before it gets put on the Windows Store is to really polish Falkon.

In comparison, Kate does really well on the Windows Store because it is a really well made and well working application that offers a true alternative. Falkon currently offers only basic browsing needs through the inclusion of greasemonkey and adblock, but to really take off it needs more than just that.

Would it be feasible to create a compatibility layer for Firefox' plugins? That way users would have instant access to thousands of plugins.

Python scripting is currently in a rather kaput state

Are you up to a challenge ?
It worked in previous Qt version, stopped with Qt 5.13 with strange errors:
https://bugs.kde.org/show_bug.cgi?id=409575

Falkon also has "limited" Qml plugin support, well there is no available documentation
apart from source code and comments. But things which can be done with it are limited
compared to C++ or Python version.
Yesterday I started playing with it a little so I might also compose some little
guide.

Would it be feasible to create a compatibility layer for Firefox' plugins?

Question asked again and again over the time.
Falkon is based on QtWebEngine which is based on Chromium.
In other words, Firefox extensions are out of question (too much work).
Chromium extensions wait for support from QtWebEngine side.
It can be said that they are working on extensions, they already added some minimal
API for pdf viewer to work.

I like Falkon but it's not ready to be shipped anywhere and needs a good amount of polish.

Falkon has one main developer who does not have a lot of time right now, and few
contributors which can be counted with fingers on one hand and you will be even
left with few spare fingers.

So if someone truly wish to see Falkon shine in Micro$oft store, the person has to put
more effort into it apart from saying "it would be nice to have it there"

I am looking forward to seeing you all on irc channel.
Have a nice day.

Also over the summer there was GSoC project to add support for Firefox sync.
But it probably failed and we did not hear from the person for some time already.

Disclaimer: I haven't looked at the Falkon source yet, so excuse me if I ask things that should be obvious from knowing the source.

It worked in previous Qt version, stopped with Qt 5.13 with strange errors

Why is the plugin system reliant on the shenanigans that Qt does with updates? Isn't there another way to provide a scripting interface for a high level language?

no documentation

This is a dealbreaker in so many KDE parts; themes and window decorations are currently my biggest gripe.

Chromium

So it could be possible to use Chromiums plugin ecosystem if they receive the QtWebEngine support? That'd be fine too.

One main developer

How can we help to contribute? Personally I'm well versed in UI/UX work and can write documentation and I'm more than willing to pool time into this.

Why is the plugin system reliant on the shenanigans that Qt does with updates? Isn't there another way to provide a scripting interface for a high level language?

It is using Qt for Python (PySide2 and Shiboken2) which are official parts of Qt.
How else to implement python support for Qt application?

So it could be possible to use Chromiums plugin ecosystem if they receive the QtWebEngine support? That'd be fine too.

It all depends on QtWebEngine.
Or you can try to do it yourself, but it is too much work.

How can we help to contribute?

This question...
As for any other open-source program.
Bug reporting, bug fixing, implementing features, support users, polishing code, create extensions...
I am not very well versed in this question, I just jumped in...
In other words it all depends on what you want.

documentation

To clarify, there are only few people lurking around Falkon, so it is natural that
there are only few comprehensive resources for beginners.

It is using Qt for Python (PySide2 and Shiboken2) which are official parts of Qt.

Okay, that makes sense.

How else to implement python support for Qt application?

Doesn't necessarily have to be Python. Could also be JavaScript or similar.

This question...
As for any other open-source program.

Well, I must say that KDE so far has had the highest confusion rate on how to help. There's this Phabricator, then there's a seperate Bugtracker, there's some code hosted on Github and who knows what else. Let's not speak about getting an account for Phabricator. I don't think that question is unwarranted to be honest. Usually it's just a flow of cloning a repository, changing code, and creating a pull request. With KDE and all KDE applications the flow is so convoluted and outright weird that questions like that shouldn't be met with sighing voice.
It's just overall really bad UX.
But that's another issue and off-topic.

SGOrava added a comment.EditedNov 6 2019, 1:50 PM

Doesn't necessarily have to be Python. Could also be JavaScript or similar.

There is C++ and Qml.

There's this Phabricator,

For code review, it should be replaced by Gitlab in the future.

then there's a seperate Bugtracker

All bugs are there (mostly)

there's some code hosted on Github

Simple repository mirror, alternative place to browse through source code and to download it.

and who knows what else

Imagination is infinite.

Let's not speak about getting an account for Phabricator.

You might need KDE account, but I managed to get one easily (I do not remember any problems)

Usually it's just a flow of cloning a repository, changing code, and creating a pull request. With KDE and all KDE applications the flow is so convoluted and outright weird that questions like that shouldn't be met with sighing voice.

It is described here: https://community.kde.org/Infrastructure/Phabricator
I used arc (Arcanist) few times and it works well,
I do not see any problem apart from reading the article on wiki.

It's just overall really bad UX.

It is not on one place, but I think it is fine and after a bit of reading easy to work with.

To close off the rant about the workflow on KDE: it's not that there's many tools, it's that there's so many different tools that all use different logins. For the bug tracker I don't need a KDE identity account, for Phabricator I do. Why keep the bug tracker seperate from the projects? Makes no sense, as you're missing overview this way.

Anyhow, it's getting into rant territory. Disregard and let's get back on topic for Falkon:

There is C++ and Qml.

Which requires you to compile the browser from source if I understood correctly, see my first post. This is not something you should ever have to do on user end if alternatives exist. It's also incredibly bad for packaging your plugins. "Oh just download the plugin source, uninstall your browser, put the plugin source into the browser's source directory and recompile the browser" is not something that's user friendly or good UX. Please correct me if I'm wrong and you can hotswap plugins written in C++, because then my point of complaint becomes moot.

If my assumption is factual, then this is a perfect example of "the little things" that need to be addressed before anything happens in terms of pushing this browser to the Windows Store.

Please correct me if I'm wrong

There is Qml, maybe Qml API needs a but more work but in general it works.

And QML plugins can be packaged and hot swapped on a compiled browser?

SGOrava added a comment.EditedNov 6 2019, 11:17 PM

sure they can.
get the dev version of falkon and go to https://store.falkon.org/p/1301207/
This one is in Qml

The example extension is also in Qml
https://store.falkon.org/p/1301043/

The complete Qml API can be found in Falkon source code "src/lib/plugins/qml/api"

Thanks. That's a good starting point as QML is pretty easy to pick up for anyone who knows JavaScript in my opinion. I'll poke around that example.