Leaving Snapcraft for Flathub

I intend to never publish another piece of software on Snapcraft again, not because I don’t like it, I love Snapcraft, but because it’s fundamentally broken.

The Snap sandbox has broken my software on multiple instances, I have been publishing to Snap for three years now and in that time the Sandbox has caused bugs in 4 pieces of software I published.

When I raise issues concerning the Sandbox or any bugs Snap has introduced into my software on this forum I get no support, and I know debugging these issues is hard, but they are important. The sound issue I was having with the Borg I was ignored and over a year later posted about it a second time where it was acknowledged, it seems a little better now but not completely fixed. In three years, and I’ve said this before, it feels like no forward progress is being made, same bugs, same issues, and if anything is fixed it took too long. (too little too late)

Now I have found bugs caused by the sandbox in both Voxel Paint and Voxel Paint Pro.

The reason for me leaving is Quality Control. Snapcraft does not offer me this, it’s too much risk for me to upload software to a platform that will give the end user an unfair (buggy) experience of using it.

Also Flatpack/Flathub has visibly won over Snap in the Desktop applications space, it’s more popular among users (by a significant multiple of 5 at minimum) thus creating more exposure for publishers and it has a better sandbox that I’ve never experienced any issues with to date.

It’s been fun, shame it didn’t workout! I honestly don’t believe Snap has any future in the Desktop applications space and thus I hope it continues to flourish in the IoT space.

5 Likes

Is there any source backing that ? Am curious. :thinking:

If you look though my prior posts they are all concerning issues with snap, such as when the sandbox was breaking interactive visual control elements of a dialog form in the Borg ER-3. No idea what caused this, but some update to snap down the line seemed to fix it after a year or so. (while also breaking other things, mono audio, etc)

I tested both of these following snaps below on three machines, broken on all in different ways, that is incredibly concerning. Some of my other snaps don’t seem to have any issues, and the exact same source/git submitted to flathub has absolutely no issues running under the flatpak sandbox.

This deduction means that the Snap sandbox is breaking these applications somehow, in some very bad way, that is not even stable across different machines.

So if you need a source backing my claims, you can start with those two snaps as they are the ones that are currently broken.

Probably the most common bug is that the auto-repeat on holding down left or right click for place and delete seems to not work on most machines, I think it worked on at-least one machine. Why running them via the Snap sandbox would cause this, I don’t know and this is the problem. Also that the Colour Picker (Q) was failing to pick colors on random Voxels at what feels like a 1/6 rate, this could be caused by the Sandbox using a lower precision floating-point format, otherwise, no idea.

Snap is visually and conceptually a cool idea but it has too many problems to be viable for me over my 3 year experience, I don’t think the further 3 year projection for snap will be much better realistically.

That’s based on me looking at the stats of my 5 published apps on Snap against my 5 published Flatpack’s on Flathub.

I tend to get on average 4-5x more exposure on Flathub than I do Snapcraft. Consider that I have been using Snapcraft for 3 years so those apps have all had a lot more time to accrue exposure than they have so far on Flathub which I started using 8 months ago…

For example the Borg ER-2 has been on Snapcraft for two years now as where it’s been on Flathub for 8 months. Comparing these stats alone is a 4x increase of exposure on Flathub, consider the timeframe difference you could call it a projected 8x+ improvement.

You see why I say 5x at minimum when you look at the projected numbers vs snap. I haven’t done a detailed daily analysis yet but I might consider doing that.

3 Likes

Can you point me out the exact bug, I’ll reproduce and fix it.

The details are posted in this thread and other bugs have been posted in prior threads I have created here, the problem is that different machines/hardware seems to display their own unique bugs. On one machine I could not even run Voxel Paint Pro as documented here:

It’s not just one bug, it’s a plethora of instability across various hardware configurations (all running Ubuntu in my tests).

I’ll read these later on. But, I think the first thing you should do is migrate to core22. Please try to read and understand carefully & obviously point my mistakes too.

As much as I understood, this app is a game, or kind of that. It needs good drivers. Here by the word good I meant latest and best optimized drivers. But, as you’re using core20, you’re already 6 years late. Core20 is made up from Ubuntu 20.04 LTS packages, so, do Core22. So, the best thing is to use gaming-graphics-core22 for latest mesa and opengl drivers. But, it’s still very much in early stage, so, currently the best thing for you is to upgrade to core22 and gnome extension. After that, let’s see how many and where error comes up.

I have already seen many improvements in wayland session improvements with core22. So, expecting improvements here also.

2 Likes

I hope I’m not teaching you how to suck eggs, but please be careful comparing the stats shown on Snapcraft and Flathub.

The Snapcraft stats on the developer page are a measure of active machines that have your software installed. The stats on Flathub are downloads and delta downloads only. Not active installs.

The Snapcraft stats are reflective of how many people continue to have your application installed, and will thus go down as well as up. The Flathub stats are a little harder to determine, because someone could install the application, then remove it, and you may still count that as an install - the site does.

It is possible to (very) roughly determine how many users have your application installed from Flathub, however. If you look at the number of delta downloads after you publish an update, and add up all the deltas over about a week. That will give you (again, roughly) how many machines were powered up and did their updates at some point during that period, and had your software installed.

Take this example of the stats of one of your applications over the last month on Flathub. I am going to presume you published an update around the 5th of August (confirmed by looking at your GitHub releases page).

If you (again, roughly) add the blue (delta downloads) up from that time for about a week, you’ll get an idea of how many people have your application installed.

28+37+39+57+31+6+5+2, where it tails off. So we can say you had around 200 existing installs via Flathub of that application. Obviously, there are the new installs on top (shown in red) that can be added. The next time you publish an update, check the numbers and see if the blue graphs are growing - indicating more people keeping the application installed.

I clearly don’t have access to your Snapcraft data, because I’m not a publisher of your application. Do you have 200 or fewer installs? I imagine so, for reasons I explain down below.

In my experience, in general, applications have 10x more installs from Snapcraft than the numbers on Flathub. I used to keep a very close eye on these numbers (as you may be able to tell from the length of this post) and it frustrates me a little that people compare the numbers of Snapcraft active users with Flathub downloads.

It also frustrates me that the Flathub stats are somewhat misleading. Calling the numbers “Installs” (as it does on the public-facing site) could imply “Number of active installs” when it actually means “Number of downloads, ever”. Those are not the same thing by a long chalk. But this is not your problem :D.

I don’t doubt your technical problems have been problematic and frustrating for you, and you’re right on the mark that support has been lacking. That’s absolutely on Canonical.

One other thing to note is your GitHub project README.md has the flatpak listed above the snap. You might be surprised to learn that these kinds of hints make a big difference to the choices people make. If one option is above another, we naturally think it’s better, preferred, the default or supported.

I know that when I worked on the Snapcraft team, we encouraged developers to put a link prominently on their project or home page to the Snapcraft store page. It builds confidence for users.

Further, getting featured as an ‘Editors pick’ makes a massive difference. When I was on the team, we would regularly (sometimes more regularly than others) update the list of featured apps. This drove traffic to applications and really gave them exposure. Canonical has subsequently barely updated these featured applications.

Sorry I can’t help with your specific technical issues. I have pretty much given up publishing any snaps now too, because the process is so infuriating to keep up with. I wish you well with future publishing!

14 Likes

Yes. My password generator app on the SnapStore has usually 10 - 15 active users, but emails from snapcraft often state installs up to 40 - 50, they just don’t stick around(which for a password generator is completely normal).

That’s a really good breakdown of the two stat systems, I appreciate that thank you and also I can admit that my initial figures where sloppy and how that may annoy others who know better, I apologise for this.

Although, even with the difference in the two systems the initial exposure on Flathub is larger, but you are right that is mostly down to just being on the front page for a few days (similar with editors pick etc) and Snapcraft doesn’t have any initial boost like that as you pointed out (or well rarely updated). It’s still a mild win for Flathub, but I admit, I don’t have the data to know for sure if Flathub is more popular in the long run and it would be difficult for me to even calculate this with confidence even with the data.

With the Borg ER-3 I have 300 installs surprisingly, since you guessed 200 I am going to assume that’s good!

Yes I have intentionally listed the Flatpak above the Snap for now, sadly it pained me to do this and I was aware of the psychological impact it would have lol but Snap and it’s Sandbox… Tut tut.

Honestly Snap and Flat need to combine into one project and it would be amazing. Both have one half of the key, combined we have the full picture.

6 Likes

Hey thank you so much I upgraded to core22 and that (sortof) solved the AMD GPU issue I was having, it still complains about it in a new way but the program launches now which it didn’t before. Although oddly this also fixed some of the more obscure bugs I was experiencing.

What really annoys me about this though is I don’t know why core20 would suddenly become problematic for me, I now fear that to have stable snaps I would have to make sure I manually update them to the latest cores or something, which in itself is not a simple ordeal as the yaml spec changes slightly with each core etc and multiply that by 20 snaps or more, it’s a lot of hassle I would not expect from a system that’s intended to make my life easier.

I’m sure upgrading snaps could be made easier for end users if that’s something we have to do. Or just support legacy yaml spec and allow users to define the yaml spec in the yaml file, if that’s possible maybe it already is? That way, people can upgrade the core and use the old spec if they want, they get to choose if they use the new spec, not forced, if the old spec was good enough before, why’s it not good enough now? Well it is good enough still, I know the new one is better but the old one is still fine and functional.

My point is, it’s hassle, this could be easier I am sure of it, maybe I am not “in-the-know-part-of-dev-team” type thing but, telling people to upgrade to the new core, and then letting them discover they now also have to update parts of the yaml file to a new spec, forcing me to change vanity names to new vanity names and things like this, really lol someone has overlooked how silly this is for the publishers.

Yes, upgrading from core18 and core20 to core22 is problematic, simply because Snapd and Snapcraft both evolved this time. But, the next update to core24(next year) will probably be the same, except some uncompleted changes. This core thing, which is separated is to support old apps. Which uses old tech. Like an app that uses gtk2 and xorg etc. Now, on the extension part, it’ll be probably unchanged from now on. The bugs you’re facing now, is most probably because the drivers in core22 is still a year old now. These things are being refined now with the advent of gaming-graphics-core22 and other things. But, don’t worry. Things will improve soon.

A small reason why things are slow here than its counterpart is simply because the Gnome SDK for snap isn’t made by the Gnome Team, neither they support it. Don’t ask why. It’s complicated.

1 Like

You really helped me out in this thread and you explained that really well, thank you. Aside the title of the thread, I honestly appreciate everyone working on snap for the hard work that they put in to make this great.

I published another Snap this morning, guess I’m not really leaving. :shushing_face:

6 Likes

Then change the title of the thread.

I don’t think I can the thread is too old?

I seem to have the powers, what would you like the title to be ?

Anything you like, I still think the title rings true, that’s how I felt at the time and that’s how I still kinda feel now, I would not have posted to snapcraft again if it was not for the market dominance, it’s like creating a Facebook business page even if you’re not going to use it just so that you capture that market audience.

I appreciate that there are issues and that everyone is working their best on this project, but I still trust the Flatpak sandbox more now and it will probably take a while for me to regain full confidence in Snap. My application stability is no.1.

That might even be a problem in itself, that Snap has become so easy to use is a double edge blade, on one side its more user friendly and free, on the other side of the blade it’s so easy to publish that you have no idea if people are just uploading to saturate their market dominance or because they actually think Snapcraft is a good platform.

For example I will only upload to Snap and Flat because they are relatively easy to submit to, as where say the Debian repositories for source pages are less easy, you have to find a sponsor the the mailing list to submit the package for you, etc, I notice a lot of people just won’t bother doing these proverbial hoop jumps even though it will potentially increase their saturation/dominance of the market.

It’s actually not hard to find obvious examples of people using Snap just to saturate the market, let’s look at my recent competitor for example; Goxel:

Now compare that to what he submitted to Flatpak and thus indexed by Flathub: https://flathub.org/en-GB/apps/io.github.guillaumechereau.Goxel

It’s pretty obvious he doesn’t care about Snapcraft, he put minimal effort into the Snap submission, not even a screenshot, and it’s easier to configure all this on Snapcraft! That’s one example I just happened to notice recently. How many submissions like this are on Snapcraft? I’ve noticed a few.

Another aspect for me after some consideration also is that I’ve had to deal with Snapcraft breaking the Borg for almost two years in strange ways. To combat this I noticed Snapcraft lets me post links in the software description Flatpak does not let you do this, this means that even if Snapcraft is breaking my software I can still use Snapcraft to “trampoline” my exposure by redirecting people to a stable non-sandboxed download in the description which is what I did with the Borg for almost two years and still do to this very day in the description of that Borg ER-3 on Snapcraft.

That brings a final point, it would seem that Flathub has higher search engine ranking than Snapcraft for me in the UK at-least? even when I bust through browser level tailored feeds. On most search engines Flathub is 1st page every time, and Snapcraft below usually some deeper page (or not even listed at all under most keywords). So even that exposure perk is under threat.

Snap is visually and conceptually a cool idea but it has too many problems to be viable for me over my 3 year experience, I don’t think the further 3 year projection for snap will be much better realistically.

It’s a harsh statement to make but I still believe this.

Well, if you want it changed, give me the line you want it changed to, else we can indeed leave it as is…

Essentially the title rings true, maybe I will still publish to Snapcraft, but what does the platform mean to me, it’s just an outlet to (mildly) increase my search engine exposure atm, I’m still sadly supporting Flatpak as the dominant platform.

I respect your opinions but wouldn’t it have been good if you could simply tell your response in a single line or something similar i mean (No i don’t want the title to be changed etc.) instead of paragraphs . :wink: