Follow Us on Twitter
I am pleased to announce that Microsoft has joined Joyent and Ryan Dahl in their effort to make Windows a supported platform in Node.
Our first goal is to add a high-performance IOCP API to Node to give developers the same high-performance/scalability on Windows that Node is known for, given that the IOCP API performs multiple simultaneous asynchronous input/output operations.
At the end of this initial phase of the project, we will have official binary node.exe releases on nodejs.org, meaning that Node.js will run on Windows Azure, Windows 2008 R2, Windows 2008 and Windows 2003.
You can read more about all this on nodejs.org as well as on Joyeur.com.
While this is just the beginning of the journey to make Node.js on Windows a great platform for Node developers, I’m really excited about making this happen.
So, stay tuned, as there’s a lot more to come!
Principal Program Manager, Interoperability Strategy Team
From the floor of the PHP Tek Conference in Chicago, with my colleague Peter Laudati, we’re excited to announce the availability of the Windows Azure SDK for PHP version 3.0. This Open Source SDK gives PHP developers a “speed dial” library to take full advantage of Windows Azure’s coolest features. On top of many improvements and bug fixes for this version (see the list from Maarten Balliauw’s preview), we’re particularly excited about the new service management possibilities and the new logging infrastructure.
Beyond the new features, we also feel that version 3.0 of this SDK marks an important milestone because we’re not only starting to witness real world deployment, but also we’re seeing more people joining the project and contributing. We’ve been talking a lot to Maarten Balliauw from RealDolmen who is the lead developer on this open source project and he also shares the same sentiment: “It’s interesting to see the Windows Azure SDK for PHP mature: people are willing to contribute to it and incorporate their experience with the SDK and the platform.”
The most compute intensive part of Facebook app www.hotelpeeps.com is powered by PHP on Windows Azure
My colleague Todi Pruteanu from Microsoft Romania worked with Lucian Daia and Alexandru Lapusan from Zitec to help them get started with PHP on Windows Azure. The result is impressive. The most compute intensive part of the Hotel Peeps Facebook application is now running on Windows Azure, using the SDK for PHP, as well as SQL Azure. Read the interview of Alexandru to get the details on what and how they did it (you can also check out the case study here). I like this quote from the interview: “HotelPeeps Trends running on the Windows Azure platform is the epitome of interoperability. Some people think that a PHP application running on Microsoft infrastructure is science fiction, but that’s not the case.” Another interesting aspect is also the subsequent contribution by Zitec of an advanced “logging” component to the Windows Azure SDK for PHP. This new component provides the possibility of storing logs from multiple instances in a centralized location, namely Azure Tables.
More contributions from the community
As the SDK gets more widely adopted, there is an exciting trend toward more community involvement. For example, Damien Tournoud from the CommerceGuys who is working on developing the Drupal integration module for Windows Azure, recently contributed a patch fixing bugs related to inconsistencies in URL-encoding of parameters in the HTTP_Client library. As we continue to improve the SDK to ensure great interoperability with popular applications like WordPress, Drupal and Joomla! we look forward to engagement more deeply with those communities to make the experience even better.
New! Windows Azure Sample Kit for PHP
Today we are also announcing the Windows Azure Sample Kit for PHP. It is a new project hosted on github that will be the primary repository for all sample php code / apps that developers can use to learn how to take advantage of the various features of Windows Azure in php. Today we are releasing two samples to the repository: the Guestbook application (example of how to use the Windows Azure storage objects – blobs, queues and tables as well as a simple web/worker pattern) and “Deal of the Day” (more on this one later). We look forward to feedback on the samples and I am also hoping to see some forks and new samples coming from the community!
New features to easily manage auto-scaling of applications on Windows Azure
As I mentioned the version 3.0 of the Windows Azure SDK for PHP includes a new “service management” library, which provides easy ways to monitor the activity of your running instances (Windows Azure web roles & workers roles virtual machines), and to start/stop automatically instances based on usage. Then it becomes easy for you to decide which parameters (CPU, bandwidth, # of connections, etc.) and thresholds to use to scale up and down, and maintain the optimum quality of service for your web applications.
The scenario is simple: let’s say you are running an e-commerce site and you want to run daily promotions to get rid of overstocked items. So you’re going to offer crazy deals every day starting at 8am, each deal being advertised to your subscribers by an email blast. You will have to be ready ready to absorb a major spike in traffic, but the exact time is difficult to predict as the news of the deal may take some time to travel through twitter. When the traffic does materialize, you want the site to run & scale independently – providing service assurance but also minimizing your costs (by shutting down unnecessary capacity as loads go down). This is the scenario for the “Deal of the Day” sample application.
What’s the “Deal of the Day” (DotD) sample app and what to expect?
Deal of the Day (DotD) is a sample application written in PHP to show how to utilize Windows Azure’s scalability features from within PHP. We’ve kept is simple and built it in a way that’s easy to deconstruct and learn from.
As a sample application, DotD did not undergo extensive testing, nor does the code include all the required error catching, security verifications and so on, that an application designed for real production would require. So, do expect glitches. And if you do witness issues, send us a screenshot showing error messages with a description. I’ll get a prize to the first 100 bug trackers!
However, to give you an opportunity to see the sample application working, we’ve decided to deploy a live version on Windows Azure to let you test it for real and give the chance to win actual fun prizes! (and sorry for our friends outside of USA, but prizes can be shipped only to a US address )
Wanna play? Just go this way: http://dealoftheday.cloudapp.net/ Looking for the code, just get it on GitHub here: http://bit.ly/iPddwx
Architecture of the DotD sample app
The DotD sample app is comprised of several pieces which fit together to create the overall experience:
Each of these parts is essential to the performance and scalability of DotD and for more details I invite you to read this introduction article, and then to dig deeper by reading part I (Performance Metrics) and Part II (Role Management) of our “Scaling PHP applications on Windows Azure” series. We will expand the series with additional in depth articles, the next one will be around monitoring the performance of your app.
We look forward to your feedback on the SDK and the Sample Kit. Once again the URL is https://github.com/Interop-Bridges/Windows-Azure-Sample-Kit-4-PHP
Craig Kitterman Twitter: Follow @craigkitterman Web: http://craig.kitterman.net
Microsoft announced today that, with immediate effect, it will support Windows Server2008 R2 Hyper-V running CentOS, a popular Linux distribution for hosters.
"This development enables our hosting partners to consolidate their mixed Windows and Linux infrastructure on Windows Server Hyper-V; reducing cost and complexity, while betting on an enterprise class virtualization platform. I want to thank the Microsoft Open Source Technology Center for the work they have done with the community to make this possible," Sandy Gupta, a general manager in Microsoft's Open Solutions Group, said in a blog post.
Gupta will also be delivering a keynote address at the opening day of the Open Source Business Conference (OSBC) in San Francisco today. During the keynote he, along with his colleague Fabio Cunha, will demonstrate the cross-platform architecture of Microsoft’s Private Cloud.
"We will show implementation that supports multiple hypervisors and delivers a platform for the transformation of a heterogeneous IT infrastructure into an automated mixed source Cloud infrastructure. Fabio will show demos of various cross-platform capabilities of System Center Operations Manager, System Center Orchestrator, and also how customers can use a single pane of glass to deploy patches and updates across Windows and Linux Servers," Gupta said.
You can read the full blog post here.
Today Microsoft Open Sourced the reference designs to the .Net Gadgeteer, a rapid prototyping, education/hobbyist kit built on the .NET Micro Framework.
The .Net Gadgeteer team has spent the past few months redesigning and re-implementing the kit to ensure that the architecture will work with the widest variety of processors and support the most diverse set of modules.
The .NET Gadgeteer is based on a set of pluggable modules that remove the need to create specific connections for each electronic component - you only need to plug the modules in. This greatly speeds up the process of building experimental devices and also removes the need for any electronics background to bring your ideas to reality.
In addition to making the hardware development easy, .NET Gadgeteer includes a set of libraries that provide a high level, high productivity development environment so that you can create the intelligence of the device in just a few lines of code.
These libraries are built on the .Net Micro Framework which provides a deep integration with the powerful Microsoft development tools. Now you can develop embedded logic in Visual Studio using C# then deploy the application to the device and debug that application using the rich debugging capabilites of the IDE.
The reference implementation includes the software libraries, which are licensed under Apache 2.0, as well as the designs and specifications for the hardware, which are licensed under the Creative Commons.
Program Unit Manager Colin Miller tells me that the .Net Gadgeteer platform has generated a great deal of enthusiasm among hobbyists and educators as it enables people with a wide range of electronics and programming skills to create an almost limitless array of devices. (Watch this video for more background).
“Our goal is to encourage and support third parties to build kits and modules that all work together to create a rich ecosystem for the user community. This software is still in beta form and we encourage your input on it. We will also aggressively encourage and support vendors interested in evaluating the potential of the platform,” he says.
I finally had the chance to sit down with Morten at MIX11 in Las Vegas last week to discuss the work he is doing on WordPress with Windows Azure to solve some common challenges with multi-site WordPress installations using traditional hosting.
In Morten's words: "I am building a garden just for me and my clients...I control it...but the security and management of the garden is run by a very large company...they also will make sure that it works!"
Read Morten's blog on http://www.designisphilosophy.com and find him on Twitter @Mor10
Craig Kitterman Twitter: @craigkitterman http://craig.kitterman.net
In case you missed the great Open Source and related Interop news that came out of Microsoft's annual MIX conference which was held in Las Vegas this week, here's a recap.
Scott Guthrie, a Corporate Vice President in the Microsoft Developer Division, used his MIX keynote to discuss the company's commitment to sponsoring open source projects, such as the Orchard project, a free CMS project in the Outercurve Foundation's ASP.NET Open Source Gallery.
Orchard 1.1 is now available, along with the new UserVoice and DISQUS modules that contribute to the growing number of community-authored extensions for Orchard.
Guthrie also announced an ASP.NET MVC 3 Tools Update, which enables Web developers to innovate quickly and easily via new HTML 5 markup support, Entity Framework 4.1 with Entity Code First now built in for easier database Web solution development, and expanded NuGet capabilities for finding and installing community components.
Guthrie also used his keynote to announce the immediate availability of the Microsoft Silverlight 5 beta, which provides advances in rich media and application development.
Silverlight is a free web-browser plug-in that enables interactive media experiences, rich business applications and immersive mobile apps. It works on all major Operating Systems plus all major browsers, including Firefox, Google Chrome, Safari, and Internet Explorer.
New capabilities in Silverlight 5 include Hardware Video Decode, for enhanced video quality and performance, and "Trickplay," which provides variable-rate video playback with audio pitch correction.
The beta also offers a new Microsoft XNA-based interface for delivering 3-D visualizations within applications, along with a host of new features that are designed to enhance developer productivity and end-user experiences.
In his MIX keynote Dean Hachamovitch, the Corporate Vice President for Internet Explorer, announced the addition to the HTML5 Labs site of a new prototype - FileAPI - as well as announcing plans for the MediaCapture API.
Microsoft launched HTML5 Labs last December as the place where it shares prototypes of early and unstable standards, and committed to regularly update these prototypes and add additional prototypes based on what will most help with the testing of the specifications.
Since then, we have updated the WebSockets prototype three times and we have analyzed a number of specifications, with three new areas currently under active investigation. We have also been working with, and listening to, the feedback from early users, and have updated the HTML5 Labs site and given it a new look and feel.
For more context on all this, read the blog by Walid Abu-Hadba, the Corporate Vice President for Developer Platform & Evangelism, Scott Guthrie, and Soma Somasegar, a Senior Vice President in the Developer Division, about Standards-based web, plug-ins, and Silverlight. In this blog they share their thoughts on the role of plug-ins in general, and Silverlight in particular, in the context of HTML5 and the future of the web.
A new production version of Windows Azure AppFabric Access Control service was also announced at MIX. This enables you to build Single-Sign-On experience into applications by integrating with standards-based identity providers, including enterprise directories such as Active Directory, and consumer-oriented web identities such as Windows Live ID, Google, Yahoo! and Facebook.
The Access Control service enables this experience through commonly used industry standards to facilitate interoperability with other software and services that support the same standards.
I spent the entire week last week enjoying some good weather and southern hospitality in the Carolinas. On Tuesday Mar 15 I had the pleasure of being invited to present at the Charlotte Enterprise Developers Guild organized by Bill Jones (special thanks to SystemTec for sponsoring the evening). On arrival I found the best dressed group of developers I have seen in a long time and felt compelled to apologize for my jeans and Converse. They sure keep it classy down South – something us Northwesterners could probably stand to learn from.
The focus of the talk (and subsequent discussion) was Java and PHP on Windows Azure. I was pleased to learn that the group consisted of a healthy mix of developers writing Java code, PHP code, and .NET code. In fact, close to 50% of the folks in the room indicated that they use multiple runtimes in their local data centers and are used to interacting with multiple codebases consisting of different languages. We had a great conversation about what it means to move to the Cloud and the approach Microsoft is taking to building an open an interoperable platform that will provide a robust general purpose platform for languages and runtimes far beyond .NET. I got a lot of great feedback on the Eclipse and ANT tooling that was recently announced and have opened some new discussions on additional work we are exploring enable additional Java developer workflows / build systems including Apache Maven. Stay tuned on this!
I also had the pleasure of attending the 4th Annual POSSCON (Palmetto Open Source Conference) in Columbia, South Carolina where Microsoft was a sponsor. The speaker lineup was great and there were a number of interesting sessions on the agenda particularly related to open source in mobile applications which seemed to be the hot topic of the event. I was pleased to finally meet such OSS icons as Jim Jagielski of the Apache Software Foundation, and attend a number of great sessions by other well known OSS advocates including William “whurley” Hurley, Bob Sutor of IBM and Jon “maddog” Hall.
My colleague Gianugo Rabellino had the opportunity to present a keynote at the event and took the opportunity to showcase a lot of open source work that is underway both in Microsoft and the Windows ecosystem. He described the change underway in Microsoft toward greater openness and discussed the future of collaboration between Microsoft and the the many Open Source communities on objectives we all share as technologists.
My best booth award (from a coolness factor point of view) goes to my new friends at RepRap.org who are working on building self replicating open source 3D printers. This is a sweet mashup of open source software, open hardware design, commodity component architecture and pure geekitude. We had a great debate about the future of self replication and when we were done my head hurt but it was a blast.
The conference had around 500 attendees and I even somehow became the mayor on Foursquare despite only checking in twice. It was a great time and I look forward to seeing what is in store next year at POSSCON 2012.
Craig Kitterman Sr. Technical Ambassador @craigkitterman http://craig.kitterman.net
For those of you who love .Net and have an interest in Web standards and Interoperability at Microsoft, then listening to the interview with Jean Paoli, the General Manager of Interoperability Strategy at Microsoft, with .NET Rocks!, is a must.
.NET Rocks! is an internet audio talk show for those interested in developing on the .Net platform, and the interview with Paoli is part of a six-part series titled, "Ignite Your Coding: Web Development Series."
In the interview, Paoli draws upon his experience as a co-creator of the XML 1.0 standard to discuss XML, web standards, and the role of interoperability within Microsoft.
The interview, which can be found here, is hosted by Richard Campbell , Microsoft Regional Director and Carl Franklin, MSDN Regional Director for Connecticut.
by Peter Galli on March 11, 2011 01:23pm
Today the Interoperability team here at Microsoft updated the the WebSockets prototype on our HTML5 Labs site, which brings the implementation in line with the recently released WebSockets 06 Protocol Specification.
We have extended our interoperability testing so that now, along with LibWebSockets, interoperability was tested with Jetty, an open-source project providing an HTTP server, HTTP client, and javax.servlet container, developed by the Eclipse community, and code was tested with a Firefox Mindfield version with an implementation of the 06 Protocol Specification.
WebSockets interoperability was tested between our HTML5 Labs prototype client and Jetty server, which recently added support for the 06 version of the spec (you can find the Jetty code here.)
WebSockets interoperability was also tested with a test Firefox build that supports the 06 protocol specification. A chat demo page is hosted on Azure, which can be opened in Firefox and will use native browser WebSocket instead of the Silverlight-based one.
WebSockets is a technology designed to simplify much of the complexity around bi-directional, full-duplex communications channels, over a single Transmission Control Protocol (TCP) socket. It can be implemented in web browsers, web servers as well as used by any client or server application.
Read Claudio Caldato's blog post for all the details on this.
by Peter Galli on March 10, 2011 05:20pm
As All About Microsoft's Mary Jo Foley reported yesterday, Microsoft has posted to CodePlex, our Open Source project hosting site, a test build of Python Tools for Visual Studio, a free, Open Source plug-in for Visual Studio 2010.
The Python Tools for Visual Studio (PTVS) is a free and open source plug-in for Visual Studio 2010, licensed under Apache 2.0 and developed by Microsoft's Technical Computing Group. It enables developers to use all the major productivity features of Visual Studio to build Python code using either CPython or IronPython.
It adds new features such as using High Performance Computing clusters to scale code. Together with one of the standard distros, it can be used to turn Visual Studio into a powerful Technical Computing IDE.
But it is important to note that PTVS is not a Python distribution; it works with an existing Python/IronPython installation to provide an integrated editing and debugging experience.
The first beta was delivered in conjunction with PyCon, which kicked off on March 7, and includes support for core IDE features and debugging and profiling. The second beta, due this summer, will add support for Cloud Computing (the ability to run compute-intensive Python code in Windows Azure); and support for Dryad (large-scale, data intensive parallel programming using Python code), Foley reports.
by Gianugo Rabellino on March 08, 2011 09:38am
Recently there were a number of discussions about the wording of the Windows Phone Marketplace Application Provider Agreement, in particular around Excluded Licenses. At that time we clarified that it is possible to publish Open Source applications in the marketplace as long as they are published under a "permissive" license such as Apache or BSD.
I am now happy to announce a development on that front, which underscores that we are not just listening to the community and reviewing the current agreement, but also trying to respond with more clarity. Today the Windows Phone team announced the following:
"We understand the desire for clarification with regard to our policy on applications distributed under open source licenses. The Marketplace Application Provider Agreement (APA) already permits applications under the BSD, MIT, Apache Software License 2.0 and Microsoft Public License. We plan to update the APA shortly to clarify that we also permit applications under the Eclipse Public License, the Mozilla Public License and other, similar licenses, and we continue to explore the possibility of accommodating additional OSS licenses."
by Claudio Caldato on February 02, 2011 06:05am
Google recently announced that its Chrome web browser will stop supporting the H.264 video format. At Microsoft we respect that Windows customers want the best experience of the web including the ability to enjoy the widest range of content available on the Internet in H.264 format.
Today, as part of the interoperability bridges work we do on this team, we are making available the Windows Media Player HTML5 Extension for Chrome, which is an extension for Google Chrome to enable Windows 7 customers who use Chrome to continue to play H.264 video.
We believe that Windows customers should be able to play mainstream HTML5 video and, as we've described in previous posts, Internet Explorer 9 will support playback of H.264 video as well as VP8 video when the user has installed a VP8 codec.
We are committed to ensuring that Windows customers have the best Web experience, and we have been offering for several years now the extremely popular Windows Media Player plug-in for Firefox, which is downloaded by millions of people a month who want to watch Windows Media content.
We also recently provided an add-on for Windows 7 customers who choose Firefox to play H.264 video so as to enable interoperability across IE, Firefox and Chrome using HTML5 video on Windows.
For many reasons - which you can read about on other blog posts here, here and here - H.264 is an excellent and widely-used video format that serves the web very well today. As such, we will continue to ensure that developers and customers continue to have an optimal Web experience.
by Peter Galli on February 01, 2011 09:40am
Today, Microsoft Research, in collaboration with the University of Cambridge's Unilever Centre for Molecular Science Informatics and the Outercurve Foundation, jointly announced the free and broad availability of the Chemistry Add-in for Microsoft Word v1 as well as the platform's transition to the Foundation.
The Chemistry Add-in for Word, which was released as a beta last year, makes it easier to insert and modify chemical information, such as labels, formulas, and 2-D depictions, within Microsoft Office Word. It also enables the creation of inline "chemical zones," the rendering of print-ready visual depictions of chemical structures, and the ability to store and expose chemical information in a semantically rich manner.
By using Chemical Markup Language (CML) - a chemistry-specific XML - the Chemistry Add-in for Word makes it possible not only to author chemical content in Word 2007 and 2010, but also to include the data behind those structures. The Chemistry Add-in and CML help make chemistry documents open, readable, and easily accessible to humans as well as other technologies. The Chemistry Add-in supports publishing and data-mining scenarios for authors, readers, publishers, and others throughout the chemical information community.
Microsoft's collaboration with the Outercurve Foundation shows its continued commitment to interoperability and Microsoft's Openness Initiative, and now makes the tool widely available for users across various disciplines to use, build upon, and share their research.
As Paula Hunter, Outercurve Foundation's Executive Director, notes: "The Chemistry Add-In for Word shows the power of collaborative development that exists in the open source community. The assignment of Chemistry Add-In for Word to the Outercurve Foundation will enable researchers and scientists to benefit from a tool that will speed creation and sharing of documents that include chemical information. We are pleased to work with Microsoft Research and the University of Cambridge to continue to foster improvements in the development of this tool."
For his part, Alex Wade, the director of scholarly communication at Microsoft External Research, says the Chemistry Add-In for Word helps the scientific and academic research community simplify the authoring and semantic annotation of chemical information. "We are delighted to collaborate on the tool development with the University of Cambridge and pleased to assign the project to the Outercurve Foundation in an effort to advance scholarly communications and pave the way for scientific discovery and innovation," he says.
The platform is being made available as a free download on Outercurve's Research Accelerators Gallery, a collection of open source projects that benefit the research and science communities, in an effort to facilitate the authoring of chemical information in Microsoft Word, specifically the inclusion of chemical structures.
You can read more about all this on the Microsoft External Research Team Blog and on the project page here.
by Peter Galli on January 27, 2011 07:00am
Last fall Microsoft hired Gianugo Rabellino, a Vice President of the Apache XML Project Management Committee and Founder and Chief Executive Officer of Sourcesense, as Senior Director of Open Source Communities.
Earlier this week Gianugo participated in a roundtable discussion filmed for Channel 9 that also includes Stephen Walli, Technical Director for the Outercurve Foundation, and Garrett Serack, an Open Source developer here at Microsoft.
You can also watch the video on Channel 9 here.
Gianugo has a deep understanding of open source technologies and platforms, and brings a wealth of experience and knowledge to a group of passionate and committed individuals who share his same enthusiasm for interoperability and openness between Microsoft and non-Microsoft platforms.
With the work to deepen interoperability across open source solutions prevalent across Microsoft and, as the go-to guy at Microsoft for all things related to open Source Communities, Gianugo is headed to Europe to meet with folk from the field and communities on a "listen and learn" trip, which he explains further in the video.
by Peter Galli on December 22, 2010 03:48pm
In another significant Interoperability milestone Jean Paoli, the General Manager for Interoperability Solutions here at Microsoft, this week announced the launch of the HTML5 Labs Web site, a place where we prototype early and not yet fully stable drafts of specifications developed by the W3C and other standard organizations.
These prototypes will help Microsoft have informed discussions with developer communities, and give implementation experience with the draft specifications that will generate feedback to improve the eventual standards, Jean says, noting that the move also lets us give the community some visibility on those specifications we consider interesting from a scenario point of view, but which are still not at the stage where we can consider them ready for official product support.
As Jean explains in his blog, Microsoft's approach with Internet Explorer, outlined in a blog post by Dean Hachamovitch, the Corporate Vice President for Internet Explorer, is to implement standards as they become site-ready for broader adoption.
This new HTML5 Labs Web site is the place where Microsoft's Interoperability Labs will publish prototype implementations of certain unstable and in-progress W3C, IETF, ECMA and other standards specifications still undergoing a lot of change. The first two prototypes delivered today are Web Sockets and IndexedDB.
WebSockets is a technology designed to simplify much of the complexity around bi-directional, full-duplex communications channels, over a single Transmission Control Protocol (TCP) socket. It can be implemented in web browsers, web servers as well as used by any client or server application.
IndexedDB is a developing W3C Web standard for the storage of large amounts of structured data in the browser, as well as for high performance searches on this data using indexes. IndexedDB can be used for browser implemented functions like bookmarks, as well as for web applications like email.
We chose these two specifications primarily because they are potentially very useful but currently unstable. These are the two specifications we currently believe the community stands to benefit the most from, but both are in flux.
In addition to Jean's blog and Dean's blog, you can read more about the WebSockets prototype on Tomasz Janczuk's blog and about the IndexedDB prototype on Pablo Castro's blog.