RefugeRestrooms / refugerestrooms-ios

[DECOMMISSIONED] iOS app for Refuge Restrooms, crowdsourcing safe restrooms for the trans community

Home Page:https://refugerestrooms.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Getting lots of complaints about how restrooms added do not show up in searched in IOS app

tkwidmer opened this issue · comments

We get a fair amount of complaints on twitter or via email about how searching with IOS, does not display restrooms that were recently added.

hey teagan ! i'm not in a place to keep maintaining the iOS app unfortunately. i'd suggest one of two things - either we discontinue the app or we find another maintainer.

to the former, that'd require my Apple Developer account - happy to do that work. to the latter - the app was written so long ago and with older technologies that current iOS developers may not know or embrace (e.g. 100% Objective-C); I'd say it likely deserves a rewrite. if someone is game to maintain or rewrite, happy to provide pointers. let me know how we ought proceed; feel free to email me if you'd prefer a longer convo offline.

@hkellaway

I think for now the best thing would be to decommission it. But let me talk with other main contributors. But this will push people back to the mobile web version which is functional. And free people up to maybe do something a bit more contemporary in swift or React Native or something down the line. I'm interested in React Native since it could run on both android and ios devices. potentially.

Do you know what the process is for removing it from the ios store?

One nice thing would be to alert users that the iOS app is being decommissioned. Not sure if there is an easy way to do that; Maybe we can add a tiny update that just shows a message (e.g. "Our iOS app is being shut down, but Refuge Restrooms isn't! Visit refugerestrooms.org for a more functional, up-to-date experience.")

From what I know, an app taken down from the App Store stays on users' phones. (There are still iPhones on eBay with the original Flappy Bird installed...)

Short of modifying the app, we can just try to get the word out on Twitter, and so on.

Edit/PS: It would be good to do any sort of "we're shutting the app down" message in a technologically low-risk way, since some users will inevitably try to keep using the app. Best to keep it working as much as it already does I suppose.

@tkwidmer to remove from the App Store, i'd log into my Apple Developer account and elect to Remove App. here's the docs on that: https://help.apple.com/app-store-connect/#/dev28d17ed35

Note: "If you remove an app, you will lose ownership of the app name. Removed apps can only be restored if the name is not currently in use by another developer account." That's an issue only if you cared/thought another would take the name. An additional thing we'd lose is the bundle ID - meaning, if the app was rewritten then users would have to install a brand new app instead of updating this one; that's not a big deal for this project IMO.

Another option we have besides completely removing is to suspend it it from being distributed on the App Store; in this scenario we retain ownership of the name and bundle ID but end up with me still having the app on my account. What we'd want to do long term there is identify a maintainer/re-writer who has a paid Apple Developer account and have me transfer the app to them.

To your point @DeeDeeG - yes, anyone who has the app on their device, whether we delete it entirely from the App Store or just suspend new downloads, will still have the app. I was eventually able to get the app to build and upload - I now have a release waiting that displays an alert on launch per your recommendation. I've also removed the button and screen to add a New Restroom via the app.

So next steps - if you're good with the alert idea @tkwidmer let me know what you'd like the copy to be. Then we'll submit a release with the alert, hopefully pass App Store inspection with little grief, and eventually apply the approach we prefer of removing or suspending.

refuge-decom-alert

Thanks for doing all this and looking into things on the Apple/App Store side.

In my personal opinion, suspending the app is the more conservative option (vs deleting it from the App Store), and also a pretty good match to what we're trying to accomplish. If we ever do make a shared-codebase app (for iOS, Android, web?), I presume we would still be uploading this to the App Store? In which case it'd be nice to park the name.

Also, I think it would be good to avoid the possibility of someone deliberately taking the name as a form of "griefing" or targeting our users. If someone legitimately wants the name for positive reasons they can just reach out to us about it.

Tiny footnote: The updated codebase requires a newer iOS if I understand correctly, so users with a very old iPhone or iPad wouldn't get this update if it uses the new code. Just wanted to point that out. I'm unclear how many people still use such old iDevices, but I know I personally do have one (not that I rely on it, but I do still use it.) Edit: My old iDevice is an iPad 2, running iOS 9, so it should get the update. Hmm... I think the iDevices that wouldn't run this update are really old...

I ended up having to upgrade to iOS 8.0 - you’re right @DeeDeeG, folks with 7.0 will have a version that doesn’t show the alert, which I’d guess is a very very small amount of users

@tkwidmer it’d have to be someone with a paid Apple Developer account to transfer. we can keep it on my account for the time being

are you good with that alert copy?

I hope we can make it clear to users we had to remove features -- because they actually weren't working. (Otherwise I think people will be upset. Every time a provider of some service "takes something away that was working before" there is a backlash.) So just trying to think about how to communicate that we didn't have much options. (A good way to do this is to make sure we do try to broadcast out to folks that we are looking for a new maintainer! That way if we get someone, we get someone. Cool! Otherwise it's clearer we did our best to keep it going.)

Edit: as in "It has come to our attention that the iOS app hasn't been working properly. We don't have anyone with both the skills and the available time to fix this, so we are hoping to find someone who can. And otherwise we will be directing people to use the web app instead. We'd rather have people use the web app, which works, than have a buggy experience where restrooms don't show up or get added to our database, etc."

Edit 2: I see we did reach out on twitter already: https://twitter.com/REFUGErestrooms/status/1206737330335145984 One person has already responded. Not sure how far that has gone, with regard to having emailed them or not.

I’m good with that alert copy. Is there any easy way to force an update for existing users? I know sometimes my apps stop working and say it needs to be updated

(IMO we should make it clear that the old version is broken, but not force anyone, if possible... but I admit the means to "guaranteeing people are made aware of the breakage" might be tied to forcing them to update.)

There are slightly competing concerns of "make everyone aware" and "provide everyone a remedy that works for them." Ultimately I defer to @tkwidmer on that.

unfortunately no - there’s no first-party way to do that and we don’t have anything built for the app (e.g. a webservice to check for valid version & functionality to block usage if invalid). the best I can think is we can check in the Analytics in App Store connect roughly how many have upgraded and suspend it after a certain amount

okay - then ill submit the update for review tomorrow

I'm not sure how far this interaction went (followed up via email or not) but we have someone who responded to us on twitter about troubleshooting our app's issues: https://twitter.com/REFUGErestrooms/status/1206737330335145984

Edit: I don't have access to the twitter account (nor a twitter account of my own) but I'd ask the person to potentially reach out to us on GitHub? Or if they want to talk in private or semi-private there is the Slack.

happy to enact the ownership transfer and talk through the codebase when a maintainer is identified

so i attempted to Submit for Review this morning but am missing required screenshots. Namely we need at least 1 screenshot for these sizes:

  • iPhone 6.5" (1242 x 2688 pixels)
  • iPad Pro 3rd Gen (2048 x 2732 pixels)
  • iPad Pro 2nd Gen (same as 3rd gen)

so summarily 2 screenshots - 1 at 1242 x 2688px and 1 at 2048 x 2732px

Screen Shot 2019-12-18 at 10 12 47 AM

i think an image of the first oneboarding screen or an image of the map would suffice

EDIT: Was able to install the simulators and take screenshots there

aaand we are submitted! i'll let you know if there are any snafus or when it's officially in the wild

I'm planning on reaching out to the dev from twitter later today if that's okay with everyone. (Going to reach out over email). Just want to do the due diligence of seeing where we might be able to fix this by tweaking the app, rather than parking the app...

I'm fine to take up the work of co-ordinating, but I'm afraid the technical part will be more involved, and I personally can't help there.

In general, I plan to invite her to our Slack and/or to reach out directly on GitHub. We can also connect up over email if that turns out to be best for everyone.

I note that none of us are very familiar with iOS app development other than you @hkellaway. I wonder how much bandwidth you might have for troubleshooting/helping out with this? If we have effectively zero bandwidth, I can just not reach out. If we have enough bandwidth to answer questions, review PRs and push updates to the store that should be enough -- but if not, I can admit it's best not to get help on the hook without being able to review their work and publish it to the App Store.

Edit: Basically I don't want to over-promise commitments from us, which would be implied if I reach out and say we're interested in the help, but that we can't realistically deliver on. Checking in and waiting to hear back before I reach out.

Edit 2: Sorry if it comes across as dramatic, just trying to see what I can do to get the best outcome.

@DeeDeeG i'm able and willing to be involved to get another dev up to speed to take over ownership. i'd say it's worth reaching out and pointing them to this thread.

in the event that they join, if i could be added to the Slack to chat with them, that'd be easier than email

Here is the Slack invite: I don't think there are any limits, or credentials required, etc. for joining.

https://join.slack.com/t/refugelgbt/shared_invite/enQtMzExOTAyMTExMjM3LTk2ZDQzNGFmMzFlY2YyZGI1NTU1YzFhMGFlZTdlNzA2MDlkYTRjNWVkMTVkOTlhZjJmNGFkMzY3NjFhZjgyMzM

Edit: The old invite link has expired. Sorry about that.

Update: An e-mail has been sent out.

Apparently the old Slack invite link has expired. @mi-wood or @tkwidmer, can we put a new link in the README.md for the web repo? Or maybe we should change it back to having people e-mail us for an invite like it was a while ago.

version 2.0.0 has been released that alerts users of a decommission soon. we'll let reach users for a bit then suspend the app from distribution on the App Store. hopefully in the interim or soon after we'll be able to identify a long-term maintainer

@hkellaway Is the iOS app something that is going away? Is a maintainer all that is needed for it to continue or is something like re-writing it in something like react native more the path forward?

So, I've been looking into this project and the option of offering to help or take over maintenance with a view to bringing back full functionality and support to iOS.

However, the usage of GNU AGPL is making me nervous to commit for fear of legal challenges due to clause 7's requirement for sharing "installation material" including keys, which is against the app store's terms. This appears to mean that a dichotomy arises where neither App Store rules nor license requirements can be complied with simultaneously (in my rudimentary understanding of the terms)

@lucyllewy this project hasn’t been maintained for quite some time. im not sure who is making the calls on it; the project creator and maintainers i was in contact with years back are aware that im no longer active. let’s see…@DeeDeeG might you know who/how to get in touch with someone in the know? if we do identify an active owner for iOS, id also be happy to transfer the App Store Connect record

@lucyllewy if you do end up resurrecting it let me know I'd be down to help

@hkellaway I usually ping Teagan or Mikena on the Refuge Slack if it's something urgent.

Bandwidth of open channels for communications on this project are a bit of a "spotty intermittent satellite link", to be honest. I don't always get the answers I'm looking for when trying to reach out.

If I had to opine, I'd say it'd be better for the health of this project to identify some new people willing/able to take over, whom the existing maintainers can trust, and hand some of the reins over.

(I personally count as "more willing than I am able".)

If we could get folks willing and able to take over, on the same comms at the same time as the OG maintainers of Refuge, and if sufficient trust was established, then I do think that'd be best.

I think we're simultaneously bottlenecked on one or more of these two things:

  • Folks wanting to volunteer at a level a little bit less than "become the new main maintainer(s)"
  • Infrequent availability/reachability of the OG maintainers

If there's a way past the bottleneck, or a way folks are able to work past these things, then I think we could really properly move forward.

(Until then or by default, everything is sort of stalled out. To speak the truth. Like, the web app isn't going anywhere. We're probably able to keep providing the existing Android + iOS apps in a frozen state as-is. I don't think the resource is going away for the community at all. But development is pretty well paused, practically speaking.)

Hopefully that wasn't too long of an answer, but "just ping teagan and Mikena on Slack" seemed like an insufficient reply.

And of course, sorry I can't presonally step in and wizard all the tech into shape, I'm self-taught and honestly not very good at all this, in my opinion. The one thing I am is pretty consistently here.

Best to all,

  • DeeDeeG

incidentally, something must have changed about how usage of the Google Places API is billed. we’ve never been charged for it; i can’t recall if that’s because our call volume is so low or if we received a discount for being a social cause. however - they’re now requiring you add valid billing information.

i’d rather not put mine down for a project i’m not active on. so, i can think of a few options: we transfer the Google Places API instance to another maintainer (if that’s possible); another maintainer creates a new API instance and we release a version of the app with the new API key (if possible, i recall it was touchy to build a 9 year old app on the latest software the last release we did); we await the app losing functionality then take it down if/when we’re blocked from Google Places API usage; we take the app down proactively.

given maintainers aren’t very active, it could be one of the latter 2 works better alongside a new set of iOS folks rewriting the app. in doing so, they can select a new mapping product instead of Google.

if there isn’t a particular call made I’ll be going with one of the latter 2 options regardless. i will let you know if/when the app has lost functionality based on Google Places API usage being blocked; i won’t take the App Store record down without notifying as well.

hi folks - i just received another notice from Google. given lack of payment method, this is what to expect:

If you do not provide a valid payment instrument and make any overdue payments within 30 days of this notice, your billing account and related Project(s) or Service(s) will be terminated.

we don't have overdue payments, but we don't have a payment method. given this notice, ill plan to take the app down within the next 30 days. i'll leave it up for a couple weeks at least in case anyone would like comment

i'd say it's a good time to rewrite the app and choose a free map product, if there are folks willing. if that comes together, I'm happy to transfer the App Store record we've been using - you can let me know here or email harlan dot github at gmail

as a reminder, we have had an alert in the app since Jan 2020 (over 3 years) notifying people that it's going away and to use the site instead:

image_123986672-2

additionally, the Search functionality provided by Google doesn't even appear to be functional:

image_123986672

so, what users we've retained have dealt with a degraded experience for quite a while. let's either call it or provide something better!

Hey @hkellaway, the key changed awhile ago and I did make a new one for the main app. I just didn’t update the iOS app, because it’s already supposed to redirect folks to web.

I think a lot of folks still land on the app, so I’m worried folks wouldn’t redirect without it. I’m wondering if at this point, the thing to do is just remove all functionality for the app and change it to a single page that redirects folks to the .org address (ie. remove any submission/map stuff). Would that be possible?

Or maybe have something like an iFrame where the website loads within the app?

i'd say it's likely that wouldn't pass App Store review - they don't look kindly on app that are basically websites. but it doesn't hurt to try!

@Fr33z3rBurn and/or @lucyllewy would you want to give that a go? i could add you to my Apple account with access to manage the app.

that all being said - if we do go down the path of keeping the app alive instead of taking it down (but hopefully rewriting!), i'd also like to see movement on transferring the app record to another account

I wonder if it would help to also put a date in the message that says we’re going to take it down at a certain point? Or have it be a banner rather than notification, so it’s ever-present. I’m ok with taking the app down if we can get people moved over

@hkellaway I'm willing to work on the re-write if we think the app would be beneficial for people to keep around. I think we would need to have some kind of page that redirects to the website as it is being re-written though since I would only be doing this part time. Maybe something more than the pop up is there now. If it makes more sense to take it down I am cool with that too.

@hkellaway I thought about this a little more and given the time I have right now a rewrite would be too much. Seems like shutting it down might be the best option

I’m ok with taking the app down if we can get people moved over

on getting people moved over - i would go so far as to say that the alert that's been up for years would suffice. yes, there could be better UX, but it is something users ought to see and be aware of. one additional step might be to post to social media that the iOS app is going down

regarding additional implementation - i'd only say, it's not a task I'll be personally be taking on. i did request years back to have the App Store Record transferred to someone who would be an active maintainer. that person has never been identified unfortunately. if someone stepped forward, i would certainly participate in hand-off!

what kicked this convo off again was Google repeatedly requesting a payment method be added to the project or they'd stop API functionality...it would seem the API functionality isn't working regardless because of the key mismatch. i'd still like to get serious about sunsetting the app if a maintainer isn't identified

@Fr33z3rBurn what i meant by my last message wasn't to commit to a full rewrite - but to try to do improvements to the existing app to better nudge to Web (ex. replacing with a web view or having a banner instead of an alert). if that's not in your bandwidth either, understood

@hkellaway Ah yeah that makes sense. Yeah I could give a banner or web view a go. That could be a good place to start and we could see where to go next. Let me know what the next steps would be.

@Fr33z3rBurn i just collapsed the branches into 1 named main. you can branch off of that of that and have at!

where i come back in is - once you have something you want to deploy to the App Store, given i still own the record, I'll have to facilitate that. my intent would be to add you as an App Manager then have you can carry on seeing the release through

@hkellaway Awesome! Thanks! I'll give it a try and see what I come up with. Is this thread the best way to contact you if/when I get something working?

yup - this would work

@hkellaway Sorry I haven't had much time for this. I tried a little for a few nights but there was a lot that needed to be brought up to date. I think if you have to shut the app down for now that seems like that might be for the best right now. Maybe someday it could be re-written

@Fr33z3rBurn no problem, thanks for giving it a go

@mi-wood i made a request years back to move the app to another App Store account owner, but no one was ever identified. i’ll plan to take down the app at the end of the year. if the Refuge maintainers find someone to transfer it to, happy to re-engage about that!

so, unexpectedly, the app was taken down. the issue is that i didn't elect to renew my Developer Membership ($99 / year). per Apple:

Your membership has expired, and your apps have been removed from the App Store until you renew your membership.

if someone with an active membership would like to have the app transferred to their account, i'm happy to do that!

@hkellaway I have an active apple dev account. I can take it. This will light a fire under me to actually get some work done on it! What do you need from me just the email associated to my apple dev account?

I have an active apple dev account. I can take it.

that's great, @Fr33z3rBurn

here's what I need - you can email me

Screen Shot 2023-08-31 at 3 46 54 PM

Apple ID:

Screen Shot 2023-08-31 at 3 47 07 PM

Team ID:

Screen Shot 2023-08-31 at 3 47 20 PM

all set @Fr33z3rBurn - there should be a Transfer Request for you to acknowledge