Yet Another YAPC entry

cbrooks on 2002-07-10T18:51:58

I've been thinking back over the presentations that I saw at YAPC this year. Here are two techincal insights that will stay with me:
1. Inline::C isn't really a replacement for XS. It's a replacement for h2xs.
2. Two actual uses for closures: memoize (uses closures internally) and strong object encapsulation.

And my personal YAPC Awards:
1. Best argument for why we need Perl 6: Adam Turoff -- Perl 6 has re-energized the Perl community.
2. Rudest YAPC attendee: perhaps I shall refrain from naming names, but STOP INTERUPTING PEOPLE just because they're criticizing the usability of CPAN.
3. Coolest hair: easy one. Michael Schwern.
4. Best presenter: hmmm. Tie between Dominus (Secrets of the Wizards) and Kevin Lenzo's (the auction).
5. Most entertaining session: Lightning talks
6. Most eloquent explanation of the power of Perl 6: Allison Randal, if Dr. Seuss were a Perl 6 hacker


My name is elaine ashton.

hfb on 2002-07-10T23:39:20

And if you are going to say something have the courage to put a name to your spite.

I heckled him because he was wrong, so wrong that it wasn't possible for me not to. For all I know, this person is you. I wrote much of and keep the CPAN and search.cpan FAQs, I run the box, I keep it running, and we answer and address feedback as time and patience allow. When some guy starts bitching about how 'this page has no links' or 'this has no FAQ', etc. when that person hasn't sent email to said effect, he's lucky I wasn't on the other side of the auditorium where lunging for him would have been convenient and quick. I felt badly but nearly all the people I expressed my lament to said he had it coming to him.

Not to mention the new version of the search engine that graham has worked very hard on, with little or no thanks or recognition, adresses much of his whining and should be out by TPC. Of course, this guy ran off before I could tell him about this.

And, lastly, I'll make this bold for you. SEARCH.CPAN IS NOT CPAN. CPAN is CPAN and search.cpan is a wholly separate entity.

If you want to get up and start trashing on someone's work and are utterly wrong...I'll heckle you too.

Re:My name is elaine ashton.

TorgoX on 2002-07-11T05:23:37

I liked the part where the guy showed a page and said "why isn't there a FAQ link here?" and you pointed out the FAQ link right there on the slide.

He was a tool. You were just culling the herd!

Re:My name is elaine ashton.

cbrooks on 2002-07-11T14:22:05

Just a slight disagreement with you here. I believe that this is the slide you were referring to:

http://omor.com/perl/yapc2002l/8.html

I thought that David Crawford was perfectly clear in his remarks that what he wanted was an FAQ about XML-RSS (the module that he used as an example). The FAQ link that Ms. Ashton referred to is a search.cpan FAQ, not specific to XML-RSS. His point was that it was difficult to figure out if XML-RSS would solve his problem -- not that it was difficult to figure out what search.cpan does.

Re:My name is elaine ashton.

jhi on 2002-07-11T15:11:44

And how, praythee, is either search.cpan.org or CPAN supposed to be offering a module-specific FAQ if there isn't any...? (If there are other doc files available, like for example HTML files at the top level of the module, search.cpan.org does list them, try for example distribution 'CGI.pm'.)

Mr Crawford's talk was titled "CPAN is unusable". If his point really was to complain that XML::RSS should have an FAQ, that title is, ummm, oddly chosen. In any case, all this talk was to bumble around in the perceived user interface issues of search.cpan.org. search.cpan is not CPAN (just as CPAN.pm is not CPAN). As the (real) CPAN master librarian, I found his talk very baffling.

Mr Crawford also complained that when he clicked the for the pod of the file, he got the pod (and not some links he was apparently expecting), quite shocking.

He also compared the user interface of a site specific to and built expressly to the contents of a module (SOAP::Lite, I think), to search.cpan.org, which hosts a myriad of modules, and has to settle on a single interface.

Mr Crawford complained about the lack of a "download" link. I can't help pointing out the link to "Latest Release"  .tar.gz at the very top of the page.

Mr Crawford complained about the lack of "install" link. If he really meant a link "click here to install automatically", that's (a) hard to do (b) dangerous to do. If he meant a link for installation instructions, well, that's the FAQ link he failed to see, which does have large friendly pictures explaining the interface.

We welcome feedback and criticism, when it's precise, well-thought-out, and constructive. Unfortunately I can't say that I found Mr Crawford's presentation to be any of these. If he tried to be funny, he failed. If he tried to be thorough, he failed. If he tried to suggest better ways of doing things, he failed. Overall, I found his tantrum to be rather poorly researched and rather painful to watch.

Disclaimer: I'm multiply biased on this matter, of course.

Re:My name is elaine ashton.

cbrooks on 2002-07-11T19:35:08

Thanks for the note. Perhaps at this point I should distinguish two things that I may not have stated well:
1. I don't think people should heckle others during presentations. Giving a presentation in front of 300 of your peers is stressful -- getting heckled increases the stress by an order of magnitude. Be polite to your fellow Perl-ites. Period. (Clearly Jarkko, this is not directed at you.)
2. I think as a community we should be open to public critiques that say that CPAN (or other open source software) could be made more usable to relative newcomers. This is how I interpreted Mr. Crawford's talk -- I don't think it was an attempt to give cheap digs to folks who give substantial amounts of their time to the good of the community. (Jarkko -- I hear you saying that you're open to those critiques, but I disagree that Mr. Crawford failed to provide them.)



I have just re-read Mr. Crawford's presentation. (Here's a link: http://omor.com/perl/yapc2002l/)



Here is a synopsis:
  • I read something about an interesting technology -- (RSS as an example in this case).
  • I go to search.cpan.org and search by keyword. I get lots of results. Cool!
  • I choose XML::RSS, and I get a page with lots of links.
  • I choose the link to the pod that describes the module. It has no navigation, no links for download or install.
cbrooks:
Why shouldn't the pod include some navigation? It's just html -- presumably search.cpan has access to mod_perl. Why not add a consistent header to every page? In particular, a link that says "download" would improve the usability of the page for folks that aren't used to the existing layout.



Continuing the stream of Mr. Crawford's presentation....
  • Not knowing exactly what to do at this point, I back up, returning to the set of modules that =~ /RSS/
  • I click on the XML::RSS link that doesn't include the version, and I go right back to the pod.

cbrooks:
Doh! Well, that would be kind of frustrating. Wouldn't it be helpful if the search.cpan search results were a little more clear? Perhaps the link to the pod should be eliminated. Or perhaps links to the README and download options should be included. The point remains -- those search results are a bit confusing.



Blithely continuing with Mr. Crawford's presentation:
  • Now I go back to the module link that includes the version. The words "download", "install" and "manual" do not appear. (As I recall, this is where he made his infamous comment which Ms. Ashton took out of context re: there should be a link for an FAQ.)


cbrooks:
Actually, "download" and "manual" would be useful additions to this page. I would argue that the extra bytes that they entail are more than compensated for by the additional clarity they provide. Presumably his comment about a link for "install" would link to an INSTALL file, if one were available in the package. Not a bad idea, although I would suspect that "Installation instructions" is a bit more clear. It does not appear to me that search.cpan adds this link if an INSTALL file exists -- see, for example, Apache::Session.



Back to Mr. Crawford:

  • Docs available only if you download and install the module do not help you do decide which module to get.



cbrooks:
That's a fair point. However, the problem is that (unlike his previous points) there is little that search.cpan can do about this. If the module's author doesn't provide a clear description in the pod or the README file, you're sort of stuck. Same with his FAQ comment.



Continuing....
  • Some other comments about searching modules by category, and the way that Perl assumes XML::RSS is in the directory XML/RSS.pm

cbrooks:
I don't actually remember this from his lightning talk -- did he scrap it? If not, I'll agree -- I'm not sure that this is a useful critique.



Finally:
  • SOAP::Lite has a very nice interface for a user trying to figure out what to do.

cbrooks:
Yup. Quite nice. Note at least three of his earlier critiques that could be done by search.cpan, but are not:
  1. It is very clear how to download the module.
  2. There is a "Usage" link (perhaps a better replacement for the "Manual" link that he had mentioned?)
  3. There is an "Installation" link.


I have a couple of other usability suggestions:
  • Why couldn't search.cpan strip off the trailing ".pm" if you include it in your search criteria? For example, a search for CGI.pm shows 0 results. Kind of confusing.
  • If you search for "CGI", you get many, many results. Perhaps search.cpan could apply some heuristics which attempt a better search order. For example, perhaps the shortest module name should appear first, on the theory that modules that extend it will have longer names? Or perhaps the oldest modules should be presented first? Or perhaps the user should get to choose how to sort?




Anyway, this is a rather long reply, so let me sum up. I think Mr. Crawford had several good points that would substantially improve the usability of CPAN. However, I don't believe that he received the kind of respectful treatment that he should have, given that he pointed out some genuine short-comings.

Re:My name is elaine ashton.

cbrooks on 2002-07-11T14:14:03

Hmmm. Nice to know people actually read other people's journals.



>if you are going to say something have the courage to put a name to your spite.



Apologies. I was about 80% sure that it was you, but not 100%. It seemed that I would do a disservice by reprimanding the wrong person. Plus, it wasn't the name that mattered, it was the lack of respect shown by the behavior that seemed out of place.



>I heckled him because he was wrong



Well, I would have to disagree with you here. I thought his comments on the usability of CPAN were quite well thought-out. Everyone (with whom I have ever spoken) agrees that CPAN is a fantastic resource. (And kudos to those like yourself who maintain it.) But, I share Mr. Crawford's concern that things could be laid out in a more intuitive manner. (David Crawford, by the way, is the guy whose talk you interrupted.)



>I felt badly but nearly all the people I
>expressed my lament to said he had it coming
>to him.



Hmm. Interesting. Not my experience -- I spoke with several people about this (and overheard the comments of several people around me), and they unanimously thought that you were out of line.



>the new version of the search engine that graham
>has worked very hard on, with little or no thanks
>or recognition, adresses much of his whining



Two thoughts.
(1) the authors of open source software are likely under-appreciated, on average. Given the importance of CPAN to the Perl community, its authors deserve a little love.
(2) good to know that there is a new version out that will address these usability concerns. Almost makes you think that perhaps someone other than Mr. Crawford noticed that there were areas that could be improved....



>If you want to get up and start trashing on
>someone's work and are utterly wrong...I'll
>heckle you too.



You'll be happy to know that you have left me with little doubt on this point.

Re:My name is elaine ashton.

hfb on 2002-07-11T14:38:20

Well, I would have to disagree with you here. I thought his comments on the usability of CPAN were quite well thought-out. Everyone (with whom I have ever spoken) agrees that CPAN is a fantastic resource. (And kudos to those like yourself who maintain it.) But, I share Mr. Crawford's concern that things could be laid out in a more intuitive manner. (David Crawford, by the way, is the guy whose talk you interrupted.)

I'm sorry, you appear to have missed the part where search.cpan is not CPAN. There are 3 other search engines we link to on the front page if you don't like one, try another. However, just because some guy gets a microphone is not a right to waste 300 peoples' time heckle-free when he hasn't taken the least amount of time to prepare his talk to actually say something. LT's aren't supposed to mimic comp.lang.perl.*

He complained about the lack of a 'download button' yet a picture outlines everything he complained about. To stand up there and complain about things that were in the FAQ was rude and, considering how few people actually thank those of us who have kept this resource online for the last 3 years, insensitive and assinine. The service is not a right and depends on the generosity of other people. Getting up in front of 300 people to say that it is 'UNUSABLE' is begging for someone to jump down your throat. I'm not sorry for heckling him, I'm sorry that I got so agitated by someone who is clearly a windows user.

Re:My name is elaine ashton.

cbrooks on 2002-07-11T20:02:25

>search.cpan is not CPAN

My apologies for not acknowledging that in my earlier post. You are absolutely right, and that never crossed my mind until you mentioned it. So what?

>However, just because some guy gets a microphone
>is not a right to waste 300 peoples' time
>heckle-free

Here's the problem with that line of thinking -- just because you thought that the presentation was a waste of time, doesn't mean that I thought that the presentation was a waste of time. If you thought that your time was being wasted, why didn't you slip out the back door for 5 minutes and check your email? None of the attendees were forced to be there -- they understood that the lightning talks might be of varying quality, and that they might touch on subjects that didn't interest them. Don't forget that 300 people spent 5 minutes singing "banana fanna". His was a serious critique, whether or not you think that the critique was on target.

> a picture [cpan.org] outlines everything he complained about

But his talk wasn't entitled "CPAN is non-functional". His point wasn't that a download was unavailable, it was that someone unfamiliar with the layout might not know how to begin a download.

>considering how few people actually thank
>those of us who have kept this resource online
>for the last 3 years

If you're not getting enough appreciation for the work that you do, then I regret that. CPAN rocks, and everyone (including Mr. Crawford) would agree with that. But there is a valid role for people within the community who are willing to critique the usability of the service.

Re:My name is elaine ashton.

dws on 2002-07-16T06:17:30

> considering how few people actually thank those of us who have kept this resource online for the last 3 years ...

Thank you, thank you, thank you.

> search.cpan is not CPAN.

From an outsider's perspective, the difference is not immediately obvious. For one example, if you hang around at perlmonks, most mentions of "look on CPAN" are accompanied by a link to search.cpan.org.

Re:My name is elaine ashton.

djberg96 on 2002-07-14T19:13:09

So, Elaine Ashton turned out to be "the guy in the second row", eh? ;-P

Re:My name is elaine ashton.

hfb on 2002-07-14T19:26:50

I wasn't the only one heckling him, merely the loudest. The 2nd row was pretty full.

An other prize

mir on 2002-07-11T18:24:28

Maybe you could have added an additional prize "Most Rude Talk" to Mr Crawford for standing in front of an audience that included some of the people that give their free time so he can download Perl modules and telling them that what they had built sucked.
His talk was built for the easy laugh: "look here is a link on that page that leads to the doc for the module, now lets go back, click on the next link, cautiously avoid the link to that mysterious .tar.gz thingie, click on an other link... and we get the doc again! It sucks! Plus the module page does not link to a FAQ for the module. CPAN sucks!"
In short it mixed criticisms or CPAN, search.cpan.org and individual modules, without ever distinguishing between them, offering an analysis or giving a positive suggestion.
I expect YAPC talks, even lightning talks, to be well prepared. Most of them are. This one was not and frankly the guy got what he deserved. Plus why didn't he stay after the talk to discuss the problems with the people that can actually do something about it? That's what LT's are for after all.

Re:An other prize

cbrooks on 2002-07-11T19:47:46

>Maybe you could have added an additional prize
>"Most Rude Talk" to Mr Crawford

chuckle. Touche.

>In short it mixed criticisms or CPAN,
>search.cpan.org and individual modules, without
>ever distinguishing between them, offering an
>analysis or giving a positive suggestion.



I would agree with what you (and Elaine and Jarkko) have pointed out, that the thrust of his critique was on search.cpan, rather than CPAN.

But, I think that this was a serious attempt to point out some shortcomings in the search.cpan user interface. (I have just gone over that in detail in a reply to Jarkko -- please forgive me for not reposting it.)

But the important issue to me is that he was not treated respectfully. In my opinion, if you have the guts to stand up in front of a community of 300 people and substantively critique (one of) their most prized institutions, people should (at a minimum) refrain from interrupting you. Even if some people in the crowd don't agree that your critiques have merit.