avdi / ppwm

A site to promote diverse pair-programming
http://www.pairprogramwith.me
223 stars 75 forks source link

Roadmap #2

Open avdi opened 11 years ago

avdi commented 11 years ago

I thought I'd kick off a discussion about where this site could go from here...

In my talk at Ancient City Ruby where I launched this site, I made a point of saying that I don't believe that promoting diverse pair-programming is ultimately a technical problem. The tools are there; it's more about getting to take the first step: putting out a virtual "welcome mat", and/or having the courage to ask another programmer "hey, can I pair with you sometime?".

I also feel that even if there are technical ways to facilitate the process, I'm not smart enough to predict what will be most helpful. So between that and a lack of time, I kicked off my campaign with a badge, a hashtag, and nothing else. If we need tools, I'd like to see the community evolve them.

Of course, with that said, naturally I have some ideas. Here are some of the thoughts I've had about where to with this site:

So what do you think? Got more ideas? Jump in!

jeffreybaird commented 11 years ago

Maybe something that sets you up to pair with a random stranger based on language preferences or something? Seems like a big barrier to entry is "having the courage to ask" as you put it.

driv3r commented 11 years ago

something like chatroulette for pp would be awesome probably, although it should be probably per topic or something that you are familiar with

slm4996 commented 11 years ago

I agree with @jeffreybaird Give us a place to list our desired topics, a way to show as available, and a randomizer to connect with interested parties. Maybe a brief alert containing the initiators desired goal for the session and an option to connect, deny or reschedule?

avdi commented 11 years ago

RubyPair is one resource for this (Ruby only, obviously)

avdi commented 11 years ago

...but one thing I've noticed about RubyPair is that there's never anyone "online". Maybe with enough momentum this could change, but my feeling is that people need to schedule appointments, not just look to see who's sitting around waiting to pair right now.

And having used ALL of the scheduling software, and settled on having a human being do the scheduling because all scheduling software sucks, that's one area I don't really want to get into.

Also, the "match-by-skill" thing makes sense except I'm worried about creating a tool that encourages silo-ing of people into tech communities - the very thing I'm trying to break folks out of. Granted, in many cases it probably makes sense to pair in a language both are familiar with, but even with languages there's a place for sessions where someone is getting the hang of a new language.

I dunno. I want to help people match up, but I just want to do it in a way that encourages diversity, not just like-matching-like. Thoughts?

avdi commented 11 years ago

Oh yeah, something else I've thought of:

It's great to have a list of resources, but they can be bewildering for someone new. I'd love to eventually evolve some "golden path" instructions for people who want to remote pair and don't want to have to think about it too much. Tools to use, how to get set up, and even maybe some recommended programming exercises/katas if they don't already have something in mind.

mattr- commented 11 years ago

:+1: to "golden path" instructions.

kulesa commented 11 years ago

What about some kind of multiplayer game lobby? A place where you can create a 'game', that is, an open request for pairing with some parameters (maybe, the desired language or toolset, or skill level, or a project or feature you want to work on) or join existing 'game' created by someone else. It probably should also have a chat and let you invite friends, and stuff like this.

And I just thought... That would be a killing feature: some multiplayer games let you 'spectate' to an ongoing game. How cool it would be to join as a spectator to an public pairing session? It could use Google Hangouts to share video and sound and something like ascii.io to share terminal.