This year, David Coallier and my self were invited to attend the annual Microsoft Web Developers Summit, or WDS for short. For David this was his first time there but for me it was a 3rd year running, and as ever I was excited like a kid in a candy shop.
What is WDS? In short, it’s a summit where Microsoft invites a selective few (roughly 25 people) from the PHP community, during which they basically ask the attendees questions, show case a few new features to get feedback on and utilize the time to help figure out how Microsoft can better serve the PHP community at large. These people tend to be various leaders of either community sites or big open source projects and will thus have a lot of insight into how people use their software on Microsoft platforms and the problems they have.
David Strauss from Drupal was kind enough to compile a Twitter list of the people attending, anyway most of them: http://twitter.com/DavidStrauss/mswds09 this includes various Microsoft people attending.
Before anyone starts going crazy over the fact they think Microsoft are “evil” and all that non-sense, well just don’t go there, I have covered this before in my other WDS wrap ups and so have other people! Microsoft is trying to work with us to make it a better platform to work with, for everyone. This includes making PHP faster, more stable and secure on Windows, among other things.
I think that’s a great thing that a big company like that is prepared to listen to the community and work with them – And as such we should respect them and their intention, they have yet to show any “bad” behavior. I hope that silences the trolls 🙂
The event spanned 1st of Dec till 3rd Dec with a pre event meal on the 30th of Nov. My flight to the event took grand total of 13 hours flying! and so I barely managed to get to the event meal on the 30th to catch up with friends and have some very good food – During which I got the news that David got stuck in New York for the night and would be effectively be missing the first day of talks, so first casualty of the conference and it hadn’t even started! 🙂
Before I continue on listing up some of the sessions and my impression of them etc. A bit of a warning beforehand.
Some sessions caught my attention more than others, others I couldn’t attend since I was out in the hallway having very useful discussions with various Microsoft employees and so on, just a small disclaimer.
Ben Ramsey made excellent notes, as always, which can be found here: http://tools.benramsey.com/dokuwiki/conferences:mswd09
So I will have varying degree of depth, if any, on session. Also, I will point out bits I did not like about a particular subject as there is no point in praising things I don’t agree with 🙂
OSTC – What are they doing with PHP
The first session of the day was given by Garrett Serrack, a Microsoft employee and one of the contributor to recent PHP Windows improvements. This talk was on application installation workflow on Windows vs. Linux and how that affects PHP and indeed other open source projects.
The talk was very unbias side by side comparison, in fact if anything Linux was touted at better at this.
He went over things like how Linux has a good concept of shared libraries, dependency control, easy installation / upgrade process and many other things while Windows application usually have to bundle their dependencies, often are horribly out of date but at the same time pointed out that many applications on Windows will in reality trick itself into thinking it’s running on Linux (multi platform applications) and thus miss out on very good compiling tools, WinQual (error reporting tool) and many other things (see Ben notes).
With the previous things in mind Garrett introduced us to some very interesting work that he’s been heading up internally at OSTC / Microsoft that focuses on making it easier for applications, and specifically open source, to compile and build on windows. This work is in the pipeline to be released to the general public, depending on some agreements from higher ups but basically what this tool is suppose to do is do scanning on the source code and figure out dependencies and so on. Garrett drew up some flow of this new project / tool which can be seen on Ben Ramsey’s Flickr stream: http://www.flickr.com/photos/benandliz/4150127011/ (whiteboard version) and a proper UML can be found at http://www.flickr.com/photos/benandliz/4151335578/
This is a tool I’m very much looking forward to see come to fruition as it will remove the bus factor for building PHP Windows releases (about 3 people in the world know how to do it properly) in addition to the benefits it will have for other projects!
A very good kickoff session and very much reflects great work MS has been doing in various areas.
IIS & Web Platform Installer & WinCache & PHP + Windows
Next up was a talk titled “The Next Generation of the IIS Web Server & Windows Optimization for PHP” and was presented by Mai-lan the IIS product manager but since she went all over the place and touched on various things that came up in other talks, I will simply join this all into one.
Mai-lan took us on a ride to explain why IIS is the awesomest! While admittedly it was a bit of a marketing spiel at one point I do think it was a good talk, for the people that didn’t get the same talk last year from another PM 🙂
However IIS7 has gained a lot of nice little features since last years WDS and others simply had to be brought up again to reminds us.
Things such as what is the future for IIS and Windows Server, the various Web Extensions for IIS (WebDAV, SEO, smooth streaming and so on) – yeah I know, IIS is extensible, took me by a surprise – That’s new to me and quite exciting to hear!
Extension repository: http://iis.net/extensions/
Extension API documentation: http://learn.iis.net/page.aspx/347/developing-on-iis-70/
IIS is looking really promising to me and is the main pillar in the Web Stack that Microsoft is trying to build up and thus very important to keep an eye on if you aren’t using it already.
The Rewrite Rule extension for IIS is always something I am very excited about – You know mod_rewrite for apache – IIS has a similar functionality, there is even a mod_rewrite to IIS Rewrite Rule conversion app floating around, yay!
RuslanY later came on an schooled on this and showed us the path – This was very exiting for me since I still remember the time when I worked on an open source CMS and we were trying to support IIS 6 and 5, no rewrite rules and a lot of voodoo magic, but no more with IIS7!
Smooth streaming is very interesting, most people might be more familiar with it when they are being shown Silverlight but behind the scenes it’s IIS Media Services that’s handling a good deal of it. Mark Brown showed us a demo of what it really is, this demo I had seen a few times before but is always damn impressive. The whole thing here is that Silverlight + IIS figure out what your bandwidth can deal with and adjust the streaming of the video according to that, this is achieved by reducing the quality of the video file you are getting.
I can’t wait to see it be more widespread! I’m told Netflix users Silverlight and exactly that feature 🙂
Mark went ahead to show off the SEO toolkit, this thing I was not so impressed with. Seemed like any other crawler which I could write custom queries for, find dead links, missing title tags, alt tags etc but all for their own I guess 🙂 I would probably have to use it a bit by hand to see any real value in it. So for now I’m declaring SEO Toolkit to be a bit useless.
RuslanY came on talked about WinCache, what it does for us (opcode cache, FS cache, relative path cache) and showed a few demos. Always good to see speed improvements like that reach PHP users on Windows and it works nicely with IIS5 to 7+
WinCache is in PECL: http://pecl.php.net/package/wincache
WinCache documentation in PHP manual: http://us2.php.net/manual/en/book.wincache.php
PHP on Windows – The last 12 months
Mai-lan touched on what has happened to PHP on Windows in the last couple of months as it was under her group now.
On the PHP core it self they had helped fix up a lot of the small nit gritty things where the Windows behavior differed from other platforms or simply didn’t work. A lot of work had gone into making PHP stable and fast on Windows, on par with Linux, if not faster and a great deal of more documentation for PHP on Windows.
A big thing now is that WinCache (as you can see above) is published on PECL and various Microsoft employees are now allowed to contributed directly to APC, PHP Core and more – No more backdoor patch handing of going on.
They also have helped various open source projects work better on IIS, using proper rewrite rules among other things.
Also a part of their group was to get a lot of the big PHP OSS apps to start publishing to the Web App Gallery, which the Web Platform Installer pulls from.
Web Platform Installer (WebPI)
This one was probably one of the more discussed product during the whole summit, and for a valid reason as well. Microsoft first introduced us to WebPI at least years WDS and at the time it caught my attention since I maintain the PEAR installer. Back then I realized that this was going to be a big thing but never really had the time nor urge to try it out.
To get a little bit of context going on here, WebPI is the installer / stack bootstrapper while Web App Gallery is the where you submit your application, packaged up with specific meta files, so that WebPI can install the application.
When installing WordPress for example, WebPI will take care of downloading the package, installing IIS, PHP & MySQL, configuring and getting things up and running, as required. The whole point of it is to making working with the Web Stack is to make it very simple to get up and running and install applications.
Mai-lan gave us a high level overview of WebPI and Mark Brown demoed how to use WebPI, and how to install WordPress in 5 minutes.
WebPI looks all good and dandy but is still in it’s early days but has a lot of great potential and is very well integrated into IIS and the Windows platform, it makes it a breeze in many cases to deploy applications and to keep your self up to date on things but the group at large had a few gripes with it and suggestions what should be fixed.
Add beta link to WebPI app gallery pages
Needs access to previous versions of apps
Needs access to multiple versions of PHP
Needs to support frameworks
Things I would suggest on top of that, use PEAR internally to utilize already existing framework / component channels and allow me to deploy directly on an Azure cloud. And since Azure supports multiple PHP versions then that can hold hand in hand with the request in the above list.
So to recap, WebPI, something to look out for, ties into various bits of techs from the Microsoft Web Stack.
A lot of people raised the issue of how hard it can be to develop on the Microsoft platform because of license fees – Since we have to pay not only for production but also for development. testing and staging servers.
To fix that Microsoft has been running a few programs as of late and through WDS these were brought up a few times. All I can say is, if you haven’t signed up for your free licenses yet, do it!
WebSiteSpark for WebVAPs – http://www.microsoft.com/web/WebsiteSpark/
BizSpark for Startups – http://www.microsoft.com/bizspark/
DreamSpark for Students – https://www.dreamspark.com/
A “VAP” is a Microsoft term for “value added partner.” They are typically web consultants and small businesses.
This one I don’t have a whole lot to say about. The people presenting and available at the event that were involved with this had no idea what kind of crowed they were up against, tried to sell us on the idea, didn’t have a elevator pitch that works since after all we were all just more confused about this whole project after the talk than we were before, tho this was the talk where we had the most fireworks – Real arguments between people with name calling and what not 🙂 I think I might have accidentally sparked that … somehow … hmmm oh well!
If you want to learn more about the project, go use Google or Bing and read about it. The short version here is: codeplex.com has nothing to do with codeplex.org (This is the foundation), apparently reusing the name was “smart” or so they think. From my part I think the name has to change, a proper elevator pitch has to be made and the people involved have to know their audience better.
We had 3 people from Microsoft Research to speak with us on various topics, green computing, Prix (unit testing) and Gazelle (browser kernel).
I was highly impressed but this content was so complex at times and those people were extremely that my brain melted and I can’t really say anything more than WOW as I can’t really remember it 🙂 Look at Ben’s notes.
Bunch of the guys from the interoperability group came and gave a presentation on various things they are working on, mostly various PHP toolkits to interface with X and Y component within Microsoft, such as Bing, Azure and more.
They are also the once responsible for the Azure SDK inside of Eclipse, similar to what Visual Studio has.
Lastly they showed us WCF Data Services, a RESTful bridge between PHP and .NET if I understood thing correctly.
My feedback on this one, and this was resounding through the conference about other PHP code Microsoft is cranking out, either hire a PHP developer that knows how to design APIs and code properly or get consultation from the community as to how they want to code to be constructed – Or else no one is going to want to use the code.
We had couple of attendee presentations, nothing really noteworthy – Some of them did stir up some very lively conversation and were mostly “How can community X work with community Y and why should they”.
We had a whole day of NDA material, SQL server and Bing team (this one I was most excited to see due to personal projects) presented as well as the IE people – Very interesting stuff there that I hope I can share with the lot of you very soon or in the near future.
Josh Holmes and Peter L. did a great presentation on what the Developer Evangelists do, how they can help us making our life better and so on, I am tempted to write that all up but I’m going to ask them to write it up as their own blog post and I will blog about it when the time comes.
On the last day we had even more panels where we basically reiterated everything we said through out the summit but I do believe the right people were at this last panel and things were heard, I hope! 🙂
At the end of the day, these are my notes on the whole thing, bullet point style.
Microsoft is opening up even more,
they are working with the community
they are listening to us,
they still haven’t provided us with proper IE on par with other browsers, IMHO, tho IE8 brings us sooo close (I want SVG!)
they still don’t have a Linux driver for SQL Server that works
The Web Platform Installer is looking great, try it out
Azure now supports PHP properly
Microsoft needs to hire PHP people to help design their PHP toolkits and APIs
Silverlight needs a bit better marketing hook to get into the market properly
CodePlex Foundation is a joke in its current form
The DPE people (Evangelists) are doing a great job, at least the ones I interact with
Microsoft needs to consume some of these PHP products them self, just making them and never using them is not a good idea
There needs to be less red tape when MS wants to do something, we don’t always care how much red tape they cut through, not always.
There is a lot more to this list but this is the things I can remember at this very moment.
I would like to emphasize that this event is very important to both Microsoft and the community, so when this event happens next year, make sure to contact someone that is going and make sure they know your grievance about Microsoft & any of their product and it will be forwarded to the right people.
All in all this was a great event this year, it has improved a lot since 2 years ago and hopefully will continue improving.
Last but not least, I would like to thank Josh Holmes for inviting me and Karri Dunn (Microsoft OSS Dev Strategy ) and Tanya Young (Microsoft Event Manager) for organizing this and making sure everything ran smoothly and that we had a GREAT time! 🙂
A special thanks goes out to Will Coleman, my local Microsoft guy in London – He flew over for WDS to make sure Scott MacVicar and my self didn’t get our self into trouble – You know Microsoft is serious when they appoint you a guardian 😉