Wednesday, February 27, 2008
« VS Live San Francisco 2008 coming up soo... | Main | CslaDataProvider: The final step »

Yesterday I co-presented (with Anthony Handley, one of Magenic's lead designers), giving a talk on building applications using XAML (WPF and Silverlight). It is a fun talk, because we spend the entire time walking through the process and code and design assets we used/created to build an application. And we discuss the great and not-so-great parts of using Visual Studio, Expression Blend, Expression Design, TFS and various other tools in such a collaborative project.

But I did something bad. Something I really know not to do, but sometimes you just get carried away I guess. My mistake? I tweaked some code right before going on stage. I should really know better...

So part way into our talk the code refuses to build. (in retrospect I know exactly what I did, I got two parameters backward on a method) Debugging on stage is never fun, and we surely didn't have time for it in this talk!

Fortunately for us, Magenic provides all consultants with high speed cell modem service for our laptops. This meant we were connected at DSL speed to the Internet, and Anthony was able to quickly use TFS to undo pending changes to the file I'd tweaked. Which goes to show two things. First, good source control is invaluable. Second, Magenic's belief that our consultants should have ubiquitous Internet access really pays off!!

What could have been a demo disaster, turned instead into illustration of the ease with which you can use TFS from within Visual Studio 2008 :)

(p.s. For those living in the Twin Cities area, Anthony and I will be giving a (free, I think) 3 hour version of this talk on April 24 at the Microsoft office in Minneapolis. I'm looking forward to that, because we have to gloss over so much stuff to fit the talk into 60-75 minutes, and it will be great to dig deeper into each sub-topic over a 3 hour period. Watch www.magenic.com for details on registration as the date gets closer.)

Wednesday, February 27, 2008 8:18:49 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [4]  | 

Wednesday, February 27, 2008 8:38:50 AM (Central Standard Time, UTC-06:00)
Hmmm, not all of us are lucky to have cell modem. In that case TFS client sucks compared to subversion, because subversion could revert files when offline, from local cache.
Pavel
Wednesday, February 27, 2008 8:54:40 AM (Central Standard Time, UTC-06:00)
I have two responses to that.

One: if you worked for Magenic you'd have a cell modem, and we're hiring in Boston, Atlanta, Chicago, Minneapolis and San Francisco ;)

Two: I use subversion for CSLA .NET and all related materials. Mostly due to the difference in licensing costs, but partially because it does have better overall offline support.
Thursday, February 28, 2008 2:24:12 PM (Central Standard Time, UTC-06:00)
Not sure about the offline capabilities of TFS - I do know they were enhanced (added?) in 2008 - and I think we haven't upgraded Magenic's server to 2008) - but I personally don't think that single feature is the entire measure of a Version Control System!

Speaking of TFS, instead of "Undo Pending Changes" you could have "Shelved" Your changes (and cleared the "Preserve Local Changes" checkbox) and your changes would be stored on the server. After the presentation you could then "Unshelve" the change - and continue you work.

If it was only a few lines of code - it's not a big deal - but if it was a big change - it would save a lot of work of re-typing the changes.

This of course requires online mode - but the whole point is to get those changes on the server...

Dan Sniderman
Thursday, February 28, 2008 9:32:36 PM (Central Standard Time, UTC-06:00)
No, offline support isn't always the feature that should decide your choice.

But if you are like me and you are often working offline (like on an airplane, or on stage at a conference) the last thing you want to have happen is to be unable to work with your code because you can't reach a server...

This morning, in fact, I was working (not on my laptop) with some code in TFS and my DSL went down. Instantly I was unable to work. I had to abandon that entire project for about two hours until the DSL came back online. Fortunately I was able to work on other projects.

But that experience reinforces my decision to stick with subversion. Having something like that happen while I'm on stage trying to do a demo would be Really Bad! And with svn that sort of issue never happens because the offline support is incredibly robust.
Comments are closed.