Add button to import Collect settings on Collect Main Menu

1. What is the general goal of the feature?
Enable users to:

  • Access the Import/Export settings from the main menu
  • Hide the Import/Export settings when given admin access via main menu settings
  • See the changes in the Server settings after QR Code scan
  • Rename “Import/Export” to “Configuration QR Code”
  • Replace the Import/Export Settings button from Admin Settings

** 2. The feature **
Capture
Note that this is the first design proposed. Another more simple design can be found in the link below.

The Import/Export feature would be renamed to "QR Code Configuration" and would be moved to the main interface. This is to improve the user experience of inexperienced users. Upon scanning a non-default server QR Code, the button will be disabled and would display an informative message on why it is disabled and how to re-enable it as a toast when the button is pressed.

Refer to this link for a more detailed explanation:
More details on design

3. What are some examples of use cases for this feature?
For an initial setup process, users would want to get set up with a server quickly, so having the QR Code scan on the main interface would make it easier. The disable feature on a non-default server setup is to prevent any users accidentally changing the server setting but still giving the user information on how to change it in the event the user does want to change it. The disabled QR Code will also indicate that the application is already set up.

I am part of team that helped built the likert feature. We will be able to contribute to this by building this feature.

The Technical Steering Committee discussed this on their latest call. Overall, there was enthusiasm for moving this existing QR code configuration feature to a more prominent location.

This feature intersects with other recently-discussed themes including introducing an API for the servers to configure clients and client multi-tenancy. There was no concern from the TSC about that interaction.

@adam.butler requested a less cluttered icon. I thought https://material.io/resources/icons had one but it does not. I believe that the one in the mockup comes from https://materialdesignicons.com/icon/qrcode-scan and that's the nicest one that I was able to find with a quick search. I wonder whether perhaps it would look ok scaled down?

But before spending any time on icons, @danbjoseph also suggested pushing the scanning functionality into the overflow menu instead. That way there can be some words to explain what it does and it's less likely that someone would accidentally reconfigure a device because they're trying out very visible functionality.

2 Likes

It does seem a bit 'wasteful' to use up valuable screen real estate on the pre-eminent home page for a function that is probably only going to get used once (in a blue moon...). So I might be more inclined to put it - clearly visible - on the main 'settings' page/tab.

In addition, we could also add check when Collect is first launched and show a popup immediately asking the user they wish to scan a QR code to config the app. These 'first launch' popups are reasonably common, and this would be a good usage for one IMO.

3 Likes

Thank you! We will be changing the design based on these comments!

1 Like

This feels like a nice approach to me. Cuts down on clicks, makes it more discoverable but doesn't get in the way on the home screen.

1 Like

Hi everyone!
@seadowg @LN @Xiphware. I have modified this based on the comment and wanted your opinions on whether this would be pull request ready yet. Below are the images of the modifications. Let me know if you think its good to go and I can make a pr.

1 Like

Thanks for quickly taking the feedback into account, @andrewsiew!

Is the second screenshot for a "first launch" experience? I think that should be considered and built separately.

The other three screens look good. Do make sure that the casing is consistent: I think you should use "QR code" with a lowercase "c" everywhere.

The first launch experience can definitely be put in another pull request. I'll make 2 pull request for these.

I think (and sorry if I'm wrong here) that @LN means we should discuss the first launch experience seperatly before a PR. For some people it would of course be really useful but it's also disruptive for others. I think we'd need to use analytics and potentially some research to make a call around adding something like that in.

3 Likes

Agreed. Certainly any wording needs to be finalized because in the future we may well be setting more than just the "server settings"; eg a QR code could potentially contain values for any ODK Collect user setting, form mgmt setting, ...

2 Likes