xiao8579 / QuickCapture-Testing

Repo for feedback and issues during QuickCapture testing events.
0 stars 0 forks source link

[Exercise] Multiple project user inputs #48

Open xiao8579 opened 3 years ago

xiao8579 commented 3 years ago

Description

The project user input variable value is populated by the app user, and you can apply it to one or more buttons in a project.

Configure project user inputs

Example scenario: For a Fun Run event, the event organizers want participants to enter their bib number, their nickname (optional), and the workout type, before they start the project to track the route with the QuickCapture app.

Create project user inputs in a project

  1. In QuickCapture Designer, create a new project or use an existing project of your own: Run, Walk, Have fun.
  2. Click the Run button in the project > Select the DATA tab.
  3. Select Project user input and click Create new for the text field: Participant (add a new field for the feature layer if it doesn't have it).
    • Label: Bib number
    • Input type: Single line text
    • Make it a required project user input
  4. Continue to add another project user input for the text field: Nickname (add a new field for the feature layer if it doesn't have it).
    • Label: Nickname
    • Input type: Multiline text
    • Make it an optional project user input
      1. Continue to add the thrid project user input for the text field: Workout type (add a new field for the feature layer if it doesn't have it).
    • Label: Select your workout today
    • Input type: Choice list
    • Choices: Run, Walk, Bike, Hike.
    • Allow free text entry
    • Make it a required project user input
  5. Click the Take photo button in the project > Select the DATA tab.
  6. Apply the existing project user inputs to the relevant fields for the Take photo button.
  7. Optionally, you can delete a project user input and create a new one, or you can modify an existing project user input in your project.
  8. Save the project.

Mobile app

Go through all three project user inputs upon project open, then start tracking your route or take photos with the QuickCapture project. You can edit project user inputs by tapping the banner on the project page, and update what you've entered previously.

Submit your records and check your results from this map: https://www.arcgis.com/home/item.html?id=59f1dfc190964953b1186d9b6c28d00f

Feedback

  1. Did you encounter any difficulties with configuring multiple project user inputs in Designer?
  2. Could you describe your experience with multiple project user inputs in the mobile app?
AlanaB8 commented 3 years ago

Added nickname field, changes didn't push. Added nickname field again, saved, updated from QR code, refreshed app, app crashed. Tried updating project within the app notification instead of the QR code and successfully received the update with the Nickname field.


iPhone 12, iOS 14.4

kyliedonia commented 3 years ago

I didn't follow the scenario exactly, but made my own layer with some strings, integers, and doubles both with and without choice lists made as part of the layer in AGOL (I used the "build" layer template option). I used the Android field app on a Pixel 4 with Android version 10. In some of my comments I mention the Windows field app, which was on Windows 10. I had the following thoughts:

  1. It surprised me that I couldn't use project user input on fields where I had a choice list already defined. It seems like since I can make a choice list as part of the Quick Capture project I should also be able to use one that is defined as part of the layer. I have a feeling this is a limitation since the inputs aren't defined as tied to a field, so wouldn't always know the choices -- but with this and my second feedback I wonder if that is always valuable or if having project user input tied to fields would be beneficial (or maybe a valuable option at least).

  2. I wish project user input could be done for numeric values! Since button user inputs work on different field types, I wish the same was true for project ones. I understand why this is a limitation (since the inputs aren't defined as tied to a field, so wouldn't always know the type) but I feel like there are enough cases where I'd want to have the project input tied to a particular field to get types, lists, etc.

  3. I can have a hint on a project user input, and a string button user input, but not an integer button one. Seems like it would be helpful in all user inputs.

  4. As a person who believes in the power of restricting your data in data collection so that you only get your ideal data (by that I mean using types wisely so that the answers you get are as consistent as possible), I both love and hate the lists here. I like that you can make one easily just in the project. I don't like that it is a layer on top of the data, and data could be done in other places not to meet the limits here. And having an "other" option where people can type anything, but it ends up in the same field, makes me want more time to play with a layer and the types of data in it to see what kind of processing and dashboards and such can be made out of it. I know we are enabling quick setup of a data collection project through this app, but I also think we need to help people collect the data they can most easily use, as the data itself isn't the end goal: doing something with the data (learning, fixing, etc) is.

  5. I have a button user input on an integer field. For another button. I went to put a button user input on a string field. I see a message "No user input in project" which made me think I had deleted my integer one. But I checked on an integer field (and on the other button where it is used) and it is still in place. The same message shows when I have integer and string button inputs in the project but am adding a user input on a double field. The message should probably be tweaked.

    What I see on the string field when adding a user input:

    What I see on an integer field when adding a user input, since I've already created one of those:

    Even a bit more confusing is if I add a button user input on an integer field that has a choice list, I see the "no user inputs in project" message, and it's not clear where it went (although I know if I think about it that field has a choice list behind it which probably means the other integer button input I made couldn't be used here)

  6. I have a string field with a choice list. I made it have an optional button user input. When I try to use that button in the mobile app, when I select one string in my list, all 6 are selected. I can't seem to just selected one choice. Then I can't unselect, and DONE is disabled. I have to cancel or skip. I can't find a way to enter a selection. I changed the button user input to be required, and now it works as expected and I can pick just one. The same is true on a list of ints or doubles (if optional, I seem to be only able to pick all and then not continue, or skip entering a value). However, it did work for the first button I used with an optional list of integers?? It just doesn't work on that same button (or other buttons with optional lists used later in the collection). Actually, I am now seeing it on a required choice list of strings (the same one that worked earlier). So something is wonky but I'm not sure of what makes it show up or not show up. Maybe it's only the first button with a list used in the project? Please feel free to reach out and I can share more on this, like the project where I was seeing it. I tried this on Android and Windows field apps.

    Here is what I see on an int list from the layer on Windows:

    Here is what I see with the string list:

    I do also see this in a choice list I defined as a button user input. All the choices select together, so I can only successfully use the free text option:

  7. I made a project user input with a choice list (where the list was defined in QuickCapture Designer). I made the List have the values I wanted, but in the mobile app I see "Choice 1" "Choice 2" "Choice 3" and not the list I configured. I went back to designer, and saw that my choices hadn't saved. I had batch edited to make the list, and I saw that there is a save button up next to the heading of batch edit. I didn't see that before, so probably had clicked "Done" since it is active and more visual at the bottom of the dialog. Perhaps the other done could be disabled while editing the choice list, or somehow indicate that it needs saving elsewhere?

  8. On Windows, the install wouldn't work when I had another version of the app installed. It kept claiming to work, but opening the app was still the previous version. Finally, I installed and reinstalled with the new version.

As you can tell from what I noticed, I find consistency makes experiences seem smoother. So the fewer distinctions and details (especially from technical/implementation limitations) a user has to understand, the easier a feature is to use.

I'm excited to see the choice lists for the inputs, but for my particular audience of K-12 teachers and students, I still think Survey123 has a huge edge over QuickCapture (even if QuickCapture is better suited to the particular project the class is doing) because having to make a layer as a step makes setup seem and feel complicated).

PatrickWin commented 3 years ago

Does "project user input" need to be set up for all the buttons? It is a little bit confusing because this is a "global" setting for the whole project and doesn't make much sense to be set up under individual button settings?

aforrestgpone commented 3 years ago

Project inputs are a tad unclear. Initially expecting these to be limited to three on each button but if other buttons are using a different input, you can't put three on the current button you're editing. Course the word 'Project' should make that obvious but it didn't intiially!

J8L commented 3 years ago

Where screen real estate allows (e.g. a tablet) it would be good to see all the Project User Inputs in one view rather than going through each one at a time. Not a big deal though.

J8L commented 3 years ago

I really like the batch editor of the Project User Input

J8L commented 3 years ago

In the app (iPad) I only see my first Project User Input - though if I edit this I can see and edit all of them. May be good to be able to arrow through Project User Inputs without having to go to Edit. Or have a drop-down so you can view all Project User Input values.