Track who installed what ports on what OS and on what
Ryan Schmidt
ryandesign at macports.org
Mon May 14 02:28:26 PDT 2007
On May 13, 2007, at 22:06, Norman MacIntyre wrote:
> That is a bad idea. What purpose would it serve other
> than collecting statistics and curiosity?
>
> Let me know when you do this so I can immediately use
> only fink.
I see! Well, that's two people vehemently opposed so far. :)
Interesting.
For comparison, it's far from unprecedented for programs to send
statistical information to their developers when they check for
updates. The popular text editors BBEdit and TextWrangler from Bare
Bones Software do this, for example, as does the venerable dock
utility DragThing. As I recall, they all ask for the user's
permission before doing so, and explain exactly what data is sent; we
could do that too. Even Software Update sends Apple a list of the
Apple software you have installed, so that it can deliver to you a
list of applicable updates. And it does that without your permission,
and it's on by default, too.
The purpose for collecting this data is obvious: it allows the
developers to learn what kinds of machines and OS versions their
users are using, which can help the developers decide where to focus
their resources. In the case of MacPorts, it's fairly obvious that we
will have PowerPC users running 10.3.x and 10.4.x and Intel users on
10.4.x. Maybe some 10.5.x testers too. What's less obvious is what
ports people are using. And by collecting that information, we would
not only help the port authors learn which of their ports are
actually getting used, but also help users gauge a port's
reliability. If a user is interested in a port and sees that hundreds
of others have successfully installed it, there's a good chance it
works. If nobody has installed it, or nobody with the user's
processor architecture or OS version has installed it, there may be
problems.
If I wasn't clear before, I should also clarify that no personal
information about the user would be stored -- username, email
address, IP address: none of that. And it is not the intention to
display a list of any individual user's active ports, only to sum up
totals of active ports. However, I have to admit the system would
need to store the lists of the users' active ports in order to
compute the totals. And maybe that's a concern, since the information
could be obtained by determined individuals with access.
Perhaps I should explain what led to my initial email. In working on
a redesign for the MacPorts web site, I thought it would be nice to
include a box of popular ports in a sidebar, like so:
-------------- next part --------------
Skipped content of type multipart/appledouble-------------- next part --------------
My data here is clearly made up, but it illustrates the idea. If we
tracked who installed what ports and on what processor, we could
generate an accurate graph of the above, and similarly for OS versions.
What I didn't do in the example above, but what I would want to do,
is show only "interesting" ports. I would say ports like pkg-config
and apr-util aren't "interesting" because they're merely dependencies
of other ports. You wouldn't install apr-util just by itself; apr-
util isn't the end goal. Other larger ports like apache2 are the end
goal, and that's the kind of port I would show in the graph. If I
could find a good way to identify the "interesting" ports.
But perhaps this entire graph isn't so interesting, ultimately.
Presumably if you're looking at MacPorts, you have a specific
software package in mind that you're wanting to install, and don't
need a graph of what everyone else is installing. I guess I was
thinking of something like Apple's Dashboard widget download site,
where they show you a list of today's top widget downloads. Same idea.
If we don't do this graph, I would still like some extra info on the
MacPorts home page, something to show new users what they can do with
MacPorts. Something to draw them in. Maybe just a list of the most
recently updated ports and their versions would do. That would be
easier, too, since I can already pull that information from the
repository.
More information about the macports-dev
mailing list