Monday, May 18, 2009

TechEd 2009

No really big announcements at TechEd this year, but it was still a great conference.

I worked a couple of the Visual Studio Team System booths throughout the week. It was great to talk to both the Microsoft people and those interested in ALM and the Team System products.

Unfortunately, I was only able to attend a couple of sessions due to all my networking efforts. I will likely be spending the next several nights catching up on the recorded sessions. (I love playing them back at fast speed in media player anyway!) Here are the sessions I attended in the order I liked them most:
  • Zen of Architecture (ARC315)
  • Agile Development with Microsoft .NET (BOF54)
  • Implementing the Entity Framework in an n-Tier World (BOF65)
  • Integrating Application Lifecycle Management and Project Portfolio Management (OFC03-INT)
  • Keynote Session
  • Building Rich Business Clients in WPF: Getting the Most Out of Windows Presentation Foundation (WUX305)
  • Adding Communication to Your Applications with Microsoft Office Communicator 2007 R2 (UNC301)
  • Building Custom Applications in Microsoft Office Outlook 2007 (OFC325)
  • Microsoft Certification 101 (COM06-INT)
  • What's Hot with Windows Mobile 6.5 and the New User Experience (WMB03-INT)
  • Leveraging WPF in Windows Embedded Standard Code Name "Quebec" (WEM203)
  • Focus on Fundamentals in Windows Applications (Graphics, Power, Services, Profiling) (WCL305)
  • Metrics That Matter: Using Team System for Process Improvement (DPR03-INT)

There were other sessions I wanted to attend, but booth duty got in the way. There were several sessions on System Center, WPF, and Team System sessions, but I just had too many conflicts.

I also heard from others that these sessions were extraordinary!

  • Tough Lessons Learned as a Software Project Manager (DPR307)
  • Patterns for the Rest of Us (DPR401)

Microsoft put on a great conference and I appreciate their efforts immensely.

Thank you to INETA for hosting a great party at Chaya on Wednesday and everyone for attending that event. It was great talking to all of you.

Monday, March 23, 2009

MIX 2009 Part I

MIX was a great event again this year! I was only there for Wednesday and Thursday in order to save some money. It was great to hang out with our local Microsoft guys (Denny, Clint, and their other brother Clint). I also said a brief hello to Microsoft (and former Quilogy guy) Jon Box. Finally, I spent a significant amount of time with Quilogy's own Mark Riemann, SSE's Kevin Grossnicklaus, and Winchester's Derek Jerrell.

My notes:

  • Deborah Adler's keynote was fantastic! She basically reminds developers and designers to focus on the user experience and make the technology and aesthetics secondary.
  • Scott Guthrie's keynote was primarily focused on the new Silverlight and Blend features.
  • Blend 3 (preview available):
  • SketchFlow!!! You can make your comps in layered .psd files and import them into a flowchart that can show simple animations and transitions. You can package up this "working" prototype and send it to a client for interactive playback AND annotation!
  • Silverlight 3 (beta available) looks pretty good finally! It still doesn't hold a candle to WPF, but it has enough maturity now to view it as a real option for application development.

Useful sessions I attended:

  • "What's New in Microsoft Silverlight 3.0" (Wednesday) - This session was a great run-through of several new features in Silverlight. Joe Stegman covered the very cool new video features including the adaptive video and effects. He also covered the interesting out-of-browser and cross-browser functionality.
  • "Live Framework and Mesh Services: Live Services for Developers" (Wednesday)
  • "Using Microsoft ASP.NET MVC to Easily Extend a Web Site into the Mobile Space" (Thursday)
  • "Improving UX Through Application Lifecycle Management" (Wednesday)

VERY cool, but not very useful, session:

  • "Using Total Experience Design To Transform The Digital Building" (Thursday)

All of these conferences and events are about networking. All of the presented sessions are available online, so I focused on attending sessions where I knew the presenter. If you are disappointed that you didn't get to go, because you thought this would be a great jumpstart to your training, do not worry. These conferences are a terrible way to learn something, but the sessions are great for exposure. (You can play these back at double-speed in Windows Media Player and probably do 3x the number of sessions in the comfort of your own home.)

The presentation of the Winchester Ballistics Calculator was alright. They had the Partner Showcase area in a terrible location where very few people walked by. It didn't help that our presentation was first thing in the morning, so people didn't really show up until afterwards for Thursday's keynote. The whole Partner Showcase was really disorganized as far as where we were supposed to be and when. Most importantly though, it will be available on video through the MIX site.

I am going to continue going through the various session videos and I will post my reviews of those as well. I will also add more notes on the conference in the coming days, but I gotta get back to work!

Friday, March 6, 2009

VSTS 2010 CTP Expired?!

Is your Visual Studio 2010 CTP expired? Here's how you can reactivate it.

First, download the bits again. You can use your original .exe and .rar's if you kept them. Extract them to the desired location, BUT DO NOTHING ELSE. Just extract the files.

Second, open the .vmc file in Notepad (or other text / XML editor) in order to view the XML. Find (CTRL-F) the XML element named "</mouse>". Immediately after the mouse element end tag, insert the bolded XML you see below.

<integration>
   <microsoft>
   <mouse>
      <allow type="boolean">true</allow>
   </mouse>
   <components>
      <host_time_sync>
         <enabled type="boolean">false</enabled>
      </host_time_sync>
   </components>

Tuesday, January 27, 2009

TFS31004 - Cannot connect to TFS

I recently had one of my developers tell me they were having trouble connecting to TFS. He had no problems connecting while at work, but then he took his laptop home to do some work. (Before you send me hate-mail, I didn't ask him to work any OT from home.) At home, he was unable to connect to TFS, so he deleted the server from Team Explorer and tried to re-add it. At this point, he got a dialog reporting a TFS31004 error. It's important to note here that his laptop was NOT joined to our domain. I'm happy he came to me early on because I knew I'd seen this error before so it didn't take me too long to find a fix. Scotty Wakefield's blog had a posting with exactly what we were looking for.

On the developer's machine, open a command prompt and enter control keymgr.dll
A dialog titled Stored User Names and Passwords should appear. Find the entry in the listbox matching the name of your TFS server. Click the Edit... button, verify your username, and retype your password. Click OK and then Close to exit the dialog. Try again to connect to TFS.

Thursday, November 6, 2008

St. Louis Day of .NET

I'm one of the organizers and presenters at the St. Louis Day of .NET. On Saturday, Dec. 13, please come check out the large variety of sessions we will have available and walk out with more knowledge (and some cool prizes). The majority of the presentations will cover products and technologies covered at the recent PDC.

St. Louis Day of .NET

Hope to see ya there!
I'm doing a Live Meeting presentation on the following today. I hope you guys can join. Sorry for the late notice! :(

"Crack the code on better ROI with in-house development projects
Do you create or integrate applications for your organization? Successful software development requires transparency and structure. Although most of your team understands the value of formal process and advanced tools, it is often difficult to justify their costs.

Quilogy can recommend custom activities for ALL roles on your development teams to improve project quality and overall success. Our deep experience can help you efficiently plan, develop and test your custom development projects and get more value out of your investments in process and tools.

Quilogy has been developing software for nearly two decades and has parlayed that knowledge into a set of codified rules for application lifecycle management. Join us as we take a hard, quantitative look at how your business can save money, improve quality, and reduce time to market. We’ll show you how to get started; you just have to take the first step."


We will eventually post a link to a recording of this presentation as well.

Wednesday, August 13, 2008

Intro to SharePoint & SOA

I've been developing and configuring SharePoint for about 4 years now. I was involved with the MOSS 2007 TAP Program and used it to gain an all-expense paid trip to Europe to train others upon its release. Let me start off by saying 'I love the product'. It integrates well with Office products and if my contacts on the product team are telling the truth, this will improve immensely in "Office 14". The document management capabilities are the best I've used in a web-based solution. Finally, it has a fairly simple object model that make it easy to interact with.

However, one thing I've learned is SharePoint is NOT a development platform - nor do I believe it is truly intended to be - nor do I believe it should ever be. SharePoint is a 'portal' application. (See here for the community definition.) It is intended to be a central access point to other applications. What I have been guilty of and what I continue to see others fall prey to is the temptation of developing even the smallest applications within SharePoint. Most often these applications take the form of complex web parts with lists as data sources or ASP.NET web pages stored in various locations within the SharePoint database or file structure. Often, this tight-coupling to the SharePoint server breaks SOA tenets and/or wreaks havoc on any kind of flexibility requirements. (The ALM difficulties of developing and deploying apps in SharePoint also indicate the need for small one-man efforts.)

Resources from Redmond Developer Magazine:
Platform Rising
SharePoint Does It All

Forrester Report (this one costs money folks!):
Now Is The Time To Determine SharePoint's Place In Your Application Development Strategy

Having said all of that, I truly believe SharePoint is integral to any SOA initiative in Microsoft-friendly enterprises. Its use of web services to provide access to its object model is extensive. The various ways SharePoint provides access to external data is also SOA friendly. Like Microsoft CRM provides services to expose its related entity data and Team System provides client object model access to work items, etc., SharePoint should act as a way to have your other applications interact with your documents, simple lists, and even kick off workflows.

Sidebar: Speaking of workflows, I've also seen too many developers go straight to Visual Studio to develop workflows. SharePoint Designer reminds us all of FrontPage, but there really is a lot of power there. When the workflow becomes complex enough to really warrant Visual Studio development, try to build custom workflow activities. These activities can then be used throughout your enterprise. Workflows that map critical business processes should be treated like any other application and not be tightly coupled to SharePoint. Host the workflow in a service and let it call into your custom database, document library, etc. (I've talked to developers that have made state machine workflow versions of existing sequential ones as if the fact that it is a state machine somehow will improve the end-user experience. When writing methods, some logic is easier to do recursively than iteratively and vice-versa. The same is true for state machine versus sequential workflows.)

So, keep your portal a portal. Build your web applications in ASP.NET and put a hyperlink to them in your portal pages. Don't struggle trying to get AJAX or Silverlight to work in SharePoint, thereby adding significant time and complexity to your efforts. Do it faster and keep the larger enterprise in mind outside of SharePoint. As developers and architects, it's important we keep the business needs in mind and not simply push products and technology to its limits because we can get away with it.