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 **
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.
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.
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.
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.
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.
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.
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.
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, ...