I work with a pavement inspection team and am building a field app for data collection. When they are in the field, they visually inspect a road while driving it and record the data. Often, as soon as they finish driving a road segment, they begin the next segment, and as such, requires quick data entry. They tried using the field app that comes with their pavement management software, but it requires too many clicks to be usable. Currently they are just using pen and paper.
The embedded functionality within Survey123 forms is inherently limiting to their needs. The submission button isn’t instant and takes 10-15 seconds to upload the results and update the form, and requires several clicks to progress (click submit, click submission option, click inbox or map, click the next form).
In the field, there is really no need to submit the forms immediately. What would be ideal is if, in the form, there were buttons to navigate to the next or previous road segments so data entry for all segments is seamless. This also would easily allow them to go back and edit responses to previous segments on the fly. Then, when they are done, they can submit all the answered questions. This would also enable offline data collection which is important for their field work.
My first thought is to create a page in the survey for each segment as they include navigation buttons to go between pages. Yet each segment is a separate item in the inbox, I do not know how to include multiple forms in the pages.
I need help identifying the most intuitive solution to this. I’ve seen that you can create custom JavaScript code for Survey123, is that the best way to configure the forms to my needs? Or are there better solutions in the quick capture app, or other field apps?
Solved! Go to Solution.
Thank you for all your replies folks, I really appreciate it. I'm sure the repeats function would certainly be useful, but ultimately our pavement team chose a different direction. It turns out, using an web app, or even just trying to record data in an excel sheet on a laptop, is too cumbersome, and pose an unnecessary risk for technical difficulties. It is best just to stick to pen and paper.
So to keep everyone happy, we've discovered there is an plugin tool for excel where it can extract spreadsheet data from a photo. So the pavement techs will just scan their spreadsheets to get them into excel. The tool doesn't have the easiest time reading handwriting, but there are techniques to make it better (blue marker, larger cells, and thick cell lines). It will still take some manual review, but overall it is much faster.
Thanks again everyone for your thoughts, hopefully this thread helps someone down the line.
Do they need to be separated? Or could you just make a Repeat. E.g., instead of pressing submit, they click into the next repeat for the next road segment. Then, you can use something like pulldate(@layer) and/or search() functions to pull in the necessary data from the Feature Layer (as it sounds like the segments are pre-defined items already).
Thank you @abureaux and @RobertAnderson3, these look promising, the documentation for Repeat is long, it will take me some time to test it out and see what I get. The segments are predefined and pre-selected so I've been using the Inbox with a survey set up for each segment. If the repeat function can display notes that indicate which road segment the sub-form is meant for and all they have to do is enter in the relevant data (having them enter a segment ID would be redundant and waste of precious time), then I think this could work. I'm assuming that is what the search() function does.
I think you'd need to have a question to indicate which segment ID you're looking at for the repeat. A repeat can contain any other question type (as far as I'm aware). It is also possible to set a defined number of repeats and calculate the segment ID in each of them automatically and just have the user scroll between them, but this may not be reasonable depending on how many segments there are.
search() function would be used to create a choice list for a select_one or select_multiple from an existing layer.
If you're considering setting up an entry for each before hand and using the Inbox you could also look into Field Maps and set up the forms in that app.
Are you looking to keep records of the conditions over time or just keeping track of the most recent observation?
The true purpose of the app is to simplify the data collection. So once the inspections are complete, I'd export the attributes into .xlsx and then use a custom python code to convert the .xlsx into a format that can be automatically uploaded into the pavement management software where all the pavement history is stored. (because otherwise the data has to be entered by hand one-by-one, which can take hours per work order). The pavement manager has a certain number of work orders created each fiscal year, each of which contain a limited number of segments (no more than 30-40). I would be creating a survey for each work order and when they are done we wouldn't use that survey again. So the app doesn't need to track over time, just expedite data collection and provide QA.
I'll also be looking into how I can set this up in Field Maps, I haven't used the smart forms function yet. The pavement inspectors like their system now of using pen & paper, so we're afraid a map based app could be counterintuitive and give them issues trying to use it. But its worth looking into
Might look at QuickCapture
I did look into this, maybe not as in depth as I could, I haven't used quick capture as much as I have survey123. It didnt' seem to fit right off the bat. You can configure the buttons to automatically record a data point, but it doesn't allow the user to edit the data. The pavement inspection team is has to identify different types of cracks and surface distresses, how severe they are, and then they record the coverage of that distress on the segment. So one road segment could have FC cracking with High Severity covering 10% of the segment, and then also see BC cracking with Low severity covering 30% of the same segment. QuickCapture didnt seem to be able to handle the variety of data points that are being collected. I also wasn't sure how it could enable the user to navigate back and forth between segments while on the app in the field either. I think I will probably be sticking with Survey123. Of course, if I'm wrong, and QuickCapture has more functionality than I understand, please let me know, I'm happy to test anything that provide a solution.
I definitely echo what @abureaux says, repeats sound like a good way to go, you can include as many questions as you need in them and the user can fill it out for each segment and submit the entire survey at the end of the day. They get stored in a related table to the feature layer so you'd still have solid access to them as individual records. I have it set up for tracking asset work as well using the search() appearance to populate the list of Unit IDs.
Thank you for all your replies folks, I really appreciate it. I'm sure the repeats function would certainly be useful, but ultimately our pavement team chose a different direction. It turns out, using an web app, or even just trying to record data in an excel sheet on a laptop, is too cumbersome, and pose an unnecessary risk for technical difficulties. It is best just to stick to pen and paper.
So to keep everyone happy, we've discovered there is an plugin tool for excel where it can extract spreadsheet data from a photo. So the pavement techs will just scan their spreadsheets to get them into excel. The tool doesn't have the easiest time reading handwriting, but there are techniques to make it better (blue marker, larger cells, and thick cell lines). It will still take some manual review, but overall it is much faster.
Thanks again everyone for your thoughts, hopefully this thread helps someone down the line.