Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for package download stats #699

Open
schollii opened this issue Sep 26, 2015 · 4 comments
Open

Support for package download stats #699

schollii opened this issue Sep 26, 2015 · 4 comments
Labels
feature request UX/UI design, user experience, user interface

Comments

@schollii
Copy link

Make Download Stats available for each release of a package, based on when, from where, and if possible for which OS (as determined, perhaps, by web browser, if the release data doesn't specify this). It would be nice if there were also a stats page for the package as a whole, representing sum total of all releases of the package; even nicer, if the author had a way of selecting which releases to consider as part of "package stats", because some release may not be directly relevant (dev snapshots, data, docs, etc).

Stats page

Stats page should give user a way to choose a specific release for which to get stats, or choose "package" in which case the stats are the sum total of all releases ie the package as a whole. The stats page for each release should also be reachable via a Releases page where all releases are shown (with presumably info about when each one was created, their OS if specific, and any other relevant info, but this is not part of this issue). Page should make it easy to choose which stats: downloads vs time, or vs location, or vs OS.

Downloads vs time

It would be nice if Stats page could by default show a plot of downloads vs time for chosen release, one plot line per OS, and a Totals line. The user should be allowed to select the time period for the stats: last 12 months, last 30 days, since beginning, etc; and the bin size: months, weeks, hours. The default bin size could be based on length of period: if package has been around for 10 years, default bin size is 1 year; if been around for 10 months, default monthly, etc. It would be nice to select which lines to show/hide (for example, in the legend box, via checkboxes).

Under the plot on same page, there should be a table of data for the chosen period, bin size, with a breakdown per OS, and total.

Page example:

Period: Last 12 months (drop down)
Time bin: monthly (drop down)

Graph:
---------------------------------------------------

  plot of lines, 1 line/OS and 1 line for Total

---------------------------------------------------

Data:
---------------------------------------------------
Month         Windows   Linux   Android     ...    Total
March 2014       23       54       1        ...      123
Feb 2014         34       17       7        ...      154

The default sort order could be from most recent to oldest, but it would be nice to have ability to reverse sort order. It would be nice to be able to sort on a different column (which would answer question "for windows OS, the most downloads were "), but this is less important than sort order.

Downloads vs location

Stats page should allow user to choose "downloads vs location" instead: this could show a world view image (flattened earth) with a "heat" map based on downloads by country (so each country is a tile on the map; tiles are shaped by country). It should be possible to choose the time period for which to show heat: last 12 month, last 30 days, since released, or choose a specific date range. It should be possible to choose bin size (split monthly, weekly etc). Same as downloads vs time page, a table below shows corresponding data.

Page example:

Period: Since released (drop down)
Time bin: year (drop down)

Graph:
---------------------------------------------------

dowload location heat map (tiled image or or such)

---------------------------------------------------

Data:
---------------------------------------------------
Month      US     Canada   Germany     ...    Total
2014       100       10       2        ...      123
2013       90        9        1        ...      154
---------------------------------------------------

Downloads vs OS

Stats page could allow user to choose "download by OS" instead, but if the download vs time page shows OS columns, this is not as important. A pie chart or bar graph (ability to choose which type), with default being pie. It should be possible to choose the time period for which to show heat: last 12 month, last 30 days, today, since released, or choose a specific date range.

@nlhkabu nlhkabu added the UX/UI design, user experience, user interface label Oct 6, 2015
@nlhkabu
Copy link
Contributor

nlhkabu commented Oct 9, 2015

related: #188

@nlhkabu nlhkabu added the requires triaging maintainers need to do initial inspection of issue label Jul 2, 2016
@brainwane brainwane added feature request and removed requires triaging maintainers need to do initial inspection of issue labels Feb 17, 2018
@brainwane brainwane added this to the Cool but not urgent milestone Feb 17, 2018
@brainwane
Copy link
Contributor

brainwane commented Feb 17, 2018

@schollii thanks for your detailed suggestion, and sorry for the slow response!

For context: The folks working on Warehouse have now gotten limited funding to concentrate on improving and deploying it, and have kicked off work towards our development roadmap -- the most urgent task is to improve Warehouse to the point where we can redirect pypi.python.org to pypi.org so the site is more sustainable and reliable.

Since this feature isn't something that the legacy site has, I've moved it to a future milestone, indicating that the core maintainer team isn't going to work on it till after we've finished shutting down the legacy site. But, in my opinion, it would be a fine feature for a volunteer to investigate! And we'd be happy to advise and look at PRs.

Thanks and sorry again for the wait.

@brainwane
Copy link
Contributor

brainwane commented Feb 17, 2018

I should add here a comment similar to what I said in #188: if I understand correctly, there are probably technical and policy difficulties in sniffing out what OS users are using and what their locations are, and in properly indicating that sometimes the sample size is really small or temporally discontinuous in important ways (e.g., if it turns out that most historical data does not have the attributes we'd need to measure). But I'm interested in hearing more about how this could work!

@windelbouwman
Copy link

Maybe as a source of inspiration, we can look at the rust crates.io website, for example, there is used a graph: https://crates.io/crates/lalrpop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request UX/UI design, user experience, user interface
Projects
None yet
Development

No branches or pull requests

4 participants