My Power Toy / Open Source Interview is now live on Port25

My video went live today.  You can find it here at

http://port25.technet.com/archive/2006/06/29/2666.aspx

Let me know your thoughts.

(Pls note that i’m currently out of office attending my 10 year high school reunion in Waveland, MS – Katrina Ground Zero, so expect a delay in response time.)

Korby’s Port25 Interview on CodePlex

Check out Korby’s Interview on CodePlex on Port25, a variation of a Channel 9-style website to hold discussions regarding Open Source and how it relates to Microsoft.  The transcript hasn’t been posted yet, so here’s a (rough) breakdown of the discussion timeline.

I’m sure Korby would love to see some comments….

Korby’s Interview

0:00 – What is a Product Manager

1:00 – What is CodePlex?

1:45 – What is your history at Microsoft?  – begins with Visual Source Safe

4:30 – History with blogging

6:15 – More on CodePlex

9:10 – CodePlex versus GotDotNet

12:00 – Where did the name CodePlex come from?

14:15 – CodePlex Architecture Overview (Begins describing TFS)

22:40 – What makes CodePlex not a web interface

26:10 – Wiki Functionality

28:00 – Homepages on CodePlex

30:00 – Projects on CodePlex

31:00 – Korby’s Favorite projects

33:44 – External (non-Microsoft) Projects on CodePlex

35:00 – Wrap up – CodePlex as a community resource

hint hint, you may see a power toy interview up there very, very soon…

Heading Back to Katrina Ground Zero 1 year later / BlogHer Presentation Outline

I’m headed back on this Friday for my 10 year high school reunion to be held hopefully somewhere.  The school’s website hasn’t been updated with the latest details, so a bunch of us are just going to meet up at the Crab Fest after the Race to Rebuild.  I’m still not sure whether to sign up for the 10K and just walk the last 5k, or just run/walk the 5k.  it is very, very hot down there this time of year.

While I’m down there "on vacation" i’m going to work on my BlogHer presentation.  Here’s a very, very rough outline thus far.

  • What role did blogging play during Katrina
    • My blog as an example of (unexpected) stories
    • How specific communities created blogs to find out about members (like Bay Waveland Yacht Club formed a blog just to find out about people)
    • Roles of blogs in the clean up assistance / information collection (to fight insurance companies against the wind vs water controversity)
  • Lessons learned – if I knew what I know now, I would have done, x, y, z.  In other words, I’ll talk about how to get prepared for the next big one.

Other ideas?  The feedback i got from other Bloggers is to tell stories, and i have a lot of those.  Since i’m going down there, if there’s specific info you’re curious about, just let me know.  For example, how many people are reading blogs, and if so, which blogs have they found useful? 

Signed versions of the power toys available on MS Downloads

In case your organization requires installing only signed binaries, we’ve provided code-signed versions of the Power Toys on MS Downloads.  If you do not require installing signed binaries, we strongly encourage you to download the power toys from CodePlex, so you can join the community there, get the source code, raid bugs, get the latest updates, etc.

Note that both versions (MS Downloads and CodePlex) are identical, except for the fact that these have been signed.

Signed versions locations

Power Toys for Visual Studio FY07 Goals

Last week Josh posted his Developer Solutions FY07 success factors draft and asked me to write-up the FY07 goals for the power toys.  I worked with everyone on the team to ensure their personal goals and ideas were reflected below, so I’m proud to present a killer set of goals for the upcoming year.

Questions, comments, thoughts, ideas, and devil’s advocates are always welcomed.  Spam is not.

Deliver Great Developer Power Toy Solutions

Over the next year, we’ll continue to deliver great power toys as Shared Source releases, addressing developer pain-points and providing great serviceability tools. 

  • Provide 5 power toy solutions for FY07
  • Establish a consistent power toy development cycle
    • Use SCRUM to ship every 6 weeks. creating a software development lifecycle
      • Alpha release
      • Beta release
      • 1.0 release as Shared Source
      • 1.1 release as collaborative-development
    • Ship high-quality pre-releases and final releases every 3-4 months per fulltime developer, including
      • FXCop-clean code, unit tests for mainline functionality
      • well-written, documented, extensible source code
  • Define power toy success metrics, including the overall solution to the pain-point, releasing the power toys as Shared Source, and allowing for collaborative-development participation.
  • Define targeted solutions to Product Feedback Center-reported issues that address customer pain-points
    • Define a team tagline of  “We provide solutions to the top x most suggested pain-points on the PFC”
  • Extend the breadth of technologies our tools cover
    • Target a solution for each development area for FY07.  We’ve already targeted MSBuild, ASP.NET, TFS Administration, and debugging.  Need to pick other development areas to target, like IDE, other supportability tools, SQL Server, etc.
  • Define the release criteria for each power toy we ship

Enable DevDiv participation in Shared Source Releases

Power toys don’t just have to come from the Developer Solutions team alone.  We’ll pave the way for other teams in the division to ship their own power toys.

  • Encourage and support DevDiv product groups to develop their own Shared Source releases
    • Partner with division’s release team to come up with a set of guidelines for shipping Shared Source Releases
    • Assist at least one DevDiv product unit to ship their own Shared Source release
    • Give internal brownbag presentations on Shared Source
  • Partner with legal and upper-management to provide solid business rules for shipping Shared Source
  • Provide a mechanism for the power toy communities to influence product design
  • Increase the ways we source power toy ideas
    • Get ideas from key customers for Visual Studio and other developer-related products
    • Get ideas from internal tools

Empower and Drive Community-Developed Solutions

We don’t just want to throw code over the wall.  We plan to build a community around both the tools themselves and the idea of contributing your own Power Toy to the collection.  These goals define how we plan to grow a self-sustaining community around the Power Toys for Visual Studio.

  • Provide excellent overall customer experience on CodePlex when using our Power Toys 
    • Provide build and test verification scripts to ensure high-quality submissions
    • Maintain a high level of visibility and accountability to customers during tool development and after tool has shipped on CodePlex 
    • Publish well-written Test Plans, Specifications, and Technical Design Documents
    • Investigate a Power Toy Check-in Driver for automatic build verification, unit test runs, and check-in submission
  • Release all automated tests and infrastructure as Shared Source
  • Provide a solid Incorporating Your Tool into the Power Toys for Visual Studio Collection Guidelines to encourage community-created power toys
    • Provide a mechanism for customers to submit their power toy suggestions directly to the Developer Solutions team
  • Drive improvements, requirements, and suggestions to CodePlex
  • Define a power toy marketing strategy
    • Define clear incentives for participation 
    • Power Toy Coding Competition 
    • Power Toy Presentations and Power Toy Booths at conferences
    • Swag (Power Toy Action Figure, Hats, etc.)
    • Power Toy Homepage on MSDN
  • All team members have active blogs to increase team and power toy development transparency
  • Partner with key members to build the power toy community (including MVPs, Academia, CTP users, Channel9′ers)
  • Provide walkthroughs / whitepapers for pain-points we experience while developing the power toys, i.e. how to use a given SDK, etc.

Developer Escalation Model for Power Toy projects on CodePlex

The current CodePlex design provides an all-or-nothing access model to the source control repository.  Either I give users full access to check in their code contributions or I (or another project developer) check-in the code on their behalf. 

Before we begin, here’s a brief overivew of the different users on CodePlex, so you’ll have appropriate context for this blog entry.

  • Anonymous – anyone can download source code, releases, etc
  • Registered user – can open work items, leave comments on the wiki and other bugs
  • Developer – has full access to the source control repository, wiki access, close bugs
  • Coordinator – project admin, does everything a developer can do, but also can create releases

Here are the pros and cons of both approaches as I see them apply to our Power Toys efforts.  (Note: our Power Toy FY07 goals will be posted shortly, so soon it will be clear what we’re trying to achieve here.)  Also note that for other open shared source projects (maybe even some of our future power toys), these pros and cons could / will be totally different.  

Members-only – no one has access to the source

  • Pro:  The Power Toy developers approve everything, ensuring high quality check-ins, no build breaks or broken mainline functionality.
  • Pro:  No one can check-in without a Power Toy developer knowing about it before the check-in goes through
  • Con:  There’s a cost to the Power Toy developers to monitor everything, do check-ins on the contributors behalf, and so forth.  This cost implies a longer turnaround time to get your contributions checked-in.
  • Con:  A precedence is set that the Power Toy developers will do everything on the user’s behalf, where what we want really is to have the community control the project’s direction.

Free-for-all – everyone has full access to the source

  • Pro:  Less overhead for community contributors to check-in, implying a faster check-in turnaround.
  • Pro:  The community begins building a reputation / credibility system, where bad check-ins discourage future check-ins (I hope!) and good check-ins encourage more check-ins
  • Con:  Giving anyone full access to anything should make any administrator (or Coordinator in CodePlex-speak) feel nervous
  • Con:  May need to remove someone as a developer if they do something malicious or continuously check-in bad code.  My thought here is I would rather make it more challenging to become a developer; rather than making it easier to get kicked out as one.  

My blogger-sense is telling me I need to have more of an in-between moderation model.

Gatekeeper – anyone can check-in, but the coordinator and/or a developer must approve the check-in

  • Break out the current “developer” access role into “Developer” and “Contributor”.  Developer has full access, just like they have today, but a Contributor cannot check in until either a dev or coordinator approves the check-in.
  • Slightly-less overhead for the Power Toy developer than the Members-only approach, since coordinators can check-in directly
  • Power Toy developers get a heads-up to incoming check-ins

Since CodePlex doesn’t have this notion of Developer versus a random contributor (and I’m not trying to imply this is a limitation of CodePlex – this is just my “wag” at a model that works for my team and our goals), I’m trying to solve my all-or-nothing dilemma by introducing for the time-being an Developer Escalation Model.

Power Toy Developer Escalation Model?

The million dollar question- How does one become a developer on a Power Toy CodePlex project?

My current thoughts are (and please let me know if you agree / disagree – it’s your community too)

  1. A code contribution request comes in (following the instructions on the project wiki)
  2. Either someone internally or another Power Toy developer investigates and approves the check-in
  3. The Power Toy developer checks-in the code on the user’s behalf after
    1. 2 or 3 successful check-ins at the bug-fix level 
    2. –or– after 1 significant feature request check-in
    3. –or– after lots of participation in the Power Toys forums, comments on the Issue Tracker, etc.
  4. the power toy coordinator grants the user with developer rights. 

Also, if someone is just going to contribute 1 check-in ever, I probably don’t want to make him/her a full developer.  I want the list of developers for the project to be viewed as an “active” list of developers.   It also feels unnatural to grant people full developer access for the rest of time if they are just going to make one check-in.

So, for those who have been at collaborative-development longer than I have (which for me has been 1 month now), am I on track or am I totally missing the forest for the trees by over-engineering this entire process?

Thoughts?

Oh the pain – World Cup US v Czech Republic 0-3

There’s nothing worse than watching your team lose a soccer match than not being able to scream at the TV while they are losing.  I watched the US vs Czech game on campus in the local café this morning, but to my surprise and disappointment, it was quite empty.  Maybe 15 or so people came out to watch.  The guy next to me was the only vocal one (and sometimes quite wrong), so I held my emotions in.  Screaming at the soccer game is an outdoor activity, where people are free to move away from you, unless the entire bar is made up of Brazilians screaming at the top of their lungs with you (my experience at UMass for the Women’s World Cup in ’99 – good times!)  But for the record, tackling a player from behind during a breakaway is only a red card-able offense if there’s nothing between the player and the goalkeeper (aka a crystal clear shot).  Since there were lots of defenders around, it was only a yellow card offense, not a red card one.

There’s one stat that explains the entire game – offsides.  Czech had 10, and US had 0.  I don’t think we had any controlled touches on the ball the first 75 minutes, until the fresh legs came in.  And what was up with the little passes in the middle in front of the Czech penalty box?  So frustrating to see no one from the US step up and make an attack – no you take it, no you take it, no you take it, oops the ball got stolen.  And another thing I didn’t get.  Why did we always do short passes for Corners or quick starts for (in)direct kicks?  If you’re not controlling the field, don’t waste the opportunity for a shot on goal.

Italy on Saturday.  I cringe.  I cry.  A little piece of me dies each time the US World Cup team loses on ESPN, or should I say ESPN2 (how silly of me to think soccer is that worthy.)  Each time I think, “there goes youth soccer – another 4 year setback.”

I played soccer for 14 years (youth, high school, and club), refereed everything from under-6 babies looking for ants in the grass to rival high school boys games (I was instructed by the head ref to jump a fence to get to my car immediately after the last players shook hands) to a couple of club games in college, and an assistant-coached an under-18 girls team (the coach – a 21 year old college guy needed a little help keeping his girls from hating him =)  Although I haven’t kicked a soccer ball (or been out to a soccer field) in over 7 years, I still have dreams of calling kids who just scored offsides as a linesman (offsides is determined at the time the ball is kicked, not the position of the player when the ball is received) and turning around to watch the crowd of angry parents rush me.  I’m grinning the entire time =)  My all-time favorite insult – this was when I was 20 refereeing a state match, “Children should not be allowed to referee these games.”  Something about being 5’1 and wearing all black, I guess.

Enabling Comment Moderation

First time since i started blogging 3 years ago that i’ve had to enable comment moderation.  These sites for rape stories have been comment spamming me, and i’ve finally had enough. 

For just a little while, i’m going to enable comment moderation.  I really hate to do this, but i’ll try my best to check for comments every morning.  Once this wave of spam attacks is over, i’ll turn it back to a free-for-all model for commenting.

Waveland makes Wired Magazine

Now this was unexpected bedtime reading – talk about doing a triple-take. According to the June 06 article Fixer-Uppers, Waveland is getting a laundry mat. I asked a few folks at home, but no one has heard anything yet. So, I’ve contacted Wired for more info – I’m holding them accountable for Waveland getting a laundry mat. =) just kidding. Stay tuned…

Return to Waveland – by NBC 6 South Florida

I know I’m not a writer.  I knew it even before an English major rewrote a blog entry for me.  So, I’m pleased to link to an entry about returning to Waveland from a NBC 6 South Florida Managing Editor.  Thanks Barb for the plug!

http://www.nbc6.net/weather/9296236/detail.html

Make sure you check out the slideshow at the top of the page Images: Return to Katrina Ground Zero.  Slides of interest
#10 – this is where Dock of the Bay (a popular local bar) used to stand.  You are looking at exactly what was left the day after Katrina.
#35 – I miss home (gathering on the beach)
#45 – I miss home even more (shrimp boil)

Still, it is absolutely bizarre to get updates about my family through the media.  =)