Version 6 (modified by ctreleaven (Craig Treleaven), 7 years ago) (diff) |
---|
MacPorts Port Statistics Ideas
This page is a collection of ideas that could be implemented to improve or make use of the MacPorts statistics server. Feel free to edit this page and add your own idea!
-
MacPorts Port Statistics Ideas
- Statistics Test Server
-
Ideas
- Move to stats.macports.org and get an SSL certificate
- Inform users and explain opt-in
- Create a versioned API
- Track the requested state
- Submit variants as list rather than as string
- Track CommandLineTools version instead of GCC version
- Port the server's dependencies to MacPorts
- Simple port hierarchy / group (sub)ports
- Direct and meaningful links to ports
- Direct links to maintainer's ports
- Sort ports alphabetically
- Highlight default variants
-
Link to port's homepage,
Portfile
, tickets - Display number of users of a port in Query Results
- Make Query Results more compact
- Show OS X version statistics for every port
- Bar graphs instead of pies
- Link mpstats with trac
Statistics Test Server
Clemens has set up a test installation of the statistics server component at stats.macports.neverpanic.de. The server is written in Ruby on Rails; its sources currently live in browser:branches/gsoc11-statistics/stats-server. The statistics client requires MacPorts 2.3 (for curl post
) and is currently not in the main ports tree for this reason. Its source is at browser:users/cal/ports/macports/mpstats and it can be installed in a single command using port install https://neverpanic.de/documents/mpstats.tar
(this URL will be updated with the latest version on each update).
Ideas
Move to stats.macports.org and get an SSL certificate
The stats server should be moved to a more official domain, such as stats.macports.org. It also should support SSL, especially for submitting data. A free email-validated StartCom SSL certificate is probably enough; deploying the main macports.org wildcard certificate on Clemens' server is something he doesn't want.
Inform users and explain opt-in
When a user upgrade to 2.3.0 (or installs MacPorts from scratch), it would be nice to show a short notice saying something like
You are welcome to participate in anonymous collection of statistics of installed ports by running `sudo port install mpstats'. See http://<url> for more details.
so that every user would see the notice once for each major upgrade. (No notice if mpstats is already activated.)
Create a versioned API
Add a field stating the version of the data format. In case that the format changes in future, it would be nice to still be able to handle submissions from users running the older version of MacPorts.
Track the requested state
Add a field '"requested": true' for requested ports (even if the application is currently unable to display any useful statistics related to that, it will be easier to change the app in the future than to convince everyone to apply the fix).
Submit variants as list rather than as string
Variants are currently submitted as a plain string:
"variants": "biosig + python27 +";
It would be a lot cleaner to use a list instead:
"variants": ["biosig", "python27"]
Track CommandLineTools version instead of GCC version
Remove "gcc_version" from submitted data, since GCC is no longer a thing on recent versions of OS X anymore.
Port the server's dependencies to MacPorts
It would be nice if MacPorts would allow installing dependencies to allow running the app locally without much hassle. The app needs rails 3.2. Currently MacPorts has a port of rails for ruby 1.8 called rb-rails
which is at version 2.3.5, and a port of rails for ruby 1.9 called rb19-rails
which is at version 3.0.5. The ruby 1.9 ports for actionmailer, actionpack, activemodel, activerecord, activersource, activesupport, and railties are also all at version 3.0.5, and would need to be updated together with rails.
Simple port hierarchy / group (sub)ports
Ports like py-name
, py27-name
, py33-name
, ... should be grouped in some way.
Direct and meaningful links to ports
Port statistics is currently accessed via http://<server>/categories/<n>/ports/<n>
. It should be http://<server>/port/<name>
or http://<server>/show/port/<name>
for example (or something equivalent excluding category and not displaying any numbers).
Direct links to maintainer's ports
One can search for maintainer's ports, but only via http://<server>/ports/search/maintainers/<name>
to some extent. The search is more problematic for non-committers with :
in the name and the search is not unique (searching for cal
returns mcalhoun
's ports etc.). It would make sense to search through nomaintainer
and openmaintainer
ports.
Maybe something like http://<server>/show/maintainer/macports.org/<handle>
and http://<server>/show/maintainer/gmail.com/name.surname
for direct access or simply http://<server>/show/maintainer/id/<number>
would allow clicking the maintainer in the same way as one can follow a link for categories, variants, ...
Sort ports alphabetically
Complete list of ports shows
← Previous 1 2 3 4 5 6 7 8 9 … 366 367 Next →
It would be helpful to have alphabetic index available.
Highlight default variants
Highlight default variants on the port statistics page.
Link to port's homepage, Portfile
, tickets
Create a link to port's homepage and a link to SVN folder where the Portfile
is stored. Maybe also a link to (svn co) https://svn.macports.org/repository/macports/trunk/dports/<category>/<name>
and a link to open tickets for the port (the slight problem is that the tickets are a bit fuzzy as well – try searching for spe
for example).
Display number of users of a port in Query Results
When listing ports (either all ports, those from specific category, by specific maintainer, ...), it would be nice to see the number of users (and the number of users who requested installation of that port) already on the list of ports, before asking for specifics. It's a bit annoying clicking on a port just to discover that there are no users anyway.
Make Query Results more compact
It's actually nice to allow both views (the current one also has benefits), but usually I would prefer to see a table with one line per port. Name, (maybe version), description, category, number of (requested) installations. I'm not interested in maintainers and variants when searching the port. It would be way more useful to be able to see maybe 200 rather than 50 ports per page and to be able to sort at least by name and number of (requested) installations.
Maybe some filters to browse ports would be even more useful (check the set of categories, select the maintainer, provide part of the name etc.), but more difficult to implement and not really required at this point.
Show OS X version statistics for every port
As a port maintainer, one key thing I'd like to know is the breakdown of OS versions that my users are running. (Xcode version and architecture might also be relevant.)
Bar graphs instead of pies
I'm not a big fan of pie (or donut) graphs. It is much easy to compare magnitudes of a bar as opposed to sections of a donut.
https://blog.funnel.io/why-we-dont-use-pie-charts-and-some-tips-on-better-data-visualizations
This probably needs a bit of experimenting.
Link mpstats with trac
One could think about linking information available in mpstats' db to the current state of trac. For example one could identify tickets for the most requested or most installed ports and similar things.