Brian Keller

Director of ALM Evangelism for Microsoft

  • Brian Keller

    Now Available: Visual Studio 2010 Beta 2 Virtual Machines with Sample Data


    March 20, 2010 Update: A newer version of this content is now available! New labs, new sample app, new Visual Studio bits... click here.
    April 27, 2010 Update: The Beta 2 VHD is effectively expired now that the trial bits have stopped working, so I have struck out the text below. Please see the new version of the VHD referenced above.

    Just in time for the holidays, we have posted a brand new virtual machine (VM) which is pre-configured with Visual Studio 2010 Ultimate Beta 2, Visual Studio Team Foundation Server 2010 Beta 2, and sample data that you can use to help learn the product, perform demonstrations, etc. This VM included everything you need to learn and demonstrate the Application Lifecycle Management (ALM) capabilities of Visual Studio 2010 beta 2 (with the exception of Lab Management). This VM is available in the virtualization platform of your choice (Hyper-V, Virtual PC 2007 SP1, and Windows [7] Virtual PC). Hyper-V is highly recommended because of the performance benefits and snapshotting capabilities.

    We also have a preliminary set of 7 hands-on labs (which also double as demo scripts) that you can go through with this VM, with more in the works. Note that each lab/demo is designed to work in isolation from the other labs/demos, so be sure to have a rollback strategy in place (VPC undo disk / Hyper-V snapshots) prior to working on a lab/demo. To download these labs please visit (you can click on “Download as ZIP file” to grab everything at once). These labs will be making their way into a refresh of the Visual Studio 2010 Training Kit soon. The “Working with the Visual Studio 2010 Virtual Machine” document is a work in progress and will be updated in the coming days, but for now it should have everything you need to get started. Any questions, just ask… feedback on these labs/demos is welcome!

    This image will effectively stop working on April 9, 2010 when the SQL Server Trial stops working. You will also receive Windows activation messages while using this VM – this is because of the way Windows Server 2008 trial behaves and is to be expected, so you can ignore / cancel these activation dialogs when prompted. If you want to get rid of these activation warnings you can activate the image using your own product key (e.g. from your MSDN Subscription). You may want to do the same for the copy of Office which is installed, and even update SQL Server to a full version if you are feeling bold.

    I suggest using a download manager for these files since they are very large. My download manager of choice is Free Download Manager. You can use your own favorite download manager, but you may need to adapt the instructions below as appropriate.

    1. Download and install Free Download Manager. This utility provides:
      • Auto-resume support for interrupted downloads.
      • Multiple simultaneous download streams for (usually) a much faster download experience.
      • As the name implies, it's completely free.
    2. Select the appropriate URL’s depending on your preferred virtualization platform and copy (CTRL+C) them to your clipboard.

      ###Select This Section and Copy It (CTRL+C) For VS2010 Beta 2 Hyper-V - Do Not Include This Line###
      ###End - Do Not Include This Row In Your Selection###

      ###Select This Section and Copy It (CTRL+C) For VS2010 Beta 2 Windows [7] Virtual PC - Do Not Include This Line###
      ###End - Do Not Include This Row In Your Selection###

      ###Select This Section and Copy It (CTRL+C) For VS2010 Beta 2 Virtual PC 2007 SP1 - Do Not Include This Line###
      ###End - Do Not Include This Row In Your Selection###  
    3. Launch the user interface for Free Download Manager (either from the Start Menu or via the system tray icon if FDM is already running).
    4. Click File -> Import -> Import List of URLs from Clipboard.
    5. When prompted for a download group, accept the default and click OK.
    6. You are now free to minimize Free Download Manager while the files download. By default, they will be saved to c:\downloads.
      Note: It may take up to 24 hours from when this post is published for the files to become available in your region as they replicate across our CDN. You can easily select all files within Free Download Manager and select “Start Download” if they fail the first time.

    The download details pages contain more information on each of these releases.

    Download details pages:

    Visual Studio 2010 Beta 2 (Hyper-V)

    Visual Studio 2010 Beta 2 (Windows [7] Virtual PC)

    Visual Studio 2010 Beta 2 (Virtual PC 2007 SP1)

    Remember that you can install all of this software for yourself by downloading the installers from here.

    Happy downloading!

  • Brian Keller

    Get ready to “go live” with Team Foundation Server 2010 beta 2!


    Beta 2 of Team Foundation Server 2010 is going to be available very soon NOW! - unfortunately that’s all that the marketing team will let me tell you right now. :-) But the best news is that beta 2 of Team Foundation Server 2010 will have a “go live” license, meaning that you can use it for your day-to-day application building (unlike beta 1 which was limited to just evaluation, tire kicking, learning the new features, etc.). There will also be some (limited) support available to help you adopt beta 2. We are ramping up our product support teams now to help you take advantage of this option. More details later on what “go live” means exactly and how we’ll be helping your organization take advantage of it… More details on the Beta 2 "go live" can be found here.

    But in preparation for beta 2, there are some things that you can be doing now in order to take advantage of the release as soon as it’s available for download. The Team Foundation Server product team has put together some great guidance which can give you a checklist of things to do as you prepare to take advantage of beta 2. This guidance is available as an overview in a PowerPoint deck, or in greater detail in the Word document. I’ve uploaded both of them for you to check out.

    These documents are somewhat rough (our professional writers were hard at work on the product documentation for beta 2!) but they should give you a good framework with which to begin having discussions within your organization about adopting Team Foundation Server 2010 beta 2.

    Was this helpful? Is there more that we can be doing to help you get ready? I would love to hear from you (either via my blog comments, or you can email me directly).

  • Brian Keller

    Visual Studio 2012 Update 1 and the ALM Virtual Machine


    December 6, 2012 Update: The virtual machine and corresponding hands-on-labs / demo scripts have been upgraded to use Visual Studio 2012 Update 1. You can download them from here.

    Now that Visual Studio 2012 Update 1 is available, several people have asked whether or not I am updating my ALM virtual machine. The answer is yes – and it will be available by sometime next week. Watch my blog for details. There are some really nice improvements in Update 1 that I think developers, architects, project managers and testers alike will enjoy.

    A longer question I have also been asked is whether or not Update 1 can be installed by end-users into my virtual machine. The answer is “not really” (unless you want to jump through some workaround steps). The reason for this requires a bit longer of an explanation.

    If you have worked with my virtual machine you may have noticed that every time you boot it up, the date and time jumps to May 16, 2012. The reason for this is that in order to show a pseudo-realistic example of how Team Foundation Server can be used to support an actual development team, we need to pin the system date to a specific day in the middle of an iteration. If we didn’t do this, then the VM might look great on the day I shipped it, but if you downloaded it a month later the data is going to start to look stale. You’ll be in some future iteration with no recent work item activity, a flat burndown chart, etc., sort of like any good post-apocalyptic zombie movie where life and routine as we know it stopped months ago.

    Setting your operating system to an older date and time is of course a “hack” that you should never use on your actual Team Foundation Server instance, but since my virtual machine is for training and evaluation purposes I have taken this (and a few other) liberties where necessary to optimize the virtual machine for those experiences.

    One implication of this hack is that after you boot the virtual machine and start working with Team Foundation Server you should never reboot the virtual machine. If you do, then the operating system will reboot into the morning of May 16, 2012, and Team Foundation Server will get confused since you will be going “back in time” – something that Team Foundation Server is simply not designed to support. Instead, I always suggest that users take a Hyper-V snapshot of my virtual machine after they boot it up for the first time but before they start working with it so that they can always roll back to a known clean state in case they make a mistake or simply want to repeat a scenario (which is what I do routinely when I am demonstrating Team Foundation Server at conferences and customer meetings).

    Which brings us to Visual Studio 2012 Update 1. If you try installing Update 1 into my virtual machine you will notice that you are prompted to reboot during the installation process. While you won’t receive any errors or warnings during the setup/upgrade process, if you attempt this you will start to notice problems later on – especially in web access. This is because you are going back in time every time you reboot.

    I know a few people were burned by this and I’m sorry for the time you may have wasted going down this path. Generally speaking, I always tell people that the virtual machine was built specifically to support the nearly two dozen hands-on-labs / demo scripts which go along with it. While you are welcome to use it for other purposes, your mileage may vary, and this is a good example of something which just won’t work.

    One workaround if you really want to install Update 1 yourself into my virtual machine would be to go into the Task Scheduler and disable the task which configures the date and time to May 16, 2012. After you disable this you can run Update 1 as expected, but keep in mind that the project management data will no longer look accurate since you will be many months ahead of when it was designed for. Or, you can wait a week until I publish an official version.

    Thanks for reading and as always for all of the feedback.

  • Brian Keller

    Microsoft Unveils the XNA Framework


    You've heard the rumors, now hear it from the source... This morning we announced the Microsoft XNA Framework. The XNA Framework will bring a unified set of game development class libraries to Windows and the Xbox 360. This means that game developers can write games which shares a great deal of source code and even source game assets (sound, models, etc) between the Windows and 360 platforms. Oh, and did I mention it's all managed code? That's right, we are building a custom implementation of the Common Language Runtime for the Xbox 360 as well.

    I remember when I first joined Microsoft four years ago I was talking to some people from the Xbox team about the possibility of getting managed code to work on an Xbox. At the time it was sort of kicked around as a really fun idea we would have loved to enable, but nobody ever thought it would be a reality. I guess we were right - we aren't delivering a managed code runtime for the Xbox. We'll be delivering one for the Xbox 360 instead. <g>

    More details at our Web site - - including a link to the press release which went live this morning. It's admittedly sparse on details at the moment, but we'll be sharing many more details later this summer at our Gamefest event. This is just the beginning...

  • Brian Keller



    ABC affiliates pulling 'Private Ryan'

    <political commentary>
    It's a sad state of affairs that, with all of our great technology like V-Chips and remote controls (i.e., the power to choose), that we still have to take cues from the FCC about what we can and can't watch on television. I mean c'mon, people. The problem is not the content. If somebody wants to complain that their children are getting access to content that is innappropriate, then it takes less effort to change the channel than it does to lodge a complaint with the FCC! It just blows my mind... yes, of course, there are some public places where a certain level of censorship makes sense, like at the mall and on billboards. But in your own living room - where you, as a parent, should have complete and total control over what plays on the television, there's just no excuse to ruin it for the rest of us who want to pay homage to the great veterans of this country by way of watching Saving Private Ryan which, by the way, is an amazing film in my opinion.
    </political commentary>

    This weekend I will be excercising my freedoms by playing a little Halo 2. And if my local affiliate decides to pull Saving Private Ryan, then I'll just need to dig out the DVD.

  • Brian Keller

    American Idol


    This just in: Phone Snags Thwart 'Idol' Voters!

    Ok, Captain Obvious. But here's the interesting part:

    In last year's finale between Ruben Studdard and Clay Aiken, a total of 24 million votes were recorded, with Studdard declared the winner by a slim 134,000-vote margin.

    But on the same night, Verizon, the nation's largest phone company, saw its daily volume increase by 116 million calls while SBC reported a call-volume increase of 115 million, according to Broadcasting & Cable.

    Doing the math, that's 24 million votes recorded out of 230 million+ calls (not including other carriers) which is only 10% of the total votes cast! [As a Floridian, this makes me feel much better about our ability to record votes. <g>]

    Now I know that 10 million or even 10 thousand out of any sized population is more than statistically relevant - but it seems like there should be much better ways to capture the vote from a technology standpoint. Of course, Fox loves the higher numbers and busy signals since they try to use them as a proxy for rating, so they'd probably never bite on some of these ideas. But it's worth considering.

    1) Use caller ID to determine where votes are coming from and only allow each person to vote once per contestant per week (potential problem here with “private numbers“ that don't support caller ID). Another problem is that there's disparity here w.r.t. the number of phones per household.

    2) Assign voter registration codes. People go online to register for these just like they would a real voter registration. This allows you to vote from any phone more than once (everybody in the family is happy) and potentially allows Fox to use registration data as the carrot for getting a code. That could be extremely valuable to advertisers. It eliminates the problem associated with private numbers - the new problem is that it requires Web access, but maybe you have a separate channel for requesting a vote code via telephone or snail mail. Of course, making sure everybody requests 1 and only 1 vote code is your next challenge - you can't use something like a social security number to ensure uniqueness. But this would stem the tide of “power dialers” who simply revive their BBS WarDialer software to cast Idol votes.

    3) Web voting. It's obvious why they haven't implemented this yet given the sponsor money they get from AT&T. But they could make MSN or that “other” online service the sponsor. ;-) Obviously Web voting may not scale either, but I think it scales better than the existing telephone voting system would.

    4) Stop caring about the outcome. That's right, after all, it's just American Idol. Sure, I'm rooting for Diana DeGarmo as much as the next guy - but if she doesn't win, I'm sure she'll have a perfectly good career (once she finishes high school and all). <g>

  • Brian Keller

    Survey: Which databases should Visual Studio Team Edition for Database Professionals support?


    The team who builds Visual Studio Team Edition for Database Professionals is collecting input on which 3rd-party (non-Microsoft) database providers they should be partnering with for future releases. Microsoft SQL Server 2000 and SQL Server 2005 are the two databases supported in the current release, but the team is investing in infrastructure which would allow partners to build support for non-Microsoft databases as well.

    If you would like to provide your input please take 5-10 minutes to respond to this brief survey:

    Your feedback is very important and will be used directly by the product planning teams. Even if you don't use Visual Studio Team Edition for Database Professionals today, but you are interested in the functionality it provides for database change management, please consider taking this survey or forwarding it on to a colleague.

  • Brian Keller

    Updated: Visual Studio 2012 RC ALM Virtual Machine and Hands-on-Labs / Demo Scripts


    The Visual Studio 2012 RC ALM Virtual Machine is now available!

    This new VM replaces the previously available Visual Studio 11 Beta ALM virtual machine to use the latest Visual Studio 2012 RC releases.

    This is hands-down the most comprehensive ALM virtual machine yet. It includes 18 hands-on-labs / demo scripts. 6 of these were upgraded from the Visual Studio 11 ALM virtual machine, 11 of these were upgraded from the older Visual Studio 2010 ALM virtual machine, and one is brand new, highlighting the PreEmptive Analytics integration in Team Foundation Server 2012. Phew!

    Go here to start your downloads!

  • Brian Keller

    Visual Studio 2010 ALM Virtual Machine + Labs: December 2010 Refresh


    As promised, I have updated the Visual Studio 2010 ALM Virtual Machine with a new version that will expire June 1, 2011. If you are using the previous version please note that it expires December 15, 2010, so you should consider downloading this refresh.

    Download instructions and details on what changed in this release can be found here.


  • Brian Keller

    Understanding the two different flavors of Internet Explorer in Windows 8


    I’ve installed Windows 8 on all of my machines, and I absolutely love it. To cite the tagline: it’s fast, it’s fluid, and it’s Window reimagined.

    Of course there are a few changes that new users will need to understand when they first start using it. The disappearance of the Start button is an obvious one, but I’ve found that’s easily mitigated once you point out to people that you can open the Start screen by pressing the Windows key (if using a keyboard), mouse into the upper-right or lower-right corners (with a mouse), or swipe from the right (if using a touch monitor).

    I believe that the more challenging switch for some users (at least based on my sample group of friends and family who I have helped to upgrade) will be that there are effectively two different flavors of Internet Explorer installed with Windows 8.

    Internet Explorer 10: Internet Explorer 10 is optimized for a touchscreen experience. The enhanced security and reliability model means that it doesn’t support plug-ins, although some popular Flash web sites have been whitelisted to work with this version of Internet Explorer. It’s a beautiful, full-screen browser experience with lots of new features and excellent support for Web standards. You can read a lot more about the features of this browser over at

    Internet Explorer

    Internet Explorer for the desktop: Internet Explorer for the desktop is also Internet Explorer 10 under the covers, but the look and feel of this browser is like that of previous versions of Internet Explorer. It supports tabbed browsing and plug-ins (like Flash and Silverlight).

    So how do I pick which version I should use?
    Both browsers offer unique benefits. The best part is that you can switch back and forth based on what you are doing. If you have a touch screen monitor and you are surfing the web from the sofa, you’ll likely want to use Internet Explorer 10 to get the full-screen, touch-optimized browsing experience. If you are writing code or planning your wedding, and need to have several windows open alongside web pages, Excel, and Visual Studio, then Internet Explorer for the Desktop provides a great experience for this type of surfing or work.

    What I have noticed, however, is that some users who don’t yet understand the difference between these browsers can get a little confused when they unknowingly switch back and forth between these browser experiences. At Thanksgiving last week I spent some time teaching my friends and family about the difference between browsers and helped them understand under which circumstances each browser will be launched.

    Internet Explorer for the desktop will be launched when you click the Internet Explorer icon from the Windows 8 desktop, or follow a hyperlink from within another desktop application.


    Internet Explorer 10 will be launched if you click the Internet Explorer icon on the Windows 8 start screen, or follow a hyperlink from within any application which was written for WinRT.


    You can override this behavior if you want to (thanks to my friend Joey Snow for the tip!). Open Internet Explorer for the desktop, press Alt+T for the Tools menu, click Internet Options, click Programs, and change the options at the top. The first drop-down controls which flavor of Internet Explorer will be used when you follow links from other programs. The checkbox allows you to determine whether or not the Internet Explorer icon on the start menu will open Internet Explorer on the desktop.



    I hope this blog post helps you hit the ground running with Windows 8 so that you can start enjoying it as much as I do.

Page 3 of 29 (285 items) 12345»