Ok wafrn people, it's story time.
A tale of the tech challenges I have been going through in the last weeks.
TL:DR I messed up when submitting my app to IzzyOnDroid. Now I have removed all google / firebase dependencies from the apks, built and published npm package to use Unified Push in modern Expo / React Native and found a way to reduce the app size to be 3x smaller by creating an apk for each architecture
So… A few weeks ago @IzzyOnDroid told a few tips about how to make my app (the wafrn mobile app) better for publishing on android alternative stores
Main pain point were the use of propietary services like Google Services and Firebase Cloud Messaging and also the apk size.
I was told about Unified Push, a library, a FOSS alternative to Google and Firebase services for sending notifications to android devices. After scraping the bottom of the barrel on github and npm found that there was not a person in earth who had tried and succeeded to integrate the Unified Push library with modern versions of Expo (using React Native new architecture), so that was my first challenge.
I had to create and publish a library so people could call the Unified Push Android library from their JS code in React Native. I had to learn modern android development with Kotlin. I had to set up a whole android development environment with all the Gradle stuff, the Java stuff and such.
I tried various VS Code plugins and Fleet from Jetbrians but in the end, the only one that worked well for me and could run my project was Android Studio.
After reading all the documentation for using unified push with Kotlin, I designed how the API surface of the library was going to look like. I wanted to make this abstraction the easiest possible one.
But there were more things to discover. To receive events from unified push in my JS code, I had to learn how to use the internal expo native APIs for android, so I read a lot of kotlin / java code written by the expo team.
After publishing my first version of the expo-unified-push integration I had to rollback to a previous attempt of bridging UP messages to JS because it broke hard with more complex JS code and later publish a third version because I did not get what an Android Intent was in the other previous two
Later came adapting the backend, which was not that hard, but I ran into some rocks there too.
With all this completed, and google / firebase dependencies removed my app was still heavy, at 150 MB.
So, with my newly found knowledge of being a native android developer, I start to tinker with graddle settings and graddle-expo integrations and I found that I was building an app for 4 architectures inside of one. When I split the apks, each to its own architecture, they now weighted between 40mb and 50mb
Now I have the first release published to github: github.com/juandjara/wafrn-rn/…
And the expo-unified-push integration published to NPM: npmjs.com/package/expo-unified…
It was a long journey, but we got there at the end
#Podria-haber-escrito-esto-en-español-con-toda-la-fantasia-que-le-he-metido-a-contar-esta-historia #pero-como-habla-de-tecnologia-queria-que-fuera-algo-un-poco-mas-internacional
CBS Mornings on Instagram: "The iconic rock band @rem is releasing a remix of their first single, “Radio Free Europe,” to raise money for @rfe.rl after the Trump administration froze its funding. @michaelstipe tells @anthonymasoncbs why the band got invo
23K likes, 546 comments - cbsmornings on May 2, 2025: "The iconic rock band @rem is releasing a remix of their first single, “Radio Free Europe,” to raise money for @rfe.rl after the Trump administration froze its funding.Instagram
Peter Vágner reshared this.
He wanted to be Australia's PM. But a 'Trump effect' thwarted Peter Dutton — BBC News
A Trump effect and a lack of a coherent campaign saw opposition leader Peter Dutton lose the election.apple.news
Das ist ein generischer Fehler. HTTP Status code 403 ist hier definiert: datatracker.ietf.org/doc/html/…
Woher der Fehler kommt ist damit nicht gesagt. Ich vermute(!), daß eine erklärende Fehlerbeschreibung gar nicht so einfach zu realiseren ist.
In Hamburg, we currently have a "Volksbegehren" (petition for a referendum) for less annoying advertisements in the city, @hhwerbefrei
The proposal is to ban all ads that are larger than DIN A0, backlit, moving, or too many in one place!
We need 80000 signatures to have a citywide referendum. If you live in Hamburg and are older than 16, please support this!
Learn how: hamburg-werbefrei.de
Hamburg Werbefrei – Volksentscheid Hamburg Werbefrei
Damit es zur Volksabstimmung kommt, brauchen wir bis zum 13. Mai 2025 die Unterstützung von 80.000 Menschen.www.hamburg-werbefrei.de
Pietervdvn reshared this.
I took a listen to the new Suno 4.5 model, here's what I got.
I decided to try the new Suno 4.5 model which is new at the time of recording.Feeding it one of my own creations in the form of a piece of music called '23A-...YouTube
Twenty Thousand Hertz - The Deaf Composer: How Beethoven wrote music he couldn’t hear: 20k.org/episodes/the-deaf-comp…
What happens when one of history’s greatest composers begins to lose the very sense he relies on most? In this episode, we explore how Ludwig van Beethoven continued to create groundbreaking music even as his world fell into silence. Along the way, we uncover the myths, inventions, and raw determination that fueled Beethoven’s defiant creativity, and hear how his lifelong struggles are reflected in his music. Featuring musicologist Laura Tunbridge , author of Beethoven: A Life in Nine Pieces. Enter the “Sound Off” Story Contest at 20k.org/soundoff. Submissions close on May 7th, 2025. Explore the all new Defacto Sound website, and click the Contact Form to get in touch. If you know what this week's mystery sound is, tell us at mystery.20k.org. Follow Dallas on Instagram, TikTok, YouTube and LinkedIn. Join our community on Reddit and follow us on Facebook. Start your free online visit for hair loss treatment at hims.com/20k. Cut your current cloud bill in half with OCI at oracle.com/20k. Episode transcript, music, and credits can be found here: www.20k.org/episodes/the-deaf-composer Learn more about your ad choices. Visit megaphone.fm/adchoices 20k.org/episodes/the-deaf-comp…
Tomorrow Mom and I are headed back to the clinic in Hollywood for my 3 month checkup. Could I please ask people to pass this around again and donate if you're able? Thanks, and thank you so much to those who've already given! #Mutual_Aid
gofundme.com/f/help-kat-after-…
Donate to We Have a Transplant! Now let’s help the Burkes!, organized by Cristina Kalmanson
My name is Cristina Kalmanson. Several years ago, my cousin, Kath… Cristina Kalmanson needs your support for We Have a Transplant! Now let’s help the Burkes!gofundme.com
Professor Stephen Whittle OBE, famed UK Trans Legal activist from Press for Change, probably the most reputable trans person in the UK in regard to the law and affecting it, has put out the action plan guide stating that the best chance of influencing things is for trans people and allys to each write physical letters to their MP and 6 copies to specific other members of parliament.
He's provided the relevant facts to be included and laid out what you need to write.
translucent.org.uk/a-guide-to-…
A Guide On How To Write A Letter To Parliament
A message from Professor Stephen Whittle OBE.Stephen Whittle (TransLucent)
@InnosearchAI is an #accessible shopping solution, powered by #AI. But it's the human support that makes it worthwhile. My review: stuff.interfree.ca/2025/05/03/innosearch.html
We also do flight booking!
Soon, grocery and food delivery within 1 hour if you’re in the U.S.
Before prevalent social media, a static webpage and a few mailing lists could shake a brand.
My 1999 #Swatch #Protest archive shows how amateur radio operators used hand-coded HTML, listserv chains, and Usenet newsgroups to stop Swatch’s #satellite from advertising on their radio frequencies.
Relive the early-internet playbook here: vees.net/hobbies/hamradio/swat…
#InternetHistory #DialUpDays #Space #DigitalProtest #ARRL #AMSAT
Swatch Protest of 1999 | Rob Carlson
In early 1999 Swatch set out to publicize its new “Swatch .beat Internet Time” by launching Beatnik, a grapefruit‑size “mini‑Sputnik” satellite from the Mir space station.vees.net
John Calvin, early Calvinist preacher, writing on collections for famine (2 Cor 8), says Jesus “consecrated” the estate of poverty by living in it. Thus: 1) We need not regard this estate with horror. 2) Free from fear of own poverty, may help those in distress.
Today, do we fear the very presence of people in distress, and thus cut people off from any tie of brotherhood?
How can you no longer regard poverty with horror?
At Your Fingertips: Fidget Tools, Fun Gadgets, and Braille Input Devices - Unmute
In this relaxed May edition of At Your Fingertips: Braille Then and Now, we explore fun, low- to mid-tech tools that bring joy and progress to Braille learners.pgnpt (Unmute)
reshared this
This reader says his Apple Watch saved his life—make sure yours is set up too - 9to5Mac
A 9to5Mac reader, Mike Taylor, recently shared a powerful account of how his Apple Watch may have saved his life—echoing...Zac Hall (9to5Mac)
Wednesday, May 14, 4:00 PMEastern Time
tpgi.com/webinar-marking-a-mil…
Webinar, May 14 at 4pm ET: Marking a Milestone: Celebrating 30 Years of JAWS on Global Accessibility Awareness Day - TPGi
Join us for a webinar where Matt Ater and Jennison Asuncion will celebrate the JAWS 30th Anniversary and discuss the significance of GAAD.Matt Ater (TPGi)
🚨 Google now displays #Ads in third-party AI 🚨 Just when you thought #Google ads couldn't get more annoying, it did 😅
Learn how to s top the ads here 👉 tuta.com/blog/block-gmail-ads
Blocking Gmail ads is possible! Here's how in 2025. | Tuta
How to block ads in Gmail is getting more complex as new Gmail advertisement is more intrusive than ever, in your mailbox, in your Gmail app, everywhere. But we've got a solution!Tuta
Uncover the untold story of Apple VoiceOver! Join us as we reveal fascinating insights and genius ideas behind this groundbreaking technology. Despite valid criticisms, we acknowledge Apple's transformative impact on the industry. Discover the real story today! youtube.com/watch?v=5tLSycbey6…
#AppleVoiceOver #Accessibility #TechHistory #Innovation #BehindTheScenes #TechInterview #Apple #Technology #Inspiration #DesignThinking
Clicks Keyboard, Ember Mugs & AirPods as Hearing Aids?
What do the Clicks Keyboard, Ember Mug, Monarch braille display, and AirPods Pro 2 all have in common? They’re all in the inbox this week on Double Tap!Steve...YouTube
Building a more accessible GitHub CLI - The GitHub Blog
How do we translate web accessibility standards to command line applications? This is GitHub CLI's journey toward making terminal experiences for all developers.Ryan Hecht (The GitHub Blog)
reshared this
AI Learners: Accessible online math for young students – Perkins School for the Blind
Discover how AI-Learners is making math games more accessible for young students with visual impairments—combining fun, learning and inclusive design.dianebrauner1 (Perkins School for the Blind)
Kelly Sapergia reshared this.
Amazon Blocking eBook Downloads for Backup on Kindle for PC Now
Amazon's ongoing battle against letting people download and backup purchased Kindle ebooks has taken another step in the wrong direction.Nathan (The eBook Reader Blog)
E-Commerce Accessibility Best Practices
Optimize your e-commerce site for accessibility to deliver seamless, ADA- and EAA-compliant experiences.Melissa Morse (TPGi)
Webinar, May 14 at 4pm ET: Marking a Milestone: Celebrating 30 Years of JAWS on Global Accessibility Awareness Day - TPGi
Join us for a webinar where Matt Ater and Jennison Asuncion will celebrate the JAWS 30th Anniversary and discuss the significance of GAAD.Matt Ater (TPGi)
Following negative feedback, Microsoft is making the Copilot key experience less intrusive
The Copilot key and shortcut won't open the full-fledged Microsoft 365 Copilot app anymore.Usama Jawad (XDA)
Mastodon has taken the strategic decision not to accept venture capital investments for growth, but rather restructure to a European non-profit organisation. 👏
reshared this

IzzyOnDroid ✅
in reply to Bolet :neobread_eyes: :yeah_waffy: • • •Bolet :neobread_eyes: :yeah_waffy:
in reply to IzzyOnDroid ✅ • • •IzzyOnDroid ✅
in reply to Bolet :neobread_eyes: :yeah_waffy: • • •UnifiedPush
in reply to Bolet :neobread_eyes: :yeah_waffy: • • •Great ! A page dedicated to 3rd party libraries will be added in the coming week
BTW, you can open a pull request to add wafrn to [the list of applications](unifiedpush.org/users/apps/) supporting UP !
PS: we use to use UnifiedPush in one word, if you want to update the Readme
Apps using UnifiedPush
UnifiedPushIzzyOnDroid ✅
in reply to UnifiedPush • • •UnifiedPush
in reply to UnifiedPush • • •Implementations
UnifiedPushIzzyOnDroid ✅
in reply to UnifiedPush • • •F-Droid ($1896503) · Snippets · GitLab
GitLabS1m
in reply to IzzyOnDroid ✅ • • •IzzyOnDroid ✅
in reply to S1m • • •S1m
in reply to IzzyOnDroid ✅ • • •IzzyOnDroid ✅
in reply to S1m • • •Push Notifications · Wiki · IzzyOnDroid / repo · GitLab
GitLabS1m
in reply to IzzyOnDroid ✅ • • •Thanks :)
About: android.izzysoft.de/applists/c…
I've dropped support for Gotify-UP (the fork we started UnifiedPush with) and NoProvider2Push a while ago. I think it is better to remove them from the page. Maybe you can list Sunup instead, which is intended to be the goto solution.
PS: Is it possible to correct the heading from Unified Push to UnifiedPush ?
Push Clients/Manager - Android App Übersicht
IzzyOnDroidIzzyOnDroid ✅
in reply to S1m • • •Sunup is listed there, and the Gotify Distributor for UP (Gotify-UP) was removed from the list long ago (Gotify itself is still maintained, so their non-UP client is listed in the "others" section – with "others" meaning "non-UP").
I've seen that NoProvider2Push was not only marked experimental, but also has not received any commit for years. The Last-Update date reflects that. I'd rather leave it in as long as it's available, maybe someone would "take over" development…
And I thank you!
S1m
in reply to IzzyOnDroid ✅ • • •IzzyOnDroid ✅
in reply to S1m • • •S1m
in reply to IzzyOnDroid ✅ • • •Oh: I've just seen you linked the FOSS library for the embedded distrib to codeberg.org/UnifiedPush/andro…
But it has been deprecated in favor of the main one, which is fully foss: codeberg.org/UnifiedPush/andro…
android-embedded_fcm_distributor
Codeberg.orgIzzyOnDroid ✅
in reply to S1m • • •S1m
in reply to IzzyOnDroid ✅ • • •