Introduction
It’s about time programmers were recognized for all of their hard work. OK, that probably doesn’t make much sense. As a programmer, you are used to working until 4 AM in the morning. Sleep. Waking up at 6AM and go to your office again. Programmers are used to it. We are tough. We can handle it… Or so we thought. Honestly, it actually sucks.
You may be wondering what I am talking about. Well, the point is: Programmers do not really get much recognition. There is not much that can motivate us to try and do a better job. Yes, having the satisfaction of seeing your masterpiece of code being used on a daily basis gives a warm feeling; but, if you have been in the game as long as I have, you have achieved what you wanted to achieve many times over. You start to get bored and start feeling under-appreciated. Until now…
Visual Studio Achievements
Microsoft, being the great company they are, understands that programmers don’t get the credit they deserve. This is why they have introduced Visual Studio Achievements.
Now what is Visual Studio Achievements actually?
Well, it is an excellent way to motivate coders to enjoy normal mundane day-to-day tasks. They give us a reason to try and code things right. And, with this, they appreciate our 20 hour days; they appreciate our ways of thinking. Microsoft has launched a program called Visual Studio Achievements, which enables you to earn Achievement Badges , which you can show off to your fellow employees; even your boss.
What Achievements are There?
There are six main categories in which you can earn Achievements:
- Customizing Visual Studio
- Don’t try this at home
- Good Housekeeping
- Just For Fun
- Power Coder
- Unleashing Visual Studio
- Windows Azure
The subcategories for each achievement are as follows:
Main Category | Achievement Name | Description | Points |
---|---|---|---|
Extensions Junkie | Install 5 Extensions to Visual Studio | 5 | |
Extensions Junkie Deluxe | Install 10 Extensions to Visual Studio | 10 | |
Gotta Be Different | Load Custom Visual Studio Settings | 5 | |
Field Master | Have 100 Fields in a Single class | Uses FxCop | |
Go to hell | Use of the Goto keyword | Uses FxCop | |
Job Security | Write 20 single letter class level variables in one file. | Uses FxCop | |
Magic Numbers | Write a enum with 30 fields | Uses FxCop | |
Overload | More than 10 overloads of a method. | Uses FxCop | |
Scrollbar Wizard | Write a single line of 300 characters long. | Uses FxCop | |
Turtles All the Way Down | Write a class with ten levels of inheritance | Uses FxCop | |
Regional Manager | Add 10 Regions to a Single Class | 7 | |
Using Just What I Need | Used ‘Organize Usings’ 50 times | 7 | |
Install and Register For Visual Studio Achievements | Install the add-in and register with Channel9 | 5 | |
Lonely | Code on a Friday or Saturday night. | 5 | |
Obsessive Compulsive Disorder | Invoke the ‘Close All But This’ menu option 10 times. | 5 | |
Potty Mouth | Use 5 different curse words in a file | 5 | |
Save A Tree | Print source code | 5 | |
Complex | Have 50 projects in a solution | 10 | |
Equal Opportunist | Write a class with public, private, protected and internal members | 10 | |
Localization Guru | Have 1000 localized values | 10 | |
On The Shoulders of Giants | Reference 25 assemblies | 10 | |
Suspicious | Use 5 preprocessor directives | 10 | |
Time For An Upgrade | A solution that takes 10 minutes to compile | 10 | |
Architect | Add 10 items to a sequence diagram. | 5 | |
Casual Observer | Start a debug session using step over (F10) more than 10 times. | 5 | |
Cheater | Invoke an IntelliTrace Menu 10 times | 5 | |
Interrupting Cow | Have 10 breakpoints in a file. | 5 | |
Performance | Invoke performance tools 10 times. | 5 | |
Start Me Up | Have 3 startup projects. | 5 | |
Stubby | Generate method stubs 9 times. | 5 | |
The Explorer | Start a debug session using step into (F11) more than 10 times | 5 | |
UML God | Create a UML Class Diagram 10 times. | 5 |
When an achievement is unlocked, Visual Studio lets you know visually with a pop-up-screen in the IDE:
Figure 1 – Achievement Unlocked
Your Channel9 profile will also be updated, and this will recalculate your position on the Achievements Leaderboard:
Figure 2 – Channel9 Leaderboard
You can Tweet about your Achievements as well as share them on Facebook. If you have your own blog, you can use the Visual Studio Achievement Widget, which is as simple as adding one line of script to your page.
As you can see, Microsoft is trying to make programming fun! My personal favorite is Potty Mouth. Well, I guess everyone feels like this scenario sometimes:
You are coding and thinking and coding and thinking. Doesn’t matter what you do, that certain code segment does not want to work! Now, I am not a very patient guy. So sometimes out of frustration, you just type random words, which ends up being curse words! The problem with me is that Visual Studio doesn’t understand Afrikaans curse words, so there goes my points!
Microsoft is pushing people to try Azure. As such, there are a number of achievements around installing and using Azure and SQL Azure. You have the ability to download a 90 day trial of Azure. With achievements, while you try learning how to use Azure, you can earn badges too!
Windows Azure Categories
Unleashing Windows Azure
-
Database Darling (5 points)
-
Use SQL Azure.
-
Desktop Debutante (5 points)
-
Configure Azure for Remote Desktop Connection.
-
Get On The Bus (5 points)
-
Use the service bus.
-
Heading Into The Cloud (5 points)
-
Publish to the cloud from Visual Studio.
-
IntelliTrace Rocks (5 points)
-
Configure Azure to use IntelliTrace.
-
It’s My Party (5 points)
-
Configure Azure to use start up tasks.
-
Keep Heading Into The Cloud (5 points)
-
Publish to the cloud from Visual Studio 10 times.
-
Performance Power (5 points)
-
Configure Azure to use performance profiling.
-
Show Me The Cache (5 points)
Use Windows Azure Caching.
-
Union Jack (5 points)
-
Configure Azure to use a worker role.
-
Write Once, Run Anywhere (5 points)
-
Run multiple websites in a single web role.
Windows Azure SDK Guru
-
Attack of the Blob (5 points)
-
Use page blob features of Windows Azure Blob Storage.
-
Tired Of Waiting In Line (5 points)
-
Use time out features of Windows Azure Queues.
Windows Azure Toolkit Wizard
-
Game In The Cloud (5 points)
-
Use Windows Azure Toolkit For Social Gaming.
-
Phone In The Cloud (5 points)
-
Use Windows Azure Toolkit For Windows Phone.
How do I get started?
3 Easy Steps:
-
Register and create a Channel 9 account. This will allow you and Microsoft to track your Achievement points, as shown in Figure 2
-
Download the Visual Studio Achievements Extension.
-
Get started earning valuable points!
Downloading and Installing the Extension
The following steps will allow you to download and install the Visual Studio Achievement Extension:
- Download the Visual Studio Achievements Extension.
- When Prompted Save the file anywhere
- Navigate to the folder where you have downloaded this extension to. The Extension’s name is Coding4Fun.VSAchievements.Package.vsix
- Double click this file. Your screen will look like :
- Open Visual Studio 2010. Your screen would appear as follows:
- Sign in with your Windows Live account. This will enable you to create your Channel9 account.
- Follow the Cannel9 screens’ steps to Authorize the tracking of your progress
- Start a new Project.
You already have scored 5 points, just for installing this extension.
Figure 3 – My Achievements
To earn an extension, choose which one you’d like to attempt. In this example, I’ll choose Regional Manager under the Good Housekeeping Achievement section. This means I’ll have to Add 10 Regions to a single class, as simple as that!
I have created a new Visual Basic Windows Forms application – Achievements can be earned through either VB or C# – named RegionTest:
I created 10 Regions randomly scattered across my code, and now I’ll get 7 points, just for doing good housekeeping!
See how easy it is? Have fun!
Additional Reading
http://visualstudiogallery.msdn.microsoft.com/bc7a433b-b594-48d4-bba2-a2f24774d02f
http://channel9.msdn.com/Blogs/C9Team/Visual-Studio-Achievements-Release-Notes
http://channel9.msdn.com/Blogs/C9Team/Announcing-Visual-Studio-Achievements-For-Windows-Azure
http://www.escapistmagazine.com/news/view/115354-Microsoft-Brings-Achievements-To-Visual-Studio
http://channel9.msdn.com/Blogs/C9team/Announcing-Visual-Studio-Achievements
Conclusion
Go on, enjoy your coding for a change! Enjoy coding on the weekends, and earn Achievement points in the process!