Now I'm from the Apache and Tomcat world of web servers, it's all configuration files for me. Apache has a terrible legacy configuration file format IMHO. It's "XML" and I use quotes because it attempts to be XML in some demented way, but its not. IIS 7 has a really good GUI, but also lets you configure a majority of things via config files, which comes in really handy when you are scripting a deploy. Overall, I'm impressed, looks like its a great server for static HTML, ASP, ASP.NET and PHP via its support for FastCGI which means guess what folks? You can have IIS7 host a Drupal site.
Here are some notes from IIS 7.5 for Developers -by STEVE EVANS:
- Mentioned a lot of "gotchas" for developers (for instance how to name your sites, how that translates to the "Host:" header in http, how to add binding information to get "www" to work and showed how to do it via Power Shell)
- Talks about the AppPool how it's really a separate process around your site so that if it goes down the AppPool is just restarted without taking other apps down.
- Typically you pick a separate AppPool per site, but it adds a bit of overhead.
- You can have multiple AppPools per application, such that certain parts of your site are isolated (slowly converting portions of your site between versions of .NET for example).
- Session state will differ between AppPools if they aren't setup to be "out of process".
- AppPools recycle, which would wipe out sessions.
- every 29hrs, makes light of the fact that microsoft picked 29hrs instead of a time of day so people wouldn't complain about a site performance degrading every day at a certain time making it harder to google "site slows down at 11pm"
- Mentions how Powershell will pick the DefaultApplicationPool
- 32 bit AppPools are faster than 64 bit, only pick 64 bit if you need > 2Gig memory for your site.
- shows how to create a cert.
- IIS 7 lets you create a CSR which can be submitted to a CA to request a certificate to be issued.
- you can also create a "self signed" cert for internal sites or testing (you can tell the OS that your company is a trusted authority to avoid certificate warnings in the browser)
- Add a binding for https, host name is not asked for, certificate is
- Shows how to alias the "default document" to any name(s) you'd like, showed that the setting ends up in web.config file for your site). Shows how you can change the web.config file and have it show up in the GUI
- Through "Feature Delegation" you can control whether or not IIS uses a web.config file (for security reasons). It doesn't ignore the file if one is present, but it shows an error page (which admittedly might be undesirable when migrating sites from DEV to PROD)
- Application Warmup extension eliminates "spin up" times on first request by allowing IIS to hit your site after it starts to get the spin up done by IIS rather than your first user.
The next session I went to was Getting Started with POCOs in Entity Framework JULIE LERMAN, and as a Java dev I didn't get much out of this one. A POCO is a Plain Old CLR Object. Essentially what she described is how Java developers (the good ones) have been programming since they realized EJBs were a bad, horrible idea. The Spring philosophy of "Framework Agnostic" code: don't have your domain objects reference or extend from, say, a persistence framework class. Apparently in the past this was the only way to use the MS Entity Framework, now you can use a POCO.
- Basically showing how to use Entity Framework with Plain Old CLR Objects.
- In the past EF made you extend custom base classes
- Funny to hear Dependency Injection as a "new" concept
- EF uses Dynamic Proxies around your POCOs
My final session was really really good. Essentially Tim Huckaby took us through a concept of "Natural User Interfaces" or NUIs in a session titled "Using Natural User Interface (NUI) Technologies to Improve User Experience". Most of the talk focused on how to create innovative and "natural" UIs for touch based systems (such as MS Surface, WP7, Windows 7 Monitor). The session started off pretty slow, he took us through some Microsoft Surface programs him and his development team wrote for the TV show Grey's Anatomy. Kind of like when the CSI folks say "Bring up the program that shows us in 3D what its like when a person gets hit in the head with an axe" type stuff. Eye Candy fluff.
Then he started going through how different gestures and ways of thinking about interaction are being done now. It was really amazing. He showed us a virtual Craps table where a user can throw a set of actual transparent dice on a MS Surface table, and the table reads a "Byte Tag" on the dice to know which number was rolled. Then a person can place an actual physical poker chip on the table and the Surface will annotate around the poker chip and allow the user to spin the chip in order for it to be used as a "dial" to up or lower their bet. Really cool!
Clik here to view.

Translucent dice which can be read by the surface to determine the number thrown
He also said how these types of interfaces are being used in Hospitals for managing things like resources. The example he gave was a nurse preparing supplies and personnel for a surgery can drag the surgeon, nurses, instruments, supplies, patient into an operating room and really in behind the scence that's feeding an ERP System. Traditional ERP frontends are just a multitude of text boxes, drop-downs and radio buttons the user has to navigate through. It's very prone to error and frustration. A NUI such as the one described can save money and lives by reducing errors.
For the latter part of the session he took us through some upcoming user interface technologies such as the Microsoft Kinect and this truly amazing product "Brain Computer Interface" called "Emotiv". Really, you have to watch the video on this thing to believe it! Best part is, it's only $300. Think of what Stephen Hawking could do with this puppy!
Image may be NSFW.
Clik here to view.

Here are my notes from the NUI presentation:
- Started off by showing us an app he did for Grey's anatomy on the Microsoft Surface depicting a heart transplant
- Essentially saying that Touch interfaces have been around for a while
- Windows 7 Capable HD monitors that support touch
- Really kind of amounting to just showing videos (without sound because he's not plugged in) of some very impressive UI conventions when using a touch device
- Showed how the device can identify objects when you place them on the surface
- Mentions that the new monitors can track up to 75 simultaneous touches
three types of touch devices:- Resistive Touch (push down on screen and it bends a membrane)
- Capacitive (measures an electrical differential your finger introduces to the screen)
- Infrared light sensors on the sides measure the blockage of light where your fingers are
- Talks about different Gestures, tap, flick, fling, scroll, pinch/spread
- Sensing a real object being placed on the screenand annotating around it (poker chip,w ith a dial around it and if you spin the chip it ups your bet)
- WPF is Windows Presentation Foundation
- "Byte-tag" stickers on objects can be read by the surface
- Mentions that Silverlight is 4.2 meg download because Flash is, engineers are trying to figure out how to "trickle-download" the portions of .NET an app would need so you don't have to download everything at the same time (~120Megs)
- Talks about XBox Kinect, ships tomorrow, monitors 1 million points on the body
- Can figure out who you are based on your features
- No exposed API at launch
- Showed "Emotiv" which is head gear you can wear which "reads your mind" to interface to a computer
- Only $300
P.S. Also interviewed Shaun Walker from DotNetNuke, so stay tuned for that podcast!