Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Survey Modal Form Component #279

Closed
jwhaney opened this issue Sep 14, 2020 · 10 comments · Fixed by #284
Closed

Survey Modal Form Component #279

jwhaney opened this issue Sep 14, 2020 · 10 comments · Fixed by #284

Comments

@jwhaney
Copy link
Contributor

jwhaney commented Sep 14, 2020

the purpose of this feature is to collect objective information from actual users to help direct future enhancements to the application.

summary: implement a survey component (modal form) that will exist temporarily. if desired, we can potentially expand this survey modal to consume managed content from the api so it can be re-used regularly to collect user feedback. the api idea may be something we look at doing at a later point, while in the more near future we approach this feature in a more straight-forward fashion. fyi, this idea is in its infancy at the moment, so there will be more clarification at a later point and additional information may be added to this issue. the following are some of the ideas as of now (9/14/20):

  • survey to collect actual user feedback related to their experience with the datahub
    • public for 30 days? 60?
    • modal pop-up form following Material design principles (just like the rest of the app)
    • local storage so that once user has filled it out once, they won't receive the modal pop-up again
    • re-usable component?
      • can we use this new component to also display information for users about the current version of the application after the survey is no longer needed or maybe in addition to?
    • utilize the current contact app and the api
    • allow user to skip out of participation
      • maybe don't log local storage variable if they don't participate so next time they come, maybe they will fill it out?
  • this issue relates to Enhance DataHub analytics to better understand our users #278 - could possibly tie enhanced analytics to the new modal survey form
  • the questions should be limited to 5 max with the ability to provide additional feedback if the user wants
    • limiting the questions should result in a wider audience willing to participate?
    • hidden questions that expand if the user would like to provide additional information?
    • personal contact via email or video chat if the user decides to input their email and be contacted?
      • @Ldsmiths came up with a really interesting idea to have more of a personal interaction with some users that want to really have an impact with their feedback - if they provide contact information, try setting up a video screen share session with them to watch how they interact with the site to download a dataset. this might be really difficult and time to consuming to accomplish at a large scale, but could be a possibility for a smaller group of users.
      • true/false boolean checkbox to be contacted by TNRIS IS?

If needed, please contribute any ideas, questions, or concerns to this issue via comments below

@Ldsmiths
Copy link

Here are some sample questions I put together. Feel free to suggest any changes--those of you who have been working on this will have a better idea of what would be valuable for us to know.

“Why did you visit data.TNRIS.org today?”
-multiple choice

“Were you able to find what you were looking for?”
-Yes
-No
-Partially
-Not sure/still looking

“How would you rate data.TNRIS.org on the following:” (1 – 5)
-Searchability
-Navigation
-Presentation of map data

“Do you agree with the following:” (yes/no/not sure)
-Easy to understand
-Up to date
-Would recommend to others

"How can we improve data.tnris.org? Send us your ideas and suggestions."
-Open-ended

Demographics

"Which of the following best describes you:"
-private contractor, government employee, general public, student, etc.

"Which browser are you using?"
-Chrome, Firefox, Safari, Edge, etc.

"Would you be willing to participate in a follow-up interview so we can learn about your experiences more in-depth?"
-If yes, input name, email address, job title

@Ldsmiths
Copy link

Other ideas that would be nice to implement if we can:

-Having the survey pop up after a set amount of time (90-120 seconds?) would make sure the user had time to click around and they're not being asked to fill out a survey before even using the site. (Average session time is about 4 minutes according to Google Analytics)

-If we can have a progress indicator at the bottom of the survey it can encourage completion.
ex.) if a user sees they're already at 60% after 3 questions they're more likely to continue, rather than wondering if there might be 20 more questions and closing out.

@ctrepka
Copy link

ctrepka commented Sep 15, 2020

  • public for 30 days? 60?
  • modal pop-up form following Material design principles (just like the rest of the app)
  • local storage so that once user has filled it out once, they won't receive the modal pop-up again
  • re-usable component?

I think the local storage idea is a great choice for persisting data about participation. You mentioned it in your original post, but I think tracking using the Events function from 'react-ga' could help determine if there are duplicate survey responses as well (if, for example, a user clears their browser cache). We could also use the event to cross reference survey responses with the user's activity on the website ( are they returning users, etc. ).

@jwhaney
Copy link
Contributor Author

jwhaney commented Sep 17, 2020

i just discovered another state agency, the texas parks and wildlife department, is currently doing something similar to what we are looking to do with this issue. it's a different way to accomplish the same goal, and thought it was interesting to share. looks like they are using a third party or atleast a different software package to provide instructions to the user to see how quickly they can find a certain topic on the home page (i think the home page shown in the survey is a new design because the current one looks different). the software they use looks to just log the click location on an image or maybe a grid overlaying the image, not sure.
this information might be more applicable to @Ldsmiths just to maybe get some ideas and to see how others in the state are doing things.

tpwd home page - https://tpwd.texas.gov

  • a black box in the bottom right asks to "Help us improve the site..." with the options to select "Sure!" or "No, thanks"

survey url - https://tpwd.optimalworkshop.com/chalkmark/homepageherodeskb20

  • if you click "Sure!" you get directed to this url

@jwhaney jwhaney closed this as completed Sep 17, 2020
@jwhaney jwhaney reopened this Sep 17, 2020
@JasonKleinert
Copy link
Contributor

JasonKleinert commented Sep 17, 2020

Great find @jwhaney!

I like the way TPWD has done this. I went through it and found it to be very clear and not that much of a burden. It didn't take much time at all. I liked that the box to link out to the survey was non intrusive and in the lower right of the view. Interestingly, after agreeing to help and completing the activity the option is no longer visible to me when I visit the homepage. Similar to discussions we have had they are using local storage to track that I have chosen to help out or dismissed the idea.

@Ldsmiths
Copy link

This example is great. Optimal Workshop has some really good tools (including surveys) for collecting data on how users interact with your site/app. It's kind of expensive though ($166/user per month)

I found another tool (SurveyJS) which might help with what we're trying to do. Looks like it's completely free and you can use it to create a survey it gives you the code to embed.

@ctrepka
Copy link

ctrepka commented Sep 17, 2020

I think taking the user to an external webpage might be a lot easier. In my time at the iSchool, we used Qualtrics. Not sure if we have a free subscription as a state agency, but at UT everybody received free Qualtrics accounts for research.

I took a look at @Ldsmiths recommendation above and SurveyJS seems pretty cool. It serializes forms from JSON . Wondering if we could design an API endpoint that replicates their forms schema, create forms using the Django admin, and then use the serializers provided by SurveyJS to render in React.

The second option is a lot to maintain, though. I think the question here is whether it is worth it to develop an entire survey app, or should we just use the timed modal option to link out to an external resource

@ctrepka
Copy link

ctrepka commented Sep 17, 2020

Referencing my comment made previously, I think another potential solution would be to generate surveys using the SurveyJS website and then copy the serialized JSON directly to our survey endpoint rather than replicating the entire SurveyJS schema in the Django Models. That way the Django admin would have a Surveys entity which has only fields like survey name and survey JSON.

I took a look at @Ldsmiths recommendation above and SurveyJS seems pretty cool. It serializes forms from JSON . Wondering if we could design an API endpoint that replicates their forms schema, create forms using the Django admin, and then use the serializers provided by SurveyJS to render in React.

@jwhaney
Copy link
Contributor Author

jwhaney commented Sep 18, 2020

the more i think about this, the more i like the idea of using a third party service like SurveyJS maybe. whatever service we use, we'd like to figure out a free or cheap option. we'll need to discuss the pros and cons of using an easy third party service that may cost money versus a custom in-house developed survey solution that will require more maintenance.
this brings up the issue that if it does cost money, we will have to go through the twdb purchasing process which is kind of in chaos right now since their director left. i have no clue how long it would take to get the purchase completed.

@Ldsmiths
Copy link

At the end of the day, as long as we can make the survey highly visible we're good. I don't think completing it via a modal pop-up vs. a link to an external site would impact willingness to participate too much, if at all. It could even be as simple as making a survey with Google Forms and inviting users to take it with a banner at the top of the page. Getting it up quickly to start collecting data might be more valuable than taking the time to make it highly customized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants