Welcome to MSDN Blogs Sign in | Join | Help

For the past two years, I've been working to improve developer community here at Microsoft.  We've seen some pretty great times--the forums continue to grow at a huge rate, we released several open sourced power toys, and we've seen a change in culture here in Developer Division to be even more customer focused.  People get community, and that's exciting to me.  We've seen some pretty frustrating times as well, but I don't want to dwell on those.

First, I'd like to thank everyone here at Microsoft for the absolutely awesome experience I've had for the past two years.  Seeing "the empire" from the inside was a great experience...one I'd recommend to any college graduate.  In particular, I'd like to thank my team--it's been a pleasure working with all of you, and work just wouldn't have been that much fun had we not been the loudest hallway at Microsoft.  :)

I'd also like to thank the community--particularly the MSDN Forums moderators.  You were great to deal with, understanding, very patient, and also kept us moving in the right direction.  I know that at times, it's painful to not know that things are moving in the right direction, but I can say with confidence that your continual push has been a great influence.

Where to next, you may ask?  I'm heading off to Telligent Systems, the creator, among other things, of the great community web platform "Community Server" (which runs this blog site, among many others.)  So...I'm still going to be in the online community space.

Interested in keeping up with my blog?  I'm running a Community Server-based blog on my own hosting at:  http://whostheboss.net.  I'm looking forward to seeing all of you over there!

See you all soon!

-Joe

Last week I traveled with my manager down to Mountain View to attend the Online Community Unconference.  I went to the conference last year when it was in San Francisco, and I found it to be a great gathering of ideas and people who are truly excited about this whole "Web 2.0" thing that seems to continue to gather steam.

A few of my takeaways from the conference, now that I've had a week to reflect on things:

"Community" is a completely overloaded term

You could really break down community around two camps at the conference:  those using community to augment their businesses, and those using community *as* their business.  Microsoft is in the former category--trying to be a better company for their customers by really building online communities that help people get better help using our products.  For some other people, the business was community.

What this really affected was how different people determined the health and success of their communities.  With the MSDN Forums, we really try to focus on answer rates--are people getting their questions answered?  On more socially-based communities, the metrics would be much different--page views, return visits, post volume, etc.

"Keeping the Peace" was something that came up repeatedly

I heard lots of war stories about dealing with moderator disputes, flame wars, and other day-to-day squabbles that come up repeatedly in online communities.  The most interesting comment I heard about this was "this is actually a good thing."  Basically, the idea is that if people care enough to squabble and fight, they are engaged in your community and actively trying to shape the culture of the community.  (This still doesn't make it less annoying, but still...)

Microsoft's Doing What?!

People are still surprised when they hear that the people who work on the actual products in Developer Division answer questions in the forums.  They are surprised to hear that our blogs are 100% uncensored and unfiltered (I just type my entries in Live Writer and click "Publish".)  They are still surprised to hear that customer filed bugs go straight into the same database that we use for internal tester-found bugs.  And it's still fun to tell people.  :)

Josh's Red Sox aren't as good as their lead in the AL East suggests

We watched the A's do a number on the Red Sox.  Their large lead in the AL East is likely due to the weak competition.  C'mon, the Blue Jays, Orioles, (old) Yankees, and Devil Rays?  Yes, the 'Sox are good this year, but I'd dispute anybody who says that they are the best in the league.

2 Comments
Filed under:

If you're a Zune owner, I hope that you at least tried out the 2 week free trial subscription to the ZunePass service that allows you to download as many tracks as you want from the Zune service in a "rental" fashion--as long as you keep paying your fee ($14.99/month) you can keep listening to the songs.  To me, as somebody who loves a diversity of music and doesn't own very many CDs, a subscription service is the best way to discover new music and enjoy old favorites that I'm not really willing to shell out a $1 a song to listen to.

I use multiple PCs to listen to music.  Here at work, I primarily listen to music on my desktop.  At home, I have a Vista Media Center machine that is the machine that my Zune is actually synced to.  That means that sometimes I'm downloading music here at work, and sometimes I'm downloading it at home.  If only there was a way to get all of the music on the same machine...

Well...it is.  There's a feature in the Zune software that allows you to see a history of all of your downloaded tunes and "restore" your library.  This will allow you to redownload everything you've ever downloaded in the past.  Here's how:

  1. Open up the Zune software and Sign In to your account.
  2. Click on the orange "Person" icon at the top of the screen and select "Account Management".
  3. The resulting page is a bit button crazy, but the second button from the bottom is "Restore Library".  Select it.
  4. By clicking "Begin Scan" on the resulting page, you'll get a list of everything you've ever downloaded.
  5. You can use the checkboxes to only grab the songs you want, and then go ahead and select "Restore".
  6. Tada!  Your tracks will begin downloading in the background.  Selecting the "Active Downloads" from under the "Marketplace" node on the sidebar will get you a list of your status.

Pretty cool, huh?  (Yes, yes, an online library a la Rhapsody or Yahoo Music would be cooler...)

1 Comments
Filed under:

Tomorrow I will be attending the Online Community Unconference in Mountain View, CA.  It's been a little bit over a year since the last time I attended this conference, and I'm looking forward to seeing whether or not people's focus has changed over the past year.  Last year most of the topics revolved around two themes:

  • How do I measure my ROI (return on investment) in my online community so I can justify my existence to my management?
  • How do I design a reputation system in my online community that makes my community more "sticky" but not necessarily ultra-competitive?

I was very interested in reputation a year ago, and it remains something that I think is of paramount important.  As a corollary to that, I'm also very interested how to give the community the power to solve their own disputes and quarrels.  I've recently been in the middle of a few online mud-slinging sessions.  They are ugly and take away from the focus of the community.  The way they are currently "resolved" is through emails directly to me.  Ugh--that breaks down pretty quickly...I can't respond to all of the mails, it's not really my business, and frankly, I'm not going to be the point contact for the MSDN Forums forever.

From this conference, I'm going to try to get some "best practices" from other community managers on how they deal with this all-too-common occurrence.  If anybody else reading is attending and wants to chat, get a beer, dinner, or whatever, let me know!

And, now, off to SeaTac!

As part of the larger group of feature improvements in forums that includes the reputation changes that I blogged about earlier, we're also adding in something that people have been asking about for awhile--product feedback and bug reporting.

The idea is simple.  If you've ever used Microsoft's Connect site (http://connect.microsoft.com) or the MSDN Product Feedback Center, you get the concept.  If you find a bug in Visual Studio or the .NET framework, you can file a bug that actually gets opened in our internal bug database.  We have goals around fixing these customer reported bugs, and you are notified if your bug is accepted and when it is fixed.  Simple enough, right?

Well, yes, it really is, but the problem so far is that the product feedback site has been completely separate from our online question and answer site, meaning you needed two separate accounts--one to ask questions and the other to file bugs.  We also couldn't move bugs from the forums into the bug database or questions out of the bug site and into the forums.  It was a sub-optimal experience for everybody involved.

With the next service pack of the forums, this will all be history.  We will be adding two new "thread types" to the forums:  bug and suggestion.  When you select either of these, helper text will automatically be added to the text editor, asking for your operating system, product version, and repro steps for your bug.  When you post your bug, other users will be able to comment on it, "vote" for it, and suggest workarounds for the bug.

At the same time, the bug will be sent to a product support analyst who will route the bug into the correct team's database and attempt to reproduce the bug you reported.  If everything checks out and it was a valid bug, it will be forwarded to the correct product team.  You can keep updated on the current status of your bug right on the thread page.

The concept isn't new--we've been using a system like this for a couple of years now in Developer Division, but this is the first time that the forums will act as a "one-stop shop" for both Q&A and bug reporting.

3 Comments
Filed under: ,

Popfly has been out for about a week now, and I'm excited about it.  Why?  Is it because I've seen the site evolve internally over the past few months?  Is it because it's the first "real" application I've seen that really shows off the power of Silverlight?  Is it because I can finally create that umpteenth Twitter-vision clone I've been dreaming about?  Well, maybe, but I'm also proud in a way...it's one of the first Microsoft products that has shipped that has a teeny bit of code that I wrote in it.  I wrote the Stock Quote block.  I also wrote another block, not to be named, but for some reason it didn't make it in the final version.  So what if all the block is is a little Javascript wrapper over the MSN money website?  It's *my* wrapper.  :)

Oh, if you don't have an invite yet, I'm sorry to say that I've already given mine out as graduation gifts (one to my Comp Sci roommate from CWRU, Evan Perry, who just graduated with his J.D., and two to former intern and soon to be full-time Microsoftie Matt Manela, who just graduated with his B.S. in Computer Science and B.A. in Math...congratulations to you both!)

If you haven't read anything yet about Popfly, I'd suggest starting with John Montgomery's blog and working your way out from there.  Here's a great post where he recaps all of the recent press coverage.

Finally, congratulations to the Popfly team--it's a great site, it's *fun* to use, and I only see it getting better from here.  I still want to know what happened to the other block I wrote... :)

1 Comments
Filed under: ,

Over the past year, I've done quite a bit of blogging on reputation and got quite a bit of feedback back from you as a community.  Well...I've got good news and I've got bad news.  The good news is that we're actually working on a reputation system.  The bad news--it's "step one", and fairly basic.

Below is a version of the spec that I'm working on implementing, minus the boiled down requirements list.  Any feedback?  Comment away...

 

Microsoft Forums 2.3: User Point System

Summary

The current Microsoft Forums use an answer count-based system that only rewards high volume answer contributors, but doesn’t reward users that contribute high quality, helpful answers, or other important actions. This specification describes a basic point-based reputation system that achieves the above goals in a more comprehensive manner than is currently implemented. The basic reputation system described here uses an event-driven model to award or deduct points in particular situations.

These point values will be displayed in a user’s profile, along with a basic visual representation (star rating) that makes the user’s current rank apparent to novice users. These points will also be used in place of answer count in the current “Top Answerer” lists on the forum site homepages, individual forum pages, and the “Hall of Fame” page.

User Events and Point Values

The basic reputation enhancements require the events below to be tracked and awarded with a configurable number of points. The values below are suggested default values. The events will be tracked in a table in the forums database, with each record containing the following information:

·EventType

·DateTime

·UserID

·SiteID

·ForumID

·Points Awarded

Events (Points it's worth by default)

  • User replies to a question/bug thread that they did not start (1)
  • A user reply to a question thread that they did not start is marked as an answer (5)
  • User receives a helpful vote for a reply that they posted (5 x (# of votes))
  • User marks a reply as an answer (1)
  • User has a reply that they marked as an answer unmarked as an answer (-5)

The point values should be:

1.  Calculated per user,

2.  Scoped to forum site and,

3.  Scoped to only events that have occurred in the past year.

For example, a user that answered a question on the MSDN forum site would not get points for their TechNet reputation. Furthermore, a user that answered a question 18 months ago on the MSDN site would no longer get points for that answer. For the edge case where a forum is displayed on multiple sites, the user should get points on both sites. This should be handled by creating multiple separate records for each event that occurs on a forum that is displayed on multiple forum sites.

The point values should be cached whenever possible and only need to be refreshed every 4/8 hours to reduce the load on the live forum site.

Display of Point Values on the Forums

The point values will be displayed and utilized in multiple forums on the forums, but will only be used in areas where post counts or answer counts are currently used.

Hall of Fame Page

The Hall of Fame page should be updated from number of answers to number of points.

Top Answerers Boxes

On ShowForum.aspx and on each forum sites’ homepage, there is a “Top Answerers” box that lists the Top 10 answerers over the past 30 days. These lists should be refreshed every 24 hours, and should contain the top point getters on that forum site/forum over the past 30 days.

User Avatar Areas

The current “user avatar areas” contain the user’s name, whether or not they are a moderator and/or an MVP, and the raw number of posts that they have made in the Microsoft Forums. The only changes will be that the raw number of posts made in the forums should be replaced with the number of points they have based on the current forum site that is being viewed, and the addition of a simple star rating icon that will contain zero to five stars, directly based upon star rating.

Figure 1 - Current user avatar area features only number of Posts

Figure 2 - Enhanced user avatar area includes star rating and the number of points.

The star rating thresholds should be configurable per site, but the suggested point values are:

Star Rating (number of points)

  • 0:  (0 – 9)
  • 1:  (10 - 99)
  • 2:  (100 – 499)
  • 3:  (500 - 999)
  • 4:  (1,000 – 4,999)
  • 5:  (5,000+)

Some of the top moderators will pass well past these thresholds on certain high-volume sites (such as MSDN) and will need to be adjusted upwards. This should be done immediately upon rollout of the reputation system. Changing the thresholds after the reputation system has been rolled out will cause problems in the forums community.

6 Comments
Filed under: ,

Recently, a forum moderator asked for some clarification from me in the moderators forum, and I'd like to respond to his question publicly.  His post was quite eloquent and long, but his question could be summed up with:

Why are there tons of Microsoft employees in certain technology forums and none in others?  Why are the product support technicians only in particular areas, while other forums suffer with even lower answer rates?

I'm going to go out on a limb here and try to answer this in the most transparent way I can.  Here's the answer:

Role of Product Support Technicians

Yes, we have started a team in our product support group that is tasked to just help out on the forums.  Unfortunately, we only have the headcount and expertise on that team to cover the "major" technology areas--things like the programming languages (C#, VB) and UI technologies (ASP.NET, WinForms).  They are hiring for some of the other forums, but we can't hire for every possible forum we are creating (we're still nearly at one new forum a week!)

Developer Division Forums v. Others

Developer Division has a formal commitment around the health and quality of the forums.  I personally send out biweekly status mails and do whatever I can to try and bring teams that aren't answering questions in the forums back into the fold.  Forums that aren't owned by Developer Division teams don't get that "stick" approach, and my team doesn't always have enough cross-divisional muscle to make sure they are participating.  Sometimes they are great, sometimes they are not so great.  And, once again, the product support technicians are currently only concentrating on the Developer Division forums with the highest volume of questions right now.

Product Cycles

This is the hardest one.  Different teams go "heads-down" at different times as they push to make a release.  Sometimes things are sane, and teams have the bandwidth to spend a few minutes in the forums every day answering questions.  If things get a little bit nuts, well, they might not think about the forums for a few weeks.  It's lousy, but it's a reality that we've all dealt with from time to time--sometimes you're so swamped that it's everything you can do to just keep your head above water.

3 Comments
Filed under: ,

A little bit ago, I started talking about ways that we could measure the success of the community without using pure "answer count" as the only barometer for community health.  I decided to do a little bit of data mining today and looked for the people who have received the highest number of "Helpful Votes" over the past three months.  Below that is the chart of the top answerers over the same time period.

Top Helpful Rated List:

User Name Total Votes Who is it?
nobugz 404 MVP
Ilya Tumanov 202 Microsoft
DMan1 192 MVP
Shawn Hargreaves - MSFT 184 Microsoft
Figo Fei - MSFT 168 Microsoft Support
Cindy Meister 164 MVP
Zhi-Xin Ye - MSFT 147 Microsoft Support
einaros 139 Community
Jay_Vora_b4843e 135 Community
Jens K. Suessmeyer 132 MVP
Bruno Yu - MSFT 129 Microsoft Support
Jim Perry 125 MVP
Arnie Rowland 124 Community
Phil Brammer 122 MVP
TilakGopi  122 Community
Mike Danes 114 MVP
Dave299 113 Community
ahmedilyas 111 Community
Bite Qiu - MSFT 106 Microsoft Support
Andreas Johansson 106 MVP
Dick Donny 101 Community
Peter Ritchie 90 MVP
ReneeC 90 Community
Richard Berg MSFT 88 Microsoft
nogChoco 85 Community

Top Answerers List: 

User Name Total Answers Who is It?
nobugz
886 MVP
Bruno Yu - MSFT 682 Microsoft Support
Figo Fei - MSFT 672 Microsoft Support
Zhi-Xin Ye - MSFT 501 Microsoft Support
DMan1 444 MVP
Ilya Tumanov 432 Microsoft
Cindy Meister 405 MVP
Arnie Rowland 382 Community
Bite Qiu - MSFT 361 Microsoft Support
Andreas Johansson 339 MVP
ahmedilyas 307 Community
James Manning - MSFT 281 Microsoft
LesterLobo - MSFT 272 Microsoft
Tom Lake - MSFT 268 Microsoft
ReneeC 264 Community
Jens K. Suessmeyer 261 MVP
Richard Berg MSFT 259 Microsoft
Damien Watkins - MSFT 254 Microsoft
einaros 246 Community
TilakGopi  238
Community
Dick Donny
234 Community
Gavin Jin - MSFT 232 Microsoft Support
Simple Samples 212 Community
Shawn Hargreaves - MSFT 198 Microsoft
Bob zhu - MSFT 187 Microsoft Support

Last Edited:  4/10/2007 

There has been much discussion on what to do with off-topic posts, especially in the moderators forum.  I've gotten a request to make an executive decision and stick with it, for here on forth, here is the official Microsoft guidance on how to deal with off-topic posts in the forums:

  1. If the question is simply in the wrong forum, move the post to the correct forum.
  2. If the question could be answered in the newsgroups, reply to the thread with a link to the newsgroup where the question will be answered.
  3. Move the thread to the new "Off-Topic Posts" forum:  http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1494&SiteID=1
  4. If you don't know the appropriate newsgroup or forum but you're sure it needs to be moved, move the post to the "Where's the Forum For?" forum:  http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=881&SiteID=1 

This method will ensure that:

  • Search results do not become polluted with "answered" questions that aren't actually answered.
  • Reputation and answer rankings are not skewed by housekeeping/answering off-topic posts.
  • People who asked off-topic questions will still be able to view the reply to their questions.  (When a post is deleted, it's no longer visible.)

It is no longer necessary to mark off-topic replies as answers.  Please do not do it anymore.

6 Comments
Filed under: ,

Last Edited:  4/6/2007  [I'll be amending the lists in this post based on the comments and continual feedback that comes in.  Thanks for hanging with me here.]

We've recently released a service pack for the forums that have changed some functionality in the forums.  It's the first batch of noticeable, user-facing changes in the forums in over a year, so it's not surprising that some of the changes have caused some problems.  These problems, however annoying, have also spurred some very interesting threads in the MSDN Moderators Forum, a private forum that's the "coffee lounge" for our community moderators to hang out and discuss issues in the forums.

I thought it might be interesting to summarize some of the discussion here and see if we can spur some more constructive input.  I'm going to summarize what I've been hearing into three sections.  For the "bad" and "ideas" categories, I'm going to try and break them out into individual blog entries.

The Good

  • Code Snippet Blocks - I'm glad that there's something in the forums now that will protect my code from being "emoticon-ized"...woohoo!
  • Graphs/Stats of Forums Progress - Josh shared some internal information about forums on his blog recently...it's information that I see everyday, but the community doesn't get to.  I got the feedback that we should share it more often.
  • ???

The Bad

  • Transparency about Support - We've recently started having a new product support team answering questions on the forums, with the goal of getting the answer rates up to "healthy" levels.  We really haven't been good at communicating this to any of the moderators in the forums.  As a result, there's a huge amount of confusion as to the role of the support people compared to the role of the moderators in the forums.  It's a problem, especially because the support technicians aren't aware of the culture and process that the moderators have painstakingly created over the past two years.
  • Can't Find the Answer Box - This one has actually been brought up both internally and by the community.  The "Can't Find the Answer?" box that's next to a forum isn't time scoped.  Because these questions are essentially the most viewed questions in the forum, they are old and outdated.  The easy resolution--only display questions asked in the past three months here.  Of course, there are posts that are older than three months that could still be very useful to people.  What's the best solution for the most people?
  • Top Answerer List - The "Top Answerer" list on the forums doesn't measure quality.  (I blogged a bit about this yesterday.)  It drives people to answer too quickly, and people can inflate their stats easily by just doing housekeeping stuff--not by answering difficult questions.  If reputation is important to a community, then this is not the right solution.
  • Code Snippet Quirkiness - The code snippet handling just isn't where it should be in a technical support forum.  Emoticons render still in one-liner snippets that aren't in a code snippet boxes.  The general quote here would be:  "C'mon Microsoft!  These are developer forums...get it together!"
  • No Permalinking to Individual Posts in a Thread - There's no way to link to an individual post in a thread--it makes it hard to link to a particular answer.  (Note:  there are indexes available on the page that can be used.)
  • RSS Feeds Keep Sticky Posts at the Top of the Feed - And they don't currently include replies.  These should both be fixed in "SP4", which should be released at some point in April.

The Ideas

  • Mark as Resolved with a Reason - Instead of the "Mark as Answer" button, why not make it "Mark as Resolved" and then offer a list of reasons that a user could pick from.  "Mark as Answer" is being used even when the question isn't truly answered...just to drive up answer rates or get the "Top Answerer" credit.  (Personally, I love this idea.)
  • Label the Moderators - Who is a moderator on the forums?  Right now, I'm not sure.  Almost all forum platforms have moderator labeling, but ours doesn't.  Let's label the moderators.
  • Rewards?  Recognition? - We really haven't done much beyond the "Top Answerers" list in the forums for recognition or reputation.  We need to start moving in that direction...today.  (And yes, I've been pushing for this for over a year now.  Want proof?  Check out my blog category about reputation.)
  • Are the Metrics Right? - Once again...I blogged about this yesterday.  The answer rate metrics are great...they are measurable, and in general, a high answer rate really does mean that people are getting answers to their questions in that forum.  But is that really the *best* way to measure things?
  • Volume *Might* Cause Problems - I was recently very happy to see the 1,000,000th post in the forums.  Of course, I also have the theory that more eyeballs = more posts = more answers, and everything scales very well.  This isn't necessarily so.  The moderators are starting to get overwhelmed with the number of questions coming in...we should be careful on how quickly we drive more and more traffic to the forums.

Let's talk and make a list.  What's good/bad/or just a good idea?

For over year, we've been measuring a few key metrics in the MSDN Forums to monitor overall forum health.  We track them aggressively, send out biweekly mails about them, and use them as guideposts to make decisions about what we should or should not do with regard to the forums.  For example, our basic "reputation system" of having the top answerer lists in the forums is directly based on our desire to raise the overall "answer rate" of the forums.

Here are the key metrics we are currently watching:

  • Monthly Question Volume - How many questions are being asked in the forums?  Is it raising or falling?  How quickly is this number changing?
  • 2 Day Answer Rate  (Goal:  60%) - What percentage of questions are answered within 48 hours of first being asked?  This is our primary metric.  Think about it...if you were asking a question on the site and it wasn't answered within 48 hours, would the answer be of great use to you?  (DevDiv is currently at
  • 7 Day Answer Rate (Goal:  80%) - If the question isn't get answered right away, are we at least being helpful in the long run to most of the people who are answering questions on the forums?

That's pretty much it.  Our real goals on the forums (so far) have been primarily based on the number of questions that get marked as an answer.  There have been problems with this approach.

  • No Quality Measures - Ugh...the old quantity vs. quality debate.  We're measuring the amounts of questions that get the little "answer" flag...but how many of those questions are answered with a good answer?  How many are just off-topic questions with the answer being "ask the question somewhere else"?  There's no true quality measures built into the system.
  • Over-incenting crazy-fast answering - Along the same vein, this drive towards answer rates (and the Top Answerer lists on the live site) have drove some overly fast answers and answerers.  By not measuring quality, why not just go as fast as you can through the questions?
  • Comparing Percentages is Comparing Apples to Oranges - Is it fair that I send out a report that compares the health of the VB forums to the health of the forums for a much smaller team?  Probably not.  There are order-of-magnitude differences from forum to forum.  If a given forum gets 3 questions a week, 2 of which get answered, is it healthier than a forum that gets 90 questions a week but only 53 got answered?
  • Living and Dying By the "Mark as Answer" Button - We really depend on moderators and product teams to do all of the answer marking.  I love the "mark as answer" feature in the forums, but the implementation forces us to depend on people actually marking things.  Not everything gets marked, and not everything gets unmarked when it should.  It's an explicit action, and let's face it--people are lazy.  Why should we believe that anybody is going to go out of their way to just mark some as answered?  Aren't their other metrics we could be tracking?

I'd like to follow-up this post with some new proposed metrics I've been thinking of, but I'd like to kick off the discussion without tainting it (or making this post any longer...)

If you had to track just two or three numbers to monitor the health of an online community, what would you track?

3 Comments
Filed under: ,

When at a loss for what you might want to blog about, go to Digg.com...and voila--the top entry on the page was about a new site that's using Web 2.0 online community concepts to bubble up the best technical pieces of content to other devs.

http://blog.wired.com/monkeybites/2007/03/tweako_a_social.html

The site is called "Tweako", and the idea is to use a Digg-like interface to elevate the most interesting pieces of content to the top.  A simple idea, but as Digg has shown, the concept works fairly well.

This got me to thinking...how could this be applied to community discussion sites, like the MSDN Forums?  I've toyed with the idea of "Digging" individual users to create reputation, but never ordering the content based on votes.  What would this look like?  Would it work?

I've always thought that there really are two different types of users that are going to the forums--people who want to participate in the discussion and people who just want to search and read the discussions.  Looking at our server logs, 99% of the people who go to the forums never even register, much less post content.

Given this, two different views make sense--the standard, chronological interface for users that want to participate in forums the way they always have, and a new, Digg-style interface for the browsers.

The Digg-style interface would bubble up the *best* posts by forum.  The voting could also go into search relevancy, making sure that the best threads show up first.  It'd also be a great feed to expose on the MSDN Developer Centers for given technologies.

Just my thoughts for a Friday...

2 Comments
Filed under: ,

I've gotten the message so many times it's ridiculous--the MSDN Forums display emoticons in the middle of code snippets.  Nothing, I mean nothing, will make a developer more mad than a cutesy little light bulb rendering in the middle of their carefully constructed code snippet that they made in the forums.  (Apparently "[i]" is shorthand for light bulb in emoticon-speak...who knew?)

I'm happy to say that the forums team successfully deployed a fix for this (and a bunch of other bugs) today.  The release is officially called "Service Pack 3", but to me, it's an important milestone.  SP3 is the first release from the forums team that includes code and fixes that were contributed by my team.  If you enjoy the editor fixes, you can thank Kannan, who stayed up many late nights making this work.

Another noteworthy addition to the forums is the new "Code Snippet" button.  Basically, this button will mark a block of code that you might have typed or copy/pasted from Visual Studio.  Here's a screenshot:

Note:  if you're a Firefox user, I've been told that you should clear your cache to properly view the site.

Thanks again to everybody: (Ji Zhang and entire ATC team, Alan Griver for getting us code access, Penny Parks and Lisa Ambler for politely answering all of my pushy emails, and most of all Kannan and John on my team for their tireless effort making these fixes happen.)

1 Comments
Filed under: ,

James asked a good question in the comments section of my last blog post, and I thought the topic might be a fun blog post to end a Friday on.  What exactly was the one millionth post?

Well, the one millionth post on the MSDN Forums was the fifth post in a thread entitled "Results to row instead of column" in the Transact-SQL forum.  The post was made by the user Sami Samir Ibrahim who joined the site on March 12th and has contributed nine posts so far.

Here it is...the text of the 1,000,000th MSDN Forums post...yet another answer from a user that enjoys helping other people:

Well, here is a solution although not a really very user firendly one. The idea is first to create a query that contains the row ID. If you are using SQL Server 2005 then you can use the Row_Number() function. If not, then the only way I could think of was to create a temp table with an identity field. After that you need to join the same result set together but with incrementing IDs. Meaning join ID 1 in the first result set with ID 2 in the second one and then join this result set with ID 3 in the 3rd one. Told you it was not a very user friendly answer :)
For SQL Server 2005 the query will be:
Select Top 1 A.[FirstName] + ', ' + B.[FirstName] + ', ' + C.[FirstName]
From (Select Row_Number() Over (order by [FirstName]) as RowID, [FirstName] From [AdventureWorks].[Person].[Contact]) A
Inner Join (Select Row_Number() Over (order by [FirstName]) as RowID, [FirstName] From [AdventureWorks].[Person].[Contact]) B on (A.RowID + 1) = B.RowID
Inner Join (Select Row_Number() Over (order by [FirstName]) as RowID, [FirstName] From [AdventureWorks].[Person].[Contact]) C on (B.RowID + 1) = C.RowID
For SQL Server 2000 it will be:

Create Table #Tmp
(RowID int identity(1,1),
FirstName varchar(256))
Insert Into #Tmp (FirstName)
Select [FirstName] From [AdventureWorks].[Person].[Contact]
Order By [FirstName]
Select Top 1 A.[FirstName] + ', ' + B.[FirstName] + ', ' + C.[FirstName]
From #Tmp A Inner Join #Tmp B on (A.RowID + 1) = B.RowID
Inner Join #Tmp C on (B.RowID + 1) = C.RowID
Drop Table #Tmp
I hope this helps.
Best regards,
Sami Samir

1 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker