
Microsoft Technology Summit 2008 – Day 2
September 9, 2008These dated notes went missing for a while, but have been recovered. Although their relevance is greatly diminished, I’m posting them anyway for anyone trying to find out what MTS is about.
This is my second post on the Microsoft Technology Summit which I attended on Microsoft’s Redmond campus. This post is a summary of the Day 2 sessions. My post about Day 1 can be found here. MTS is a conference of technologists and bloggers invited by Microsoft to hear updates about various Microsoft products and initiatives and to provide feedback. Most of the attendees are experts in technologies and communities that aren’t closely, if at all, associated with Microsoft. Full disclosure: Microsoft paid for my travel, lodging and food during the summit.
Microsoft Open Source Software Lab
Annandeep Pannu, Senior Program Manager for Platform Strategy, gave an introduction to the Microsoft OSS Lab. The lab’s mission is to foster mutual respect and understanding between MS and OS community such that both act responsibly toward each other.
Recent projects the lab has completed include:
- Windows Media Player 11 Firefox interop
- Silverlight/Moonlight firefox interop
- SQL Server drivers Java/PHP interop
- FastCGI Java/PHP/Python interop
- Firefox on Vista
- SAMBA interop with file and print services
Current projects include:
- Hyper-V Linux interop
- WS-Man compliance tool (system management)
- PHP Pear/ADOB Abstraction (PHP interop)
- ASF Technology Transfer (Apache interop)
- cardspace relying party (Java/PHP/Ruby/C interop)
- HPC Linux/Windows environment (identity integration, file server integration, resource manager interop)
In answer to an attendee’s question, Pannu stated that Microsoft has no plans to port Office apps to Linux. It is a fundamental belief of the lab that Windows is the best OS. As such, their efforts will always be focused on letting other systems integrate with Windows, not porting Windows applications to other systems.
IIS7 Product Overview
Bill Staples, Principle Product Unit Manager of the IIS Product Division, went into a lot of detail on the new version of Microsoft’s web server, IIS7.
He was one of the few presenters that didn’t reuse their presentation from the MIX08 conference, instead opting to just demo the product.
Microsoft has been working on IIS7 for five years. They decided that every IIS7 feature must be built on public APIs in order to have as little of the server built into the kernel. I’m sure this was motivated by security concerns; the less server code running in the kernel, the fewer potential exploits that would provide kernel access. To accomplish this, they added a slim request/response API with an extensibility model. All other features are modules that can be added/removed as needed, a la Apache.” Also borrowing from Apache, the “configuration repository” for the server is an XML file.
IIS7 is clearly a huge improvement over IIS6, but Staple’s audience grilled him on why they should be excited about this stuff considering Apache has done all of it for a long time. Staples commented that Apache/Linux is a great solution and that now developers have a similarly modular option on Windows. Apparently the company position is that Apache doesn’t run on Windows! IIS7 only runs on Vista and Windows Server 2008.
One differentiator is the GUI admin tool that is built on top of the XML configuration file. It’s pretty much what you’d expect from a Windows management interface. All of the configuration can also be done from the command line apparently. Site specific IIS config can be controlled via an XML web.config file located in the site’s root directory.
As a demo, Staples created a WordPress blog and served it with IIS and the FastCGI module.
Output caching allows dynamic content to be cached for period of time (eg 30 secs). Staples showed how this dramatically improved IIS/FastCGI/Wordpress performance.
By default, sites run in separate processes. IIS7 will eventually include a new URL rewriting feature which has not yet been publicly released.
IIS7 does include a cool feature called Bandwidth Throttling. A site can be configured to respond to a request for certain media types with a temporary burst of very high bandwidth for a few seconds, then continue with bandwidth throttled at a percentage (better be >= 100) of the media file bitrate so that the downloading stays just ahead of the media player. The point is to save bandwidth in the situations where a user only watches the first few seconds of a media clip by avoiding serving the entire clip during that time. In the event of a network interruption, IIS increases bandwidth allocation. Does Apache have this capability?
So IIS7 looks great compared to IIS6, and developers and sysadmins who have no choice but to use the Microsoft stack should be excited about it. Those who use Apache probably don’t have any new motivation to switch, with the possible exception of the bandwidth throttling feature.
The Microsoft Local Software Economy
John Fernandes, Director of International Business Development discussed Microsoft efforts to foster healthy local software economies in international communities. Local governments have asked Microsoft what they can do to help with the local economies, and this program is the eventual answer.
Local Software Economy Initiative
-builds self-sustaining ecosystems though local partnerships in 70+ countries
-helps governments drive prosperity
-grows competencies of local IT community
-creates new businesses
-focuses on students academics, government, ISVs and startups
-drives long term growth opportunity for partners & MS
Local software Economy Programs
-skills & capacity building
-foster innovation & ICT growth
-enable ICT competitiveness
Microsoft Innovation Centers
- provide environment for innovation
- operated with government, university, industry organizations – not on a MS campus
- 110 MICs in 60+ countries
Fernandes was asked bluntly if Microsoft’s goal in running the innovation centers was to train developers who are dependent on Microsoft technology, or to build a general local software economy that would payoff over the long term. In other words, are they creating customers now or a market later? Fernandes said it was the latter.
He took some flak for this from an attendee who said she has been in the training centers and there is nothing being taught except Microsoft products. On one hand I think it’s unrealistic to criticize Microsoft for donating and teaching their own technology. What do you expect? Linux classes? On the other hand, maybe a conflict of interest is too inherent in the Microsoft-only program, and a better way to work towards the stated goal of long term health of the local software economies would be to donate resources to or co-found a non-profit.
IE8 Product overview
Chris Wilson, Internet Explorer Platform Architect talked about the major changes in IE8. He first discussed the different consumers of the product, users and developers, and how these groups have different priorities.
Users want predictability, productivity, and power, while developers want productivity, power, and predictability, but those concepts mean different things to each group.
For users, predictability means security, compatibility, and reliability. New IE8 features to address these needs include:
-the site domain name is highlighted in address bar separately from rest of the URL
-the Manage Add-Ons experience has been improved
-ActiveX components can be installed per-user and per-site without admin rights
-DEP/NX code execution prevention
-users’ sites and apps work in new browser version
Two new big features increase user productivity. Activities provide a framework for plugins that can do something with data on a web page. An example would be obtaining a map for an address selected on a page. Activities are available via right-click and have a category, such as “Map”, that supports hierarchical navigation through the right-click menu. Activities are defined with the OpenService format.
WebSlices allow a user to subscribe to a specific piece of content on a site. the WebSlice format is based on hAtom, but extends it. WebSlices support dynamic content while hAtom only supports static content. WebSlice subscriptions get added to the Feeds platform.
Predictability for developers has conflicting definitions. Should IE8 behave like the standard or like IE7? Of course, this is a quandary of Microsoft’s own making by not supporting the standards as they emerged. Microsoft considered having sites opt into IE8′s standards support, but they thankfully went the other way. Instead, IE8 will default rendering according to the standards. Sites that don’t render correctly in the standards mode can add a <meta> tag directing IE8 to render in IE7 mode. This will allow them to make a small change to support IE8 if their site doesn’t look right by default, and then convert their site to standard HTML and CSS on their own schedule. Users will also have an option to switch to IE7 mode for sites that don’t add the meta tag or convert to standards. When in standards mode, IE8 now passes the ACID2 test.
IE8 also has a new layout engine with the goal of providing developers with predictable layout. This layout engine has an improved typographic foundation and benefits from having CSS2.1 in hand while being designed – one of the problems with the prior engine. This clean start is the end of hasLayout.
A few changes are intended to improve performance. The parallel connection limit is increased from two to six unless the user is on a modem. Also, there are javascript improvements and the pre-parser doesn’t block at script tags.
Finally, there are some improvements to increase developer productivity including better support for web history in Ajax applications, a debugger, a CSS selector API, and HTML 5 storage.
Dynamic Languages @ Microsoft
John Lam, Senior Program Manager for Visual Studio Managed Languages discussed the Dynamic Language Runtime. In response to his own rhetorical question asking why Microsoft would support dynamic and open source languages on the .NET runtime, he listed the following reasons:
- increased opportunity to get Microsoft technology used
- clear trend to build stuff on OSS
- developers want freedom to create stuff
- developers want freedom to see the source code
The Microsoft Permissive License got changed to Microsoft Public License(MSPL), and got OSI approval.
The Dynamic Language Runtime(DLR) was refactored from the IronPython implementation. Common code and services that were needed for dynamic languages was extracted into a reusable framework.
Because the DLR is distributed as MSPL, anyone can port to other platforms. So assemblies can run on Mono without changes.
Microsoft is hoping to have Rails running on the DLR by RailsConf 08. John demoed Django today, but acknowledged having to make a few changes to the Django source to do so. He also admitted that both IronRuby and IronPython have performance issues right now.
Microsoft Robotics Studio
Tandy Trower and George Chrysanthakopoulos of R&D Advanced Strategies presented on Microsoft’s robotics development tools, which include a general concurrency and distributed services solution. Robotics Studio is a development platform for the robotics community supporting a wide variety of users, hardware, and application scenarios. The tool is free for non-commercial use and $399 for commercial use.
The tool and technology looked cool, but it was the end of a second long day and I’m not a robotics guy so I don’t have much to say about it. In summary, robots are big, big, big, and Microsoft has an IDE and simulation environment to develop and test robotic control. If you are into such stuff, it definitely looked like it’s worth checking out.