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

Embeddable Feedback "Widget" on *Any* Web Page? #96

Open
24 tasks
nelsonic opened this issue Sep 29, 2018 · 0 comments
Open
24 tasks

Embeddable Feedback "Widget" on *Any* Web Page? #96

nelsonic opened this issue Sep 29, 2018 · 0 comments

Comments

@nelsonic
Copy link
Member

Can we generalise the feedback system into an embeddable "widget" that:

  • Can be embedded on any web page on the internet using a single line of JavaScript.
  • Linked to via "Short URL" from any social-media post (anywhere JS cannot be run)
  • Renders as SVG when JS is not available (e.g. on AMP Pages)
  • Does not require any customisation from the person using the widget on their web page
    • Can we avoid having API Keys and simply read the URL from the requesting page?
    • What are the security/privacy implications of not having an API Key?
      (can requests be spoofed? how do we mitigate that?)
    • OR if we cannot get around having an API Key (because it's impossible to "protect"),
      how do we make it easy for the person copy-pasting the Widget Code?
  • Can be customised if required ... Users can submit their ideas for how they want to customise. e.g:
    • Theme/Branding customisation (is this where the revenue is...?)
    • Focus the Feedback widget when the person gets to the end of scrolling on a page
    • Expand a qualitative feedback widget/form when "dwell time" on a page crosses a thresshold

One option is to have a Feedback (<button>) shown on the page (usually sidebar):
feedback-side-button
But it requires two clicks. (first the user must click on the "Feedback" button, then leave feedback)

A "zero friction" approach UX/UI is:
reaction-emojis
Interesting how they have a "bias" to "happy" (in the ordering of the feedback/reaction emojies)
https://vuukle.com

[User]

Anonymity by default >> Privacy by Design First/Always!

We feel that one of the tenants of a good feedback system is anonymity to encourage people to leave honest feedback without "fear" of "repercussions".
This means the person leaving the feedback should not be required to "login" or provide an Email address before they are allowed to leave quantitative or (basic) qualitative feedback.

  • No "Signup", "Login" or Email Address required.

Anonymity == SPAM ?

Creating an anonymous system means the vast majority of the development work is "back-end".
Because all systems on the internet which allow any sort of user-input are SPAM-magnets!!

  • Our System needs to handle the SPAM/DDOS 😞 (we may need to use CloudFlare ...? 🤔)
    • Track IP Address (this is salted and hashed so that it does not "leak")
      see: https://github.com/dwyl/phoenix-ecto-encryption-example
      • Learn how to mitigate against IP Address Spoofing!
    • Actively monitor patterns in qualitative feedback for:
      • Frequency from a particular IP Address, device/browser (too often? probably spam!)
      • Similarity in content (i.e. comment/link spam)

    You were looking for a good "excuse" to work on https://github.com/dwyl/learn-machine-learning ... here you go! A reason to capture, categorise and analyse "big data" in real-time!

Optional Login or Registration (to receive response)

If the person leaving feedback wants to be kept informed of the response, status our trend on the feedback they have left, they can optionally login (using their sosh) or register using an email address and we will forward any updates to them.

We need to make it clear to "Page Owners" and Feedback leavers that Email Addresses will never be shared with the "Page Owner" or person requesting the feedback.
Email/Notifications are handled by the system and Zero personal data is "leaked".

[Page Owner]

The "Page Owner" can

  • Easily embed the feedback widget in their website/app with a single JS line and no experience.
  • Immediately see feedback in real-time.
  • Receive Notifications when someone is currently on their page! (so they can respond to feedback in real-time)
  • Respond to qualitative feedback in a Chat-like interface (one-on-one)
  • Chose to display the feedback on the page where the feedback was original created.
  • Chose to hide the feedback if it's clearly defamatory/trolling/spam or against policy.

Free?

Can we make this a free service?
I've been quietly running Free GitHub Page View Counter service for the past couple of years ...
And it's reasonably popular while only costing me $5/month see: dwyl/product-roadmap#7

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

No branches or pull requests

1 participant