Mike Swanson

May, 2008

  • Mike Swanson's Blog

    PDC2008 Registration Opens with Preliminary Sessions


    The wait is over! The public PDC2008 site just went live, and you can now register for the conference (and save $200 if you register early). We've published a preliminary set of topics that represents only a fraction of the over 160 sessions you'll see at the event. Topics include software + services, Windows 7, a deep dive on Silverlight graphics pipelines, Windows Mobile, extensible BitmapEffects and Pixel Shaders in WPF, how we use Team Foundation Server for our huge Microsoft projects, a new technology that makes it easy to build business applications in Silverlight, how to develop for Live Mesh, and more. It's brain busting content at its best.

    For $400 more, I'd encourage you to show up a day early and attend one of our pre-conference sessions. These are all-day-long, deep-dives on today's technology delivered by both Microsoft and recognized third-party experts. For example, Advanced Windows Debugging will be presented by Mario Hewardt and Daniel Pravat, the guys who wrote the excellent book by the same name. Some of my other favorites are Concurrent, Multi-core Programming on Windows and .NET, Performance by design using the .NET Framework, and who could resist the urge to go under the covers with Charles Petzold for WPF Code and Concepts.

    We're doing social at the PDC this year, so be sure to join our Microsoft PDC Facebook group, our PDC2008 Twitter feed, and the Microsoft PDC2008 group on Flickr. Oh...you might also want to subscribe to the PDC blog for key information and updates about the event. Note that the PDC blog feeds the public web site, so no need to subscribe in both places.

    Last, show your PDC2008 spirit! Grab some of the blog bling and wallpaper.

    This is going to be an amazing event!

  • Mike Swanson's Blog

    PDC2008: A Day in the Life #1


    As the PDC2008 Content Owner and a member of the Core Team, my days are filled with PDC-related activities. I thought I'd blog about some of these activities in a series called A Day in the Life. My hope is that I'll be able to post more of these as we approach PDC2008 this October. So, if you're interested in behind-the-scenes insights, keep checking back.

    First off, let me explain the Content Owner role. My job is to drive the themes, tracks, sessions, and overall direction of the content at the event. This extends to many other areas, including the keynotes, the pre-conference training sessions, the hands-on-labs where you can play with the technologies, the bits that we hand out (referred to as The Goods), and the panels and symposia. Ultimately, we have role owners that are responsible for each major activity, and without them, there would be no way to pull of an event with the scope, size, and magnitude of PDC. It's definitely a team effort.

    PDC is a different kind of conference. Unlike most conferences that I've attended, PDC is assembled from the top down. By this, I mean that we start with a top-level theme and work down to the individual products, technologies, and topics that are covered in our sessions. Since the PDC is all about the future of the Microsoft platform, it's important that we provide a clearly articulated strategy with content that not only offers deep technical education, but also delivers guidance, best practices, and recommendations for its use. Many other conferences do a "SELECT * FROM NEW_STUFF" and generate content for each result. While this works for training, it doesn't work as well for a strategic conference like the PDC where the content needs to work together and tell a coherent story.

    We initiated a PDC2008 "proto-track" process late last year. The proto-track team was comprised of senior leaders across Microsoft (VPs, Distinguished Engineers, Technical Fellows, etc.) that met over the course of many multi-hour meetings to decide on our overall theme, the tracks we would use to organize the content, and the people who would make up our track team. After the track team was assembled, we began the twice-weekly meetings that will continue up until the event in October. As Content Owner, it's my job to organize and run these meetings to ensure that we end up in Los Angeles with kick-ass content. Actually, if I restate that more specifically, my job is to help the track team generate kick-ass content that you guys love.

    While PDC2008 registration hasn't opened yet, the track team is working towards this first major milestone. This means that we need to come up with an initial set of sessions that will more-or-less represent the kinds of sessions you can expect to see at the event. This initial set won't be comprehensive, and we'll add new sessions as they're defined and published over the coming months. If you read my post titled PDC 2008 Conference Scheduling Using a Genetic Algorithm, you already know that tracks—while useful—don't solve all of the content slicing and dicing challenges, and we'll spend a lot of time in our meetings coming up with a useful list of tags to help you navigate the content.

    The track team is also working with Jaime Rodriguez to develop a full day of pre-conference sessions for October 26 (one day before the main event begins). These all-day sessions are typically very well attended, and they provide in-depth training on current technology. Actually, Jaime is doing all of the real work...we've just provided some insights and feedback.

    I hope you enjoyed this first look into life as a PDC Content Owner. If there are any topics that you'd like me to write about or any questions that I can answer, I'd love to hear your feedback.


  • Mike Swanson's Blog

    Being Green at PDC2008


    As the Content Owner for PDC2008, I'm now a member of the Tier 1 Events Council at Microsoft. This is a group that meets a few times a year to share ideas and best practices around our largest events (like Tech·Ed , MIX, and PDC). We met all day today and covered a number of great topics.

    One of our sessions was titled Environmentally Sustainable Events Initiative, and it was presented by Gina Broel and Jessica Ludders. We discussed what it means to be a "green" event based on the Green Meeting Industry Council. According to the council, a green meeting incorporates environmental considerations to:

    • Achieve economic and strategic business goals
    • Minimize or eliminate environmental impacts
    • Positively contribute to the environment and host communities

    We love to measure, benchmark, and assign metrics to just about everything we do at this company, and environmental sustainability is no different. We've looked at things like the amount of waste generated by our events, the amount of uneaten food and scraps that are discarded, and tangible items like plastic water bottles, attendee bags, and other giveaways that aren't used. We'll use metrics to measure and track how much we improve the situation year over year.

    For an example of some work that is already being done, check out Tech·Ed's Environmental Sustainability Efforts. And if you attended MIX08 in Las Vegas, you probably saw the bag that Tim Aidlin designed from recycled materials.

    For PDC2008, we're back at the Los Angeles Convention Center. This past month, the U.S. Environmental Protection Agency recognized the Los Angeles Convention Center (PDF) as an “Earth-Friendly” Green Venue, and their Food Services went green (PDF) late last year.

    In today's meeting, I was fascinated to learn that the hotels we use for our events report finding bags and backpacks that have been left behind by our conference attendees. It made sense when I thought about it: you bring your stuff to the event in last year's backpack, and because you receive a brand new backpack at this year's event, you "upgrade" and leave the old bag behind since it won't easily fit in your luggage. This caused me to wonder:

    • How important is it to receive a branded bag or backpack at PDC2008? Would you be disappointed if you didn't receive one? For MIX06 and MIX07, we didn't hand out big bags, and I don't recall anyone giving us feedback that they were disappointed.
    • As an attendee, would you be willing to pay an optional additional fee to help us make the conference more environmentally sustainable? This is my own crazy idea, by the way. But it's driven by the feedback that attendees would like us to be more green, and this is one way that might make it even more doable.

    I'd love to hear your feedback. If you have any other suggestions about how PDC2008 can do more for the environment, please leave a comment to this blog post. Last, if you'd like to submit your ideas to our council, you can send e-mail to grnmeet@microsoft.com.


    Update: We just launched a new site that talks about Microsoft's environmental sustainability efforts.

  • Mike Swanson's Blog

    PDC 2008 Conference Scheduling Using a Genetic Algorithm


    If you read my What Do I Do post, you'll know that I'm the Content Owner for this year's PDC 2008 in Los Angeles. MIX08 is behind us, and I've just recently transitioned away from my Web GO role. This means that I can now focus 100% of my time and attention on our October event. It's going to be fantastic!

    One of the many responsibilities I have as Content Owner is to create the master schedule for the event. This is the schedule that tells you which session is in which room and at what time. For PDC 2005, we delivered over 200 sessions at the conference, not including repeats (we run repeats of popular sessions that are filled to capacity).

    Because PDC is where we talk about the future of Microsoft's platform, all of the content relates in some way to our overall strategy (which is typically delivered during big keynotes and general sessions). This means that some sessions need to be scheduled ahead of others to provide foundational and prerequisite knowledge. For example, a 200-level (intermediate) session covering a specific topic should precede a 300-level (advanced) or 400-level deep-dive. The following diagram is a simplification, but it illustrates my point.

    Here are some additional constraints that must be considered when creating a master schedule:

    • Only one session can be presented per room during any given time slot.
    • A speaker can only present one session during any given time slot (i.e. can't be in two places at the same time).
    • A speaker may only be available on specific days.
    • A session may require audio/video equipment that is only present in specific rooms.
    • Popular sessions should be scheduled in larger rooms.

    To tackle the scheduling problem, sessions are typically grouped into tracks. These tracks are then scheduled in parallel, almost like mini-conferences running alongside each other. While this can be effective, many studies show that conference attendees don't attend tracks; they attend sessions. In other words, it's relatively rare for someone to sit through all of the sessions in a single track. An attendee is much more likely to hop from track to track to attend the sessions they're interested in.

    Because of this track-hopping behavior, post-event surveys often reflect the inability of people to attend all of their favorite sessions. This is almost always due to a conflict where two or more desired sessions share the same time slot, and an attendee is forced to pick only one. For our MIX07 and MIX08 events, we tried to mitigate this undesirable outcome by publishing the session recordings within 24 hours of their completion (we actually averaged under 12 hours in both cases). This helps, but it's not a panacea.

    In an ideal world, conference participants would be able to attend all of their favorite sessions. We almost always do a pre-event survey asking people to pick the sessions they'd like to attend, and we use that data to extrapolate expected room capacities for scheduling. For PDC, where we announce many brand new technologies, we have the additional challenge of making educated guesses about how many people will want to attend sessions that aren't revealed until the first day of the conference. It's an inexact science, to be sure.

    For PDC 2008, we're going to try something brand new. In my spare time, I've been working on a genetic algorithm (you may want to review this article to understand some upcoming terms) that takes all of the above factors into account, including a couple more:

    • The total walking distance required for a participant to attend all of their favorite sessions. This distance can be significant in the Los Angeles Convention Center. The algorithm prefers shorter routes.
    • The degree to which room capacities are "balanced." This means that—on average—the algorithm prefers schedules that leave relatively equal space in each room. Otherwise, one room may be near 100% capacity while another is only at 25%.

    In my version of the algorithm, each solution in the population represents a conference schedule. The fitness function takes all of the aforementioned factors into account, and penalizes solutions with undesirable attributes. At the end of each generation, an elite group of solutions is retained, and the remainder are subject to both crossover and mutation. Generally speaking, optimal solutions are discovered in under 500 total generations.

    The end result is that most conference attendees should be able to attend most of their desired sessions, all without a rigid track structure.

    Update: Channel 9 has published a 32-minute video interview of me discussing this technique.

Page 1 of 1 (4 items)