Announcement: Phocid is currently in maintenance mode #185

Open
opened 2025-09-29 16:05:17 +03:00 by TJYSunset · 19 comments
TJYSunset commented 2025-09-29 16:05:17 +03:00 (Migrated from github.com)

Because Google is essentially killing apps distributed outside of Google Play, I have lost interest in Android development and plan to switch to a different OS once my current five-year-old phone dies. As Phocid is a music player built entirely by me for myself, it will be receiving much less development time than before.

I'll continue to fix bugs to the extent possible, but new features will likely not get added by me especially if it's complex (but I may decide to do so arbitrarily), and I might not reply to your post until I decide to work on it.

Q&A

Will you register with Google's developer verification program?

No. It's a blatant insult to me even with their "student and hobbyist" license. You might be able to use ADB to install unverified apps once the restrictions are in effect.

What can I do to help?

If you are an EU citizen, you might be able to contact your authorities to fight Google.

I'm interested in maintaining Phocid. Will you transfer project ownership to me?

No, but feel free to start your own fork.

Should you need any help comprehending my spaghetti code, you can ask me in GitHub discussions.

I won't advertise for your fork because trust is brittle even in OSS. Publishing your fork on F-Droid should be enough of an advertisement.

Because [Google is essentially killing apps distributed outside of Google Play](arstechnica.com/gadgets/2025/08/google-will-block-sideloading-of-unverified-android-apps-starting-next-year/), I have lost interest in Android development and plan to switch to a different OS once my current five-year-old phone dies. As Phocid is a music player built entirely by me for myself, it will be receiving much less development time than before. **I'll continue to fix bugs to the extent possible**, but new features will likely not get added by me especially if it's complex (but I may decide to do so arbitrarily), and I might not reply to your post until I decide to work on it. ### Q&A #### Will you register with Google's developer verification program? No. It's a blatant insult to me even with their "student and hobbyist" license. You might be able to use ADB to install unverified apps once the restrictions are in effect. #### What can I do to help? If you are an EU citizen, [you might be able to contact your authorities to fight Google](https://f-droid.org/en/2025/09/29/google-developer-registration-decree.html#what-do-we-propose). #### I'm interested in maintaining Phocid. Will you transfer project ownership to me? No, but feel free to start your own fork. Should you need any help comprehending my spaghetti code, [you can ask me in GitHub discussions](https://github.com/TJYSunset/Phocid/discussions). I won't advertise for your fork because [trust is brittle even in OSS](https://tukaani.org/xz-backdoor/). Publishing your fork on F-Droid should be enough of an advertisement.
ghost commented 2025-10-06 08:02:05 +03:00 (Migrated from github.com)

I completely understand where you're coming from. I hope at some point you do decide to continue your fine work. Not for Google Play Store, but for AOSP. It will need it's own group of talented developers and killer apps that will encourage people to move away from the walled world off Google and Apple. But regardless of the outcome... peace. It's been, and is, a great project, that stands out. Good Luck.

I completely understand where you're coming from. I hope at some point you do decide to continue your fine work. Not for Google Play Store, but for AOSP. It will need it's own group of talented developers and killer apps that will encourage people to move away from the walled world off Google and Apple. But regardless of the outcome... peace. It's been, and is, a great project, that stands out. Good Luck.
MateusRodCosta commented 2025-10-10 20:44:37 +03:00 (Migrated from github.com)

Hi, thanks for your work on Phocid, it's a great app.

A few months back I wanted to create a MediaStore-based player for modern Android versions but I hit an issue where Android's MediaStore gets confused about the character encoding of the metadata for my opus files. I reported on the AOSP bug tracker but sadly got no reply yet, so I ended up halting development.

So I ended up finding your app on F-droid which not only fits my needs for a local player but what matches several of the tech I would use on my own app (such as Jetpack Compose and being Android 11+).


In any case, I do have interest in forking your project, doing some rebranding and resuming development.
I might focus a bit on my own use case (opus 192 kbps-focused local library) but I will try to fit the user's use cases.

I also have published apps on both F-droid and Play Store, so the recent distribution restrictions are not a concern in this case for me (basically I already had to give my ID a while back for my Play Store account =\)

Hi, thanks for your work on Phocid, it's a great app. A few months back I wanted to create a MediaStore-based player for modern Android versions but I hit an issue where Android's MediaStore gets confused about the character encoding of the metadata for my opus files. I reported on the AOSP bug tracker but sadly got no reply yet, so I ended up halting development. So I ended up finding your app on F-droid which not only fits my needs for a local player but what matches several of the tech I would use on my own app (such as Jetpack Compose and being Android 11+). --- In any case, I do have interest in forking your project, doing some rebranding and resuming development. I might focus a bit on my own use case (opus 192 kbps-focused local library) but I will try to fit the user's use cases. I also have published apps on both F-droid and Play Store, so the recent distribution restrictions are not a concern in this case for me (basically I already had to give my ID a while back for my Play Store account =\\)
Jaoheah commented 2025-11-13 05:47:54 +03:00 (Migrated from github.com)

"Based on this feedback and our ongoing conversations with the community, we are building a new advanced flow that allows experienced users to accept the risks of installing software that isn't verified."

https://android-developers.googleblog.com/2025/11/android-developer-verification-early.html

It seems that Google might go back on the blocking of all non verified apps.

"Based on this feedback and our ongoing conversations with the community, we are building a new advanced flow that allows experienced users to accept the risks of installing software that isn't verified." https://android-developers.googleblog.com/2025/11/android-developer-verification-early.html It seems that Google might go back on the blocking of all non verified apps.
TJYSunset commented 2025-11-13 07:49:38 +03:00 (Migrated from github.com)

Great news if Google actually mean it, but I'm not buying their pretty promise unless I see it in action - there's nothing stopping Google from calling "submitting your government ID to verify yourself as an experienced user" as "a new advanced flow that allows experienced users to accept the risks of installing software that isn't verified".

If Google's actually not playing dirty tricks this time, I'll gladly resume development on Phocid.

Great news if Google actually mean it, but I'm not buying their pretty promise unless I see it in action - there's nothing stopping Google from calling "submitting your government ID to verify yourself as an experienced user" as "a new advanced flow that allows experienced users to accept the risks of installing software that isn't verified". If Google's actually not playing dirty tricks this time, I'll gladly resume development on Phocid.
Omega-3-4-5 commented 2025-11-15 07:20:21 +03:00 (Migrated from github.com)

If Google's actually not playing dirty tricks this time, I'll gladly resume development on Phocid.

The issue is that they may leave what they'll actually do up in the air for the next 12 months. Though tbh at least IMO Phocid is largely feature complete, so the only thing I'm concerned about in the near future is a new Quarterly Update breaking it in some way. Aka maintenance, something you are keeping up anyway.

I personally think they simply couldn't get away with completely closing it that way to begin with. The fact that devs who upload their apps to an alternative appstore would be required to register with Google feels like a blatant violation of EU gatekeeper law. This is of course antitrust legislation and doesn't care about free open source software in principle, but I don't think you can allow any alt stores doing their thing without also allowing single apks.

> If Google's actually not playing dirty tricks this time, I'll gladly resume development on Phocid. The issue is that they may leave what they'll actually do up in the air for the next 12 months. Though tbh at least IMO Phocid is largely feature complete, so the only thing I'm concerned about in the near future is a new Quarterly Update breaking it in some way. Aka maintenance, something you are keeping up anyway. I personally think they simply couldn't get away with completely closing it that way to begin with. The fact that devs who upload their apps to an alternative appstore would be required to register with Google feels like a blatant violation of EU gatekeeper law. This is of course antitrust legislation and doesn't care about free open source software in principle, but I don't think you can allow any alt stores doing their thing without also allowing single apks.
jm355 commented 2026-02-25 18:25:40 +03:00 (Migrated from github.com)

https://keepandroidopen.org/ has some advice on what people can do to fight back. @TJYSunset have you filled out the Android developer verification requirements survey?

https://keepandroidopen.org/ has some advice on what people can do to fight back. @TJYSunset have you filled out the [Android developer verification requirements survey](https://docs.google.com/forms/d/e/1FAIpQLSfN3UQeNspQsZCO2ITkdzMxv81rJDEGGjO-UIDDY28Rz_GEVA/viewform?pli=1)?
TJYSunset commented 2026-02-25 20:14:52 +03:00 (Migrated from github.com)

I don't think taking that survey has any effect other than letting Google add my account to an internal blacklist of sorts. They are the ones who brought up the concept to serve their own interests, and they have zero reasons to listen to their intended victims.

I don't think taking that survey has any effect other than letting Google add my account to an internal blacklist of sorts. They are the ones who brought up the concept to serve their own interests, and they have zero reasons to listen to their intended victims.
MateusRodCosta commented 2026-05-19 18:32:24 +03:00 (Migrated from github.com)

Hey all, as TJY has given up on developing this due to Google's restrictions, I will likely start working on my fork soon.

The first step will likely be updating branding (still have to think on a new name) and getting build deps and app dependencies up to date.
This should be enough for a initial release.

Afterwards I will focus on functionality, design and bug fixes.

As I did mention before I have a Google Play Developer account, so I can both publish to Google Play and do the verification needed for sideload.
As well as I currently have 2 moderately successful apps on both Google Play and F-Droid.
While I cannot guarantee getting it done in May, it likely can done between June and July.

Hey all, as TJY has given up on developing this due to Google's restrictions, I will likely start working on my fork soon. The first step will likely be updating branding (still have to think on a new name) and getting build deps and app dependencies up to date. This should be enough for a initial release. Afterwards I will focus on functionality, design and bug fixes. As I did mention before I have a Google Play Developer account, so I can both publish to Google Play and do the verification needed for sideload. As well as I currently have 2 moderately successful apps on both Google Play and F-Droid. While I cannot guarantee getting it done in May, it likely can done between June and July.
jm355 commented 2026-05-19 18:41:44 +03:00 (Migrated from github.com)

https://en.wikipedia.org/wiki/Earless_seal (phocid)

based on that, a couple name suggestions: "Otariid" (or just "Otarid"), or "Odobenid"

https://en.wikipedia.org/wiki/Earless_seal (phocid) based on that, a couple name suggestions: "[Otariid](https://en.wikipedia.org/wiki/Otariidae)" (or just "Otarid"), or "[Odobenid](https://en.wikipedia.org/wiki/Odobenidae)"
MateusRodCosta commented 2026-05-19 20:06:00 +03:00 (Migrated from github.com)

Hey, I have been initially thinking on naming it something related to Hedgehogs (as I am particularly a Sonic fan and could do some of the branding related to that) however I have some difficulties on pronouncing "Hedgehog" some times so I would prefer need to fix or workaround that difficulty.

However if I were to do the rebranding on some animal somewhat closely related to seals, I think I would choose Otters (IMHO, Ash's Buizel left a strong impression on me).

Hey, I have been initially thinking on naming it something related to Hedgehogs (as I am particularly a Sonic fan and could do some of the branding related to that) however I have some difficulties on pronouncing "Hedgehog" some times so I would prefer need to fix or workaround that difficulty. However if I were to do the rebranding on some animal somewhat closely related to seals, I think I would choose Otters (IMHO, Ash's Buizel left a strong impression on me).
Omega-3-4-5 commented 2026-05-19 20:41:20 +03:00 (Migrated from github.com)

Hey all, as TJY has given up on developing this due to Google's restrictions, I will likely start working on my fork soon.

Completely? Even maintenance? Would be a pity.

But assuming you take over, thanks and good luck! Regarding names and mascots, maybe don't be TOO quirky, a lot of potential users are a bit squeemish. I'd personally really stick to cute water critters. Otters, beavers, maybe a capybara or the humble pygmy hippo, lol.

Regarding logistics, do you plan to keep the backup format the same, at least for the first few releases, for the sake of an easy transition? Also, I assume you keep the latest packages available on both GitHub and FDroid the same way as Phocid was?

> Hey all, as TJY has given up on developing this due to Google's restrictions, I will likely start working on my fork soon. > Completely? Even maintenance? Would be a pity. But assuming you take over, thanks and good luck! Regarding names and mascots, maybe don't be TOO quirky, a lot of potential users are a bit squeemish. I'd personally really stick to cute water critters. Otters, beavers, maybe a capybara or the humble pygmy hippo, lol. Regarding logistics, do you plan to keep the backup format the same, at least for the first few releases, for the sake of an easy transition? Also, I assume you keep the latest packages available on both GitHub and FDroid the same way as Phocid was?
TJYSunset commented 2026-05-19 21:17:15 +03:00 (Migrated from github.com)

Completely? Even maintenance?

I didn't say that... but unfortunately that's likely becoming true. Google isn't budging (they even started requiring a "certified" Android device to get past their captchas on desktop), and companies other than Google are also hindering Android usage for me (a few critical regional services outright lock my account if I dare to login on LineageOS). Using OEM Android is a big no personally, so I'll be forced to switch to iOS, and then I won't even be using Phocid anymore.

If miracles do happen after the fork, I'll be happy to contribute to it (unless I highly disagree with its decisions). No reason to do duplicate work.

> Completely? Even maintenance? I didn't say that... but unfortunately that's likely becoming true. Google isn't budging ([they even started requiring a "certified" Android device to get past their captchas on desktop](https://support.google.com/recaptcha/answer/16609652?hl=en)), and companies other than Google are also hindering Android usage for me (a few critical regional services outright lock my account if I dare to login on LineageOS). Using OEM Android is a big no personally, so I'll be forced to switch to iOS, and then I won't even be using Phocid anymore. If miracles do happen after the fork, I'll be happy to contribute to it (unless I highly disagree with its decisions). No reason to do duplicate work.
jm355 commented 2026-05-19 21:23:22 +03:00 (Migrated from github.com)

Grapheneos might be a good option, especially with the motorola phones coming out that will support it. Or of course, a used pixel

Grapheneos might be a good option, especially with the motorola phones coming out that will support it. Or of course, a used pixel
MateusRodCosta commented 2026-05-19 21:31:21 +03:00 (Migrated from github.com)

Hey.

Completely? Even maintenance? Would be a pity.

Seems like so, you may be lucky if he decides to release one more version before the lockdown in September.

But assuming you take over, thanks and good luck! Regarding names and mascots, maybe don't be TOO quirky, a lot of potential users are a bit squeemish. I'd personally really stick to cute water critters. Otters, beavers, maybe a capybara or the humble pygmy hippo, lol.

Good point, Capybara is also a cool name since I am Brazilian.

Regarding logistics, do you plan to keep the backup format the same, at least for the first few releases, for the sake of an easy transition? Also, I assume you keep the latest packages available on both GitHub and FDroid the same way as Phocid was?

I don't really know how the backup and restore logic currently works. But IMHO I will either do no changes or do the work required for backwards compatibility.
About distribution, the plan is to always distribute on Google Play, F-Droid and GitHub.

If miracles do happen after the fork, I'll be happy to contribute to it (unless I highly disagree with its decisions). No reason to do duplicate work.

Honestly the things I plan to do right now are:

  • Always make sure the app is using relatively up to date build deps (Gradle, AGP, Kotlin) and dependencies
  • Check if the app adheres to Clean Arch and adapt if needed
  • Material 3 Expressive implementation (my first attempt on doing so)
  • New font as part of branding (I use FiraGO)

Otherwise as far as Phocid goes as a MediaStore-based Material Design offline-only music player, most of the rest of the work would be keeping up to date with newer restrictions, features or UX updates of the Android ecosystem and implementing some user requested features and fixing reported bugs.
Or to put it simply, the core functionality is solid enough that I see no issue in mostly making under the hood changes or superficial changes that optimistically don't detract from the use experience but keep things running smoothly.

Hey. > Completely? Even maintenance? Would be a pity. Seems like so, you may be lucky if he decides to release one more version before the lockdown in September. > But assuming you take over, thanks and good luck! Regarding names and mascots, maybe don't be TOO quirky, a lot of potential users are a bit squeemish. I'd personally really stick to cute water critters. Otters, beavers, maybe a capybara or the humble pygmy hippo, lol. Good point, Capybara is also a cool name since I am Brazilian. > Regarding logistics, do you plan to keep the backup format the same, at least for the first few releases, for the sake of an easy transition? Also, I assume you keep the latest packages available on both GitHub and FDroid the same way as Phocid was? I don't really know how the backup and restore logic currently works. But IMHO I will either do no changes or do the work required for backwards compatibility. About distribution, the plan is to always distribute on Google Play, F-Droid and GitHub. > If miracles do happen after the fork, I'll be happy to contribute to it (unless I highly disagree with its decisions). No reason to do duplicate work. Honestly the things I plan to do right now are: * Always make sure the app is using relatively up to date build deps (Gradle, AGP, Kotlin) and dependencies * Check if the app adheres to Clean Arch and adapt if needed * Material 3 Expressive implementation (my first attempt on doing so) * New font as part of branding (I use FiraGO) Otherwise as far as Phocid goes as a MediaStore-based Material Design offline-only music player, most of the rest of the work would be keeping up to date with newer restrictions, features or UX updates of the Android ecosystem and implementing some user requested features and fixing reported bugs. Or to put it simply, the core functionality is solid enough that I see no issue in mostly making under the hood changes or superficial changes that optimistically don't detract from the use experience but keep things running smoothly.
Omega-3-4-5 commented 2026-05-19 21:54:27 +03:00 (Migrated from github.com)
  • Always make sure the app is using relatively up to date build deps (Gradle, AGP, Kotlin) and dependencies
  • Check if the app adheres to Clean Arch and adapt if needed
  • Material 3 Expressive implementation (my first attempt on doing so)
  • New font as part of branding (I use FiraGO)

If you do implement a full face lift regarding base design and font, a toggle for the old "classic" one would be greatly appreciated. Though I'd of course also look forward to your take on Material 3.

Well, that's about it from me. Thanks for the answers and Boa tarde to Brazil!

> * Always make sure the app is using relatively up to date build deps (Gradle, AGP, Kotlin) and dependencies > * Check if the app adheres to Clean Arch and adapt if needed > * Material 3 Expressive implementation (my first attempt on doing so) > * New font as part of branding (I use FiraGO) If you do implement a full face lift regarding base design and font, a toggle for the old "classic" one would be greatly appreciated. Though I'd of course also look forward to your take on Material 3. Well, that's about it from me. Thanks for the answers and Boa tarde to Brazil!
MateusRodCosta commented 2026-05-20 20:13:26 +03:00 (Migrated from github.com)

Heads up that I thought for a bit and I will likely use the portuguese word for Otter, so the app will likely be called "Lontra" or "Lontra Music". I'm still thinking over on that, it's not set in stone.
I do not have any idea for an icon except maybe using a off-brand "Buizel".

If you do implement a full face lift regarding base design and font, a toggle for the old "classic" one would be greatly appreciated. Though I'd of course also look forward to your take on Material 3.

I do not know yet how to do Material Expressive, I barely managed recently to do Material You decently. Though, yeah, if it's possible to keep multiple themes then I will try to make it work.

Heads up that I thought for a bit and I will likely use the portuguese word for Otter, so the app will likely be called "Lontra" or "Lontra Music". I'm still thinking over on that, it's not set in stone. I do not have any idea for an icon except maybe using a off-brand "Buizel". > If you do implement a full face lift regarding base design and font, a toggle for the old "classic" one would be greatly appreciated. Though I'd of course also look forward to your take on Material 3. I do not know yet how to do Material Expressive, I barely managed recently to do Material You decently. Though, yeah, if it's possible to keep multiple themes then I will try to make it work.
TJYSunset commented 2026-05-20 21:02:31 +03:00 (Migrated from github.com)

I'll advise against blindly following Google's M3 Expressive guidelines marketing materials:

  • At the time I originally created Phocid, 3 years after Material 3's original release and 1 year before Expressive, most of the basic widgets and styling are blatantly missing in Compose. I had to hack my own implementations (what do you mean I had to use legacy Android components to look like the latest Android system?) which are less than ideal.
  • Some of Expressive's new designs aren't cut out for music players. Take the carousel for example: not only you have to use a rectangular layout just to display a square image, but you're also displaying two pieces of cropped, irrelevant info. Heck, for players using non-deterministic shuffling, they can't even know the "previous" and "next" item in the carousel.
  • This is my personal opinion, but the current showcase on their website is just horrendous.

I'd say just update the easing functions and add a shape morphing animation to the play/pause button would be enough "Expressive".

New font as part of branding (I use FiraGO)

Although I think Fira is a readable font, I also strongly recommend an option to use the system font for accessibility reasons.

I'll advise against blindly following Google's M3 Expressive ~guidelines~ marketing materials: - At the time I originally created Phocid, 3 years after Material 3's original release and 1 year before Expressive, most of the basic widgets and styling are blatantly missing in Compose. I had to hack my own implementations ([what do you mean I had to use legacy Android components to look like the latest Android system?](https://github.com/TJYSunset/Phocid/blob/b16e7475a35aad434832fcde4146476073f32037/app/src/main/java/org/sunsetware/phocid/ui/theme/Animation.kt#L77)) which are less than ideal. - Some of Expressive's new designs aren't cut out for music players. Take the [carousel](https://m3.material.io/components/carousel/guidelines) for example: not only you have to use a rectangular layout just to display a square image, but you're also displaying two pieces of cropped, irrelevant info. Heck, for players using non-deterministic shuffling, they can't even know the "previous" and "next" item in the carousel. - This is my personal opinion, but [the current showcase on their website](https://kstatic.googleusercontent.com/files/d0a463d1d4b767b9a327739835737f23ee04e75e7e5835c2b6d657acc0ae6c046d3bb09fec5c169c20298a10ac74e04552d98c80aba4a82acce083ef0887f50e) is just horrendous. I'd say just update the [easing functions](https://m3.material.io/styles/motion/overview/how-it-works) and add a shape morphing animation to the play/pause button would be enough "Expressive". > New font as part of branding (I use FiraGO) Although I think Fira is a readable font, I also strongly recommend an option to use the system font for accessibility reasons.
MateusRodCosta commented 2026-05-22 19:10:03 +03:00 (Migrated from github.com)

Just a heads up that I am hitting some issues combining com.jaredsburrows.license with Gradle 9 and AGP 9. This seems https://github.com/jaredsburrows/gradle-license-plugin/issues/734 and it seems require android.newDsl=false for now.

Since that project seems to have been discontinued, I believe I will end up migrating your whole license code to AboutLibraries

Just a heads up that I am hitting some issues combining [com.jaredsburrows.license](https://github.com/jaredsburrows/gradle-license-plugin) with Gradle 9 and AGP 9. This seems https://github.com/jaredsburrows/gradle-license-plugin/issues/734 and it seems require `android.newDsl=false` for now. Since that project seems to have been discontinued, I believe I will end up migrating your whole license code to [AboutLibraries](https://github.com/mikepenz/aboutlibraries)
TJYSunset commented 2026-05-22 19:28:51 +03:00 (Migrated from github.com)

In that case, you should get rid of the files in app/src/main/assets/ as they're no longer used. app/src/main/assets/LicenseMappings.json contains two additional license entries that you need to take care of; One for vendored code (search for the name for source), and another for the submodule.

Maybe move to Discussions for this kind of... discussion? I believe this issue's subscribers aren't that interested in technical jargons.

In that case, you should get rid of the files in `app/src/main/assets/` as they're no longer used. `app/src/main/assets/LicenseMappings.json` contains two additional license entries that you need to take care of; One for vendored code (search for the name for source), and another for the submodule. Maybe move to [Discussions](https://github.com/TJYSunset/Phocid/discussions) for this kind of... discussion? I believe this issue's subscribers aren't that interested in technical jargons.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
novvux/Blissid#185
No description provided.