Monday 15 June 2009

Rate a Perl module today!

While CPAN is all in favor of TIMTOWTDI, when we search for a functionality we usually want the best option out there. Which is it? It's the one that best fits your needs, of course, and that's the whole beauty of it. But, when you're filled with doubt, where to look? Well, see what others think of the alternatives!

Enter CPANRatings

When coding non-Moose OO, I, for instance, really like Class::XSAccessor. So, it's about time I pay my respects to smueller++. The first thing I do is open CPANRatings website and look for it.

As important as this module is (at least for me), it has no ratings yet. So I click on "Rate this distribution" link as shown above. It points me to Ask++'s Bitcard login. To create your own login, all you need is an email account.

After clicking on "login", I get to type my email and chosen password. If this is your first Rating and you don't have a Bitcard account, just click on "register", as shown in the image below. It goes to a page very similar to the login one, with just the additional "Verify Password" field. It's quick and easy, and requires no personal data input. After successfully logging in, you can even set an option so it logs you in automatically in the future.

After the login, you get to rate the chosen distribution. You'll be presented with four fields: Documentation, Interface, Ease of Use, and Overall, and be allowed to place your vote in a scale 1 to 5, higher numbers being better. Since all fields are optional, you can leave any of them blank if you want. Finally, there is a "free-text" Review box where you can speak your mind freely about that distribution, its strengths and weaknesses, maybe even justify your choices in the fields above or talk about alternatives.

A few reminders are in order:
  • Be useful
  • Be polite
If you dislike a given distribution, don't write "this sucks". Give a constructive criticism, say why you don't like it, or even better, what could be done to improve it. And remember, you can always come back to your rating and edit it! (writing "this rocks" is also not very useful, so remember to explain your opinion be it good or bad - or just not write anything at all and stick to the ratings).

Also, refrain from rating your own distributions. Your module isn't rated? Ask a user to do it! If you wish to reply to a rating given to one of your modules, leave the ratings blank and just write the review.

Quick Access Through CPAN

What's that URL again?, but don't worry about it. Since most Perl developers live inside the CPAN search, there's a quick way to the ratings from there, too. After doing your search, just click on the module distribution link - the one with the version number, as shown below:

This can give a lot of information on a given distribution, including module lists, documentation, test results, bug reports, and... ratings! The image below shows me part of the result for Class::XSAccessor at the time of writing this:

As you can see, it has no reviews whatsoever. So let's write one! When clicking on "Rate this distribution", you are redirected to CPANRatings and can follow the steps just as before. Nice, huh?

Where to Start?

It doesn't matter, really. Find a module you use (or had to use) for any particular task, and take a couple of minutes to tell the world how you feel about it. This can be specially helpful not only to other users, but also to the developer himself/herself in order to get user feedback and further improve it.

As an example, a simple browse on Padre's Makefile.PL showed 22 modules (30%) without any rating, including Class::Adapter, Class::XSAccessor (and Class::XSAccessor::Array), IO (!), threads (!!!), and even Test::Most. Not **one** rating. Not even Padre has a rating yet!

It doesn't even have to be a "rateless" distribution either. Did you know that, by the time of this writing, PAR only has three ratings? Win32::API too! Even gaas++'s URI distribution, recently found to be one of the centers of the CPAN module cloud, has only two ratings!

When writing your usual "use MODULE" statement, think about it. Do you love it? Do you hate it? If someone were to ask about it, would you recommend it? Why?

Next time you see yourself lost amidst the CPAN jungle of alternatives, remember: we are all responsible.

So, what are you waiting for? Rate a module today!