http://www.perlmonks.org?node_id=749906

I'm a newbie (at least with respect to time) and have only been active on PM for a little over two months. If this post reflects my ignorance, please pardon it.

In that short time I've seen several posts about how to improve PM. From the outside (of the cabal that is), it looks like all these suggestions get made and lost. Sometimes you will see hints in the chatterbox (CB) of someone working hard to implement a suggestion - Corion's WSYIWYG editor project comes to mind. When some improvement project is completed (rather than in-process), there is that link to site news buried in the site information nodelet. But that is about it for feedback.

The worst part of this is that it gives the appearance that no one cares. That is really bad, because (a) people who want to help get discouraged by the lack of response (b) it is unfair to the people who do care, of which, I think there are many. It is more than obvious to me (who spends *a lot* of time observing the CB and is utterly fascinated by how PM functions as a community) that PM survives because of a dedicated core of very hard working volunteers. For both (a) and (b) to be true something must be disconnected that shouldn't be.

It is also bad because there are probably a lot of people that would be glad to help, if only they knew what help is needed. Many would also be less frustrated with things they don't like, if only they could see the list of higher priority things that still aren't done because of lack of resources (human/money/other). Some might even be willing to volunteer for the cabal or at least to take on small tasks under the supervision of one of the cabal groups, if only they knew.

Now, perhaps things look different from the "inside" (of the cabal). I have heard of wikis and other organizational tools for the cabal, so there might be a lot that an outside-of-the-cabal monk is missing. But I also sense (via CB and scanning of posts) that there is some frustration among some monks that are part of the cabal as well.

So now I'm wondering:

And finally, how can I (and others) take the best ideas from this discussion and help them move from words to action?

Thanks in advance, beth

Replies are listed 'Best First'.
Re: Process for Site Improvement (meh)
by tye (Sage) on Mar 11, 2009 at 16:36 UTC

    Changing code on PerlMonks is a pretty horrid experience (for a lot of reasons that I've written about before and that I won't take the time to discuss in detail at the moment). There are dozens of people in pmdev who almost all, at one point, expressed a desire to help change PerlMonks code (some just wanted to look at the code). I believe jdporter is the only reasonably active member and we have never had more than a few active members (excluding the gods who have a rather less horrid experience in changing PM code but still not a pleasant one).

    So I'm sure there are many willing to help, in abstract, but I'm pretty sure that there are almost none that would be able to help, in practice (in part because people have real lives and must choose where to spend their "free" time).

    There are even more people who are eager to help with the meta-problem of them not perceiving that "improvements" are implemented as they'd like. Get in pmdev and actually successfully submit patches and you'll have a partial understanding of the interconnected issues (or do the research to find previous discussions of many of the issues, no, that won't be trivial).

    Actually, I believe that there have been several times when changes have been made too quickly. So I am unhappy that working on PerlMonks is so difficult and thus frustrating and that this has prevented a reasonable critical mass of PerlMonks developers from forming (and I blame my personal lack of time commitment also), but I don't really see a big problem with the admittedly slow pace of feature changes here.

    I personally probably spend more time on performance problems (which involves an unfortunate amount of effort on political problems). I'm not a blogger by nature so the vast majority of this is not done on any stage and is only made public when there is some interesting outcome to report (which is rarely, and some "outcomes" don't warrant a report).

    The current state is the sad state of: a (relatively) rare effort by some pmdev (jdporter is remarkably persistent, thank you) requiring one of the gods to analyze the code (which was probably never tested) so that they can assess whether it is likely an improvement and then apply it and test it and try to give feedback to the author of the change before reverting it, etc. Add to this the desire that gods not be too meddlesome by nature...

    Anyway, feel free to join the long line of people who have promised to rewrite or re-invent the site or whatever, most of whom I haven't heard from recently (many of their projects actually came to exist and have since disappeared, and many of those I miss). The best route to making a real change at PerlMonks is to hang around a good long time and demonstrate an understanding of what makes PerlMonks a success; this helps you get into pmdev; then make a bunch of good changes while showing a temperment well away from rashness so you can eventually join gods where you can eventually lead the development of the site following a reasonable design vision.

    In the mean time, I wish somebody would work on implementing the modest improvement of "patch appliers" that I suggested in order to marginally improve the current worst aspect of our work (yes, I would increase my time/attention commitment for such).

    - tye        

      Thank-you so much for taking the time to reply. It hardly needs to be said how important your perspective is.

      Anyway, feel free to join the long line of people who have promised to rewrite or re-invent the site or whatever,

      I don't believe I have any grand ideas about how to rewrite or re-invent the site. There is a long distance between wanting to understand more and having a genuine vision of a way forward. More importantly, any idea with staying power would have to come from the community and not from one individual. Even if one person speaks the idea, it only resounds if that person is merely putting into words the well-formed or even half-formed thoughts of many others.

      So for now, I hope you will be ok with my taking on the role of the questioner and learner.

      Best, beth

Re: Process for Site Improvement
by bellaire (Hermit) on Mar 11, 2009 at 15:41 UTC
    I'm even newer than you are, but I've noticed much of the same thing. There seems to be a sort of withdrawn sadness about the whole site... Which is terrible, because Perl people are genereally very amiable and gregarious (or at least gregarious ;)

    I would venture to say that people aren't excited by the content of the site anymore. As jeffa observed on CB earlier today, there are tons of the same old questions coming in ... "I'm having trouble doing X with Perl, can you help?" ... And a handful of people preaching to the choir about things like Testing and Code Review Standards. I think the latter are actually quite excellent posts, which required time and care and thought, but the responses were lukewarm at best. And I think it's because people are new and don't know what they are supposed to make of it, or they're old and have heard it all before...

    It seems as though the site lacks a raison d'être. Is PM a help desk? Or is it just a gathering place, like an IRC channel on steroids? Or is it just a historical artifact from an earlier time on the internet? I think the problem for the "old guard" is the "seen it all before" syndrome, they're tired from fighting the same battles over and over again. I can only imagine that it gets old telling people how to dereference a hash before passing it to each by the 100th or 500th time. On the other hand, the new people (like us) are looking for direction, but there isn't a lot to be found. How can we help? Can we help? Should we even bother?

    So, to me, while improving the site is a great idea in itself, it's also something that can address the other issue: how do we get people excited about PerlMonks? How do we make people feel as though they're involved? What's happening here that people want to get involved in, things that are interesting, fun, challenging, things that build a sense of community? Wikipedia has ongoing projects to solicit and improve content, maybe we need something along those lines here. Maybe we need some kind of contests or games... I don't know. I don't want to put myself too far out there with suggestions, because as I said before, I'm new here, and I'm a little lost. :)
      It's a discussion forum that accepts help-desk questions among other forms of dialogue. One should expect upon asking a question that the question, numerous possible answers, and sometimes self-help advice for the inquirer will be handed out, debated, and commented upon, rehashed, and archived for later searches.

      Homework questions should be labeled as such so the person asking can be helped with research and analytical skills needed to finish the work independently. This is true for people learning the language itself even if the homework is self-assigned.

      For someone asking for introduction to concepts or implementations of a concept that already exist, multiple options will probably be proposed. That only one is needed is not the point of the site. That there are options to discuss for the benefit of both the current seeker and future seekers is.

        Thanks for the clear explanation. I think what I was trying to get at was that the site seems to promise to be much more than a discussion forum for help with Perl, but the level of "other forms of dialogue" seems to have been ebbing, when looking back at older nodes compared with current.

        Maybe a bizarre analogy will help... Visiting PerlMonks is like visiting the house of an old, retired wizard. Lots of supplicants come by to ask questions, and for the most part they are answered. Sometimes they are disrespectful and are reprimanded. But if you look around the house, there are tomes, scrolls, trophies, magic items +5 and better, but all disused, sitting around gathering dust. It's as though the grand adventures are all over. Maybe I just joined during a slow phase, I don't know. Am I getting a wrong impression?
Re: Process for Site Improvement
by mr_mischief (Monsignor) on Mar 11, 2009 at 16:08 UTC
    One problem those of us who've worked with volunteer-based organizations quite a bit tend to find is that more low-level volunteers take up more time to organize and supervise. Someone has to do that supervision and organization, and it usually ends up being one of the people who was doing a large portion of the work. So by taking in too many volunteers too quickly, you actually lose productive time from your existing volunteers. It's often better to take in a few volunteers at a time and get them up to speed so they can work with little supervision, even though that is often frustrating. I can't say that's currently a concern for PM, but I wouldn't be at all surprised if it was. It's quite a common issue.

    One thing you might want to do is check the screen names of monks who make comments in PMD threads against the lists of gods, pmdev, and the other cabals. They comment under their regular individual monknames, but their opinions often reflect their positions as members of those groups. I know Corion, jdporter, and tye comment on feature requests quite often from the top of my head. I'm sure others do, too. It could be that you're frustrated in part because you're just not recognizing the official weight of some of the comments because they don't come from a formal office worded as official announcements.

    If you're really excited to help, you might want to volunteer yourself. Perhaps you could start with something supporting PM from the outside rather than trying to jump into site development right away. Lots of monks have code that track stats, is suitable to place in the Free Nodelet, or that does something equally interesting with the XML feeds. I think it's understandable that some time invested in PM as a user and such are a basis for admission to some of the groups responsible for running the site, but that doesn't keep anyone from giving back through other means.

    I'm glad to see you're so enthusiastic about PM. It really is a great site. I recently went over the eight year mark here, and I'm still sometimes learning new things not just about Perl and how the other monks think about Perl (which is often just as fascinating). I'm also still learning things about PerlMonks itself. tye taught me something useful yesterday about the site in the CB in fact. He informed me that the [SoPW] (SoPW) link goes to a node that links to Seekers of Perl Wisdom and Posting on PerlMonks and explains SoPW, and even tells people that the new question form is at the bottom. I was previously unaware of that two year old node that's very handy for mentioning in the CB when new monks ask where to ask a question.

      Thank you so much for taking the time to share your thoughts. I found this particularly thought provoking:

      One problem those of us who've worked with volunteer-based organizations quite a bit tend to find is that more low-level volunteers take up more time to organize and supervise.

      This is also my experience, but I see it as a challenge that we need to address rather than a show stopper. When a group is small, organization is largely implicit - people chat on a post or in the CB or in real life over lunch and poof! things just happen. But when groups grow, process and structure has to become more explicit. Finding the right structure, especially in volunteer communities, takes a lot of dialog and even maybe some research into how other communities, especially on-line communities, handle this issue.

      If this doesn't happen, then the percentage of people carrying on the volunteer work shrinks as a percentage of the people carrying the project. At the same time the amount of work increases; the complexity of coming to consensus increases; and the risk for people to feel marginalized (or burnt out) increases.

      Contributing to something helps people feel ownership. The more ownership, the more commitment. The more commitment, the greater the likelihood that someone will volunteer in a manner that can really win the trust of you or tye or the gods. And the core group widens. So with the right structure, we can create a virtuous cycle rather than an exhausting one.

      Best, beth

      Update: as per mr_mischief's comment about possible misinterpretation.

        Just as a note, your last paragraph could be misinterpreted to include me with tye and the gods. Winning my trust would be nice, but it's neither sufficient nor necessary for joining one of the orders.

        I entirely appreciate your enthusiasm about improving the process. I'm sure you can understand tye's reluctance to rush people into positions that could be abused, too. Perhaps something that includes more volunteers faster than what we have now, but still slowly enough that they can be trusted and properly mentored would be a good compromise. If you have notes on how other groups work more smoothly in organizing volunteer resources, the gods would probably like to know. I can't speak for them, though.

Re: Process for Site Improvement
by jdporter (Paladin) on Mar 12, 2009 at 12:29 UTC

    I'm really grateful for all the other responses so far in this thread, particular the opener by bellaire and the latest one by tye. They address the high-level issues brought up by elisheva. So here I go:

    Is there a PM "wish list" posted anywhere?

    Not as such. The closest thing would be the Tutorials Quest, which is specific to the Tutorials section. For other "solicited feature requests", the gods used to use the Quests section, but that has only been used for polls for several years now.

    For unsolicited requests, it's pretty much just this section, Perl Monks Discussion.

    Various cabal groups, such as pmdev, have their own internal "to-do" wikis... but in fact, all of these are stale. They probably contain lots of good ideas which people raised years ago, so I wouldn't say they're completely worthless in their current state.

    Is there a way we could use technology to help with the tracking and prioritizing of suggestions?

    It's not a technological problem, it's a social problem. I believe we have sufficiently advanced technology already. :-)

    That said - A wiki for (approved) general site feature requests, analogous to the narrow-purposed Tutorials Quest, might be nice. OTOH, it would probably serve one purpose predominantly: to show the user community just how slow/ineffective the site maintainers are. :-)

    If someone really felt motivated, they could go through all the old PMD threads looking for likely suggestions. The criteria for a noteworthy candidate would be that (a) it received a good positive concensus, especially from any gods who weighed in; (b) it hasn't already been implemented; (c) it hasn't been rendered moot by later developments (i.e., OBE). Because PMD is used for other purposes as well — asking for help, reporting a bug, general venting — this will be a monumental task. But anyone who even begins such an undertaking will, I feel certain, enjoy it and will learn a lot about why PerlMonks is the way it is now. (Update:) One could start by searching for PMD nodes containing the string "we need", for example.

    Between the mind which plans and the hands which build, there must be a mediator... and this mediator must be the heart.
      If someone really felt motivated, they could go through all the old PMD threads looking for likely suggestions.

      I have actually started working my way through one particularly fertile thread full of suggestions and feedback: PerlMonks for newbies?. I'm about half way through and so can make a few observations about the work flow involved.

      The document I've been assembling lists each suggestion I found, followed by a list of comments related to that suggestion. Each comment identifies the monk, the note where the comment was found, whether the monk was for, against, expanded on the idea, or some combination of the above. Monks tend to be thoughtful, so they rarely simply say yea or nay.

      I'm currently doing this in a text editor opened side by side with the browser page. There are several things here that slow me down:

      • My text editor doesn't speak PM mark-up so I don't have any quick feedback as to whether I've formatted something correctly. That means I'm going to spend a lot of time just cleaning up format. What would be nice for this kind of work would to have extra private scratch pads that I could open side by side with a PM note.
      • Transferring the monks name and note id to my text file is slow and error prone. If there were a way I could press a button and see the id and author of a note appear in my scratch pad that would save lots of time.
      • An alternate approach (if we had the technology to support it) would be to tag and highlight selected portions of the text, but I'm not sure how useful this would really be. It turns out that a fair amount of work is involved in summarizing and categorizing suggestions. Most peoples eyes (especially mine) blur when lists don't have any narrative to help one categorize and remember the various ideas therein. I find that cutting and pasting in a text editor is the easiest way to create those categories and narrative.
      • Part of the reason this is true is that there are no well defined categories for suggestions - I'm making them up as I go. I suppose we could develop a coding system. That would facilitate multiple people getting involved - provided they would be willing to learn it. On the other hand that might hinder as much as help: it ups the learning curve for volunteers. More importantly, some of the best suggestions push things in a new direction that makes one rethink categories. What would we do with such out of the box suggestions? I think we need a history of free-form experience with this task before we can decide if a coding system is a good idea, or come up with a coding system that really works. So for the short term, tools that facilitate free-form categorization would be most helpful.
      • Where per-note tagging would really help would be in identifying lists of nodes that should be mined for suggestions. Tagging could also help volunteers keep track of which notes had been mined and which still needed mining. As notes progress, we simply change the tag to reflect that.
      • For tagging to work as a process management tool, we would also need a page that had a links to lists displaying nodes in each stage.

      Just some thoughts.

      Best, beth

        I've started using the It's All Text! Firefox extension.

        It lets me click the "edit" button on any textarea and modify it in my editor. Then clicking 'save' in the editor magically updates the textarea.

        This combined with the surround and repeat Vim plugins makes node editing much less work than it used to be.
      If someone really felt motivated, they could go through all the old PMD threads looking for likely suggestions.

      Sounds more like something a robot should do. One that is good with manipulating text and has plenty of already written code that can assist with traversing websites and such. :P

      I'm not sure if that joke is overused here…

      And you didn't even know bears could type.

        If we had a working tag system, we could tag various PMDs as feature_request, bug_report, general_rant, and so on.

      Various cabal groups, such as pmdev, have their own internal "to-do" wikis... but in fact, all of these are stale. They probably contain lots of good ideas which people raised years ago, so I wouldn't say they're completely worthless in their current state.

      I recently went through the pmdev to-do wiki and deleted all of the items which are "done" or "OBE" (no longer relevant). I then added all of the things I've been collecting on my personal pmdev to-do list. So, hopefully, the pmdev to-do wiki is now not completely worthless. :-)

      Between the mind which plans and the hands which build, there must be a mediator... and this mediator must be the heart.
Re: Process for Site Improvement
by moritz (Cardinal) on Mar 11, 2009 at 15:47 UTC
    You can always request to join pmdev and help to improve this site.

    As far as I can tell the development model is mostly "if somebody cares for a feature, she writes a patch" (which is not unusual for open source projects).

      Was that an invitation? :-)

      Fair enough, but how would I tell which project is most needed and worth spending time on? That's the one I care about. And maybe I would be of more value to some other cabal group? Truth is, my need to prioritize my own time and where I offer to help is part of the reason for this post, but I kept that out of the original post because I didn't want to become the focus. There are issues here that go beyond me, as Bellaire (and Tye and Mr_Mischief) point out.

      Best, beth

        Was that an invitation? :-)

        I'm not entitled to hand out invitations, but I've heard the pmdev is a fairly safe group to join; you can't destroy anything, just submit patches that a god can apply.

        but how would I tell which project is most needed and worth spending time on?

        Ask four monks, and you'll get a least five opinions. I think you need to be the judge yourself. Maybe your first project could be to set up a mechanism to determine which project to tackle next...

      I was looking up the process to join a group - I have a strong interest in joining pmdev - and was wondering about the specifics. Do I /msg gods or msg a particular individual?

      Update: Incidentally, the directions at What are PerlMonks Orders? are clear enough. I just need to trust the English language a little more.

        Update I see you linked to that in your node now. Sorry to reiterate. Asking a member of the group for advice on joining before messaging a whole might not be necessary, but it would be polite and possibly helpful.

        Please see What are PerlMonks Orders? for more information about the orders and how to go about applying.

Re: Process for Site Improvement
by Anonymous Monk on Mar 16, 2009 at 13:06 UTC
    The perlmonks site, and perl itself, seems to follow the lazy developer vein. It's not bad as a general practice, but not it's horrid as an absolute one.

    1) If you want something badly, do it yourself. Most monks, myself included, won't do anything w/o insentive.

    2) perlmonk's code is in the db. read that again. there's no source repository you can download it from. Sure, they diffs are IN the db, but you can't download it and hack at it. It's a case of the tools inhibiting the developer. perl itself seems to have this problem.

    Honesetly, your request will only teach you to query for pmdev status and then have to be very self motivated. There's no comradeship to help promote ideas.

    You won't see shiny new ideas implemented much here, outside of modules. The effort to make things pleasant is just not there.

      The effort to make things pleasant is just not there.

      That is a rather blanket statement and horribly unfair to the people who are trying against all odds to make a difference. There are some real challenges here and they can't just be addressed by waving magic wands or brute force.

      Being stalled and puzzled while one tries to figure out solutions to complex problems (like a codebase infrastructure that makes integrating new developers difficult) is not at all the same thing as not caring.

      In the same vein being hesitant to contribute because you don't see where you are most needed and can make a meaningful difference isn't at all the same thing as not wanting to contribute in the first place. Hesitancy is just common sense: no one wants to spin their wheels. But it is also a solvable problem - all organizations go through phases where they are better or worse at making changes. And this one has shown, at times, extra-ordinary strength in its ability to reinvent itself (changing the experience system and monk levels comes to mind). The monastery does not lack in either brains or social skills (it has rather a lot of both). We have the capability - we just need to focus it.

      You could do a lot to help focus it, by saying specifically what specific events, history, or actions (or absence thereof) lead you to feel that the will to improve things isn't there. Your comment about what made working creatively with the code-base difficult for you to work with is constructive. What other concrete observations do you have?

      Best, beth

      There's no comradeship to help promote ideas.

      That is false.

      ... outside of modules.

      Modules? Now I have to think you just don't know what you're talking about. But I am glad that even Anonymous Monks can meaningfully participate in the discourse.

      | | V won't do anything w/o insentive. ^ | |