Description

In this episode, Karsten Januszewski introduces us to Visual Studio Achievements. Once you install this extension, you can unlock achievements based on things you do in Visual Studio such as loading custom settings, organizing usings, or having three startup projects in a solution. Some of the achievements are things you do regularly and some are things you may have to learn about. Have more fun coding—compete with your friends and colleagues and show off your Visual Studio prowess.

The Discussion

I am really looking forward to using the tool within my team. I plan to have a couple of my senior onshore guys beta test the add-on for the next couple of weeks and then roll it out to my offshore team and have them try to "knock" the senior guys off the hill - just for fun competition.

Although, after I downloaded and installed the add-on, was prompted for my username and password and to authorize the app and then clicked Tools > Achievements, all I get is just the Loading... screen!

I have tried Disabling and Uninstalling and Reinstalling. I have rebooted my computer. I can't get it to work.

General comment: I reviewed the achievements and while I understand that some are meant for the developer to have fun, I would like to suggest that we create ones that really show that the developer is exploring the whole .NET Framework and what Visual Studio has to offer. For example, Architecture related tasks, Testing, Performance Optimization, Code Analysis, use of Team functionality, Deployment, use of Parallel LINQ, Dynamic Data, Silverlight, User Controls, RIA Services, REST, returning data in various ways with WCF, using Reports, creating a various application types (console, Windows Service, ASP.NET, MVC, Silverlight, WPF, Windows Phone, etc.), using Workflow, using Master Pages, creating an MVC application, etc. etc.

I would like to use it as a way to review how much my various team members are exploring the whole .NET Framework and what Visual Studio offers. It's a great a fun way for people challenge themselves and an easy way for me to identify people that may need a little coaching.

@JasonBub_Nielsen:Jason, that is great feedback and I will make sure Karsten and the team see it. There are several directions you could take the Achievements. I think in this first go round the idea was to go for inclusion, so whether you have Pro or Premium or Ultimate you can unlock all of the achievements.

Moving forward, we could create various categories of Achievements: ALM, XAML, MVC, etc. It is certainly worth thinking about. I am not on the Achievements dev team, so I can't sign them up for work . I can only agree with you.

I just realized something that doesn't seem fair; I just grabbed the latest version of a project that my team is working, compiled it and got about 6 achievements!

I wasn't responsible for those achievements ( I wish I could say that I knew what 5 preprocessor directives were ), but instead my team was responsible, and I unfairly got credit for it.

If I want to use this to measure which of my team members is exploring .NET and VS, this "bug" prevents that, as once they compile the code they will all get achievements that my senior engineers utilized in the code.

@JasonBub_Nielsen: this is do to how we are looking at the code, we aren't watching you type, but instead just doing a pass over the whole project. Obviously this creates a few 'false positives', like when I received the achievement for using GOTO, when I've never used that command in C# in my life (I didn't actually realize it existed), but a project that we have in our solution does use it.

At the moment though, we don't see any easy way to avoid this issue. On a positive note, it does mean that you will get achievements for code that you wrote in the past (assuming you are still loading and building it), not just code written after installing this add-in.

@Stephen: No code is sent to the server, we only send information about the achievement itself (progress made, achievement unlocked, etc...)

As far as a performance hit, there is some impact when your code is scanned, which happens after a build event, but we haven't really noticed any major slow down. The larger the project(s) the more you are likely to notice it though.