Minimal mobile apps for Android and iOS

Hey @zetto.plus,

Great, we really appreciate your efforts on this. Here’s a short blurb describing Resonate’s code and needs:

Resonate is in need of front-end and back-end developers to help build out its ecosystem. Its main tech stack is JavaScript for the web player and a server/API written in Go and JavaScript, and its desktop and mobile apps are written in TypeScript and React. Any contributions and any degree of involvement would be greatly appreciated. Thank you!

EDIT: @boopboop posted while I was drafting my message so I didn’t see that til after, I think her framing above is super on point (and nice and short, like you asked for). For the third bullet point, you could grab screenshots from this page, since they look pretty nice.

EDIT2: I realized the images from the Android test page I linked above download as .webp files which is slightly sub-optimal. I’ve added a few screenshots to the GitHub page of the app here if you want to grab those (.png files are a bit easier to deal with).

5 Likes

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