Android App Devs now require 20 people to test before publishing to Play Store
techcrunch.com
techcrunch.com
If Google would want to get rid of shovelware on the Play Store, they know what to do - (edit: better) automated + human reviews, like Apple. That would be what would nip shovelware in the bud.
But they’re just trying to outsource the cost of that. It feels like one of those Google initiatives that was started by someone who cared, then got watered down to the point of counter-productivity by MBA logic.
That would effectively make it impossible for single/small dev teams to justify making apps for the Play store.
And I don't see why filter paid apps would solve anything. The aversion of the average Play store user to spending money on anything is in part the reason we are in this mess.
12 continuous years working as an Android developer and I've never bothered to personally release an app on the Play store. There is nothing to be gained from it except needing to support it without any hope of making back the cost of developing it.
Ads, I however agree with, are the bane of our time. Except, due to the aversion to paying for apps, it has become the only way small dev teams can make a living.
The change needs to happen on the consumer side for this one. Buy the apps that you enjoy using.
There are enough people happy to just make and maintain a cool thing, but I can't find their work.
- FFUpdater for installing browsers (Mull on my phone, Brave on my tablet because keyboard support)
- Termux for all my CLI work
- KeepassDX for passwords
- Syncthing for syncing
- Etar for calendaring
- VLC for media
- Kore to control my media center
- RCX for running local webdav servers (good for hosting Tiddlywiki and FeatherWiki locally on-device with WebDAV-based saving)
- Tiddloid for notetaking when I'm not using RCX instead
- Conversations for XMPP chat with family/friends
- KOReader for ebooks
- MullvadVPN for ... VPN
- OsmAnd~ for mapping, including offline maps
- "Puzzles" and Unciv for gaming
- Trail Sense for navigation/survival
I know this is a laundry list, but my point is that it's a trove of exactly the sort software I like to develop and use. Thanks for mentioning it!If you're just running it as a local webdav server, you can just stick with the current version. But if you also use it for the more typical rclone tasks (keeping cloud storage synchronised), RoundSync is updated and fixes some things that were missing in RCX, like cronjobs.
In particular, I've consistently heard that it takes them forever to update app versions. At least https://gitlab.com/fdroid/fdroidclient/-/issues/2316 seems to be fixed now - it used to require user interaction for each update, which doesn't work when you have dozens of apps (and updating from the notification also had some kind of bug requiring extra manual steps).
Maybe I should give them another try, how is the developer experience nowadays?
The problem with allowing IAP to be used for a shareware-like unlock is that there's nothing stopping shady developers from forcing a subscription on you later even though you already paid now. Forgot which one that was, but this kind of double dipping recently happened to a popular baby monitor.
Partner wanted to play all the time. I discovered the videos ads were using up all of my prepaid data before the end of each month. I bought the premium version, which was a one-time purchase "back then".
They launched an app revision that had a handful of very noticeable bugs. Then they changed to a new app (rather than upgrade), pushed all the users to the new app, and made the ad-free version a subscription. What do you get for your monthly payment? Well, nothing significant, like you'd expect from a subscription.
In fact, they essentially crowd-sourced their Q&A content by letting users submit feedback when a pair was inaccurate, so users are fixing problems in the content for free.
Server usage?
Not to minimize the daily work of countless devs, but a quiz game is essentially a handful of databases, a dollop of quite straightforward logic, some static UI visuals, and then content scraping to fill the main Q&A database. The logic and UI visuals almost never need a rewrite. DynamoDB is pennies per month per user, and if you're a real POS you can use long advertisements to push away users temporarily when your RCUs/WCUs are getting close to a scale-up threshold, which has the nice side effect of increasing revenue if everyone watches the long adverts anyway.
I guess they expected a percentage of users to bail switching to subscription, and that doesn't cost them a cent. You said it best: shady
See this 8y old thread about what EA does on Android: https://old.reddit.com/r/OutOfTheLoop/comments/3mikbc/whats_...
(Too late to edit)
There are IAPs to unlock brushes and other things, and a small fee to buy everything. I believe I paid $15 one-time to get everything for Infinite Painter.
Maybe.
On the other hand, when I see an app that includes ads or in-app purchases, I assume it's a low-quality app by default. Such a filter would be useful to me and wouldn't change my selection process. It would make it much less onerous over having to "manually" filter those apps out (which would make the app store much more useful to me).
I prefer apps that just charge me up front rather than use in-app purchases or ads.
The first and most obvious clue that what you are considering is wrong is the fact that you are admitting that if people were presented with a choice they would overwhelmingly opt out of such a system so pervasively that there wouldn't be any money in it at all.
> That would effectively make it impossible for single/small dev teams to justify making apps for the Play store.
This is an inversion of priorities. The dev's profession exits to create useful things for users. The users don't exist to enable the devs profession. If the only way an app can come into existence is through the exploitation and disadvantage of its users then the world would be better off if it didn't exist.
Convincing everyone that content online is free while taking payment for it is one of the greatest sleights of hand of the century. That kind of thing used to be called a con.
That statement just oozes entitlement...
not to put too fine a point on it, but does a single person really constitute a team?
thou, one person does not constitute a team, sorry, not sorry.
What matters is actual usage, and while "one person team" does grate on me somewhat, it's in wide usage, and it's understood what it means. So, "sorry, not sorry", but you're wrong.
If people can find apps that meet their needs which are also free, and free of ads and in-app purchases they should absolutely use those apps. Making it harder for users to find those apps is a much bigger problem than "but I wanted someone to pay me for giving them the same thing!"
The solution for people who want money is to make apps that offer valuable features the free apps don't have, not to make the free apps impossible to find because they're scared they can't compete.
As a high schooler it was pretty cool to publish a small game onto the play store and have friends download it from there.
To avoid this problem in the past, authors offered the free version, and then paid unlock as a separate app package. So you could continue to use the original application you trialed, and the unlock package would turn it into the full version.
Unfortunately, this stopped when in-app purchases appeared.
Maybe static analysis could determine whether the IAP unlocked a new feature/functionality or not, feeling into the labelling/filtering?
The developer now has two apps on the play store, still with no paying customers for either of them. The aversion to paying for quality is still present.
It was better when apps had a fixed price like in the early 2010s. At some point it was decided that subscription apps were where the money was at, both for devs and for Apple who took a silent cut every month.
Of course them being hard to find on the store, is part of why they don't exist in the first place. Fixing that would help.
On net the play store is 100% useless because of ads and poor search. The only way to adequately search for apps is by using an actual search engine, even googles, in your mobile browser to find apps and then using the play store solely for installation.
The play store is a product so bad if it wasn't required to install software it would have no users. It is the windows ME of google's product lines. It is so bad that Google ought to be embarrassed to show it off in public.
I wonder if its just a way to sell a cloud build and testing service.
If your account gets banned and you lose $99 before the scam paid off it’s not worth your time.
> That man’s name is Kosta Eleftheriou, and over the past few months, he’s made a convincing case that Apple is either uninterested or incompetent at stopping multimillion-dollar scams in its own App Store. He’s repeatedly found scam apps that prey on ordinary iPhone and iPad owners by luring them into a “free trial” of an app with seemingly thousands of fake 5-star reviews, only to charge them outrageous sums of money for a recurring subscription that many don’t understand how to cancel. “It’s a situation that most communities are blind to because of how Apple is essentially brainwashing people into believing the App Store is a trusted place,” he tells The Verge.
The fee is nothing.
[1] https://www.theverge.com/2021/2/8/22272849/apple-app-store-s...
If you want it to really stick make them buy a bond against in such a jurisdiction. After one party has been burned for their 10k they'll find their former partner exceedingly aggressive in recovering their money and none willing to do business.
Furthermore most of such abusive behavior is trivially recognizable based on dollar figures involved, behavior, organic reviews, complaints. In this day and age there isn't much excuse for a trillion dollar company not to have automated 99% of the situation and employ labor to handle the rest.
It takes a bit of effort even to get an app on public TestFlight on Apple’s side. Plus the fee, which is reasonable for a thorough review.
Anyways, I edited my comment to not misrepresent the Play Store process, thanks.
Our app gets held up fairly regularly, I'm not sure why us in particular, but we have an app that requires our licensed service to use, quite often they'll muck up the registration process with the test accounts we provide (they're one-time) registration, and then hold up our app until we provide more test accounts for them to use.
They also recently took issue with some functionality of our app that they claim existed (but doesn't) and forced us to update our privacy policy to mention it so we can get it through. I know for a fact, said functionality doesn't exist, because I lead the team that builds the backend, but there was just no arguing with them.
It's even more fun when it's a purely administrative thing like updating information in a link on your developer profile, but they make you upload a near identical binary, since the automation has kicked in again and they can't rereview an already submitted and rejected app.
They could also do something like a progressive tax, like per year (USD), based on apps submitted:
1 free; 2-5 apps $20 each; 6-10 apps $40 each; 10+ apps $100 each
Nobody is putting out 10 high quality apps per year ;)
In order for this progressive taxing scheme to work they would have to make sure each personal account is unique per person, and they are already increasing the requirements to verify your identification (all Android devs have to verify this information soon).
This will make it nearly impossible to get an app published as a small business, since who the hell has 20 users just waiting for your app? It's already a huge struggle to help people with publishing their app.
The road to hell is truly paved with good intentions. All the scam apps will have no problem cheating this system, but honest devs will struggle. I can only hope Google reconsiders this requirement, otherwise it might be worth it to push my users more towards alternative app stores. We already support the Amazon App Store and the Huawei App Gallery (which are a lot easier to publish apps in), but the user base is just not there unfortunately.
And that's how test-as-a-service is born.
I'd wager that the majority of apps published to app stores struggle to find 20 users total, period. Let alone before public release.
It really seems like an obviously counterproductive measure. I think you're totally right in that the people who will have the least issues passing these new requirements, are those who don't shy away from dishonesty.
This month on 16- Nov i created account on it & that time i was not aware of this new policy!!!!!! From where the hell i am going to bring 20 testers now !!!!!
For just $29.95/month we will load your new app onto a fleet of 20 test Android devices and run your Appium or Selendroid test suites twice a day for 14 days.
(I'd spend an evening or two setting up a landing page and duct taping that Ansible script onto my Stripe account, but I've got a personal policy of never ever trying to sell tools to developers...)
It feels like there is a story there. Care to share?
This is a self-callout, I'm guilty of all of these.
Your complaint is somewhat orthogonal to this. It would be perfectly possible to just have multiple repositories/sources backing the same app store with different values of curation/censorship. Tick a box once to enable the sources and it is completely seamless. Of course, the store owners have little incentive to do that, since they earn a cut if you buy from their repo, but that is why you have to force "gatekeepers" (in the EU terminology). If they make it non-seamless, fine them and fine them again until they do.
> but doesn't counter anything GP says.
It says that razing the earth and getting rid of the whole concept is overkill and his criticism should not be of app stores as such but of "gatekeepers" abusing their position.
They do have their own shortcomings, like how library packages work, but that's ultimately out of scope of this particular discussion. I didn't even have package managers in mind when I was writing that comment.
winget install Netflix
will install netflix from the windows store.
Click on settings to enable new sources, e.g. join the beta channel. They are the same thing just graphical.
brew tap grishka/grishka
to add my personal repository to your homebrew configuration. Try doing that with mobile app stores. One might say that, ignoring some technical details, the functionality of package managers is a superset of the functionality of app stores.Exactly the point. The problem is that you are not allowed to do that (not a problem of can't). As pointed out by people in other comments, alternative app stores on android totally do have that functionality. So the problem is not app stores as such but google and apple being gatekeepers. Give me the option to add fdroid repos in google play.
F-Droid?
Android already has the ability to allow a tool to install from different sources (this is how F-droid functions, however only from their own single source).
F-Droid is actually both a tool as well as a repository (which is the one that's included by default in F-Droid the tool). You can add additional repositories to F-Droid the tool.
It works without a hiccup on my phone running LineageOS. I haven't tried on something running stock Android.
But it leads me to suspect that there isn't much standing in the way of distributing your Android apps this way outside of China, either.
Two things are problematic, though: 1) app stores got normalized as a way to distribute apps to the point of people being afraid to sideload, and 2) the fact that you can't distribute an iOS app without Apple's permission is utterly bonkers.
This is how I do it in the US whenever possible, too.
No.
But it's a shame. I hate app stores, personally. Not just on smartphones, but everywhere else they've been popping up.
Did it? It reached critical mass and started getting shittier, more complex and more closed.
Open is great whilst the majority of users are technical or at least competent in critical thinking. Once you pass that tipping point, protectionism is a necessity.
The first step would be to not have mobile telecom device OSes run by American advertising and media companies.
Unfortunately mobile Linux is limited to ultra-small vendors liek Purism and Pinephone.
I disagree with this.
There are a lot of situations where an app is unnecessary. I feel like we have too many situations where it could just be a website.
But if I am going to download an app I prefer the App Store. Especially if it’s an app that I need to spend money on/with.
I have 2-3 apps. I’ve started with Android with eclipse.
Back then I was really enjoying how I could make a small utility and get it on devices quickly.
After my 3rd nexus just died I’ve switched to Apple walled garden and.. got back to developing for Apple eco-system some indie apps.
Since then, The amount of resources I’ve spent on just maintaining an existing app on Google play was so time consuming.
Let alone API and depreciation, the play store required me after all those years sooo much documents and procedures just to keep my account.
I’m not sure how Google got the play store experience to be so worse than Apple.
I'll also stop using the Play Store because this change clearly signals what's welcome there. They don't want to host quirky-but-useful indie apps with personality. They would rather have the polished addiction forming platforms for corporations. Worst thing, they dress it up as a favor to their users.
F-Droid looks good, though.
The app has a very limited audience. In the first month, I've had approximately 28 purchases. If I had to find 20 people to use the app for a couple weeks before I could publish, it wouldn't have been published.
[0] https://play.google.com/store/apps/details?id=me.johnmaguire...
It didn't do well, but I still sell copies every month, and getting an app on a store considerably improved job prospects after a somewhat drastic change in career direction.
This sucks.
There's plenty of reasons for apps like Flappy Bird to be on the store.
What if I need to program in Java, not JavaScript (because it is a requirement of the project)? What if I need it to not be PWA (because some of the libraries are native-only)? What if I need to add in-app purchases (because it is our business model)?
Does changing "want to" "need to" make a difference? It shouldn't.
I went to a small company career fair for the free lunch. When they saw I had an app in the app store, I had immediate interest and got an internship.
I wouldn't call it "begging", but essentially, yes, this is what I've always done.
Even for a small company of up to 10 people, I doubt many have 20 testing user lying around ready and waiting. Either pay/recruit or everyone get their extended families
Still seems like absurdly high bar for indie devs to clear.
Been working on an indie game for the last couple of years - would have been a huge pain trying to find 20 people with Android devices to meet this arbitrary threshold.
As organization’s name, type, size, detailed address, phone number, and website.
Edit: wow, that's how I'm reading it too. If you have a DUNS number, this will presumably not apply to you. So this isn't about quality, it's an anti-spam measure. Crazy.
How about they actually deal with the low quality, spammy apps that are already published?
I'll give a good example, VPN apps, specifically the ones published by "Country VPN LLC", they have 145 apps that are just titled copy-paste "(insert country) VPN", nor do they actually provide the VPN location they claim. And there's more just like that publisher, such as "Proxy Master & Turbo VPN" and "AltApps" both of which have 14 apps that are titled for different countries
https://play.google.com/store/apps/developer?id=Country+VPN+...
https://play.google.com/store/apps/developer?id=Proxy+Master...
They might intend to get indie apps off the store. Maybe the maintenance is too much for them, and this is a lower backlash way to do it than outright banning indie apps. This way the indie devs leave on their own by becoming disgruntled.
> "Without providing an exact timeframe, Google says that new developers with individual accounts (as opposed to new Organization accounts) will be required to test apps with 20 people or more for 2 weeks or longer before publishing to production"
> ... developers with newly created personal Play Console accounts will soon be required to test their apps with at least 20 people for a minimum of two weeks before applying for access to production.
Does this mean that a developer has to recruit 20 users through a special workflow, or the users will simply see that they are 'testers' for a new app?
As for requirement itself, non-trivial apps that didn't get even this level of testing are likely to be quite broken. Will you really test on different form factors and Android versions / anticipate all user behavior? So I can see the case for protecting basic store reputation, in that anything you download is unlikely to crash right away or drain your battery etc.
And I believe Android 14 will bring even more updates here but I don't remember exactly what it is ..
Will there be detailed documentation other than a blogpost?
That said, it might be the right move. Despite some FUD in the comments that this will hinder indie devs or prevent the next Flappy Bird, such claims seem a bit exaggerated. Also, overcoming obstacles is part of the challenge of app development so if somehow this relatively low bar is the line too far…good riddance. Anecdotally, I’ve interviewed quite a few mobile developers with clear resume projects who then claim they’ve “published multiple apps to the [Play/App] store”; almost universally these candidates acknowledge without much pressing that said apps are unmaintained bitrot or even delisted due to some other unmet requirement anyhow.
I suppose the best argument is the same mentality that leads to spam on the store could be used to get around the 20 tester limit. Sure, but I’d expect that Google expects at least meaningful improvement even with malevolent actors, as that’s the new normal with such mitigations in any online marketplace these days.
I know I cannot just move my business to some non-existent competition in Soviet America, but they don't control everything on the web just yet. Mail, storage, even ads can be had elsewhere. And this is now giving me the motivation to finally reduce my dependence on google.
If they can fuck over my app business just like that, they can do the same with ads, mail, storage or SAAS and it's a risk I cannot take.
UI Support? Completely broken. Apple has simple UI frameworks. You either use UIKit or SwiftUI. Very clear which one is being used in which file and the code won't compile if you mess up. No worry about color changes, design mismatch, etc. Everything looks the same and matches. They are compatible and interoperable. Begin with UIKit and you can slowly transition to SwiftUI if you want to. Android? Support library, material 2, material 3, androidx, jetpack compose, AppCompat, etc. I confused myself even trying to look this list up. wtf Google? Code compiles, you run. Either crashes right off the bat which is the lucky case (you are using component from material 3 but view theme is not a descendant of a material 3 theme), or if you're unlucky and it runs, half things are one design and color, the rest don't match? Why? Oh you forgot this one view uses a theme that is descendant of a different library. Off you go hunting down the style that component uses in 30 xml files (which btw, for some reason, are broken down based on dpi and api version too??) Good luck with that. 2 hours later you narrow it down, fix it, sigh of relief, then bam, it hits you back just like a window blind. The color matches but the button now looks different. Hmmm
Build system? Somehow this is even more broken than the ui support. Open project that used to build fine 1 month ago, hit build, it fails. Hmm what's wrong? Oh there is a gradle version mismatch between what the IDE has and what the project has downloaded in the main folder (wtf x2! Why is a binary for the build system living in the project source in the first place???) Shouldn't the android development tools included in the IDE already contain the last and best version of the build system that is backwards compatible? Imagine if Xcode asked you to download and store xcodebuild in the project source. It's ok. Update to new gradle version, hit build, it fails again. what now?? Oh the version for `com.android.tools.build:gradle` doesn't match! Weird, shouldn't android studio just be able to download and use the appropriate version of the android gradle plugin based on the gradle version you have specified (uhum I mean the one Android Studio itself should have included and you should never have to specify manually or download or store in your project source???) Oh and how could I forget our wonderful friend, the multidex! See, our build tools aren't even smart enough to be able to tell when your project needs to multi dex. It just errors out and you have to manually go ahead and enable it and include the library. To their credit, newer versions seem to have fixed this but this shouldn't have ever been even left to the developer.
Dependencies? This one isn't even debatable. It's yet another fragmented mess. Xcode dependency management is very simple. You either use their provided SwiftPM or you can use Cocoapods. Or both. They work well together. With android? Oh, Google does not want to commit a small storage/bandwidth from their massive capability to delivering good dependency hosting to developers. You pull the code from repo, dependencies can't be fetched! Wtf? Teammate swears it builds fine on their side (huh doesn't it always??). You check what's wrong! Oh Bintray/JCenter decided to shut down forever! Bye bye. They left and left you the generous parting gift of 10 unresolvable dependencies! You got hunting down the Github rabbit hole, issues galore. Everyone's freaking out. Project maintainer has left and hasn't pushed code to other dependency repos. You think: Good, the code is on Github, I should be able to just use the GitHub url directly in the dependencies instead, right? NO! Wrong!!! Things can't be that simple with android! You realize gradle dependency management doesn't allow you to just pull that code and use it unlike SwiftPM and Cocoapods. You are now at the mercy of yet another third party website (jitpack.io) to act as middle man between Github and gradle. This website shuts down any second and you are back to square one! Why god?? Why can't I just pull the god forsaken code and build it locally myself!? Did I mention that besides jitpack.io there's also maven central? What happens if that shuts down? No one knows!
I'm not even going to talk about the mess that is/was app signing and release, billing sdk updates, target sdk version deprecation, etc.
Fix your broken ecosystem first before blaming the developers! Why do the android apps for even bigger players like Tinder, Bumble, and Hinge have significantly lower rating than their iOS counterpart? They surely do test properly and can afford proper development. This just goes to show there is something really wrong with the android ecosystem and Google needs to look inwards to figure out how to get it out of the state its in right now.
Maintaining this app for iOS is HALF the work that Android is, we have a lot less Android users, and in general it seems like iOS users are just a better audience.
It really feels like there's no point to doing an Android app, just give those users a website, PWA if they're lucky. And with this change? Pfffff.
And I agree - it does all descend from Google's horrible tooling and ecosystem.
What kills me about Android is the extent to which the official best practices have always been out of touch with reality and somehow get more so every time they add something new. The indoctrination in the Android dev community is so strong most people cannot separate the few core good bits of the platform from the layers of utter nonsense on top because they only know the nonsense.
But how is Google going to enforce this?