Re: Tags for CPAN modules.

2007-07-10 Thread Michael G Schwern
Adam Kennedy wrote:
 This is a super idea. It might also be nice to allow cpan.org
 users the
 ability to associate tags (which could be overridden by the author) with
 modules which don't have them. 
 
 That's the main problem with having tags in the META.yml.
 
 The tags can only be author-driven, they don't work user-driven.

Layers.  Onions have layers, Ogres have layers.  I mean tags.  Tags have
layers.  The author puts their definitive tags into the META.yml and J Random
User site can layer whatever extra tags on top they want.  If the author likes
the new tags they can incorporate them into the META.yml.

The nice part about putting them into the META.yml is it follows the module
around and is available to all, not specific to just one site.


Re: Tags for CPAN modules.

2007-07-10 Thread Andy Armstrong
Ken Williams wrote:
 I was about to chime in and say that when an author provides their own
 tags for their work, I think of them as keywords.  The term tags has
 a connotation to me of user-generated labeling.  For instance, in
 academic papers, the author (or perhaps even the conference/journal
 editor) writes the keyword field.

If we assume for a moment that 'keywords' and 'tags' are interchangeable
is it not the case that keywords/tags on academic papers are exclusivel
author generated because there's no interface that allows anyone else to
add tags/keywords? I can't tag your papers even if I wanted to.

 I was quite glad to see a few days ago that cpanforum is adding tags. 
 The obvious problem is that it's just one site, and there may not be
 enough mass in the perl community to support various tag sets at various
 cpan-related sites.  I wonder if there needs to be (at some point down
 the road) some distributed merging of tags from the various
 tagging-enabled cpan metadata sites like search.cpan, cpanforum,
 perldoc, etc.

Having it genuinely distributed (no authoritative source, peer to peer
synching) is probably hard.

Two possible solutions spring to mind:

* design a simple RESTful tagging API and set up an authoritative tag
  server to run it

* have an SVN repo containing USERMETA.yml files per tagged module and
  use SVN to move them around and merge multiple updates.

-- 
Andy Armstrong, Hexten


Re: Tags for CPAN modules.

2007-07-09 Thread Gabor Szabo

On 7/8/07, Michael G Schwern [EMAIL PROTECTED] wrote:

Let's un-overload the distribution name by providing another axis by which an
author can categorize their module.  The single most dominant organizational
tool of the web:  tags.  For a large, wide, decentralized library its simple
and the least worst way to organize things.  It provides multiple axis to
describe the use of a module and frees up the name to be just a short, unique
descriptor.  Best practices for tags and how to work their strengths and
weaknesses are well understood.

The implementation is simple, add a tags keyword to META.yml.  Have
search.cpan.org so something interesting with that extra information.


While I think it would be good and module author could then give some
authoritative tags to their modules it would still be the job of the module
author.

Many modules, especially the some old ones that are not maintained will
lack the keywords even if otherwise they are perfect modules.


Anyway I have just a few days ago added a tagging system to
http://www.cpanforum.org/ to tag the modules.
In a few weeks I'll provide some way to download the collected data
and then it could be integrated in any search engine.

Some tags that were already added:
http://www.cpanforum.org/tags/

Using such an external tagging system will get the load off the module authors.

Still,one of the my plans is to connect the tags to the PAUSE ids as well
so tags added by the maintainer of a module can be evaluated
differently than those of other module authors or just regular mortals.

Even if in the tags will be added to META.yml this system can be used
to learn about tagging preferences in the CPAN namespace.

Gabor


Re: Tags for CPAN modules.

2007-07-09 Thread Austin Schutz
On Sun, Jul 08, 2007 at 12:44:19PM -0700, Michael G Schwern wrote:
 One of the most common cries I hear from CPAN users is that they have trouble
 finding modules.  A CPAN module is largely found by its distribution name.
 Names have to be unique and short which tends to hurt its descriptiveness.
 Furthermore, a distribution can only have one name while a module could be
 described different ways depending on how you look at it.
 
 CPAN is organized as a simple tree hierarchy.  Hierarchies suck for describing
 the real world.  They allow for only one way to describe a thing and imply a
 hierarchy which may not exist.
 
 Let's un-overload the distribution name by providing another axis by which an
 author can categorize their module.  The single most dominant organizational
 tool of the web:  tags.  For a large, wide, decentralized library its simple
 and the least worst way to organize things.  It provides multiple axis to
 describe the use of a module and frees up the name to be just a short, unique
 descriptor.  Best practices for tags and how to work their strengths and
 weaknesses are well understood.
 

This is a super idea. It might also be nice to allow cpan.org users the
ability to associate tags (which could be overridden by the author) with
modules which don't have them. That would make it a lot easier to classify
modules which don't have very active maintainership.


Austin


RE: [SPAM] Re: Tags for CPAN modules.

2007-07-09 Thread Todd Rinaldo
I think both of these ideas sound great. I think Michael's got the long term
solution and Gabor has the short term solution. Both are probably needed to
get this idea off the ground. People need to realize the idea's usefulness
then you're not having to 'FORCE' them per-se to add tags at build time. 

So I think it's still left to a short discussion as to if/when/how the
META.yml tags get used. Do they override the ones manually entered? Do they
compliment them? Does one have a higher weight than the other?

 -Original Message-
 From: Gabor Szabo [mailto:[EMAIL PROTECTED] 
 Sent: Monday, July 09, 2007 12:35 AM
 To: Michael G Schwern
 Cc: List - Module-Build; makemaker; [EMAIL PROTECTED]
 Subject: [SPAM] Re: Tags for CPAN modules.
 
 On 7/8/07, Michael G Schwern [EMAIL PROTECTED] wrote:
  Let's un-overload the distribution name by providing 
 another axis by 
  which an author can categorize their module.  The single 
 most dominant 
  organizational tool of the web:  tags.  For a large, wide, 
  decentralized library its simple and the least worst way to 
 organize 
  things.  It provides multiple axis to describe the use of a 
 module and 
  frees up the name to be just a short, unique descriptor.  Best 
  practices for tags and how to work their strengths and 
 weaknesses are well understood.
 
  The implementation is simple, add a tags keyword to 
 META.yml.  Have 
  search.cpan.org so something interesting with that extra 
 information.
 
 While I think it would be good and module author could then 
 give some authoritative tags to their modules it would still 
 be the job of the module author.
 
 Many modules, especially the some old ones that are not 
 maintained will lack the keywords even if otherwise they are 
 perfect modules.
 
 
 Anyway I have just a few days ago added a tagging system to 
 http://www.cpanforum.org/ to tag the modules.
 In a few weeks I'll provide some way to download the 
 collected data and then it could be integrated in any search engine.
 
 Some tags that were already added:
 http://www.cpanforum.org/tags/
 
 Using such an external tagging system will get the load off 
 the module authors.
 
 Still,one of the my plans is to connect the tags to the PAUSE 
 ids as well so tags added by the maintainer of a module can 
 be evaluated differently than those of other module authors 
 or just regular mortals.
 
 Even if in the tags will be added to META.yml this system can 
 be used to learn about tagging preferences in the CPAN namespace.
 
 Gabor
 



Re: [SPAM] Re: Tags for CPAN modules.

2007-07-09 Thread Andy Armstrong
Todd Rinaldo wrote:
 So I think it's still left to a short discussion as to if/when/how the
 META.yml tags get used. Do they override the ones manually entered? Do they
 compliment them? Does one have a higher weight than the other?

I imagined them on a different axis. In UI terms that'd mean they'd be
visually distinct - but not necessarily more or less important. You
could get all 2.0 and have a tag cloud with a slider to adjust the
weighting of the two :)

I'd thought that the two sets would be orred together and an individual
tag could have supplied-by-owner and supplied-by-world bits.

 OW
xml  **
fabulous *_
rubbish  _*

:)

-- 
Andy Armstrong, Hexten


Re: Tags for CPAN modules.

2007-07-09 Thread Salve J Nilsen

Michael G Schwern wrote:


[..] add a tags keyword to META.yml.  Have
search.cpan.org so something interesting with that extra information.


What's the main difference between a tags keyword and the already-existing 
keywords field found in META.yml since rev 1.1?


  http://module-build.sourceforge.net/META-spec-current.html#keywords


- Salve

--
Salve J. Nilsen salvejn at met dot no / Systems Developer
Norwegian Meteorological Institute   http://met.no/
Information Technology Department / Section for Development


Re: Tags for CPAN modules.

2007-07-09 Thread Ken Williams


On Jul 9, 2007, at 3:49 PM, Michael G Schwern wrote:


Salve J Nilsen wrote:

Michael G Schwern wrote:


[..] add a tags keyword to META.yml.  Have
search.cpan.org so something interesting with that extra  
information.


What's the main difference between a tags keyword and the
already-existing keywords field found in META.yml since rev 1.1?

  http://module-build.sourceforge.net/META-spec-current.html#keywords


See, that's why I CC things around before I go ahead and do  
something stupid.


Ok, we'll use that.


Funny.  I, who presumably wrote that document, don't even remember it  
being there.


I was about to chime in and say that when an author provides their  
own tags for their work, I think of them as keywords.  The term  
tags has a connotation to me of user-generated labeling.  For  
instance, in academic papers, the author (or perhaps even the  
conference/journal editor) writes the keyword field.


I was quite glad to see a few days ago that cpanforum is adding  
tags.  The obvious problem is that it's just one site, and there may  
not be enough mass in the perl community to support various tag sets  
at various cpan-related sites.  I wonder if there needs to be (at  
some point down the road) some distributed merging of tags from the  
various tagging-enabled cpan metadata sites like search.cpan,  
cpanforum, perldoc, etc.


 -Ken



Tags for CPAN modules.

2007-07-08 Thread Michael G Schwern
One of the most common cries I hear from CPAN users is that they have trouble
finding modules.  A CPAN module is largely found by its distribution name.
Names have to be unique and short which tends to hurt its descriptiveness.
Furthermore, a distribution can only have one name while a module could be
described different ways depending on how you look at it.

CPAN is organized as a simple tree hierarchy.  Hierarchies suck for describing
the real world.  They allow for only one way to describe a thing and imply a
hierarchy which may not exist.

Let's un-overload the distribution name by providing another axis by which an
author can categorize their module.  The single most dominant organizational
tool of the web:  tags.  For a large, wide, decentralized library its simple
and the least worst way to organize things.  It provides multiple axis to
describe the use of a module and frees up the name to be just a short, unique
descriptor.  Best practices for tags and how to work their strengths and
weaknesses are well understood.

The implementation is simple, add a tags keyword to META.yml.  Have
search.cpan.org so something interesting with that extra information.

Here's some examples off the top of my head.

name:   WWW-Mechanize
tags:   [www, robot]

name:   ExtUtils-MakeMaker
tags:   [build, developers, make]

name:   Module-Build
tags:   [build, developers]

name:   DBIx-MyServer
tags:   [dbi, mysql, network, protocol]

name:   Convert-Age
tags:   [datetime]

name:   Incunabulum
tags:   [mvc, pluggable]

name:   Google-Adwords
tags:   [www, google, adwords, soap]

name:   LWP
tags:   [www, html, parser]

name:   CGI
tags:   [cgi, html, generator]

The particular tags will fluctuate at first (ie. web vs www) but will quickly
settle down, especially if aided by simple tag visualization tools like tag
clouds.

Unless someone screams NO, STOP! I intend to add this functionality to
MakeMaker.


Re: Tags for CPAN modules.

2007-07-08 Thread Ron Savage
Hi Michael

 One of the most common cries I hear from CPAN users is that they have
 trouble
 finding modules.  A CPAN module is largely found by its distribution name.

Right! And surely we can all recall cases of surprise upon encountering
useful modules whose name - at least initially - was unexpected.

 descriptor.  Best practices for tags and how to work their strengths and
 weaknesses are well understood.

So do you have a URL of a (choosing) tags tutorial? I'll bet no 2 people
will agree on which tags suit a set of modules, because the choice depends
on our personalities rather than depending on the code.

 The implementation is simple, add a tags keyword to META.yml.  Have
 search.cpan.org so something interesting with that extra information.

OK.

 The particular tags will fluctuate at first (ie. web vs www) but will
 quickly
 settle down, especially if aided by simple tag visualization tools like
 tag
 clouds.

I'd say they will diverge rather than converge. See for example module
names - it's that personal choice thing again. But that shouldn't stop us
making CPAN more useful.

 Unless someone screams NO, STOP! I intend to add this functionality to
 MakeMaker.

Do it no matter who screams!

-- 
Ron Savage
[EMAIL PROTECTED]



Re: Tags for CPAN modules.

2007-07-08 Thread Chris Dolan

On Jul 8, 2007, at 2:44 PM, Michael G Schwern wrote:

One of the most common cries I hear from CPAN users is that they  
have trouble
finding modules.  A CPAN module is largely found by its  
distribution name.
Names have to be unique and short which tends to hurt its  
descriptiveness.
Furthermore, a distribution can only have one name while a module  
could be

described different ways depending on how you look at it.

CPAN is organized as a simple tree hierarchy.  Hierarchies suck for  
describing
the real world.  They allow for only one way to describe a thing  
and imply a

hierarchy which may not exist.

Let's un-overload the distribution name by providing another axis  
by which an
author can categorize their module.  The single most dominant  
organizational
tool of the web:  tags.  For a large, wide, decentralized library  
its simple
and the least worst way to organize things.  It provides multiple  
axis to
describe the use of a module and frees up the name to be just a  
short, unique
descriptor.  Best practices for tags and how to work their  
strengths and

weaknesses are well understood.

The implementation is simple, add a tags keyword to META.yml.  Have
search.cpan.org so something interesting with that extra information.
[snip]


It is indeed a common request.  Note that cpanforum recently got  
basic tagging.  One advantage of dynamic, online tagging rather than  
static, META.yml tagging is that third-parties can tag actual usage  
rather than usage that the author anticipates.  Furthermore, dynamic  
tagging allows the keyword choices to evolve over time without  
necessitating a new upload.


I propose the following (with the caveat that I intend to implement  
none of this!)

  1) go ahead with Schwern's idea to add META.yml tagging
  2) merge those author tags with public tags created by cpanforum  
or the like
  3) if search.cpan.org or Kobes' site adds tag searching, work off  
that merged tag set while weighting the author tags higher if desired.


Chris