Introducing HitSpooner (soon!)

Discussion in 'mTurk Scripts & Resources' started by Aesric, Aug 22, 2024.

  1. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    Hello TV Community!

    I am a software developer who has been out of work for a couple months. About 10 years ago I used to do a lot of mTurk when I was a stay-at-home parent, and after losing my job I started getting back into turking and got set up with HitForker and PandaCrazy again. For some reason, I had issues with PandaCrazy this time around, but I started modifying HitForker's layout. Then, one night, I decided I could make a script and that's something I would enjoy doing. It's what I miss from my previous job - I developed internal tools that empowered people to work in a less stressful way.

    So, I want to introduce my new script, HitSpooner! The idea was to combine HitForker and PandaCrazy into a Chrome extension. (Panda crazy is currently still more feature rich for auto accept, but more is coming soon). As of now, it is at the minimum viable product stage and I'm excited to release it, but since it ties in with TurkerView, I want to run it by TV staff before releasing to the public. It has a pretty stable and safe system of fetching with debounces, and I plan to make the entire thing open source as well.

    TLDR: Can someone from TurkerView review my chrome extension (and code if you want it) to make sure there's no concerns with the TV API usage?

    Also:
    • It will always be FREE.
    • It will be open source.
    • It has auto-accept ("Panda", but we call it Scoop and Shovel :) )
    • It's extensible, made by a developer with 22 years experience, and I love adding requested features!
    Look how pretty:
     

    Attached Files:

    • Like Like x 5
  2. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    Not sure why the main one didn't post.
     

    Attached Files:

    • Like Like x 1
  3. AlexZ

    AlexZ Distinguished Butthat The Prophet

    Messages:
    15,476
    Gender:
    Male
    Ratings:
    +47,564
    Hey there, @Aesric! Someone else might be of more help here than me since I don't turk anymore, but I'll offer a few quick (mostly random) thoughts:

    1. It looks dope! Based on those screenshots you posted, I can tell a lot of work and love went into your extension. :ay:

    2. MTurk is not even close to what it used to be even a few years ago. As you've most certainly noticed by now, very few people are still around. That goes for the TurkerView team too, unfortunately. So I wouldn't hold my breath waiting for someone to come in and review your code or whatnot.

    3. This one is more anecdotal: turkers are generally not particularly excited about extensions from people who don't have at least some kind of established reputation among turkers. Not saying that you're up to something or anything like that, but people tend to be cautious, and justifiably so.

    4. Most turkers here already use QBC or MTS, and at this point switching to a brand new tool might not be the most attractive idea to many.

    Really impressive stuff you cooked up there, but I think you might just be a few years too late. :emoji_sweat_smile: But these are just my immediate thoughts, so don't take them too seriously. If MTS is not updated to Manifest v3 before the final cutoff, then maybe more people would be willing to switch. I'm just sort of giving you a general idea of the current environment based on how I see it.

    ---
    Edit: Felt like I had to add a note here that I hope people who choose to install the extension understand the risks. Even if it's an open source extension, there's absolutely no guarantee that the code pushed to Chrome Web Store is the same as in the repository, and there are other tricks that can be used too. Not everything is a scam, but just make sure you are comfortable trusting the developer of whatever extension / script you're installing.
     
    • Like Like x 3
    Last edited: Aug 24, 2024
  4. AlexZ

    AlexZ Distinguished Butthat The Prophet

    Messages:
    15,476
    Gender:
    Male
    Ratings:
    +47,564
    One more thing.

    If you're going to keep it free then the unspoken rule for developers has been to not go overboard and make it waaay too powerful (in particular when it comes to automating catching HITs). Something along the lines of HIT Catcher or Panda Crazy is all gucci, but going beyond that in a free tool would actually be counterproductive. It would not be good for anyone (including people using the extension) if hundreds (or, idk, maybe thousands) of turkers were suddenly using some kind of uber-optimized catcher, especially considering the current state of MTurk. It would just make catching HITs even more of a nightmare. ;)
     
  5. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    Yeah, I could tell it's not what it used to be. I also needed an excuse to add something to my portfolio, so if it doesn't get adopted I at least still have that. But it works really well. I'm definitely not up to something, and that's why it's open source, but I know what you mean. I don't have a huge reputation, but I've been around here in the past. I haven't planned to go beyond PandaCrazy.

    What I have now is per-hit saying you want it, or per-batch saying you want to keep getting it. I plan a feature to catch all from requester, since I like ones like PickFu and MLDatalabler, but I think PC offers the same (and even goes further into "search" pandas, which I'm not doing). And I'm not going to add any "catch anything above this amount" or anything too powerful.

    I also designed it to be extensible, since the next thing I'm working on is adding plugins for Qmee, Connect, Prolific, and a few GPT sites.
     
    • Like Like x 2
    • Love Love x 2
  6. j0sh83

    j0sh83 Survey Slinger

    Messages:
    5,967
    Gender:
    Male
    Ratings:
    +9,983
    Not sure if this is possible, but a nice to have tool would be an extension that looks at the content within the HIT and catches all "abc", but excludes all "xyz". For example, a batch with multiple categories (e.g. search for dog/skunk/moose/squirrel photos) under one ID, I might only want to catch the one or two categories that I am particularly good at (e.g. search for dog/squirrel photos), but not the others. As it stands right now, I either 1., refresh the tab over-and-over again until I see one I am looking for, and then accept it; or 2., just blindly accept every HIT with a catcher and return the ones that do not meet my criteria. Both are time consuming, and option 2 is not ideal if I want to try those other categories later. Useful for slow, or private batches, not for fast, open batches.
     
  7. Jane Doe

    Jane Doe Survey Slinger

    Messages:
    2,609
    Ratings:
    +2,604
    I would be careful with Prolific. They are really picky about scripts and people get banned for using them.
     
    • Like Like x 5
  8. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    Thanks for the heads up! Yeah, the extensions are more just notification focused with no auto-accept or even accept - just "Hey you have this survey on your connect dashboard if you want to go there". I know mturk is ok with scripts accepting tasks, but the others I'm not so sure.
     
    • Like Like x 2
  9. lilmsmisses

    lilmsmisses Active Turker

    Messages:
    511
    Gender:
    Female
    Ratings:
    +328
    I agree that you should be careful with prolific. They are making a lot of platform updates, check out their reddit for more details.
     
    • Like Like x 3
  10. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    I'll definitely check out the subreddit. Thanks! Prolific is actually my lowest priority since my PayPal is kinda messed up right now and that's the only way they pay.

    I'm going to get it uploaded to Chrome Store since it seems mod activity isn't that high these days and I'm confident it's not doing more than HitForker/PC with either amazon or TV. I think my developer account is ready. Hope to update soon!

    Edit: It's in review.
     
    • Like Like x 1
    Last edited: Aug 24, 2024
  11. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    That's a good idea, filtering within a batch based on criteria you want or don't want, skipping or accepting.
     
    • Love Love x 2
  12. AlexZ

    AlexZ Distinguished Butthat The Prophet

    Messages:
    15,476
    Gender:
    Male
    Ratings:
    +47,564
    Edited my original post and added the part below. Most developers are genuinely just trying to build awesome things and share them with others, but keep this in mind:

    Sorry for bringing this up again, @Aesric, I'm just paranoid want to make sure folks can make informed decisions. Best of luck with your project! :elefant:
     
    • Like Like x 2
  13. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    • Love Love x 2
  14. AlexZ

    AlexZ Distinguished Butthat The Prophet

    Messages:
    15,476
    Gender:
    Male
    Ratings:
    +47,564
    Thanks for the link! Holy buckets dude, that code looks very pristine (at least at first glance, don't really have time to test anything or look at the details).

    2 quick questions:
    • Are you not using the TurkerView API key in your requests? This thing that every TurkerView user has - https://turkerview.com/account/api/ All the other extensions/scripts that use TV (HIT Forker, MTS, etc) ask users to enter their API key in the settings, but I can't find anything in your code that does that? Are you sure it's not gonna start throttling everyone without that key?
    • There were a few times in the past when requesters posted HITs with XSS injections in the HIT title (maybe in requester names too, I don't remember). Not sure if it's still possible, but you definitely still wanna make sure you sanitize all that shit. Just a heads up. You might be already doing it or it might not be needed in your case, I haven't actually looked.
     
    • Like Like x 1
    Last edited: Aug 25, 2024
  15. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    Thanks! That's what I'm trying to figure out. For some reason I get it to work with no API key, but it stops working when I put mine in. I'll mess with it later today after I get some sleep. Maybe I need to upgrade my API key or something since it's been a while.

    That's pretty crazy about the XSS injections. I'm manipulating the title a little bit, but good call to look into some more sanitzation. Thanks for the heads up!
     
    • Like Like x 2
  16. AlexZ

    AlexZ Distinguished Butthat The Prophet

    Messages:
    15,476
    Gender:
    Male
    Ratings:
    +47,564
    Even the icons look :flame:.

    [​IMG]

    [​IMG]
     
    • Love Love x 1
  17. Melinda pike

    Melinda pike New Turker

    Messages:
    1
    Gender:
    Female
    Ratings:
    +1
     
    • LOL LOL x 1
  18. jim718181

    jim718181 Survey Slinger

    Messages:
    2,712
    Gender:
    Male
    Ratings:
    +3,786
    Your extension looks great. Except for the light theme burning my eyeballs I would absolutely use this and I think people will start using it once MTS is killed off.

    Do you have an update for the Edit This Cookie extension? All advanced workflows get hit with a 400 error if we dont block a specific cookie. This extension does not appear to be getting an update for Manifest Version 3.

    https://github.com/ETCExtensions/Edit-This-Cookie
     
    • Like Like x 1
  19. jim718181

    jim718181 Survey Slinger

    Messages:
    2,712
    Gender:
    Male
    Ratings:
    +3,786
  20. Aesric

    Aesric Turker

    Messages:
    113
    Gender:
    Male
    Ratings:
    +54
    Thanks! And yes, dark mode is the way to go. It currently has 2 dark themes :)

    I'm not familiar with Edit This Cookie, but let me pull it down and see what I can do. I've done a few 2 -> 3 conversions.
     
    • Love Love x 1