avdi / ppwm

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

Contact Form #9

Open avdi opened 11 years ago

avdi commented 11 years ago

Here's the basic idea:

  1. I click "Get Your Badge!" or something like that
  2. I sign in with Github
  3. I fill in some bare essentials:
    • Email address
    • Time zone
    • Times of day I'm usually free
    • A free-form, markdown "notes" field. This should be pre-populated with some "golden path" defaults about how to pair with me, but it lets me customize what it says to reflect how I prefer to work. (This bit subject to change...)
  4. I click "Save" and am presented with an embed code to drop into my website and a URL to share on Twitter, etc.
  5. You click on my "Pair With Me" link on my website.
  6. You are taken to a page which shows the "notes" info from above. It also prompts you for:
    • Your name
    • Your email
    • Your time zone and available times
    • What you're interested in pairing on.
  7. I get an email summing up all of the above info, and can continue the conversation via email (or not...)
reinh commented 11 years ago

Alternatively, the badge creates your profile and you can add timeslots to your profile. Then people can click "Pair With Me" and see your profile, including the timeslots when you're available. But ofc you dislike scheduling ;)

avdi commented 11 years ago

I might be swayed eventually, but I'll counter with this: there are lots of mature timeslot scheduling apps out there, if you dig that sort of thing. The "notes" section would be a perfect place to put a link to your preferred scheduling solution. That way if, e.g. I prefer Google Calendar Timeslots (or whatever they called it), because Google Calendar is all I use, I can just put a link in the notes rather than cursing ppwm for introducing a 2nd scheduling tool into my life :-)

reinh commented 11 years ago

@avdi That's fair, and being scrappy like that totally helps us focus on the main value proposition. What I'd really like is for people to be able to discover projects and people they could pair on and with. What about using the GitHub API to determine the public projects users have and languages they use so we can let other users discover "Ruby" developers, etc?

Edit: basically what I want is for the app to focus on two use cases:

  1. I want to announce that you can pair with me.
  2. I want to find people with whom I can pair.

I think this is pretty close to your goals as well. It seems like (1) can be accomplished via a badge and GitHub login. It also seems like we can leverage GitHub's metadata about our users to help enable (2). To the extent that we can leverage external tools like GitHub, scheduling systems (Google Calendar), and email rather than inventing our own wheels, I agree that we should do so.

avdi commented 11 years ago

Yeah, I think our goals are more or less aligned. If you find me dragging my feet at any point, it's because of how I've decided to go about accomplishing those goals. Let me 'splain. (This will be a little offtopic from the ticket at hand, but so it goes)

I've consciously set out to push on the culture and see if technology comes out of that, and help it if it does. As opposed to pushing on technology in order to change culture. Toward that end, my first and foremost goal right now is to raise the profile of diverse pairing. I want it to be A Thing That People Do. Which is why the badge and the hashtag were my first "features", and why some of the other stuff I've put high up on the roadmap is more about visibility than about actually hooking people up.

I have a possibly-BS theory that if we succeed in raising the profile of diverse remote pairing, connecting people will become a non-issue. I say that because I think most developers have someone they'd like to pair with, if they think about it for a second. E.g. If they have a favorite OSS project then they probably would love to work with one of its creators. It's just never occurred to them to ask, or they feel afraid to ask.

So "phase 1" if you will, in my mind at least, is all about hearts & minds: making diverse pairing A Thing, making it less scary, getting high-profile developers to put out the welcome mat, getting people to tweet about that great pairing session they just had, etc.

If phase 1 is a success and people are still having trouble finding pairing partners then I want to help with that. But I want it to build those features to support the need, rather than trying to build the need by building the features.

Make any sense?

reinh commented 11 years ago

@avdi It makes total sense, and I just had an idea of how technology might help drive that plan:

The "Get Your Badge!" button could connect the user via GitHub, ask permission to use their email, and generate a custom "Pair With Me!" embed code that they could use on their site, github pages, etc. This would also start to build a database of people who have opted in that we could then leverage in other interesting ways (like by building a directory).

avdi commented 11 years ago

Yep, the directory side-effect was something I'd thought of as well :-D