Web Camps? Web Camps are an international series of free one and two day training events which showcase the Microsoft web platform. The camp is targeted at a broad range of developer background and experience. Content builds from 101 level introductory material to 200-300 level coverage. We start with an overview of the Microsoft web platform, then move on to building an application with ASP.NET MVC 3, Entity Framework, and jQuery, and finish the day with some advanced topics. The second day features proctored hands on labs and one-on-one question and answers.
I’m a veteran Web Camper, having been to seven before the India trip: Toronto, San Francisco, London, Munich, Chicago, New York, and Los Angeles. I blogged about the first Web Camp in Toronto.
The Web Camps team has a lot of events scheduled through June. Those currently announced include 7 large two day events and 42 one day events. The full schedule is here: http://webcamps.ms/upcoming-web-camps.aspx
Updated Presentation Content
We updated all the content for this trip – slides and demos – to cover ASP.NET MVC 3, NuGet, Entity Framework 4 (Code First), and Microsoft's recent contributions to jQuery. The agenda was as follows:
- Microsoft Web Platform Overview - Web Platform, ASP.NET, WebPI, WebMatrix
- ASP.NET MVC 3 Fundamentals – Models, Views, Controllers, Razor Syntax
- HTML Helpers, Forms, Unobtrusive Ajax
- Data Access & Modelling with Entity Framework Code First
- Validation in MVC 3 – Data annotations, unobtrusive jQuery
- jQuery Contributions – Templating, Data-Linking and Globalization
- Advanced ASP.NET MVC 3 – Dependency Injection, Global Action Filters, Custom Validation and more as time and questions permit
Observations on presenting with the bleeding edge stack
The new stack (MVC3 / NuGet / EF Code First / etc.) is a lot of fun to build with, and attendees seemed to like it pretty well. The tradeoff with presenting technical demos running on pre-release bits, of course, is that it’s harder to make everything work well together.
Code / demo recycle time
- Internet Explorer 9 Beta / Page Not Found on first page load after build slows down the flow in demonstrations where you're doing a lot of code/run cycles. Note: this is a known issue, and workarounds are available. This is an IE9 beta issue that’s been reported in connect, so I’ll bet you $8 that it’ll be fixed momentarily.
- SQL Server CE 4 database "file exists" errors which go away when you refresh the application. This appears to be an issue with CTP releases our demos were built on, as I haven’t seen it pop up with the latest SQL Server CE 4 CTP. If you are seeing these, upgrade to the latest SQL Server CE CTP.
The combined impact of these wasn't obvious when building the demos, but was compound when presenting them, as the errors slow down the flow and distract from the demo. I presented one of these demonstrations the following week not using IE9 and dropping the database backing during the validation portion of the demo, and the small incremental difference in each cycle made that presentation a lot smoother.
NuGet Local Repository
I pulled down a local copy of the NuGet repository for the demonstration, which worked really well. We didn't need to rely on the internet connection (hotel wifi at one event), and we didn't need to worry about an update to the NuGet feed breaking our demo (note: I've noticed this happen to other folks). I used Steve Michelotti's Powershell script for that, but the feed’s changed a bit since then. I’ve got an updated script I’ll post soon.
Learning from other presentations
I referred to Scott Hanselman’s PDC10: Building a Blog with Microsoft "Unnamed Package of Web Love" presentation when things went wrong when we were building the demos. Captain Obvious tells us that speakers (myself included, too, I guess) make choices in the flow of their demos so that they… well, work. In some cases this might be to work around known issues with the early bits, or maybe they just got lucky and didn’t run down the dark alleys (note: this is not me – I have a knack for hitting every potential dead end in pre-release bits). Those few places where our demos didn’t run as smoothly as they could have, I noticed that other demos avoided the problems through the order or combination of how things were built. Note that in general I think the whole stack is working really well and is feeling just about baked by now, but there’s a reason for CTP / beta / RC releases.
The Camps – Bangalore and Hyderabad
The event planners put a lot of effort into making this a top-notch event, and it really showed. The stage setup included three screens - a center screen which showed the live video of the presenter, and two side screens showing the computer monitor display.
The center screen video was fed by a videographer who filmed the entire event, which was also live-streamed to 10,000 live viewers throughout India. James and I kept things pretty interactive and informal, with a lot of live coding and on the fly coding in response to questions. Scott Hanselman showed up via live video chat for both events, which was very well received by the crowd.
There were two different options for attendees during the Lab day. Attendees who wanted to review ASP.NET MVC basics and application building worked through the MVC Music Store.
Those that wanted to dig into specific topics in more detail used the Web Camps Training Kit. James' team has done a complete update of the Web Camps Training Kit for MVC 3, and most of these labs build on the MVC Music Store tutorial, which seemed to work really well as a common reference point. Available labs included:
- ASP.NET MVC 3 Fundamentals
- ASP.NET MVC 3 Razor
- ASP.NET MVC 3 Models and Data Access
- ASP.NET MVC 3 Helpers, Forms and Validation
- ASP.NET MVC 3 Testing
- ASP.NET MVC 3 Custom Validation
- ASP.NET MVC 3 Custom Action Filters
- ASP.NET MVC 3 Global and Dynamic Action Filters
- ASP.NET MVC 3 Dependency Injection
- ASP.NET MVC 3 NuGet
These labs were very well received. James and I have previously been kept very busy proctoring labs at previous Web Camps, but the new lab content is so thorough that the lab day was pretty quiet. We were able to dig into some in-depth questions and discussions which wouldn’t have been possible previously. The Training Kit material is available online at http://trainingkit.webcamps.ms and is highly recommended.
The Web Camps India events were a big hit. We had about 550 attendees in person, and the events were live streamed throughout India bringing total attendance to 10,680 developers. The combination of the live event plus regional live streaming seems like a great way to involve as many people as possible.
After James and I left, local Developer Evangelists continued the Web Camps tour to Chennai (1st December, 2010) and Pune (3rd December, 2010) – with a cumulative attendance of 460 Developers and Technology Decision Makers.
“Event exceeded my expectations … conduct these type of sessions regularly when new technologies are released/announced … “
(Kasha Kullai | Hyderabad)
“Conduct more such events to help developers learn new concepts.“
(Nithya A | Bangalore)&
"It was great to have both of you presenting. Fabulous Presentations :)"
(@uma_kanth | Bangalore)
Attendees were very engaged and asked a lot of questions.
Web Camps TV #10 - Update from Web Camp India
A lot of the questions – both during the sessions and labs – came from local trainers and educators. My guess is that the Web Camp served as a touch point with Microsoft that filled a void since PDC and TechEd are out of travelling range from India for a lot of people. It was really cool to work directly with people who were going to be passing the information along to others.
The technology demographic seemed pretty similar to what I've seen at Web Camps and Europe.
- A lot of folks are doing Web Forms development, and have a lot of questions about how to adapt from control oriented development to the MVC pattern. The most common questions continue to be on Grids and Charts, so it's nice to have the new Web Helpers for both of those scenarios.
- Those that are doing ASP.NET MVC development are generally at the intermediate to advanced intermediate level. For instance, we had a lot of great questions on how some Microsoft frameworks integrate with and compare to open source options.
The local Microsoft team in India was well organized and really engaged with the community. They put a lot of effort into the event, and it really paid off.
This was a fabulous opportunity to work with developers from a dramatically different culture who have a shared passion for web development. Namaste!