benjaffe / chrome-okc-plugin

OkCupid Poly Plugin
MIT License
62 stars 32 forks source link

Add UI for Question Suggestions #158

Open benjaffe opened 8 years ago

benjaffe commented 8 years ago

Users should be able to contribute questions without needing JSON or how to use Git. One possibility would be to set up a Firebase account to collect question suggestions. At the very least, this would allow admins to manually add questions without question suggestions cluttering up the Github issue tracker. It could also allow any user to see which questions have been suggested for categories, reducing or eliminating duplicate suggestions.

EvanCarroll commented 8 years ago

I think rewriting the whole question interface would be beneficial to begin with. The user should not type in anything but the ID and the weights. The question and answer selection should come from development scraping.

I already worked toward that in dev/

benjaffe commented 8 years ago

I agree with you... that'd be much more ideal.

My only hesitation is in caching OKC's data anywhere. I haven't looked into it, but that could be a violation of their TOS, or grounds for them to actively try to block the plugin. I have no idea where this project stands with them, so I've leaned towards being conservative (against my nature in many ways). Thoughts?

EvanCarroll commented 8 years ago

It's no different if we're copy-pasting it. Lol. If they want to shut us down, they can. They can always claim the questions were copyrighted. We can't get around that shy of claiming fair-use.

stn4d89 commented 8 years ago

The user should not type in anything but the ID and the weights.

Yes and no… Primary keys are crucial from a db perspective, but they have no meaning for humans.

EvanCarroll commented 8 years ago

You have to know the primary key. The rest is all room for error and unneeded. We use it to generate a description, but we could easily cache it client side, or crawl it server side and ship a cache. There is no technical reason or social reason to have people tie primary keys to key-values.

stn4d89 commented 8 years ago

My issue is with "The user should not type in anything but the ID and the weights.” Typing ID’s is fraught with error potential. It would require a much bigger UI intervention.

On Dec 29, 2015, at 22:57, Evan Carroll notifications@github.com wrote:

You have to know the primary key. The rest is all room for error and unneeded. We use it to generate a description, but we could easily cache it client side, or crawl it server side and ship a cache. There is no technical reason or social reason to have people tie primary keys to key-values.

— Reply to this email directly or view it on GitHub https://github.com/benjaffe/chrome-okc-plugin/issues/158#issuecomment-167946984.

benjaffe commented 8 years ago

Here's a naive flow:

  1. From any questions page, the user clicks a "suggest questions" button.
  2. All questions get additional UI indicating if they've been suggested already, and if so, for what categories. They also get a "suggest" button
  3. When the "suggest" button is clicked, a modal appears that lets them choose a category from the list, or type a new one. They can click "suggest" to submit their suggestion.

No typing IDs needed for the user.

And the more I think about it, the more I think caching text is a good idea. Especially since questions have translations for different languages. (Side note... It's probably not ideal to assume the translation is perfect 1:1, but for our purposes it'd probably be good enough in most cases)

stn4d89 commented 8 years ago
  1. User is provided a list of the possible answers to the question, each with a field to enter a suggested weighting.
  2. User is shown a confirmation dialogue that shows the range of suggested weightings for each answer (incorporating any previously-suggested values) for a final confirmation.

On Dec 29, 2015, at 23:19, Ben Jaffe notifications@github.com wrote:

Here's a naive flow:

From any questions page, the user clicks a "suggest questions" button. All questions get additional UI indicating if they've been suggested already, and if so, for what categories. They also get a "suggest" button When the "suggest" button is clicked, a modal appears that lets them choose a category from the list, or type a new one. They can click "suggest" to submit their suggestion. No typing IDs needed for the user.

And the more I think about it, the more I think caching text is a good idea. Especially since questions have translations for different languages. (Side note... It's probably not ideal to assume the translation is perfect 1:1, but for our purposes it'd probably be good enough in most cases)

— Reply to this email directly or view it on GitHub https://github.com/benjaffe/chrome-okc-plugin/issues/158#issuecomment-167950098.