What about an AI badge in Storeman

Greetings Sailors!

As I’m trying to have my phone runned by code, done by humans only and it’s getting more and more time consuming to always look for the AI codeword in the description of any newly created apps in Storeman.

What about an AI badge in there next to the App icon?
That shall help everyone like me knowing if reading the disclaimer is worth the time.
By seeing the badge one could just ignore the “ai-slop” more easily.

What are your thoughts?

21 Likes

First of all, hello. When it comes to AI and privacy, I can understand your concerns. Even if the person who made the application has no malicious intent and has not added any telemetry or anything that sends data elsewhere, there can still be concerns about the possibility of the app being hacked because of weaknesses in the application itself.

However, there is one thing I would like to point out here. As you may have noticed, the words came directly from you: you said that you wanted to ignore the “AI slop.” Based on that statement, I’m curious to hear your views in a broader sense.

When I first started looking into Sailfish OS, I noticed that across the different stores you mentioned, a great many applications were originally released in around 2016 and were genuinely excellent at the time. But many of them seem to have become stuck somewhere around 2020, 2021, or 2023. In other words, many of them neither managed to maintain continued development nor became better applications over time.

So, in short, you are saying that you would prefer applications written by highly skilled developers who actually write the code themselves. But do we really have enough of those developers here? If we did, wouldn’t the stores already be overflowing with their applications?

If we assume the entire developer base here represents 100%, I would guess that developers who genuinely write everything themselves may only make up around 5–10%. When we look at people who develop applications with the help of AI, that figure may be closer to around 20%, and we can also see a higher level of continued development and maintainability among them.

What I’m trying to say is that you want an application with clean, trustworthy code written entirely by an experienced developer, but do we actually have enough people capable of providing that? If we did, wouldn’t we already have far more actively maintained applications?

There is one more thing I would like to add. The AI discussion became extremely long on the forum at one point. Personally, I think stores like the ones you mentioned should focus more on categorising applications rather than simply adding an AI badge.

At the very least, for applications developed with the help of AI, people who understand source code can inspect it themselves, while those who do not could have the code reviewed by a capable AI system and make a more informed decision about whether they can trust the application. Otherwise, there really is no end to this discussion.

As I mentioned at the beginning, truly experienced developers may only make up around 5–10% of the community. An application made with AI, or developed with significant AI assistance, may indeed have a codebase that is easier to exploit if the person behind it lacks experience. But when it comes to usability and interface design, some of these applications are genuinely very successful.

I would also be interested in hearing your thoughts on this. Thank you.

As a long time user I already do have my software stack from well known SF apps + FDroid ones for those needs I can’t find a Sailfish one for.

I do understand your concerns, still I find it handy to have a badge, which shows the manually done apps from those which are AI-made. Otherwise I would need to check the source of every new app I would like to try - sure I could do that - I’m no coder but still do have my own pretty decent local LLM rig and GPU, where I could inspect it, but why the hassle?

As an example - why shall I bother checking on 10 new apps from unknown devs, when I could just check on 2 out of 10, which do have the non-AI badge?

P.S. I have my ol` XA2, with no personal intel on it, where I have nothing against testing “AI-slop” on it.

1 Like

There is already a similar feature in the ai-meta branch of Chum that sounds interesting. Would be harder to implement of OpenRepos though due to its “wild west”-like approach to apps in it.
reference: link to AI branch in chum

1 Like

A single badge would not work, because AI can be used at many different stages of coding (research, prototyping, writing the initial skeleton, adding features, fixing bugs, writing docs), and can be used anywhere from barely at all (e.g. getting an answer from Google’s AI overview while searching) to almost entirely (developer doesn’t know how to code & just keeps prompting their AI until a bug is fixed).

So a single AI badge would be meaningless, because where do you draw the line? Everyone would have different opinions.

Ideally there would be an AI disclosure section, where you give a verbal description of how much you used AI for each stage of coding. And/or a number out of 5 for how much AI was used for each stage (with a guide on what number to use for different kinds of AI usage).

For people who want an answer at a glance, the store could combine all the “out of 5” scores for different stages into a single percentage of AI usage.

Of course this relies upon honesty, but it would at least be a start.

3 Likes

I should add that AI usage is just one signal for how good or bad an app might be, and there are many other signals, such as how many updates has an app received, how long ago was it last updated, average score from user reviews, how well is the app documented, does it need root access, does it use Sailjail, how long has the developer been around, scores for other apps by the developer, and so on.

I wouldn’t exclude an app just because AI was used a bit during development, but I would consider it along with other signals.

1 Like

IMHO, similar to what c/selfhosted community on Lemmy expects from developers, we should expect an AI disclaimer in some way from every developer.

I’m not against using AI, using it a lot these days, without it I wouldn’t be able to kick off my Mastodon client PoC I’m writing for SFOS in one evening. However I’d also expect some sort of disclaimer how AI is being used in the project, to what extend and what I can expect from a given developer in terms of curating the app code.

For reference, their AI disclosure guidelines: https://lemmy.world/post/49151085

2 Likes

I think a “No AI” badge would be more useful since people would then need to intentionally lie to put it on their projects.

By now, I expect every (new) project to have used AI unless they specifically say they didn’t to be honest.

10 Likes

For context, just a few days ago Debian voted to allow “responsible use of generative AI”. In a nutshell:

The use of a generative AI tool does not diminish the contributor’s responsibility for the work they submit. Contributors are expected to understand, review, test, and, where appropriate, modify AI-assisted output before incorporating it into Debian.

I really recommend reading the full resolution they adopted. I like it - it is quite nuanced.

Why is that relevant here?

We enourage [sic!] our contributors to disclose whether a contribution was made with AI assitance [sic!], but do not require them to do so.

To me, that’s a good call.

Otherwise, where would you start? Does use of a local AI model for auto-completion in your IDE count? Having the AI proof-read the documentation? For improving test-coverage? There is no black and white here. Not everything is “AI slop”. Plus, the field is developing so rapidly, no categorisation would be able to keep up for long.

Devs should not forget that they have responsibility towards their users, that they should hold themselves to a certain standard (i.e., not produce slop of any kind) - but we shouldn’t turn all AI use into a boogeyman either.

1 Like

There seems to be basically two extreme camps regarding LLM usage: vehemently against, and vehemently for. Middle ground seems to be basically ignored. There are ways to use LLMs that enhance development rather than hinder it, even if the app’s code is fully generated by AI.

There are concerns with environmental aspects and such when it comes to the big closed models. But I’ve seen people on Mastodon jumping from “You support LLM use” to “Would you support child labor used in a store’s products?” which is just a bit of an insane logical leap to me.

3 Likes

From an app user’s point of view, the real issue is the lack of code review behind many of these AI-built apps.

You can trust a coder using AI, but can you trust a AI generated code ?

There is a tendency for AI to produce larger amounts of code with subtle errors that go under the radar of human perception. We are used to spot the mistakes of fellow programmers, but not used at all to see what’s wrong with AI code.

It’s a bit like if a normal 5 year old produced a 200 pages book with an academic level language. If you had to review and disprove it, you would spend an equal amount of time as you would to review a book written by a trusted peer.

It is going to be impossible to find qualified programmers willing to spend that time for free, on AI generated slop.

We have three tiers at least to distinguish :

  • Human logic, AI used for code completion, documentation, analysis → not really AI at all, the code is reviewed continuously.
  • AI used for code planing and generation, but supervised and reviewed by a programmer → acceptable, although it the programmer takes responsibility it is difficult to believe he was able to review everything, considering the amount of code produced, it may be useful to tell the user.
  • AI used for code planing and generation, human cannot review because of lack of knowledge or time → the user should be notified that the code is fully untested
1 Like

The lack of code review works both ways.
How much do you trust a person, posting a new app in Storeman. What’s his dev background and how much effort did he put into the app?
And without code review you can’t 100% tell if this app do any harm or good no matter who made it.
So the only reasonable badge I can think of is app’s rating based on users experience and trust for a specific Dev.

2 Likes

I was pointing to the fact that you can’t review “AI used for code planing and generation” unless you use an AI to do so. Because of the sheer amount of work.
Reviewing AI code is pointless for a human to do, since an AI agent could be used to regenerate the whole app every update, there’s an issue of scale.

So for me, that tag should show that either 1. the code was reviewed by a human that you can choose to trust or not or 2. the code was not reviewed by a human. Each application store is clear on the type of review process they follow, it’s your choice to trust them or not.

That is, until we develop an AI agent capable of validating potentially harmful code in our community repositories—whether it’s intentionally malicious or simply the result of mistakes.

As an example of this distinction, I gave the paragraph above to an AI to rewrite, then reviewed the result to make sure it accurately reflected my intent. That is fundamentally different from simply asking an AI to answer you in my stead.

Everything sounds nice in theory, but the one real fact is that actual developers are very, very few. Most of them only managed to keep things updated until around 2021–2023, then hopped on their cute little horses and rode off into the sunset.

It should be a tiered or colored badge:

:green_circle: no AI-generated code
:yellow_circle: some AI-generated code
:red_circle: fully AI-generated code

In case of yellow/red devs should also pledge that they went over it and made sure it doesn’t do weird stuff (phrased better than that of course).

And while we’re at it, the same for apps being open source please.

:green_circle: fully open source (link provided)
:yellow_circle: mostly open source (link provided)
:red_circle: closed source (boo!)

4 Likes

Your mileage may vary, but I don’t think these would do anyone any good.

In the end, this is about trust. Is trust earned - because an app is functional, reliable, and safe over a sustained period of time - or is it conveyed through labels?

In the one scenario, you will either have to TOFU - or not use third-party software at all. In the second, you will eventually end up in a situation like this, where you have 10 labels telling you this is a good product - yet you still have no other choice but to trust them they are telling you the truth:

3 Likes

That is well put. Because of the limitations on my time, things that very obviously should be refactored and obviously ‘sloppy’ sometimes take years to get to. And that has nothing to do with LLMs or RNN, for that matter. Just my stretched neurons.

I’m very conservative, but I have allowed claude (in one case) contributions, which was a good push but also led (and continues to require) labour to clean up. I’ve become ever more cautious and now limit my use (local, qwen) to single functions, basically. Frankly, I don’t feel any need to report how those functions were written if I can confirm they are correct (and legible, documented, etc.). On the other hand, projects that are basically written by an LLM bother me, some. I recently submitted some (written by me) bits to an LLM authored app (zoo) and noticed that the author was not responding to PRs at all. I have a feeling that that is abondon ware.

7 Likes

Again I ask interested parties to comment on

which tries to get some kind of labelling to Chum.

AI-DECLARATION.md seems to be a good approach but may be too detailed/confusing/ verbose.

9 Likes

That’s too complicated. Human/Both/Ai signying mostly Human, mixed and mostly AI. The gradients just serve to complicate matters. Those who care will probably be either ONLY H or not care.

For my part I don’t intend on signaling AI here if I have a single function copied from some other corpus which might be the internet, kimi, stackoverflow, etc. I do wish to know if it’s mainly vibe coded because I often won’t install it unless I find the code interesting.

The AI badge that Chum is implementing is kinda like a nutricion scale thingy. You would grate it from A to E and each level would mean more AI usage

3 Likes