Welcome to MSDN Blogs Sign in | Join | Help

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.

Posted by mswanson | 7 Comments
Filed under: ,

Internet Sharing with the Samsung BlackJack and Windows Vista

I was waiting for a flight out of Orange County Airport earlier this week, and after I fired up my laptop, I couldn't find any publicly available wireless networks. So, I decided to try using my Samsung BlackJack (SGH-i607) for internet connectivity, because I had remembered reading about the feature awhile back. I tried to get things working for about 10 minutes before I had to give up. I'm not a cell phone expert, but I can usually mind meld with devices and figure them out within a short period of time. Not this time.

So last night, I dug in. After a few hours following forum threads across hundreds of posts, reading technical support notes, downloading drivers, and playing with configurations, I finally figured out how to properly set up and use the internet sharing feature with Windows Vista via Bluetooth. I thought I'd document the procedure here so that others don't have to go through the same painful process.

As mentioned, I have a Samsung BlackJack (SGH-i607) phone that I upgraded to Windows Mobile 6.0 a month or so ago, and I'm running Windows Vista SP1 on a Dell XPS M1330 laptop. My service is AT&T (formerly Cingular), and I have an unlimited data plan (update: Blake Handler notes in the feedback to this post that an unlimited data plan may not cover the "tethering" feature I describe here, so it's worth checking the details of your account to avoid any surprises). The following instructions are based on these devices and software versions, so your mileage may vary if you're using something slightly different.

  1. Update Your Connection Profile
    On your BlackJack, go to Start/Settings/Connections/GPRS/AT&T IMS. It should say Connects to: The Internet, and most likely, Access Point: ims.cingular. Change Access Point to be isp.cingular (all lower case). Both User name and Password should be blank. Change the Authentication Type to be CHAP. Both Primary DNS and Secondary DNS should be 0.0.0.0 and IP address should be blank. Press Done two times to return to the Connections screen.
  2. Activate Bluetooth and Make Your Device Visible
    Choose Bluetooth, then Bluetooth again. Click Menu, then Turn On Visibility. Choosing this option will automatically enable Bluetooth and make the device visible. Exit the menu and click Done four times to return to the startup screen.
  3. Establish a Connection Between the Phone and Your PC
    In Vista, choose Start/Control Panel/Network and Internet/Network and Sharing Center/Setup a connection or network. Choose Connect to a Bluetooth personal area network (PAN), then click Next. Click the Add... button to launch the Add Bluetooth Device Wizard. Check the box next to My device is set up and ready to be found, then click Next. After a few moments of searching, your device should show up, likely titled SGH-i607 (unless you've changed its name). Select the new device, then click Next. When asked about a passkey, choose Use the passkey found in the documentation and enter 0000 (four zeros), then click Next. On your BlackJack, you will be asked to confirm the connection, so select Yes. When asked for the passcode, enter 0000 (four zeros), then select Next. You should receive an Info screen stating that Your Smartphone has connected with your machine name. Click OK. Then, enter a display name for your device (or simply leave it as its default), and click Next. On the Services screen, click Done. On the PC, you should see a Completing the Add Bluetooth Device Wizard. Click Finish.
  4. Configure Internet Sharing
    On your BlackJack, select Start/Applications/File Explorer. From the My Documents folder, select Up, then scroll down and select the Windows folder, then scroll way down and select Internet Sharing (follow the steps later on to create a handy shortcut for Internet Sharing). Change PC Connection to Bluetooth PAN, and ensure that Network Connection is set to AT&T IMS. Select Connect.
  5. Connect to the Internet
    On the PC, make sure the SGH-i607 is selected, and click Connect. If everything goes according to plan, the status on your BlackJack should say Connected, and you should have internet access on your laptop. To disconnect, simply select Disconnect on your phone. Or, on the PC, right-click the small Bluetooth icon in the notification area, select Join a Personal Area Network, select the SGH-i607 device and choose Disconnect.

I'm sure Bluetooth uses up more battery power, so it's probably a good idea to disable Bluetooth when you're not using it. Select Start/Settings/Connections/Wireless Manager, then select the Bluetooth option.

To create a shortcut for Internet Sharing and make life easier the next time you want to use the internet, connect your Blackjack to the PC using the USB cable. I don't know of any way to do this without involving the PC. On your PC, click Start/Computer, then look for your SGH-i607 device, and double-click it. Double-click the root folder (indicated by a backslash), and look for a folder called Windows. If you can't see the folder, select the Organize menu, then Folder and Search Options. Click the View tab, and uncheck the option that says Hide protected operating system filed (Recommended). You'll receive a warning; select Yes, then click OK. When you can see the Windows folder, double-click it, then scroll down and right-click on Internet Sharing.lnk. Choose Copy from the drop-down menu. Find the Start Menu folder (probably by scrolling up) and double-click it. Right-click anywhere on a blank area, and choose Paste from the drop-down menu. On my phone, I had to turn it off and restart before I could find the new Internet Sharing icon under the Start menu.

Whew! Hope you made it through all of that! Fortunately, after you've gone through these steps once, you only need to perform steps 4 and 5 to connect to the internet. If you find any problems with these steps, or if you have any recommendations that have worked well, please leave feedback.

Posted by mswanson | 4 Comments
Filed under:

Over One Million Wallpaper Visitors

I watched the stats for my wallpaper page tick past one million a few days ago. Wow! If you'd have told me when I posted my first macro photo years ago that it'd be the most popular page on my blog (by a long shot), I wouldn't have believed it. I haven't actually added up the individual downloads, but it would easily exceed one million, since I get a lot of direct links from other sites. I average a little over 4GB downloaded each day. Interestingly, more people download the widescreen versions of my wallpaper than the standard ones. I wouldn't have expected that.

I receive a request almost every other day from someone who wants to use one or more of my photos for a project. I almost always say "yes," because I really enjoy seeing how the photos are featured. All I ask for is credit for the photo, a link back to my wallpaper page, and a sample or photo of the finished project. Over the years, my photos have been used: as wallpaper for Windows Vista, as a backdrop for a concert, in car brochures, in magazines, as large glass panels in a Japanese architecture firm, as a background for plasma displays in universities, in annual reports, and many others. It's quite inspiring.

So, to commemorate the occasion, I've just added 10 new photos for your enjoyment. Most of them should feel like spring, except maybe the deep blue image. It's the only photo I liked from a series that involved food coloring.

On to the next million!

Posted by mswanson | 1 Comments
Filed under:

Donkey Kong at MIX08: Behind the Scenes

In the two weeks since our MIX08 event in Las Vegas, I've been asked many times about Steve Wiebe's attempt to re-claim the Donkey Kong world record at our TAO attendee party on March 5th, 2008. So, I thought I'd document what happened "behind the scenes" for those of you who may be curious.

The story really began back in September, 2007 when a few of us at Microsoft had dinner with Steve at a local restaurant here in Washington. We're all fans of The King of Kong: A Fistful of Quarters, and our only motives were to eat some good food and meet Steve Wiebe. It honestly didn't go any deeper than that.

Some time passed, and as we started to think about entertainment for our MIX08 event, Steve's name came up again. I was a member of our MIX08 core team (the group of people who organized and ran MIX08), and we reasoned that our audience—which consists of a lot of people who grew up playing classic arcade games—would love the opportunity to play some classic games and meet a true master. Due to space constraints at TAO, we eventually dropped the idea of renting a club-full of games but stuck with the record-breaking attempt.

I asked Steve if he'd be interested in participating, and after coordinating the time off with his school district (he's a teacher), he said yes. Steve then put me in touch with Ed Cunningham (leftmost in the photo), the producer of The King of Kong. In addition to being an all around great guy, Ed knew a lot about what it would take to make this an official world record attempt...more on that later. Ed also suggested that we screen the movie at MIX08 so that anyone who hadn't seen the film would understand who Steve was and what he was trying to do. He offered to help us coordinate and also put me in touch with Walter Day, the founder of Twin Galaxies.

I love Walter. The first time I talked to him on the phone, I had a smile on my face from ear-to-ear. When I started to explain what a Microsoft Technical Evangelist does, Walter actually gave me one of the best descriptions I'd ever heard! And most people have no idea what we do as Evangelists at Microsoft...even after I try to explain it to them. He's poetic in his phrasing and articulate in his speech. For our event, though, he was not only the official referee, but he helped me coordinate the intricate process of staging an official world record Donkey Kong attempt.

According to Walter (and Ed and Steve), the release of the movie and its ever-increasing popularity has raised the bar for what it takes to stage a record-breaking attempt for Donkey Kong. To start with, I needed to find a Donkey Kong printed circuit board (PCB) that I could have validated as authentic and unmodified. As luck would have it, we have a vintage Donkey Kong arcade machine in our building on the Microsoft campus. Unfortunately, the cabinet is locked, and despite my many attempts, I could never find the owner of the machine.

Walter put me in touch with Jeff Kulczycki (maker of D2K: Jumpman Returns) as one of two people who are trusted by Twin Galaxies to validate Donkey Kong boards. Thankfully, Jeff had an extra PCB he was willing to rent to us for Steve's attempt. To mitigate the risk of the board being damaged during shipment, Jeff also located and purchased a second PCB. Both of the boards were tested and validated by Jeff before being sealed and shipped directly to Walter Day at The Venetian Hotel (where they were kept sealed in The Venetian's secure area until Walter's arrival in Las Vegas).

To maintain a chain of custody, around 11:00am on the morning of March 5th, we had a camera crew film Walter as he signed for and accepted the two packages from The Venetian. The crew kept filming as he carried the packages to TAO and unsealed the first of the two PCBs. We had coordinated with a local arcade rental company to deliver an original Donkey Kong cabinet (along with two other related machines for attendees). Walter observed as one of the technicians removed the PCB from the original Donkey Kong cabinet and replaced it with the validated board.

After verifying that the machine worked properly, it was sealed and guarded by security personnel as the lighting and audio/video equipment were set up. A professional-quality video camera was mounted on a tripod behind and to the right of where Steve would sit. This camera would not only be used to record every moment of Steve's record-breaking attempt, but it would also send a live feed to the large monitors positioned in the club so that everyone could watch him play.

Steve arrived early in the afternoon to go through a technical check. We needed to make sure that the game was performing correctly, that the joystick and buttons were operating properly, and that the video and audio feeds were functioning. After playing some warm-up games, Steve left the club to put on a darker shirt (his white t-shirt was reflecting off the glass and interfering with the video image). Throughout the technical check, Steve's wife, Nicole, and their two kids came to visit too.

When Steve returned around 5:00pm, he started his first game. We wanted to give him as many opportunities as possible to beat the high score, and since the official party was from 6:00pm - 10:00pm, starting at 5:00pm gave him an additional hour. According to Steve, he had scored over one million points the prior weekend while practicing in his garage. Walter sat next to Steve and tracked his pace against prior attempts.

Though I didn't note the actual scores myself, Twin Galaxies reports that Steve reached 929,800 points on his first attempt. While not enough to re-claim the world record, this was the sixth time that someone has reached the kill screen at an event like this. It was great to see in person. After a short break, Steve played a second game and scored 579,300 points. I played a lot of Donkey Kong when I was young, and I have to tell you...it was amazing to watch Steve do what he does. I almost couldn't look at the screen, because my instincts were telling me that there was no way to get out of many of the situations he found himself in (or rather, put himself in). Perhaps most impressive of all, he looked just as calm, cool, and collected in the loud nightclub as he did in the movie. He is truly a professional.

Overall, Steve put on a very impressive performance. We had a huge crowd, and everyone seemed to have fun. If Steve would have beaten the record, we would have filmed the removal of the PCB and shipped it back to Jeff Kulczycki for re-validation (according to the rules). As it turned out, however, we didn't have to do that. As an additional "thanks" to Steve for participating in our event, we gave the second validated Donkey Kong PCB to him for his own use.

I've published some photos from the party. Some were taken by our MIX08 event photographer, some were taken by Robert Hess, a 20+ year Microsoft employee, and the third set was taken by Andrew Laidlaw who was gracious enough to let me host his images. There's also a video of the Q&A session that followed the movie screening and a short video interview with Steve and Walter.

There are three other questions that I've heard, and I'll respond to them here for completeness:

  1. Why are you playing a Nintendo game at a Microsoft event? Honestly, this thought never crossed my mind until someone asked it at MIX08. It's simple, really. We grew up on classic arcade games too, and we figured that our attendees would love it.
  2. What about Billy Mitchell's hot sauce? Yes, it's true that Billy Mitchell sent a case of his hot sauce to the event (you can see the bottles in some of the photos). The bottles have a limited edition label titled "Steve Wiebe Attempts Donkey Kong World Record March 5, 2008" along with various Billy quotes. Depending on who you talk to, this is either 1) a way to honor Steve's attempt, or 2) the "long arm" that is talked about in the movie. Regardless, even Billy would agree that this was Steve's event, so we didn't make mention of the sauce that evening.
  3. What affect will the new rules have on the Donkey Kong world record? Well, I can tell you that it took more effort to pull this off than I had originally anticipated. If it takes this level of effort each time someone thinks they may break the current Donkey Kong world record, I can tell you that the opportunities for this to happen will be greatly diminished.

In closing, I'd like to thank Steve and Nicole Wiebe (and their two kids), Ed Cunningham, Walter Day, Jeff Kulczycki, and New Line Cinema for helping to make this event a success.

Posted by mswanson | 4 Comments
Filed under: ,

MIX08 Show Off Winners

It's hard to believe that MIX08 is over. I was involved in so many aspects of the event that it seems like I attended in some parallel universe! At least I got to see many of you there.

Thanks to everyone who submitted an entry for Show Off. Thomas and I weeded out the less inspiring entries and ended up with the 16 videos we showed on Thursday night. The room wasn't completely packed, but we had strong attendance, and our audience was pumped-up and supportive. It was great to hear applause after each video.

We tallied up the results, and here are the top five submissions (as voted by the audience):

  1. Crayon Physics Deluxe - like many of the comments on the voting forms, I want this game now!
  2. Real Time Physics in Silverlight - a very cool open source physics library for Silverlight hosted on CodePlex
  3. Wii Data Visualization and Multipoint Nonsense - using the Wii for some Minority Report fun
  4. 40 - My Life in Silverlight 2 - probably the only computer application that's ever caused me to have this kind of emotional reaction
  5. Social Retailing - how we'll shop for clothes in the future

The top three will each receive a $500 gift card to spend on whatever they'd like. Congratulations to all three of them!

If you missed Show Off at MIX08, don't worry. We're planning another Show Off event at PDC08 this October. There's plenty of time to think about what you might submit.

Posted by mswanson | 2 Comments
Filed under: ,

What Does “Sold Out” Actually Mean?

You’ve probably heard that next week’s MIX08 conference in Las Vegas is sold out. But do you know what that actually means? Does it mean that we decided months ago to cap registrations at an arbitrary number of attendees? Or perhaps we picked a mystical date? Or a financial target? Or the cynical among you might believe that “sold out” is just a way for us to create buzz around the conference. It might surprise you to learn that it’s none of these.

When we organize a conference like MIX08, one of the first tasks is finding a city that can accommodate thousands of attendees and the large support staff that it takes to run a big event. This is more challenging than you might think, because we have to consider things like meeting room layout, space to accommodate large sessions, the number of people we can fit into the ballroom for lunch, how many hotel rooms are available, opportunities for evening events and activities, weather, transportation, etc.

After applying all of these criteria, the list of candidate cities is typically pretty small. Also, reserving space for a large conference requires more than a year’s notice. In fact, it's common for associations to book their annual events over five years in advance! These aren’t like hotel rooms that you can casually move with 24-hour notice.

After we’ve selected a location, determining how many attendees we can accommodate then becomes the lesser of:

  • How many people the conference center can handle (which is subject to strict fire marshal rules)
  • How many hotel rooms are available
  • How many people we can feed at lunch

Yes, it actually comes down to this. When we sell out, it basically means that we’ve hit a hard physical limit based on one of these constraints. In particular, the fire marshal codes are there to ensure that our attendees are in a safe environment, and we take them very seriously.

Other than those who help run the event (staff, speakers, etc.), we limit Microsoft employee registration as much as possible so that our customers and partners have an opportunity to attend. With events as informative, educational, fun, and exciting as MIX08, we frequently disappoint our colleagues by blocking their registration. In the end, though, everyone understands that we need to optimize for the non-Microsoft attendees first.

That said, many Softies don’t understand where the limit comes from, and I hope that this post helps to shed some light on the situation. This also explains why it’s next-to-impossible to accommodate the inevitable last-minute barrage of “it’s critical that we get so-and-so into the event” requests. We get them every time. It's an easy problem to solve if someone else is willing to give up their space, but that rarely happens.

The good news is that we understand the physical limits of convention space, so we try to capture as much of the actual event as possible and broadcast it out to the world (for example, we post videos of every session within 24 hours of its presentation). So, if you aren’t able to attend in person, know that every session—and a lot of other content—will be available on http://visitmix.com/2008. We’ll continue to evolve our virtual presence for PDC08 and future conferences.

Posted by mswanson | 3 Comments
Filed under: ,

The King of Kong and Show Off at MIX08

We're only one month away from MIX08 in Las Vegas, and I hope you've already registered! In addition to our new MIX UX track for designers, we have a lot of great sessions on the schedule. But MIX isn't just about pumping your brain full of raw content. It's about networking, inspiration, and good fun too.

So, to kick off the event, we've invited Steve Wiebe, Ed Cunningham, and Walter Day (of Twin Galaxies) to Las Vegas to give us a special screening of their movie, The King of Kong: A Fistful of Quarters. Even if you've never played Donkey Kong, this is a fantastic documentary. Don't take my word for it...check out the 96% score on Rotten Tomatoes. The movie will be shown the evening of Tuesday, March 4th around 7:30pm, and Steve, Ed, and Walter will be on hand after the show for questions and answers. Note that this is the night before the opening keynote, so be sure to plan accordingly.

But that's not all. During the attendee party on Wednesday, March 5th at TAO, Steve will attempt to re-claim his Donkey Kong world record. This is a chance to see a master at work. Ed and Walter will be there too, so show up and cheer them on!

Then, on the evening of Thursday, March 6th, we'll break out the candy and popcorn while watching the best of our Show Off entries (by the way, we're now accepting submissions). This is a great way to share your work with fellow developers and designers. I've already linked to a few inspirational ideas in my post about MIX08 Contests; here are a few more that seem like they'd be audience favorites: Andrew Rudson's Drum Machine for your Rock Band drum set, the vision-guided fireball-throwing robotic catapult by the guys at Harcos, Inc., and Zombomatic by Miniclip Games. We're looking for stuff that's cool, fun, beautiful, inspirational, or just plain amazing. The audience will pick their favorites, and we'll give away some prizes. It should definitely be fun!

Posted by mswanson | 0 Comments
Filed under:

SEAMonster Loosed to CodePlex

Well, I had good intentions. Ever since my first post about SEAMonster in October, 2007, I've wanted to refactor and clean-up the code for release. In the meantime, I've received many, many e-mails asking when that would happen. To everyone who has patiently waited, today's the day. SEAMonster is now hosted on CodePlex.

Before you get too excited, know that I haven't had the time to do any clean-up (at all). I finally realized that I just had to let it loose. This is one of those "20 lines of code" test projects that evolved into an unarchitected proof-of-concept with a load of TODOs. There's no doubt that it could use a lot of help from the community. If you'd like to contribute to the project, please drop me a line.

Here's a sample image that ships with Windows Vista that I've resized using both SEAMonster and Photoshop.

Notice the "squashed" and distorted look of the bicubic resize as compared to the seam carved version. The seam carved version looks like it could be a real photo, even though it's width has been significantly reduced.

On a related topic, I've been asked about 15 times now if I would present a session about SEAMonster (and possibly SWF2XAML and my Illustrator plug-in) at our upcoming MIX08 conference. Every one of our session slots has already been allocated, but it's possible that I could give a talk in our Open Space area at the event. If you'd be interested in hearing something like that, please leave feedback to this post.

Posted by mswanson | 2 Comments
Filed under: ,

Helvetica: The Documentary

I ran across Jeff Atwood's blog post, Typography: Where Engineers and Designers Meet, about a week ago. Like Jeff, I've been interested in fonts and typography for a long time. As a matter of fact, I used to create bitmap fonts for the TI-99/4a, Commodore 64, and Atari 400/800. I'm sure if I dug through enough boxes I could find a pile of old graph paper with 8 pixel x 8 pixel character sets on them! Those were the days. :-)

Until Jeff's post, I hadn't heard about the Helvetica film by Gary Hustwit. I immediately ordered the DVD (it's only $20), it arrived a few days later, and I watched it this morning. What a great movie! It was obvious from the moment I pressed play that this was made by someone who is passionate about the subject. From the beautiful photography to the perfect music, this film reflects the cleanliness and simplicity that is Helvetica. You do not have to be a font geek to appreciate this documentary.

The film traces the history of the typeface from the 1950s when it was known as Neue Haas Grotesk. Through fascinating interviews with industry luminaries and designers, we hear how Helvetica has influenced graphic design and typography over the years. Along the way, we also discover how pervasive it really is. I particularly enjoyed the balance of perspectives (some like Helvetica, some despise it, and many are apathetic). I also found the insights into design and the creative process to be very inspirational.

If you decide to buy the DVD, be sure to watch the extras. The feature itself is around 80 minutes long, and the extras run for over 95 minutes! Here are some of the topics that are touched on: Pencil vs. mouse; How technology has affected type design; The reader’s awareness of typefaces; Helvetica and the Macintosh; Helvetica and branding; “Mean” Modernists; Music packaging; One typeface is not enough; Designing for an audience; Approach to design; The value of good design; The Simple typeface. The extras are almost like watching a bonus movie.

As a Microsoft employee, my ears perk up whenever I hear our company name mentioned (which is quite often). So, I particularly enjoyed listening to comments from Erik Spiekermann about our Arial typeface where he calls us "big bullies," says that we're "baddies," explains why he "won't go near a Microsoft product," calls us despicable, and adds that we're "mean bastards." I'm not here to argue with Erik, because frankly, I don't have enough context, but I appreciate his passion!

If you have any interest at all in typography, this is easily worth $20. Highly recommended.

Posted by mswanson | 2 Comments
Filed under: ,

What Do I Do? Top sites, MIX08, and PDC08.

A few days ago, I received the following e-mail:

Help me out here. I've been reading your blog off and on for years and I can't figure out what it is you do. Your obviously involved with the PDC and MIX conferences, you send a lifesize cardboard cutout of yourself as your resume, you've made a plug-in for Illustrator and a converter for Flash files (which rock BTW), you take amazing photos, you implement seam carving in your "spare time", you write Tivo gadgets, you taught me about continuous integration with your orb article, your article on code review was mandatory reading in one of my classes, you read quite an collection of books, you seem to be pretty good at design considering you claim to be a geek, you build small arcade machines, you counted to a freakin' million, you worked with Tom Skerrit, you write music, you build medical software, and who knows what else. Don't worry, I'm not stalking you. :) I just read through your old posts cuz I couldn't remember all of this! Just what the hell do you do at MS?

Yes, I'll admit to being a bit disturbed until I found out that this person had read through my old posts. Whew! It's strange to have your history read back to you. But, it's a very fair question, and it made me realize that my blog may provide a distorted perspective on the work I do. So, to set the record straight, let me try to explain my job at Microsoft.

For context, I work in Developer and Platform Evangelism, commonly referred to as DPE. My office is in building 18 on our main campus in Redmond, Washington. I've been in DPE for the past three years, and prior to that, I was a Senior Consultant with Microsoft Consulting Services (MCS) for five years working out of our Michigan office. I've been working with computers for over 30 years now.

In my current role at Microsoft, it's easiest to categorize my work into three buckets. Note that—like almost any job at Microsoft—the things I do can change many times during the course of a year, but these three are accurate now:

  1. I manage a group of Technical Evangelists and Program Managers to run a program we call Web GO. A primary goal of the Web GO program is to engage with top consumer-facing web sites to help them adopt our new products and technologies. In DPE, we focus most of our efforts on leading edge technology...usually stuff that hasn't shipped yet. As you probably know, it's a risk to work with anything this early on in a product lifecycle, and our job is to do what we can to make early adoption as easy as possible. Along the way, we get a lot of real-world feedback from our customers, and that feedback helps to shape our products and (hopefully) make them more relevant to a wider set of scenarios and usage patterns.

    At the end of our engagement with a customer, we capture what we call evidence. Evidence is the story we tell about the customer and how our products and technologies helped them achieve a positive result. Sometimes this positive result is lower costs, sometimes it's faster time-to-market, sometimes it's how the new technology enables a scenario that couldn't easily be achieved before. Often, it's a combination of these. We create the evidence as a written case study, perhaps a video (like this one featuring yours truly), and occasionally a customer standing on stage at one of our big events.
     
  2. I own and oversee many aspects of our upcoming MIX08 conference in Las Vegas, and I'm a member of the core team. You may find it interesting that there isn't an official MIX or PDC "events team" in Microsoft. Both of these events are owned by DPE, and we enlist a volunteer army to pull them off. Most of the folks that work on these conferences have another primary role in DPE if you can believe it (I jokingly refer to it as the "Microsoft 120% Rule").
     
    • Keynote partners - I'm responsible for helping to identify the customer and partner projects we have on stage at MIX08, and I work with the primary account representatives inside Microsoft to make sure that everything stays on-track. I also help to find projects that align with the overall themes of the conference. There's a lot of timing that goes into this, and as you can probably imagine, there are a lot more partners than we have slots, so selecting the right set of projects is critical.
    • The Signal - I co-host our weekly MIX08-related podcast along with Thomas Lewis. We provide a behind-the-scenes look at the event, and we interview speakers, staff, and other notables. Yes, we produce the whole thing.
    • Show Off - Like The Signal, I also work on this one with Thomas. The goal is to find cool projects that get people excited about technology/design and feature them at the Show Off event. This is a blast, and if you have anything that would inspire other developers or designers, please submit a video! Thomas and I will present the best of them the second evening of MIX08.
    • ????? - Unfortunately, I can't talk about this one yet, but it has to do with the evening of day 0 (the day before the keynote) and something we're doing at the attendee party the following night. You're going to love it!
    • Then, there are activities that I oversee. That means that I don't do any of the actual work, but I provide guidance and make sure things are moving forward. I work very closely with owners for each of these activities, and frankly, they deserve all of the credit.
       
      • The Sandbox - owned by Hans Hugli and Glenn Podany, this is the MIX version of hands-on labs. Plus, there's an online component called Sandbox in the Sky that allows attendees to easily publish their work out on the 'net. This year we've also added technology that makes it easy to take the labs home with you. I can't wait to see how well it works.
      • Open Space - this is a mash-up of what used to be known as Open Mic and MIX Chat, and it's being driven by Drew Robbins and Jason Olson. Think of this as an area where you can meet other experts, including speakers, to chat about design and development topics. Self-proclaimed experts can also schedule their own mini-sessions to talk about whatever interests them. There will be a projector, lots of whiteboards, and couches. They'll also have video cameras on-hand to make it easy to record the content and publish it on the internet for all to see.
      • Session recordings - I had this role for PDC05 and MIX06, and the amazingly capable Brian Keller had it for MIX07 and is driving it again this year. The goal is to record every session we present and make it available online within 24 hours for anyone (not just attendees). Brian has some cool upgrades to the experience this year that I hope everyone will love.
      • Bits - David Tesar is responsible for wrangling the bits for the various products and technologies we talk about at MIX08. This means that he figures out which builds of which products will be available by the conference and works with the teams to get them onto DVDs and CDs we can hand out to attendees.
         
  3. I am the Content Owner and a member of the core team for this year's Professional Developers Conference: PDC08. I've only just started this role, and my job is to drive the theme, tracks, sessions, and overall direction of the content. This is a heavy duty job, and it will likely consume most of my time as we get closer to October. The content direction that is set will naturally flow to almost every aspect of the event. I hope to be able to post frequently about the work I'm doing related to PDC08. I also look forward to your suggestions and feedback.

There you have it. Those are the three areas where I focus my time and attention at Microsoft. Interestingly, very few of my blog posts relate to my day job. I have an insatiable passion for technology, and I spend a lot of my spare time on hobbies like photography, writing little programs, reading about topics that interest me, and relating old stories (like counting to one million).

So, I guess the overall theme of this blog—if there is one—is me. I have a diverse set of interests, and I hope you'll continue to indulge me for another four years!

Posted by mswanson | 2 Comments
Filed under: , , ,

Programming Collective Intelligence

I tend to read a lot of books, and most of them have a technical focus. Every once and awhile, I run across a gem that is timely, coherent, unique, and well written. Programming Collective Intelligence: Building Smart Web 2.0 Applications by Toby Segaran is one of those books. If you've ever wanted to understand how search engines perform their magic, how a site like Amazon.com knows what products to recommend, how spam detection works, and how dating sites predict good matches (among others), this book is for you. Check out Toby's Web 2.0 Berlin slides for a quick overview.

Many of the algorithms and methods that Toby describes are very complex, but he doesn't assume that you have any special knowledge of data analysis, machine learning, or statistics. Toby does a fantastic job explaining mathematical concepts in a remarkably straightforward and simple fashion. If you have a programmers understanding of math, you should do just fine.

The book is full of real-world examples that pull live data from sites like del.icio.us, ZEBO, Kayak, Zillow, HOT or NOT, eBay, Yahoo!, and Facebook. All of the code is written using Python. If you've never written a line of Python code in your life, fear not! Toby explains a few of the less obvious Python constructs and syntax in the Preface, and frankly, almost any developer should be able to easily understand what's going on. You'll be writing concise Python code in no time.

Chapters include: Making Recommendations, Discovering Groups, Searching and Ranking, Optimization, Document Filtering, Modeling with Decision Trees, Building Price Models, Advanced Classification: Kernel Methods and SVMs, Finding Independent Features, and Evolving Intelligence (cue the ominous music). Some of the algorithms that are covered include: Bayesian classifiers, decision trees, neural networks, support-vector machines (SVMs), k-nearest neighbors (kNN), hierarchical clustering, K-means clustering, multidimensional scaling, non-negative matrix factorization (NMF), simulated annealing, genetic algorithms, and even genetic programming. Don't worry if you've never heard any of these terms...the names may be scary, but the text is extremely approachable and lucid. And you're sure to be a hit at the next geek gathering!

Not only will you come away from this book with a very good understanding of collective intelligence, but you'll also have a very powerful set of practical Python routines that you can immediately apply to your own data.

Highly recommended!

Posted by mswanson | 0 Comments
Filed under: ,

Return of The Spider King

As many long-time readers may recall, I've been trying to foist blogging onto my friend and colleague, Thomas Lewis, for nearly three years. He's endured my chiding both online and in person; thank goodness he's one of those guys who can take my constant nagging.

A couple of weeks ago, Thomas stated that he had a surprise for me and asked if I wanted to hear it then or at some point in the future. I appreciate a good surprise, so I told him that he could tell me when he was ready...turns out that time was today at lunch. He played it very well. I was sure he was about to tell me that his wife is pregnant, he had won the lottery, or that small bunnies had attacked him with sticks last night (don't ask). After drawing out the suspense for what seemed like a few minutes, he revealed that the Spider King has returned!

Now, I personally believe that blogging isn't for everyone and that it should never be forced or required. But, I know a few people who have such interesting perspectives or such insightful thoughts that it'd be a shame if those perspectives and thoughts couldn't be shared more broadly. Thomas is one of those guys. I'm thrilled that he'll be posting about his unique views on Microsoft, Apple, technology, his pets, his wonderful wife, wine, the iPhone, heavy metal, internet standards, and whatever else inspires him. No matter what he chooses to write, I'm sure it will add value to the world.

So, without further ado, head on over to The Spider King and check out his first couple of posts. I've received a lot of e-mail in the past about what it means to be a Technical Evangelist at Microsoft, and Thomas' post about 7 Tips To Become a Microsoft Technical Evangelist is a great start. He's a good guy to work for too, so be sure to check out the open position on his team.

Last, since Thomas ended his first post with a Dune quote, I thought I'd close with the same: He who controls the Spice Girls, controls the universe! Muwhaha!

Posted by mswanson | 0 Comments
Filed under:

MIX08 Contests

Let's kick off the new year with a post about our upcoming MIX08 event in Las Vegas. This is the third year for this annual conference, and we've found ourselves with a unique problem: we have so much great content that we've had to say "no" to a lot of really good sessions just to fit everything into the schedule. Truly insane! We're back at the fabulous Venetian Resort Hotel Casino from March 5-7, 2008. I'll be there the whole time, and if you're planning to attend, drop me a line so we can hook-up. After we've heard Steve Ballmer, Guy Kawasaki, and Scott Guthrie speak, maybe we can go see Big Elvis. I'm almost not kidding.

Anyway, you're probably reading this because of the "Contests" tease in the title (or maybe you Googled "Big Elvis"...I don't know), so let's get to it. There are three fun ways to win cool stuff around MIX08, and I want to make sure you're aware of them:

  • ReStyle, formerly known as the REMIX contest, challenges anyone to redesign the look and feel of the MIX08 home page using CSS. Three winners will receive paid registration to MIX08, three nights at the Venetian, and $1,000 USD towards travel. That's a value of around $3,000 USD by the way. Pretty decent winnings, even by Vegas standards! Check out some of the MIX06 entries for inspiration.
  • Show Off is the ultimate ego stroke. We provide a kick ass soapbox at an event attended by your peers, and you get to show off the cool developer and designer stuff you've created. All you have to do is submit a 3-minute-or-less video that represents your obvious superiority, then we'll pick the best entries and show them back-to-back on a big screen at our evening event. Your peers will feel pwned. Prizes will be awarded to the best entries. We don't know what those prizes will be yet, but they will not be lame. To get your brain humming, check out prior audience favorites Bar Code Blitz, /cameraFlow Labyrinth, and RoboCoaster.
  • The Signal is our MIX08 podcast, hosted by me and my partner-in-crime, Thomas Lewis (who still doesn't have a blog I can link to). If you've ever wanted to hear what I sound like, tune in to our weekly interviews to get the behind-the-scenes scoop on MIX08. As it relates to contests, we have two Xbox 360 Elite packages to give away, and we still don't know the best way to rid ourselves of them. If you have any ideas, or if you just want to give us feedback or suggest a future show topic, send an e-mail to signalm@microsoft.com or leave a voice-mail message at (425) 703-4650. Yes, you'll have to use a phone for that latter series of digits...it's that old skool device on your desk that your mom calls you on.

Last, if you want to sit back and watch a one-hour grainy video taken at a bar (and who doesn't!?), be sure to watch our video interview on Channel 9 called MIX 2008: What the hell is this MIX thing, anyway? You'll not only hear me speak, but you'll also see me move. Scary.

Posted by mswanson | 3 Comments
Filed under:

TiVo Gadget v1.0.2 Enables Video Download

I made a very minor update to my TiVo Now Playing gadget that allows you to download recorded shows to your computer. While viewing the show details window, simply click on the title to begin the download. Because the video files are protected, you'll be prompted for a user name and password. The user name is always tivo, and the password is your media access key (check the Remember my password checkbox if you get tired of re-entering this information). If you need help configuring your gadget or finding your media access key, be sure to read my earlier TiVo Gadget for Vista post. Download the TiVo Now Playing v1.0.2 gadget (182KB).

Posted by mswanson | 9 Comments
Filed under: ,

Silverlight Slide.Show

Our friends at Vertigo have created a free application for Silverlight 1.0 called Slide.Show. If you have Silverlight installed, you should see a slide show of my photos within the body of this blog post. Most of them are from my collection of wallpaper images, and a few are from a cruise to Italy and Croatia this past summer.

To incorporate the photos in the body of this post, I followed the instructions in the Quick Start Guide and had my slide show up and running within about 10 minutes. I borrowed some of the style settings from the guide and from Vertigo's own sample, and I tweaked them from there. I know there are more settings available ("hundreds of color, font, size, position, and behavior options" according to their feature list), and I can't wait to read the forthcoming user guide for the details.

To embed the Slide.Show application in this blog post, I used the following IFRAME tag:

<iframe marginwidth="0" marginheight="0" src="http://www.mikeswanson.com/Slide.Show/default.htm" frameborder="0" width="480" scrolling="no" height="300">

If you hover near the bottom of the frame, you'll see some thumbnail images and other navigation options. I only configured a single album for this example, but you can configure many. And, since I don't typically name my photos, I didn't include the SlideDescription module. Slide.Show also includes a FlickrDataProvider. As the name implies, it uses the Flickr API to retrieve and display photos for a specified user. Some of the other features include multiple transition types (fades, wipes, slides, etc.), cross-browser support (IE 6 and 7, Firefox 2, Safari 2 and 3, both Windows and Mac), and a full-screen mode.

To get started with your own show, check out the Slide.Show project on CodePlex. And if you're interested in writing some code, I'd love a simple utility that allows me to easily generate the XML data file.

Great job, Vertigo!

Update: Ben Hoffman has blogged about a free tool he's created that will read metadata from your images, resize them, and easily edit the data that gets included in the slideshow. Awesome!

Posted by mswanson | 6 Comments
Filed under:
More Posts Next page »
 
Page view tracker