ushahidi / platform

Ushahidi Platform API version 3+
http://ushahidi.com
Other
672 stars 506 forks source link

Bot user journey #1793

Closed caharding closed 7 years ago

caharding commented 7 years ago

Map out all the flows for the bot

justinscherer commented 7 years ago

Targeting Tuesday to have this done.

justinscherer commented 7 years ago

Can someone take a stab at the intro-copy on this page. Maybe @Nthiga or @aoduor?

Current copy reads: "Hi ,

Let’s get started. Together, we can create reports on any suspicious or violent activity during the 2017 Kenyan general election." onboarding.png

justinscherer commented 7 years ago

Hi all, Please review the chatbot use cases in the PDF attached. I have included a number of questions and comments beneath each use case.

Generally speaking, the copy (especially the copy in Swahili!) will need some tweaks.

@Angamanga I'm especially sensitive to the fact that I've only included a couple general error scenarios.

Looking forward to your feedback. Uchaguzi Chatbot.pdf

justinscherer commented 7 years ago

As a title, I went with "Uchaguzi Citizen Reporter" as the name for the chatbot based on some copy I found in the about pages. Obviously open to feedback on this as well.

Angamanga commented 7 years ago

@justinscherer Thank you Justin! Wow, what a relief to have you looking through the flow, these are great adjustments. I will start going trough the flow tomorrow and see if I run into any hiccups when implementing it + see if I have answers to your questions/feedback.

Angamanga commented 7 years ago

@justinscherer Some input:

  1. On the 'About Uchaguzi-menu', the title-length is limited to 30 characters which means 'How will my information be used?' and ' Badilisha lugha / Change language' are too long. I changed it to 'How will my info be used?' and 'Change language' for now.
  2. On 'How do I submit a report?', the number of buttons are limited to 3. How about removing the facebook-option and change the text below (Ready to send a new report?) to 'You can also send a report here via Facebook. Ready to send a new report? '?
  3. The 'View all Uchaguzi-reports'-option on the general error-reply, does it point the user to the Uchaguzi-url?
  4. There is no option to open the upload-photo-dialog, the user must click the image-button themselves, so when the user clicks the 'add an image'-button, could we add an explanatory text that the user should click the image-button and upload a photo?

I hope above makes sense... if you are confused, just ping me/write here!

Nthiga commented 7 years ago

@justinscherer below some further input:

  1. Name for the chatbot another suggestion is Uchaguzi "Linda Kura Yako" or Uchaguzi Witness & Report
  2. For the badilisha lugha/change language maybe just have "select language"
  3. Another suggestion under about uchaguzi page for "How do I submit a report" would be just "How to Report" 4.Under response flows there seem to be a bit of repetition under get started and what is uchaguzi. the paragraph that reads help Kenya have a free fair election maybe delete the first one. Then under what is uchaguzi have the text read as follows "Uchaguzi is a partnership committed to increased transparency and accountability in Kenya's General Election through active citizen participation. Linda Kura Yako!" to shorten that text
  4. Under Text message: Replace 3002 with 20166
  5. The intro page info is okey with me puts the users as priority

Will keep checking for further suggestions

justinscherer commented 7 years ago

@Angamanga : Thanks for your feedback. My responses below.

On the 'About Uchaguzi-menu', the title-length is limited to 30 characters which means 'How will my information be used?' and ' Badilisha lugha / Change language' are too long. I changed it to 'How will my info be used?' and 'Change language' for now.

No problem re: character count. I will add a second level navigation for the languages so that we don't have to assume that Swahili-only speakers will know what "change language" means in English.

On 'How do I submit a report?', the number of buttons are limited to 3. How about removing the facebook-option and change the text below (Ready to send a new report?) to 'You can also send a report here via Facebook. Ready to send a new report? '?

Also sounds good. I'll make the update.

The 'View all Uchaguzi-reports'-option on the general error-reply, does it point the user to ?the Uchaguzi-url?

That was my assumption, yes. It should open in the Messenger native browser. @Nthiga What's the URL going to be that we want to point to?

There is no option to open the upload-photo-dialog, the user must click the image-button themselves, so when the user clicks the 'add an image'-button, could we add an explanatory text that the user should click the image-button and upload a photo?

Can you confirm that there is no way for us to trigger the Messenger "add photo" dialog from within the chat? If that's the case, I'll figure out a different solution today.

justinscherer commented 7 years ago

@Nthiga Great suggestions, thanks!

Name for the chatbot another suggestion is Uchaguzi "Linda Kura Yako" or Uchaguzi Witness & Report

How might we shorten the name a bit? How about

For the badilisha lugha/change language maybe just have "select language"

Good idea.

Another suggestion under about uchaguzi page for "How do I submit a report" would be just "How to Report"

Agreed.

Under response flows there seem to be a bit of repetition under get started and what is uchaguzi. the paragraph that reads help Kenya have a free fair election maybe delete the first one. Then under what is uchaguzi have the text read as follows "Uchaguzi is a partnership committed to increased transparency and accountability in Kenya's General Election through active citizen participation. Linda Kura Yako!" to shorten that text

Thanks for this! Yeah I just copied and pasted some general information text from the 2013 About page.

Under Text message: Replace 3002 with 20166

Sure. I'll make the update.

justinscherer commented 7 years ago

I'll work on a new cut of the doc today.

justinscherer commented 7 years ago

@Angamanga the logo for the Uchaguzi bot is here: https://www.dropbox.com/s/70dinwqm1mpetzs/uchaguzi_KE_square.png?dl=0 The header image I'm using is here: https://www.dropbox.com/s/sci2bnti07nbx1l/uchaguzi3.jpg?dl=0

justinscherer commented 7 years ago

@Angamanga can the user edit their location or input a custom location? If not, we may need to create some ability to scrape the lat long from a map link or a free-text description of the location. Thoughts on this?

The user story would look like:

As a person sending reports to Uchaguzi via the Facebook Messenger bot, I want to be able to add locations other than the location where I am at the time of sending the report so that I can submit reports a safe time / distance away from the events that I am reporting.

justinscherer commented 7 years ago

New version of the PDF with the changes we discussed: v1.1Uchaguzi Chatbot_13JuneJS.pdf

Nthiga commented 7 years ago

@justinscherer the url to point this to is uchaguzi.or.ke

On the name I'd vote for Uchaguzi Reporter actually

Angamanga commented 7 years ago

@justinscherer Thanks for the updated pdf! In response to above:

  1. We cannot trigger to open the image-upload for the user. They have to click that icon themselves.
  2. We cannot detect if a user still is typing. I experimented with timeouts but that gets very hacky, could we add an explanatory text that the user can still keep adding text to the report in the add-image/add-location-message?
  3. We do currently not support location in another way than from messenger itself. We could add geolocation-functionality but I would rather not right now. The user can move the pin and choose a location from the messenger-map though.
  4. The facebook-people advised us not to use the more complicated features (for example the native messenger-browser) since this does not work on all devices and probably not many of those that will be used for reporting in this case, so when clicking on links, the user will be pointed to their 'normal' browser, ok?
  5. When the user has added image, and location, should there be another message saying, 'Your report is now complete, do you want to send?'.
justinscherer commented 7 years ago

@Angamanga Thanks Anna! My responses below.

We cannot trigger to open the image-upload for the user. They have to click that icon themselves.

That's ok. I updated the copy to reflect that so we're good. It reads "Ok great! Just add a photo here like a normal chat, and Iʼll attach it to your report."

We cannot detect if a user still is typing. I experimented with timeouts but that gets very hacky, could we add an explanatory text that the user can still keep adding text to the report in the add-image/add-location-message?

No worries. It's not ideal, but we're not sure how much this use case will come up. We'll be able to find out pretty quick once we start beta testing it. I hinted that the user can keep typing in the copy by saying "Anything else?"

We do currently not support location in another way than from messenger itself. We could add geolocation-functionality but I would rather not right now. The user can move the pin and choose a location from the messenger-map though.

As long as they can move the pin themselves, we're good!

The facebook-people advised us not to use the more complicated features (for example the native messenger-browser) since this does not work on all devices and probably not many of those that will be used for reporting in this case, so when clicking on links, the user will be pointed to their 'normal' browser, ok?

That's not a problem at all.

When the user has added image, and location, should there be another message saying, 'Your report is now complete, do you want to send?'.

Right now the copy reads: "Ok, hereʼs your report. Please review it and send it."

If that's all the feedback for now, it should be good as far as I'm concerned.

@Angamanga when you're happy with the way it's working, can you upload a video screencap of how the flows are working ? Or is there some way for me to have a look at the code in action?

Angamanga commented 7 years ago

@justinscherer It all looks good. One more tiny thing. If the user uploads an image without having started the reporting flow, could we add a reply that asks if the user want to continue and add a report?

Angamanga commented 7 years ago

Oh, one more note. Our current database does not support emojis so I will unfortunately have to remove them for now. Created an issue for it here: https://github.com/ushahidi/engineering/issues/95.

And after a user selects language, should we include a button for start reporting there too?

Angamanga commented 7 years ago

@Nthiga do you want to check the texts one last time? And then we are ready to send them to the translators :)

justinscherer commented 7 years ago

@Angamanga

And after a user selects language, should we include a button for start reporting there too?

great idea! We can use the same text: "Describe what you'd like to report."

And after a user selects language, should we include a button for start reporting there too?

Yes, good catch. When they choose the language, we say something like "ok, cool we're going to use this language now." the next message from us should be the start report message in the new language.

caharding commented 7 years ago

Anna just did a great demo with Facebook. Bot looks great. The only thing not in there is edit functionality, but this is a fairly serious technical hurdle, so I recommend putting it on hold for testing. Anna is going to clean up the code, deploy with David and submit for approval tomorrow so we can get more people testing. We can always make updates once it's live.

In our conversation with Facebook we received additional feedback we can consider implementing. @Nthiga and @justinscherer I suggest you take a look:

  1. Suggest getting rid of the "send report" button at the end since it could result in high drop-off rate-- @Nthiga is receiving half-finished reports a problem for our volunteer team?
  2. Try to cover all languages with more than 5% speakers in the country @Nthiga are their languages we're missing?
  3. Provide links in the introduction to what constitutes a good report @Nthiga do you have any examples?
  4. Provide a more upbeat congratulatory message at the end saying "Thanks for supporting a free and fair election! Your report is being reviewed and once it's published, you can view it at ___."
  5. Also provide a sharing mechanism at the end of the sharing.

@justinscherer I suggest we find design solutions for 3 + 4 then look into the technical feasibility and business impact of 1 + 2 + 5. Thoughts?

justinscherer commented 7 years ago

@Angamanga Can you elaborate a little on what makes the edit capability technically difficult? There might be a simpler way to do it that doesn't take as much effort to implement.

To your point @caharding

Suggest getting rid of the "send report" button at the end since it could result in high drop-off rate...

Concatenating the image / location / text together and auto-sourcing a title might be error-prone, and being able to recover from errors is very important for usability, especially because a user can't "go back" or "cancel" in a chatbot conversation the way they could in a more traditional screen flow. Not to mention typos from typing on smartphones, potential voice input errors, etc.

Agree there's an extra tap there. Beyond the error recovery point above, a confirmation step is important experience-wise because the input happens in three different steps and they don't seem like part of one cohesive report. The image, text, and location feel like three mini reports, and the user would have no idea that they are getting mashed together in the final submission. The summary puts the parts together so that the people understand what they are submitting.

The ability to understand a system's status is another super important usability principle. This is why we use things like hover states, on-states, loading indicators, progress bars, etc. But the chatbot doesn't have affordances for any of those things. The summary is the bare minimum indication of what we're actually doing with people's reports, given that they might never visit the deployment's web touchpoints and we can't assume they know how their reports are being used or what they actually look like.

If we don't have an summary / confirm / edit step, I agree that, to @caharding 's point, there isn't much point to a summary/confirmation step. If we decide to do away with the confirm step, we can just send the report automatically. Usability-wise, this isn't ideal, per my points above.

If we don't have a confirm / edit / submit step, could try and compensate for decreased usability in the copy, recognize that we're making a time/resources/quality tradeoff, and log it somewhere as "experience debt" or something along those lines.

Provide links in the introduction to what constitutes a good report.

I think this might work better as a copy change on the first send report message instead of linking people out of the flow at the very beginning. That way, we keep them in the flow. We can describe what makes a good report in a sub-tweet-length sentence.

Provide a more upbeat congratulatory message at the end saying "Thanks for supporting a free and fair election! Your report is being reviewed and once it's published, you can view it at ___."

Good point here. I had a dope raised fist emoji in there originally but @Angamanga told me yesterday our chatbot doesn't support emoji because of our DB setup. We should be using way more emoji in there, imo.

Also provide a sharing mechanism at the end of the sharing.

Yep. I'd love this, given that we're doing it on a social media platform.

jshorland commented 7 years ago

I just learned so much about the importance of a confirm button.

On Jun 16, 2017, at 10:20 AM, justinscherer notifications@github.com wrote:

@Angamanga Can you elaborate a little on what makes the edit capability technically difficult? There might be a simpler way to do it that doesn't take as much effort to implement.

To your point @caharding

Suggest getting rid of the "send report" button at the end since it could result in high drop-off rate...

Concatenating the image / location / text together and auto-sourcing a title might be error-prone, and being able to recover from errors is very important for usability, especially because a user can't "go back" or "cancel" in a chatbot conversation the way they could in a more traditional screen flow. Not to mention typos from typing on smartphones, potential voice input errors, etc.

Agree there's an extra tap there. Beyond the error recovery point above, a confirmation step is important experience-wise because the input happens in three different steps and they don't seem like part of one cohesive report. The image, text, and location feel like three mini reports, and the user would have no idea that they are getting mashed together in the final submission. The summary puts the parts together so that the people understand what they are submitting.

The ability to understand a system's status is another super important usability principle. This is why we use things like hover states, on-states, loading indicators, progress bars, etc. But the chatbot doesn't have affordances for any of those things. The summary is the bare minimum indication of what we're actually doing with people's reports, given that they might never visit the deployment's web touchpoints and we can't assume they know how their reports are being used or what they actually look like.

If we don't have an summary / confirm / edit step, I agree that, to @caharding 's point, there isn't much point to a summary/confirmation step. If we decide to do away with the confirm step, we can just send the report automatically. Usability-wise, this isn't ideal, per my points above.

If we don't have a confirm / edit / submit step, could try and compensate for decreased usability in the copy, recognize that we're making a time/resources/quality tradeoff, and log it somewhere as "experience debt" or something along those lines.

Provide links in the introduction to what constitutes a good report.

I think this might work better as a copy change on the first send report message instead of linking people out of the flow at the very beginning. That way, we keep them in the flow. We can describe what makes a good report in a sub-tweet-length sentence.

Provide a more upbeat congratulatory message at the end saying "Thanks for supporting a free and fair election! Your report is being reviewed and once it's published, you can view it at ___."

Good point here. I had a dope raised fist emoji in there originally but @Angamanga told me yesterday our chatbot doesn't support emoji because of our DB setup. We should be using way more emoji in there, imo.

Also provide a sharing mechanism at the end of the sharing.

Yep. I'd love this, given that we're doing it on a social media platform.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

Angamanga commented 7 years ago

@justinscherer The edit-functionality is tricky for a combination of reasons, first of all that response is a bit different than the other responses, since we need to fetch and concatenate parts of the replies from the user-report. Other answers are picked from the answer-db-table directly. Second the formatting of the reply is a bit hard and third it adds more logic to the already stuffed logic. BUT nothing is impossible so I would like to add it, I do think it makes a difference to the user-experience, but could we add the preview as three separate messages instead? As we discussed yesterday.

I have thought about the submission-button since yesterday and I don't like the idea of removing it. The user will not be aware of whats happening to their data if it is removed, that becomes more clear when the user actually clicks the button... sounds like we are on the same page there :).

The bot is deployed without the edit functionality right now, but I added a confirm-step before sending the report once its complete for now, but it is still not too late to add edit-functionality to it! I will set up the bot within facebook so we all can test it asap!

Angamanga commented 7 years ago

The full issue for the bot is found here: #1702