Last week I spoke at TechEd North America in lovely Atlanta, Georgia. Always an amazing (and huge) conference, this year was a little more special for me as one of the faces of Visual Studio LightSwitch, the newest edition of the Visual Studio family, which had a lot of great presence and excitement at TechEd.

Members from the team ran the booth that was located dead center of the expo floor almost right in front of the main door, so we ended up with a lot of traffic. Of all the Visual Studio booths, ours had the most traffic by far! The organizers also put a lot of cool LightSwitch advertising everywhere, from a huge rug on the expo floor to a giant banner up the escalators (see pictures below). At the GeekFest party on Tuesday night everyone got a cool flashing beer mug with the Visual Studio LightSwitch logo on it. Even though I forgot mine (argh!), it was totally cool to see LightSwitch “techno-style” all over the crowds that evening.

We had a lot of great conversations with folks about what LightSwitch is and what it can do, the kind of applications it can build, and what people were going to use it for. There were developers and IT Pros of all skill levels interested in the product which was really encouraging. A lot of people had heard of LightSwitch but weren’t sure what it was. When we showed it off, people loved that so much of the application was functional without writing any code.  Eyes got wide when they saw how easy it was to create tables and a master/details screen, and were able to F5 and see the application running immediately. Some of our favorite quotes were:

  • “How did you do that so fast?”
  • "This is the perfect tool for the departmental apps I write all the time"
  • "I normally don’t have time to write any of the code that you are generating for me"
  • “It’s great that I can use Beta 2 to build production apps”
  • "You need to release this yesterday!"

We also got a lot of great feedback from professional developers that our architecture was sound and made sense and how they liked the extensibility model, especially the ability to integrate your own Silverlight controls into the UI. In fact, one of our partners released an extension while we were at TechEd last week, the Document Toolkit for LightSwitch which allows you to upload and view Word documents directly on LightSwitch screens. It will be exciting to see our partners as well as the community build amazing extensions for LightSwitch when we release.

I had two sessions, one on OData and one on Extending LightSwitch. Robert Green also did a great intro session which drew over 300 people and he got great scores. I did a similar session at DevDays last month. You can watch Robert’s session here: Building Business Applications with Microsoft Visual Studio LightSwitch. Also another super-cool teammate of mine did a session on SharePoint development in VS that you can watch here: Introduction to SharePoint Development with Microsoft Visual Studio 2010.

Extending Visual Studio LightSwitch Applications

Watch the video Watch the Video: Extending Microsoft Visual Studio LightSwitch Applications

Download Sample Download the Sample: Contoso Construction – Advanced LightSwitch Development Sample

In this session I showed some advanced development and different levels of customization that you can do to your LightSwitch applications. There were about 80 people in the session and only one person in the audience had never heard of LightSwitch. I ended up in the top 10 sessions at TechEd so I suppose it went really well Winking smile. I started off by showing an application called “Contoso Construction” that I built using Visual Studio LightSwitch edition (no VS Pro installed) that has some pretty advanced features like:

  • “Home screen” with static images and text similar to the Course Manager sample
  • Personalization with My Appointments displayed on log in
  • “Show Map..” links under the addresses in data grids
  • Picture editors
  • Reporting via COM interop to Word
  • Import data from Excel using the Excel Importer Extension
  • Composite LINQ queries to retrieve/aggregate data
  • Custom report filter using the Advanced Filter Control
  • Emailing appointments via SMTP using iCal format in response to events on the save pipeline

During the session we built some of the parts of the application that any LightSwitch developer has access to. You don’t necessarily need VS Pro to write advanced LightSwitch code, you just need it to build extensions (which we did in the end). We dove into the LightSwitch API and I explained the save pipeline and the DataWorkSpace as well as talked a little bit about the underlying n-tier architecture upon which LightSwitch applications are built. I showed how to access the code behind queries so you can write more advanced LINQ statements. I showed how to flip to File View and access client and server projects in order to add your own classes. We injected some business rules into the save pipeline in order to email new, updated and canceled appointments and I walked through how to use content controls in Word to create report templates that display one-to-many sets of data. I also showed how to build custom Silverlight controls and use them on screens.

I then went through the 6 LightSwitch extensibility points. Shells, themes, screen templates, business types, custom controls and custom data sources. I showed how to install and enable them and then we built a theme. I showed off the LightSwitch Extension Development Kit which is currently in development here. This will help LightSwitch extension developers build extensions quickly and easily and I used it to build a theme for the Contoso Construction application. Just like I mentioned before, LightSwitch extensions are similar to other Visual Studio extensions, they are also VSIX packages you just click on to install and manage via the Extension Manager in Visual Studio (also included in LightSwitch). For a couple good examples of extensions, that include all source code see:

You can get a good understanding of more advanced LightSwitch features by working through the LightSwitch Training Kit. If you look under the “LightSwitch Advanced features” section on the right-hand sidebar on the opening page of the kit you will see the demos and labs.

Here are some more resources of Visual Studio LightSwitch to explore:

Advanced resources:

Creating and Consuming OData Services for Business Applications

Watch the videoWatch the Video: Creating and Consuming Open Data Protocol (OData) Services

I also presented on the OData (Open Data) protocol and how to create and consume data services in .NET. There were about 200 attendees and I got some great scores and comments. I have written and spoken about this topic many times and it’s one of my favorites and I was honored that the Astoria team let me deliver this session for them. The session goes over what the OData protocol is and how it works on the wire but takes a business application/BI slant. We first play with the Netflix data service then I show how to create data services over Northwind and the AdventureWorks data warehouse. I then show how to consume them using PowerPivot in Excel. I also show how to consume and analyze data from the Azure DataMarket – these are sets of data in the cloud that you can subscribe to and use in your applications, some are pay and some are free. For my demo, I took some free US government crime data and used PowerPivot to create a simple report on the most violent cities in Georgia – Atlanta won by a very wide margin (eek!). I also showed how to write a VSTO Excel document customization that works with SharePoint 2010 data services to visualize the data. Here are some resources you should check out:

Fun Stuff

There’s always a ton of fun stuff happening at TechEd. You basically work all day and then party all night and do that straight for 4 or 5 days. I came back healthy with only a slightly lost voice which is a lot better than I can say for other people I know Winking smile. The closing party was really awesome, held at the Georgia Aquarium and World of Coke center. There was a cool band outside and the weather was nice and warm that night. Check out some of the pictures I took:

clip_image001clip_image001[4]WP_000295WP_000314Photo_751FA40C-D1A0-F232-E93A-CE83F85F2ADFWP_000300Photo_8CFB309D-5A99-5D1A-0A61-0133CE650643WP_000307WP_000306WP_000305WP_000316WP_000315WP_000332WP_000320Photo_D62AD3DD-5330-6B9F-818C-170A6C3F251APhoto_DF64EAA9-E3B7-BD0A-7C31-FF05B1956BBFWP_000330WP_000334Photo_82CFA794-DCF0-FEC7-42F9-727973AA719D

Thank you Atlanta, see you next time!