Minimal mobile apps for Android and iOS

Hey all,

I have an update regarding F-Droid. It appears that, since our app uses Expo, which depends on many non-free components (per Tutorial on how to package an app made with react-native/expo? - F-Droid Forum), it would not be allowed in the F-Droid repository as it stands currently.

Perhaps if the app were to be re-written as a pure React Native app without the Expo wrapper, it could be included. I have updated the associated issue#46 on the repository to reflect this. I will do some digging to see how feasible this is. Currently we use quite a few functions from Expo APIs but there should be vanilla React Native library based counterparts that could work in their place.

4 Likes

Cross-posting this response as itā€™s relevant to this thread:

3 Likes

Copy!!! Thank you for this.

2 Likes

We have some exciting news to announce! :tada:

:construction: Development on this repository stream-app has been switched to maintenance mode, in favor of building out a non-react-native-webview React Native TypeScript implementation in this repository: mobile :construction:

Iā€™ve updated the Readme on the old repository, as well as relevant issues. We intend to build this out without Expo, so it should be allowed in F-Droidā€™s repositories as well. This new repository will be built completely independent and unreliant Resonateā€™s web player, which should allow us to tackle a wider featureset than we could given the previous implementation.

This will also allow us to better appease the Google Play Store and Apple Storeā€™s requirements. The Google Play Store rejected our recent update due to:

Apps that employ in-store or in-app purchases must comply with the Payments policy guidelines. Specifically, Google Playā€™s billing system must not be used in cases where payments include tax exempt donations.

The older Android version is still up in the Google Play Store, so users can still use that until this new iteration is available.

If anyone knows any developers who might be interested in assisting - again, this is going to be written in React Native and TypeScript - send them on over to the new mobile repository and have them take a look! Thanks everyone!

3 Likes

Quick update regarding the existing Google Play Store Android app, it was identified here:

that the Android app has been taken down. Iā€™d hoped that this was just the latest release I submitted didnā€™t meet their standards, but this is apparently all releases.

Theyā€™ve supplied two ā€œreasonsā€ for this :roll_eyes: :

  1. Read through the Metadata policy for more details.

  1. Make appropriate changes to your app, and be sure to address the issue described above. Be sure to adjust your appā€™s description, title, icon, screenshots, and/or promotional images to be appropriate for all audiences.
  2. Double check that your app is compliant with all other Developer Program Policies.
  3. Sign in to your Play Console and submit the update to your app.

Action required: Provide proof of permission or submit an updated app for review
Hereā€™s what to do to help get your app on Google Play:

  1. Read through the Payments policy for more details.

  1. If the donations are for an eligible tax-exempt organization, please provide verifiable documentation that indicates the organizationā€™s tax-exempt status (e.g., Internal Revenue Service determination letter for entities in the United States) through the Advance Notice Form.
  • If the organization is not a tax-exempt organization, you must remove the donation functionality from your app or use Google Playā€™s in-app billing system when collecting donations.
  1. Double check that your app is compliant with all other Developer Program Policies.
  2. Sign in to Play Console and submit the update to your app.

Iā€™m sure we could handle making the payments page just open in the userā€™s browser, but as far as ā€œinappropriate languageā€ goes, we could add a switch in setting that defaults to non-explicit and replaces profanity with asterisks. However, this would require changing code in the stream repository, which weā€™re trying to move away from making any new changes to, as weā€™re building out beam and mobile to provide longterm support. In the meantime, I have created an Android release on GitHub with the binaries. Hopefully Android users can download the packages and install them using these builds, while we continue to build out the mobile app.

2 Likes

Best course of action so far in my opinion as we want minimal additional work for you while youā€™re building a path away from the current working ecosystem. Letā€™s not dedicate too much time to Googleā€™s bullshit (should I say BS? B*****?) before we actually have to.

4 Likes

Yeah, unless there is a significant listener base who exclusively was using this app and has no other option, Iā€™d encourage focusing on other priorities.

Are there stats for active users of the app?

Looks like it was ā€œtaken downā€ by Google on July 1.

Android stats:


iOS stats: 104 total testers

2 Likes

Iā€™ve changed our Google Play Store target audience to be 18+ and up: The target age group for your app is: 18 and over

Iā€™ve put up a change that will make any requests stream-app makes to https://resonate.is will open in the userā€™s browser, and not the app. This should make Google be okay with the donations page, as it will no longer be ā€œin-appā€. This will only affect Android users, iOS users will still be able to navigate to resonate.is pages.

These should hopefully address these two issues:

Fingers crossed that these two quick fixes appease Google Play Store. The new app bundle has been submitted to them and is currently pending their review.

3 Likes

Can I get some updated (and succinct) copy on the needs as it relates to progress on the mobile app that I can share through various channels in order to solicit more volunteer dev help?

2 Likes

I think the move to a new framework as expressed bellow is currently in a very rough state because @piper and @psi wonā€™t be able to really do the work until the 1st week of August (could be until the 8th of August, maybe slightly earlier). So we might want to wait then to do a proper call for developpers but Iā€™ll leave that judgement call to Piper and Psi.

Furthermore, as it stands, Piper, Psi and @jeremy do not currently have access to the Resonate server which is limiting to do the work they need to do and weā€™re waiting on @auggod and @peter to walk them through the process of having complete access to all the resources they need, which I think should be sorted before early August so that they can start right back on it when theyā€™re back.

Until then I think this sums up the needs succintly for now

Note that all Iā€™ve mentionned above was just a short summary of whatā€™s been discussed and decided collectively at the dev stand up meeting two days ago in the presence of @brndnkng and @Hakanto as well ! Hope this helps !

Also incidentally @jeremy just posted this which is I think the single most important document about how to further proceed with Resonate dev work :

4 Likes

Currently mobile and desktop apps are blocked by the v3 API (the API works for logging in but it seems that streaming tracks using it doesnā€™t spend any creditsā€¦ not ideal).

@jeremy has this proposal which @psi and I think is a great next step - weā€™d like outside devs to weigh in on it and potentially get involved in helping with that if the proposal is approved. We had an awesome Dev Standup Meeting last Wednesday with brandon and Peter H and a bunch of others on the call that was really productive when we discussed this and the current blockers, and we collectively decided on the call that it was time for @jeremy to post his proposal publicly.

Maybe something like the following would work for a succinct social media post to attract more devs:

Resonate has a new tech-related proposal on the floor (Some proposals to improve product development at Resonate) to consolidate and simplify its back-end infrastructure. We would like to invite devs to provide initial feedback on the proposal, and to get involved and assist in this work.

@zetto.plus, let me know what you think about all of this (I know this is a lot to chew on). Thank you so much for your efforts and your continued pushing to do socials and to bring more devs on board (which we definitely, desperately need).

In other news, @relish and other Android users, Google has reinstated stream-app in the Google Play Store! Give it a whirl and let me know if you run into any issues, but it looks like weā€™re back up and running from what I can tell over here. :tada:

6 Likes

Mobile App Update - Release v1.1.9 / 19

Because the forum now lives at https://community.resonate.coop (part of šŸš§ Warning: Resonate Infrastructure In Flux Coming Week(s) [Effective Immediately]), Iā€™ve created a new release of stream-app to allow users to continue to navigate and use the community forum in-app, instead of it automatically opening in the userā€™s browser. For those who donā€™t know, you can scroll to the bottom footer (or even quicker, press in the top right, click Settings, and because itā€™s a shorter page you can get to the bottom quicker) and press Forum - you can actually browse the forum using the app! I like doing this because it provides a bit more screen space (no browser URL bar at the top) and a more focused experience.

These new builds have been submitted to Google Play Store and Apple App Store, and are currently being reviewed - should be live sometime tomorrow. :sunflower:

6 Likes

Thank you @piper for pursuing this app so diligently and keeping the community in the loop via the Forum.

2 Likes

Minor note: Iā€™ve updated the topic above as well as the stream-appā€™s Readme file regarding its development status - initially I stated that development on the repository would be discontinued in favor of the mobile repository, but Iā€™ve since realized thatā€™s an incorrect characterization - itā€™s essentially in maintenance mode (we will continue to fix bugs as they arise and fix problems where possible). The repository is essentially as feature complete as it can be within the confines of the react-native-webview library, so new features arenā€™t really possible without switching to regular react-native (the goal of the mobile repository).

Just wanted to post this clarifying update/edit to make sure people are aware that weā€™re still currently supporting and maintaining the stream-app while mobile (our long-term goal) is being built out. :smiley:

2 Likes

Please :pleading_face: disable smooth scrolling. Feels like scrolling to a point where I didnā€™t intention it to be scrolled to.

1 Like

Welcome @pabloscloud!

Iā€™ve responded on the issue, but Iā€™ll copy paste my response here as well:

Iā€™m guessing youā€™re on Android? What version?

At first glance, I would have though this issue pertains:

However, we are not using androidHardwareAccelerationDisabled, which was causing the problem for the users in that issue.

This app uses your phoneā€™s default browser, so if you have a way of disabling smooth scrolling in your phoneā€™s default browser, that would probably fix this issue. I donā€™t have an Android myself so Iā€™ve never run into this bug nor do I have a way to test it.

In the meantime, I will try to experiment with bumping the react-native-webview version to the latest to see if that solves that for you. Here is the latest release, version 20 on Android (1.2.0 for iOS). It has been submitted to the Google Play Store and Apple Stores for review, and will be available publicly after they are past review:

Version 20 (Android) / 1.2.0 (iOS)

Library Previous Version New Version
react-native-webview 11.15 11.23
babel-core 7.17.5 7.18.10

Thank you for reporting this issue!

3 Likes

Iā€˜m on iOS

1 Like

@pabloscloud, 1.2.0 is now live on Apple Store TestFlight, if you want to test and let me know if those updated packages fix your issue:

image

I noticed on GitHub that you said youā€™re on iOS 16.0 which is due to be released this fall (in beta). Sounds like this could be because youā€™re on an iOS beta release instead of a stable version? When you open stream.resonate.coop in Safari, do you have the same issue?

1 Like

@pabloscloud New release here, should be available for testing via TestFlight sometime today after itā€™s been reviewed by Apple: Release ios-deceleration-rate-normal Ā· resonatecoop/stream-app Ā· GitHub

  • Use default decelerationRate property for iOS browsers (normal) , rather than WebView default (fast).

Crossing my fingers this fixes your issue.

1 Like