Has Many Collections

Find collections that include a specific product, Chrome ext

get it
There are no images or videos added to the gallery.
Add to gallery



You need to become a Contributor to join the discussion - Find out how.
Olivier El MekkiMaker@oelmekki · maker
A bit of technical background on this for those interested. Writing an API client for product hunt in a chrome extension is quite straightforward, the main problem being that you will need an oauth token from user to access API. I could not figure a way to do the oauth authorization directly from the extension (you can't display authorization page in an iframe, and you will have to pass your app secrets), so that part had to be handled by a server side application. Chrome permissions handling was quite annoying for that one, too. There is a "currentTab" permission that should have been enough to add a page action, except you can't retrieve current page url with it (which you need to have to know your on a product page, and not just any page on producthunt.com). So, it has to be the more extreme "tabs" permission. I will post source code on github later this day, if anyone is interested. EDIT: here is the code https://github.com/oelmekki/has_...
Ryan HooverPro@rrhoover · Founder, Product Hunt
Awesome job, @oelmekki! We're currently doing a heavy redesign of the product pages to include collections a product is a part of. The tricky thing is to filter out (1) incomplete collections that only have a few products added and (2) troll collections where someone adds "product x" to their "stupid apps" collection. Did you discover any interesting patterns or unexpected findings when building this?
Olivier El MekkiMaker@oelmekki · maker
@rrhoover (annnd, I once again replied without using reply button... see above)
Olivier El MekkiMaker@oelmekki · maker
@rrhoover An other way to ensure quality first collections could be... to allow to upvote them :) (so meta)
Zoe Landon@hupfen · Web Developer & Rabbit
@rrhoover perhaps private/public collections would alleviate some of those issues? Incompletes and laters can be private, and thus not incorporated in the UI until they're "ready".
Olivier El MekkiMaker@oelmekki · maker
Hi there, After releasing Hunting Cabin, I saw, almost by chance, it was put in a collection. I realized I had no mean to see the list of collections my product was put in. There was an API endpoint for that, so I decided to make an extension. After a week of usage, it has had an unexpected result: there is a secondary PH experience, here. After reading posts of the day, I will look at which collections people put them in, which often pops up interesting thematics I will browse, which allows me to discover even more (and older) products in a loose "related" style. Hope you'll like it, feel free to ask anything.
Olivier El MekkiMaker@oelmekki · maker
Thanks :) It's been only a week since I play with it, so I still am discovering myself :) What I noticed, though, is a incredible amount of "save for later" collections, all named exactly like that, with just caps changing (that's why I've included a filter for those). There are still small variations, though (like "later", or native language based names). Analyzing from db the most commonly used names probably would allow to filter placeholder collection names. I didn't want to filter based on item count, because even incomplete collections may be interesting (if I like the theme of a collection with only one or two products, I certainly want to keep an eye on it just in case it gets more complete later). I gonna try to sort them per items count, though, to see what happens (either it shows best quality collections on top and it's useful, or it shows too broad collections that contains anything and it's not). Troll collections... I didn't thought about that :) Wouldn't a flag feature on collections be more appropriate, for that (because those collections still exist anyway)? EDIT: by the way, I didn't thought of troll collections, but I didn't see any either this week, while using this extension quite extensively.