Rafael Dohms Web Engineer

9Dec/1011

How Microsoft is making PHP Development easier

Microsoft on PHP

Recently i had an opportunity to have a chat with Microsoft, along with a few PHP community members. We were greeted by Josh Holmes (Architect Evangelist / US) and Rogerio Cordeiro (Developer Evangelist / Brasil) at the Microsoft HQ in São Paulo and headed over to a auditorium where we started off a informal but very interesting talk for a few hours. This was the basic idea behind the visit: to show us a few of their new tools and get feedback from what we developers think or their tools, what is missing, what is broke, how to fix it.

The main impression I got from the new tools was pretty clear, they had addressed important issues, but most importantly they had addressed the issues which were raised at the Microsoft Web Developer Summit (MSWDS) which I had attended in 2009, it was quite impressive to note this, because it meant that they were really listening to this kind of feedback, making this meeting even more important and showing us developers that we really have a say in the matter (yes, obviously not as far as messing with their business plan).

So, how is Microsoft making PHP Development easier?

Deploying a full LAMP stack on a linux server is something relatively simple if you have some basic knowledge of Linux and the command line, but in Brasil we have quite a big chunk of PHP Developers using Windows as their development platform, especially if you look at the beginner level of the community (most advanced developers are on linux or mac nowadays). This means that at an entry level the developer’s first experience with PHP is on a WAMP stack. Sure you can use solutions like XAMPP or WAMP Server to install a full stack, but Apache + PHP performance on the Windows platform is horrid at best, and that leaves a bad impression on developers. What is the solution? Well, its IIS, but show me a raise of hands of how many beginners have the slightest idea of IIS Management or configuration, or even those who want to have that knowledge. My guess is very few hands are up right now.

In comes the Web Platform Installer, released a few years back it solves this problem pretty well, install the whole stack, any applications like Drupal or WordPress or any related software or configuration needed. It takes an axe straight to the root of getting a development stack up and running, and it does all that very well in version 2.0. What we got a glimpse at during the meeting made me believe this is going to get even better: WebPI 3.0, currently in beta.

This version marks also the release of PHP Manager which makes it really easy to manage PHP installs and gives us a very cool possibility, have multiple versions of PHP running side by side on the same machine, each website running its own version, this means you can support your legacy application alongside your new toy all shiny and new and using PHP 5.3. This is really good for that beginner profile who can now have all this power in his hands at a very low entry cost. It also helps another layer of developers, the framework and application designers, this makes it really easy to fire up a VM with windows and test the software you are about to release with various PHP versions, how many times have you had to struggle to do this?

Another very cool part of this package is WebMatrix, it gives you a full dev environment with all the Express packages and it includes a lightweight IDE for code development. But the coolest part of this is on that addresses a message we all agreed on at MSWDS, “deploying to a windows server is a pain”. This is the publish feature that allows you to connect to a windows server and direct the full deploy straight from the tool, a button push away, how’s that for making stuff easy?

Still on WebPI there is another cool feature: the Application Gallery. Imagine a feed with hundreds of applications just a click away from install, that is really good for those everyday routine deploys like getting wordpress up and running for your grandma. But it goes much further for that layer of developers that base their business around selling commercial or free web applications. The reason is pretty straight forward, if you join programs like Website Spark, you can get your application listed in the gallery, just one click away from your user base. How’s that for spreading applications?

Microsoft has also gone further and given us PHP devs a cloud solution where we can use PHP, since Google has frowned upon our language on Google App Engine, we can have a closer look at Azure, but i’ll leave this to a post in itself.

As someone who took part in Microsoft reach for the PHP community and who had the chance of pointing out their mistakes and applauding there successes I really wanted to share this message with you, because i think we have reached a turning point where Windows is now a First-Class Citizen in the PHP stack, alongside Linux, as Rasmus himself has said.

4Dec/090

Microsoft Web Developer Summit 2009 in review

Microsoft on PHPThis year I was honored to be invited to participate as a member of the PHP Community in Microsoft's Web Developer Summit, so I took it upon myself to represent the huge PHP community in Brazil and bring on our opinions and beliefs.

For those that don't know what this event is about, let me give you a glimpse into what it tries to do and accomplish and tell you what came out of it in 2009. MSWDS is all about communication, its a yearly event that allows Microsoft to get in touch with key players of the PHP community and interact with them on various levels, that means getting to ask us questions and letting us rant and ask them questions. Looks fun and cruel at the same time, but its a really awesome and effective way of getting Microsoft and PHP to do better business together. This means getting better tools and better performing PHP Apps on MS platforms, and getting both sides to know more about how the other operates.

So this was a chance for Microsoft to ask us all the questions they have piled over the last year and us a chance to cry and scream whatever grievance we had. Over 3 days we shared our notes and went over various products and opinions and shared quite a few beers and dinners at the Redmond Commons Campus.

Microsoft has been very active in the PHP area and even tough this is always received with skepticism by the overall community their actions are generating a lot of benefits for us, and windows users in general. You cannot be right all the time, so Microsoft is still stumbling over a few items, but let's look at some of what was shared with us. Keep in mind that the final day of the conference is under NDA so it is not included here.

One of the highlights of the event was a project lead by Garrett Serrack describing the process and plans for making PHP and associated libs easier to compile from source on Windows, a project that can surely give Windows a push as a viable platform for PHP, since custom PHP compilations are a big part of PHP sites. Also very interesting were the news of WebPI and IIS. IIS is working on being a centralized dashboard for system developers and administrators and new tools like the SEO toolkit are laying down new track for innovation. Road ahead for this is still long but MS got a lot of feedback on the kind of deploy and maintenance oriented services we developers would like to see, like work on WinCache to offer more features and make it share the spotlight with APC.

The WebPI project made life for PHP App users a breeze, its simplicity and App gallery make it very simple to install a complete web platform and get a site up and running. This, however, is not the same for Developers, we felt like we needed more, solutions were gathered and amongst them are multiple side-by-side versions of PHP and other Apps, automated testing and closed cycle solutions that can contribute back to our applications as well as make our life deploying and testing before releases much easier on this platform.

During our airing of grievances many topics came up which MS really needs to address. The long road to new projects and solutions and all the judicial red tape that needs to be cut was the starting point and showed MS they are the only ones slowing themselves down, also the areas of the world that need more attention from MS evangelists. Recurring topics like drivers for SQL Server and better developer tools for IE7 IE8 came up as well.

One matter that generated heated arguments was the Codeplex Foundation which because of ill-timed and not planned comments of a "info-mercial like" talk got the exact response we expect, angry and rebellious discussion. Unfortunately Microsoft is still a huge corporation and some of it still does not understand that the developer community does not want marketing pitches. The message hit home and some sessions reverted from that format, but the Codeplex idea was still not fully compatible with most of the people there. The topic was later brought up in a round-table discussion and disagreements were sorted out, showing that MS is willing to correct some mistakes, and making clear what the intended audience is for the Codeplex Foundation project.

Some sessions had .NET solutions in their heart and were not very effective in communication, some were interesting enough to generate in us the desire to copy them over, but in my opinion these were not really in their right place for the objective of this event. New technologies like PowerShell, Azure and Silverlight got lots of attention and their explanations showed some in the room that they could get much more from them then they though, like powershell which is much more powerful then i had known until now.

Silverlight bought on new talks with its use in Bing Maps which is now live with incredibly smooth effects, which got attention of the community outside the event because of the "extra" plugin, but in my opinion, technologies are there to be used and google also needs some competition to step up again. Microsoft's skill for naming projects was attacked multiple times especially after we figure out the "ASP.NET Ajax Toolkit" was a ajax library that had nothing to do with ASP.NET and this was dully noted by MS for future naming.

Microsoft also had a very good opportunity to hear from main players in the PHP community about the community itself, Ramsey went over some concepts of UGs and I talked about the new organization of UGs in Brazil (simple slides) and how our community has responded to its growth, we also had sessions by Marco and Keith on uncons and community participation and a few sessions on tools and frameworks/closed apps.

One of the most important sessions showed us how we can get in touch with Microsoft and gave us some insight on the internal structure and roles of all MS related posts. This session was great and also opened the floor to questions from both sides.

The end result of this is very positive and we may only see results in a few months or even a year. The important message i got out of this is that Microsoft is working hard on matching linux as a viable deploy platform and a development platform, but more then that they are looking to go one better and innovate. Investing on professionals that develop PHP and its related libraries is also a way that MS can help PHP be even more viable on Windows, and right now, I guess it its and you should give it a try.

I look forward to some of the new tools and features of current products that were showcased in open and closed sessions, I believe MS has a chance of doing great things and clean up their game, if you still believe in that ancient image the company carried.

For the Organizational Crew of MSWDS all I have to say is that you did more then an awesome job, hotel was great, evening social events were a awesome opportunity to get into more elaborate talks about the days topics and the whole event went down without a glitch, thank you very much for all the hard work.