CottageLabs / idfind

An identifier identifier
1 stars 0 forks source link

ratings #12

Closed emanuil-tolev closed 12 years ago

emanuil-tolev commented 12 years ago

UPDATE: no longer asking users for a n/10 score, just whether a test worked or not. That's the biggest change, everything else has been implemented as per this issue.

  1. submission a) make sure you can submit ratings b) be able to rate the regex used on the results page? (/identify/id) # reasoning being, you'd be a lot less likely to submit rating info if you have to click back to the homepage, go to the rating submissions page, select the test you want to rate... blah. All this info is up on the /identify/id results page, so you should be able to rate there, no? c) we're going to need some way of actually collating users' ratings, even if it's as simple as arithmetic mean. We can't just replace the previous rating with the most recent one :). That means storing how many users have rated a test though.
  2. using the rating info besides letting users rate stuff, we should actually take their ratings into account a) show users the accuracy rating for the test (yes, it's a bit pointless practically, but people like that sort of stuff) b) following from that, and perhaps more importantly, make sure you can browse/interrogate idfind about the various tests it houses, and how accurate they are c) when identifying in identifier.py apply tests in order determined / influenced by the ratings?
emanuil-tolev commented 12 years ago

okay, two big issues related to ratings:

[One] it was pointed out to me that people will probably not care to give a score between 0 and 10. It either succeeded or it didn't. It's not like we tell the users "there's 80% chance this is a DOI and 14.7% chance it's an Apple Inc. serial number".

So I'm thinking of doing a "Did it work?" thumbs-up, thumbs-down kind of rating.

This will also severely simplify the scoring. We can store number of thumbs-up and thumbs-down just for info, but for scoring, all we'll ever need is a variable "score" and increment it by 1 if thumbs-up, decrement by 1 if thumbs-down. This should make using the "most accurate" test first in identifier.py easier.

[Two] The /rate page says "What identifier did you try to match?" and "Which method was used?" - currently, there's no difference between the two. It doesn't make sense to ask the user that question as we can't give them a list of identifiers they might have tried to match, different to a list of identifier tests (they are identical).

So, I propose we get rid of /rate completely and ask the user to rate the result they get on /identify for accuracy (using thumbs-up and thumbs-down) (and to give us an optional comment).

emanuil-tolev commented 12 years ago

Okay, so, instead of scraping /rate completely when I removed the "out-of-10" scoring for tests, I left it in with the following idea:

Rename /rate to /feedback. Have a feedback form about the project as a whole on top. Followed by a horizontal ruler. Followed by the form that's currently on /rate - which allows you to tell us whether a test worked for you or not, using a drop-down menu.

emanuil-tolev commented 12 years ago

The template on /rate has been changed to only contain a few lines and most of its code has been moved to a new file, _rate_test.html in the "templates" directory. "rate.html" now includes this file, which basically contains the feedback form which allows you to tell us whether a test worked for you or not.

However, it also means that other code can now use that form (the reason I ripped it out of rate.html): answer.html. When somebody uses the web front-end to try to identify an identifier, they are given this form after being given information about their identifier. The "test name" bit of the form is pre-filled with the name of the test used to identify their identifier (form is shown only if identification successful) - no drop-down menu to pick a test to rate in this case.

Also, when you submit ratings from /identify, IDFind saves the string you tried to identify in your rating (so that your "worked", "didn't work" answer is more useful to us). If you submit a rating from /rate that's not available, obviously (since you didn't identify anything...).

emanuil-tolev commented 12 years ago

Now storing number of people who told us whether test worked or not (+optional comment) and displaying in /browse.

From the original list at the top of this issue: 1a, 1b, 1c are done. 2a is half-done (shown on /browse, but not on /identify after you identify an identifier) 2b is done (in /browse, though this could use an enhancement as detailed in issue #30) 2c is NOT DONE (the core question in issue #30 needs an answer and I'll have it done in no time)

so, about 75% done with this new feature.

emanuil-tolev commented 12 years ago

From the original list at the top of this issue: all should be done, final commit on this e5aff61ace5bd1f55e444d0a5f60da910b6b3cea