getodk / collect

ODK Collect is an Android app for filling out forms. It's been used to collect billions of data points in challenging environments around the world. Contribute and make the world a better place! ✨📋✨
https://docs.getodk.org/collect-intro
Other
714 stars 1.37k forks source link

Announce upcoming deprecation of Google Drive support #5296

Closed lognaturel closed 1 year ago

lognaturel commented 1 year ago

About 5% of users in the last few months have used direct submission to Google Drive. It's completely untested and requires periodic intervention as Google APIs change. We also know that it has a number of quirks and unexpected behavior that we don't have the capacity to fix at this time.

As discussed with the TAB on March 16th 2022, we will be putting Google Drive support on a deprecation path. The first step will be to notify users of this within the app.

Forum post: https://forum.getodk.org/t/40097

Acceptance

Notes

The text for the banner should is "This project uses Google Drive. This functionality will be removed in the next app update.".

grzesiek2010 commented 1 year ago

I was thinking about this issue and my proposal is to announce it in two places:

What do you think @lognaturel @seadowg

seadowg commented 1 year ago

a banner in the main menu displayed if a project uses Google Drive. It would look similar to what we had for scoped storage

Love it. This should make it easy to link out to an external webpage (probably the forum post) as well.

add (deprecated) or something like that in server settings to Google Derive, Google Sheets text

I'm wondering if we should go one step further and remove the Google Drive option from settings (unless it's configured already). This would require existing Google Drive projects to use QR codes to set up new devices, which might be too aggressive for a first move.

grzesiek2010 commented 1 year ago

which might be too aggressive for a first move.

I think it would be.

seadowg commented 1 year ago

How about we show a dialog when Google Drive is selected as the server type warning them of the deprecation with two options:

  1. Continue
  2. Use ODK Server

Then we would be catching both devices with existing Google Drive projects (with the main menu banner) and new accounts being administered. I'd rather not disrupt the QR code flow with a dialog, and I guess we probably have less need to warn users there as they will end up on the main menu after import.

grzesiek2010 commented 1 year ago

How about we show a dialog when Google Drive is selected as the server type warning them of the deprecation with two options.

I'm rather leaning towards a simpler solution (something I described). If someone selects Google Drive they will see a banner in the main menu so it's something difficult to miss. But let's see what @lognaturel thinks.

seadowg commented 1 year ago

I'm rather leaning towards a simpler solution (something I described). If someone selects Google Drive they will see a banner in the main menu so it's something difficult to miss.

Yeah, I think I'm happy with it just being that main menu banner as well to be honest. That feels like it will catch pretty much everyone.

lognaturel commented 1 year ago

I did some brainstorming in this doc.

I can't think of a better first step within Collect than a banner. I think the banner is sufficient and that there's no need for additional text when configuring.

I'm not entirely satisfied with what I've come up with but here are some ideas:

Screen Shot 2022-12-14 at 12 30 52 PM

What do you think of adding a "Dismiss" button after the link has been clicked? That would require storing some project-level state, probably in shared prefs. We can remove it when we remove Google Drive/Sheets functionality. I think we should also consider making it dismissable after some number of days.

seadowg commented 1 year ago

I think I prefer the second banner to the first (and having the auto update instructions in the linked post as described in the doc). I'm in support of making sure it's clear that we're not going to support the functionality any longer.

What do you think of adding a "Dismiss" button after the link has been clicked? That would require storing some project-level state, probably in shared prefs. We can remove it when we remove Google Drive/Sheets functionality. I think we should also consider making it dismissable after some number of days.

That makes sense to me. We could have a "Dismiss" button that's only available X days after the banner is shown. We could have that be regardless of project as well - you can dismiss the banner after a set period of time, and it won't show in any Google Drive projects any longer on that device (without an uninstall/reinstall). Sound good?

grzesiek2010 commented 1 year ago

I also like the second banner more.

What do you think of adding a "Dismiss" button after the link has been clicked? That would require storing some project-level state, probably in shared prefs.

That makes sense we can do that.

I think we should also consider making it dismissable after some number of days.

I'm not sure if that makes a lot of sense... if we display that button after clicking LEARN MORE that would be enough I guess.

lognaturel commented 1 year ago

Let's get the forum post out early next week and then I think this is ready to go.

seadowg commented 1 year ago

I've added acceptance based on our discussion. This is now good to go!

seadowg commented 1 year ago

This is blocked on an announcement (that we can link to) on the forum.

lognaturel commented 1 year ago

Updated with forum post at https://forum.getodk.org/t/40097