Sketch-Toolbox icon indicating copy to clipboard operation
Sketch-Toolbox copied to clipboard

Download statistics

Open timuric opened this issue 11 years ago • 15 comments

I know that it might be to early at this point to request such feature. But just want to let you know that install/uninstall statistics would be very valuable for plugin authors, as well as for plugins ratings :)

timuric avatar May 29 '14 18:05 timuric

I agree, I'd be personally really interested in this as well, and I think it would be really good for discovering good plugins as well.

This would require something server-side with a database to track this data, as well as a frontend to display it all (along with an API if anyone wants to just grab the JSON for their own purposes). I think I may need to open up a separate repo for the web service, which I'll do soon. It'll be open source, and I'll probably host it on Heroku.

shahruz avatar May 29 '14 18:05 shahruz

This would also help resolve the star counts being out of date due to GitHub's rate limits. If we can have all that get cached server-side instead of locally, we can update it more frequently. This backend can solve a lot of problems.

shahruz avatar May 29 '14 19:05 shahruz

@shahruz Would it be based on php?

timuric avatar May 29 '14 19:05 timuric

I am pretty much doing the same thing with sketchpack.in, maybe that could act as the web service.  

I already have a front end and database setup. It's based on php too. I could open source the code for it too if required.

@shahruz This is exactly what I was talking about in the mail. It would be nice to collaborate on this. If you guys are cool with it of course.  — Regards, Indrashish

On Fri, May 30, 2014 at 1:12 AM, Timur Carpeev [email protected] wrote:

@shahruz Would it be based on php?

Reply to this email directly or view it on GitHub: https://github.com/shahruz/Sketch-Toolbox/issues/22#issuecomment-44575518

ghosh avatar May 29 '14 19:05 ghosh

This would also allow you to do trending this week, popular recent installs etc as per #24

nathanpitman avatar May 29 '14 20:05 nathanpitman

@timuric That's my web language of choice, so assuming other's involved are cool with it, then certainly yes!

@ghosh Yeah, if you wanna take the lead on this, that'd be amazing. I will ask that you open-source it though, just so that we can make contributions. I'd also generally like to keep all dependencies for Toolbox open source so that we're never reliant on something we can't help improve.

@nathanpitman I like it!

shahruz avatar May 29 '14 20:05 shahruz

If the API was RESTful and returned JSON then someone could write a JS widget to display plug-in details (downloads, rank etc) on a web page. :)

nathanpitman avatar May 29 '14 21:05 nathanpitman

Yeah I need to figure out the specs a bit more, but at a base level I think it would be nice if it were to act as an interface to #15. Including:

  • (GET) JSON endpoint to retrieve a list of plugins.
  • (GET) JSON endpoint to retrieve more details about any given plugin (download stats, etc).
  • (POST) JSON endpoint to track an install or uninstall.

shahruz avatar May 29 '14 21:05 shahruz

@shahruz Awesome! I'll get started on it soon!

ghosh avatar May 30 '14 03:05 ghosh

@Ghosh Awesome. Just to clarify, can you take a look at #15 and get involved in that conversation as well? I would like to continue to use http://github.com/sketchplugins/plugin-directory as the source, using the specs being discussed in #15.

Thanks!

shahruz avatar May 30 '14 04:05 shahruz

@shahruz We would need some sort of a way to communicate the install and uninstall counts for each plugin with the server. I was thinking of a 'POST'/'PUT' request to a secure endpoint. Would love to know if you have any ideas about it?

ghosh avatar Jun 02 '14 09:06 ghosh

@Ghosh That's what I was thinking. Just an endpoint to hit with a unique plugin ID and a state (installed/uninstalled). All anonymized, of course.

shahruz avatar Jun 02 '14 17:06 shahruz

@shahruz That sounds good. Question arises how do we keep it anonymous while keeping the code open sourced?

ghosh avatar Jun 03 '14 09:06 ghosh

@ghosh I just meant I think you shouldn't store anything linking a specific IP to an install state. The apps should manage that locally, and the backend service should just keep track of the raw install vs uninstall numbers.

shahruz avatar Jun 03 '14 16:06 shahruz

+1. Any progress?

jkmaxwell avatar Sep 09 '15 18:09 jkmaxwell