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

Create Docs feedback card #453

Closed
quetzalliwrites opened this issue Nov 2, 2021 · 41 comments · Fixed by #609
Closed

Create Docs feedback card #453

quetzalliwrites opened this issue Nov 2, 2021 · 41 comments · Fixed by #609

Comments

@quetzalliwrites
Copy link
Member

quetzalliwrites commented Nov 2, 2021

Reason/Context

We should add a Feedback card that can be added to individual Doc pages, so that we may retrieve both anonymous feedback and public feedback injected into GH Doc template issues. We need this specific and granular feedback to make sure we listen and make changes according to what the community requests from Docs.

Below is an example from Gitpod and how they handled this for their own OSS community contributions to their Docs.

Screen Shot 2021-11-02 at 3 20 19 PM

Screen Shot 2021-11-01 at 12 53 22 PM

Description

  • What changes have to be introduced? We'll take the MVP approach: First, add link that leads to a Docs template issue in GH. Then, we implement ability to also retrieve anonymous feedback that is injected directly and automatically from a Netflify function into a Google spreadsheet.
  • How could it be implemented/designed? We could use same solution as what Gitpod did, as shown here.

How much will it cost?

Per the Netflify OSS Plan, we get the same benefits as their Pro Plan.

According to the Pro Plan, the following costs of Netlify funcs are covered:

  • Background Functions: unlimited (Execute long-running asynchronous functions for up to 15 minutes.)
  • Serverless Functions: 125k per site /month, ($25+ when exceeded)

Tagging @mcturco, @magicmatatjahu, @derberg, @boyney123 🙂

@quetzalliwrites
Copy link
Member Author

Tagging @mikenikles just in case he has wisdom he'd like to share 😀👍🏽

@mikenikles
Copy link

I can highly recommend this. At Gitpod, we've gathered hundreds of individual feedback that has helped improve the docs over the last three months.

We persist the data in a spreadsheet so that we can further process it. For example, group by URL, average feedback score per week, score trends, etc. If you end up with a spreadsheet, do let me know and I can share the formulas.

@boyney123
Copy link
Contributor

Yeah I like the idea @alequetzalli.

So to verify will this be a link or a button on every doc page where users can leave feedback right?

We'll take the MVP approach: First, add link that leads to a Docs template issue in GH

So a link would go to a GitHub issue? Do you have a link to the issue we could use?

@mcturco
Copy link
Member

mcturco commented Nov 3, 2021

This is a great idea! I am wondering if we even need to collect the feedback in a Google spreadsheet? What if we just send each feedback form submission into GH directly as an issue using the API endpoints?

@quetzalliwrites
Copy link
Member Author

quetzalliwrites commented Nov 3, 2021

Good question, @mcturco! The reason why is because we need to be able to collect both anonymous and public feedback. As I mentioned in the issue not everyone will have a GitHub handle and not everyone will want to provide public feedback. This is why the second feature to add to this would entail the ability to collect anonymous feedback that is injected into a Google spreadsheet. 📈📉

@mikenikles
Copy link

FYI, to create GitHub issues, I learned URL query parameters are all that's needed, no API required.

See https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-url-query.

@quetzalliwrites
Copy link
Member Author

quetzalliwrites commented Nov 3, 2021

So to verify will this be a link or a button on every doc page where users can leave feedback right?

Correct, @boyney123, these feedback sections belong on every doc page. In fact, I am sure you are used to seeing them in dev docs but perhaps you tuned them out. I know I have :D

We'll take the MVP approach: First, add link that leads to a Docs template issue in GH
So a link would go to a GitHub issue? Do you have a link to the issue we could use?

Correct, it would open a new GH issue, and it would be a templated one for Docs.

I just created this template and set up a PR for it to get reviewed. Then we could use this link: .github/ISSUE_TEMPLATE/docs.md

quetzalliwrites added a commit to asyncapi/.github that referenced this issue Nov 3, 2021
This is a result of the work mentioned in asyncapi/website#453.
@mcturco
Copy link
Member

mcturco commented Nov 3, 2021

not everyone will have a GitHub handle and not everyone will want to provide public feedback

@alequetzalli oops! Must have missed that on the first read of this issue. Hmmm so would we want people to submit issues at all then? Maybe all of the responses get added into a spreadsheet and then mods add these issues into GH? Just for consistency, and I think it would be better than sending users off of the docs website if they just want to give some quick feedback. We have to always think of how to best serve the user so it doesn't seem like we are giving them too much "side work" from their original end goal.

@quetzalliwrites
Copy link
Member Author

quetzalliwrites commented Nov 3, 2021

@mcturco No, it's not about a lack of consistency, it's about having both options I think? 😀👍🏽

🤔 hmm...
We also want the option to open a direct GH template issue because that will help people who are ready to do that and don't mind public feedback 🥸. Also, they may even use the issue to start their contribution vs only stop at giving feedback, which is why I want people to have the ability to create an issue directly... I think it will prompt more action from contributors.

But I am curious to hear more of your thoughts and what Lukasz thinks too on this one!!

@boyney123
Copy link
Contributor

Was just on Netlify docs and found this, https://docs.netlify.com/cli/get-started/

Not sure if it helps but thought I would mention in the thread for inspiration etc.

image

@quetzalliwrites
Copy link
Member Author

Oh nice, thank you for sharing more ideas @boyney123! ✨❤️✨

I agree that something like that is what we need! (Altho just mentioning that offline, Lukasz and I happened to chat about how we don't think those up/down arrows are that useful/needed for feedback cards. Has anyone else felt the same?) BUT, The rest on what this example Feedback card shows is def similar idea of what I think we would want to be able to capture as much feedback as possible.

@quetzalliwrites
Copy link
Member Author

quetzalliwrites commented Dec 16, 2021

Hello again, @mcturco and @boyney123 from the Docs feedback card GH issue! 😀😂

The last action item I had from when I first made this proposal was to create GH Docs issue templates to use in these proposed feedback cards. I completed this action item and the changes are now merged thanks to PR asyncapi/.github#100. The changes can be seen live here: https://github.com/asyncapi/website/issues/new/choose

Screen Shot 2021-12-15 at 5 13 01 PM

Now that we have a URL to include in the feedback card for guiding folks to submitting their contribution and feedback, this issue is ready for the next steps of design and development work 🙏🏽🙏🏽🙏🏽.

I know it's basically EOY but I wanted to give an update to confirm I had completed my action item and to bring this up again. 🙂👍🏽

@boyney123
Copy link
Contributor

Great stuff @alequetzalli, perfect. Now we just need to link to it!

@alequetzalli with the new doc stuff coming #503, I think it makes sense to bundle this feature as part of that?

@quetzalliwrites
Copy link
Member Author

Great stuff @alequetzalli, perfect. Now we just need to link to it!

@alequetzalli with the new doc stuff coming #503, I think it makes sense to bundle this feature as part of that?

Well... not really, these are two completely different issues. Feedback cards will go on every page except for the homepage of the documentation section. Changes to the homepage has nothing to do with Feedback cards. 🙃✌🏽

It would really be up to contributors like yourself to decide which one of these issues to contribute to first. 😄👍🏽

@mcturco
Copy link
Member

mcturco commented Dec 16, 2021

Thanks for the bump on this one, @alequetzalli! 🎉 Almost forgot about this one. Yes, I will add this to my list again and start working on a rough mock up with different ideas of how to present them visually. Will post it here when I have it!

@quetzalliwrites
Copy link
Member Author

I can't wait, @mcturco!!!! ♥️♥️♥️

@mcturco
Copy link
Member

mcturco commented Dec 21, 2021

Ok hi!! 👋

Here is a quick prototype of 2 different options of where I was thinking we could add the feedback cards.

Option 1:
I was thinking that this one could fade in on the sidebar when you scroll to the bottom of the docs (or maybe it would be better to have it fade in when you are halfway scrolled? 🤔 )

Option 2:
This will just always be situated at the bottom of each docs page. More of a simple solution and I think it is effective, but IMO Option 1 will reach more people as we can't expect users to scroll all the way to the bottom every time.

Click here for the prototype

Use arrow keys to scroll between Option 1 and Option 2 😄
LMK what you think!

cc: @alequetzalli @boyney123 @mikenikles

@boyney123
Copy link
Contributor

Thanks @mcturco

Yeah, interesting options. Naturally, I prefer Option 2 as that's where I would expect it / have seen this stuff before.

But for me, the sidebar one also works.....

This means this feedback isn't very useful 🤣

If I had to choose I would say Option 2 as it feels natural to me.

@quetzalliwrites
Copy link
Member Author

quetzalliwrites commented Feb 2, 2022

Hey @mcturco neat!! No worries, I assumed you were full of notifications like I am too 😄 ...

I think this is all we need for design and I guess now I need to try and find a development contributor. cough cough @magicmatatjahu or @boyney123 by any chance?! stares without blinking

🤣

@derberg
Copy link
Member

derberg commented Feb 3, 2022

@alequetzalli we have a large number of folks in Slack that seek for tasks to contribute, and this one is a super cool task. A person can learn a lot here, we, of course, provide full support in the review and as a result contribution is very meaningful and visible to others.

I suggest you provide a final update, in description maybe or as an additional comment, like what needs to be done, how we want to do it and I will help find someone to contribute it. And I suggest to have final update as this one had pretty long discussion and it is easy to get lost 😅

@boyney123
Copy link
Contributor

@mcturco maybe this has been discussed (can't find it), but where would the links go to?

image

Submit Feedback

Submit Feedback how do we all see that working? Will that go to a form or something somewhere? Or anything anyone has in mind?


Create Issue On Github

Create Issue On GitHub could go to our Doc Issue I'm assuming?

@magicmatatjahu
Copy link
Member

I agree with Łukasz that people from community should handle that because it's perfect issue to learn things, without needs AsyncAPI knownledge :) As I see we only need the consensus about final design and people can start to contribute.

@mcturco
Copy link
Member

mcturco commented Feb 3, 2022

Hi @boyney123 👋

Submit Feedback how do we all see that working? Will that go to a form or something somewhere? Or anything anyone has in mind?

If you scroll waaayy up to the beginning of the conversation in this issue you will see that the plan for the submit feedback button is to send the information to a Google spreadsheet via a netlify function. That is the extent of my knowledge on that subject though 😆

Create Issue On GitHub could go to our Doc Issue I'm assuming?

Yes, I believe that was the plan, but I will let @alequetzalli confirm that! 😄

Also - just wanted to mention that the SVG's are marked for export in the figma file, so all you would need to do is select the outer layer of the icon and go to the Export tab to grab those files. (Perhaps I should put together an onboarding doc for using figma files 🤔 )

@quetzalliwrites
Copy link
Member Author

Create Issue On GitHub could go to our Doc Issue I'm assuming?

Yes, I believe that was the plan, but I will let @alequetzalli confirm that! 😄

@mcturco Correct, you read the description accurately 🙂👍🏽

@quetzalliwrites
Copy link
Member Author

Sounds like a great idea to have this be shared w/ other contributors with your help @derberg.

The issue description is already up to date, nothing has changed.

@akshatnema
Copy link
Member

@magicmatatjahu I will like to work on this issue. It looks quite easy but needs some more discussion with you regarding the implementation of Submit Feedback button. What I have planned is to make a post request from form, directly to the google sheets which will be maintained by Organization maintainers. An env will be added in the netlify to directly add the form data to sheets. The post request can directly be sent from the form or maybe using axios. I recommend you to please go through this link.

Do you have any better approach to implement? I will like to hear from you. 🙂

Regarding design, it is well presented and easy to implement, so I don't think I will face any difficulty with it. Thanks to @mcturco with such a pretty but more technical design 😃.

@magicmatatjahu
Copy link
Member

@akshatnema Awesome! From what I see from the tutorial there is an additional Apps Script page used. It seems to me that the code that would communicate with the spreedsheet should be written in the sourcode of website like here https://www.freecodecamp.org/news/create-a-feedback-form-using-nextjs-and-google-sheets-api/ You can always separate that code into a netlify function that run on the server side, not on the client side, but we shouldn't use third party pages to run scripts.

@akshatnema
Copy link
Member

akshatnema commented Feb 24, 2022

@magicmatatjahu I understand your approach to writing all the backend code inside the repository only so that we can handle the data easily. But, the way described is to use Google APIs to handle Google sheets. I think Fran or maybe you have to build Google API client keys and spreadsheet URL keys and they should be added to the netlify variables in the production. I can't add this directly since they are environment variables. It's better that you should make and add these variables before making this functionality to be added. In future, if a certain contributor needs to work on this, he has to make his own env variables for dev environment, and then the whole functionality will work. Thus, in this case we do have to make a functionality for dev environments such that it also works there. Surely, this will take time to implement in the repository if this approach will be used. Are you willing to go with this?

As far as the plan I mentioned in my previous comment, this is the most simple way to add functionality to the repository since only one access variable will be added in env. We can also go with this because there will be no loss or leakage of data from any side. Scripts that are written in the Google Sheets are just normal scripts that will just destructure and add the data to the respective headers. If you still think, we should go with Google APIs, I can do that also.

@derberg
Copy link
Member

derberg commented Mar 2, 2022

sorry, I'm going to throw a "bomb" now into discussion. On holidays I was thinking like:


Walking on a beach on Polish Baltic sea. The wind was like 70km per hour, sand hitting my eyes. Kids crying, wife shouting at me, dog getting nuts.

And me thinking about feedback card. I like netlify functions part of idea that GitPod folks are doing. But why Google sheet. We not creating a dedicated category like "docs feedback" in Discussions in website repo. And safe feedback directly as "docs feedback" discussion? Benefits:

  • already in GitHub, easy to discuss if feedback should be applied or not. This could be Q&A discussion type, and choose solution to proceed feedback would be an "accepted answer"
  • discussions also have create issue from discussion option, that makes it supper easy to create issue for feedback that was accepted
  • we follow unwritten rule to follow full transparency by doing all on github

well yeah, my holidays in a nutshell 😆

thoughts?

@magicmatatjahu
Copy link
Member

@derberg Super idea! We already have the Github Token in Netlify and it could be used. What would we do without you? Probably nothing 😆

@akshatnema
Copy link
Member

What would we do without you? Probably nothing 😆

I even thought of a label named until Lukasz returns in GitHub to make it easy for Lukasz to understand how much we need him 😃.

sorry, I'm going to throw a "bomb" now into discussion.

@derberg Surely, you have thrown a "bomb" not in war, but in my brain 😄. Actually, I haven't done such a thing in my work experience yet. PR is already on its way to getting completed using Google Sheets API. If you need it in GitHub discussion, then it may take time from my side. I would probably have to research a lot in this while implementing it. Your idea looks brilliant, but I'm quite concerned about how you will manage. Every time when feedback will be submitted, Is netlify bot will publish the feedback in the GitHub discussion as a message? If you have any present examples of this working in our organization, kindly do send me the link. I will try my best to do it if this is required.

@derberg
Copy link
Member

derberg commented Mar 3, 2022

every organization needs a party pooper to stimulate it 😆

If you need it in GitHub discussion, then it may take time from my side. I would probably have to research a lot in this while implementing it

it is super easy, I can help out. GitHub have an amazing GraphQL API:

Every time when feedback will be submitted, Is netlify bot will publish the feedback in the GitHub discussion as a message

Netlify function should create new GitHub Discussion in website repo, by bot user as we want to have it anonymous, instead of new entry in Google Sheet


But yeah, these are technicalities we can help you out with.
Most important is @alequetzalli voice. Alejandra is at time moment the only tech writer working full time on the project and will end up be the on the front line dealing with this feedback from users. So Alejandra's opinion matters a lot here, if she prefers to work with Google Sheet, or rather GitHub Q&A Discussions

@quetzalliwrites
Copy link
Member Author

quetzalliwrites commented Mar 8, 2022

Sorry ya'll, here I am again on this one 😄🙏🏽

Ah, so given we're OSS and want to be 100% transparent I can see why it feels nice to prompt the user to share feedback and start community discussion/voting via a GH Discussion. I have no problem changing my vote to join the GH Discussion button bandwagon. 😄

Ok, so I think that the submit feedback button would make less sense if we go with the GH Q/A Discussions. This actually makes me tag @mcturco again because I think it would make more sense to have it include a GH icon too with copy along the lines of Start a community discussion/share feedback on GH. What do you think about that @mcturco? 🤔

Screen Shot 2022-03-08 at 3 49 43 PM

@derberg
Copy link
Member

derberg commented Mar 9, 2022

@alequetzalli actually no chance needed in the form. We are just talking about change of the "backend" where feedback is stored. So instead of google sheet we will write feedback in GH Discussion, but still anonymously, as asyncapi-bot. So we still want to give the option to leave feedback anonymously. It will just be processed with GH Discussion instead of Google Sheet row

@quetzalliwrites
Copy link
Member Author

@alequetzalli actually no chance needed in the form. We are just talking about change of the "backend" where feedback is stored. So instead of google sheet we will write feedback in GH Discussion, but still anonymously, as asyncapi-bot. So we still want to give the option to leave feedback anonymously. It will just be processed with GH Discussion instead of Google Sheet row

Ooooh, I didn't follow at all! I get it now.

Ok, yes, I'm happy to vote with you to go with GH Discussions started by our bot.

@akshatnema, does that sound good with you? 🙂

@akshatnema
Copy link
Member

@akshatnema, does that sound good with you? slightly_smiling_face

@alequetzalli Yup, I completely understood what you want and I and Lukasz had more detailed discussions on the implementation of GH Discussions on PR #609. You can discuss with us there and do check if everything is working according to you. Right now, I haven't made the backend to GH Discussions, as I was waiting for your approval, but now, I will push it soon in the PR 🙂.

@quetzalliwrites
Copy link
Member Author

@akshatnema/ @derberg

That sounds amazing! thank you so much for contributing to this issue, I am so excited to work with you 😄🎉

BTW, I left a comment in your PR #609 on the created Docs Feedback discussion category URL.

I already have a Docs discussion category going here and I think it makes more sense to use that one:
https://github.com/asyncapi/community/discussions/categories/docs

What do you folks think?

Screen Shot 2022-03-10 at 8 48 47 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done 🚀
Development

Successfully merging a pull request may close this issue.

7 participants