Follow Us on Twitter
by Garrett Serack on June 24, 2010 04:21pm
It has been nearly three months since launching the CoApp project, and in that time I've been absolutely amazed at the response that we've gotten, and the community folks that have jumped on board. As a matter of fact, it's been far busier than I had hoped, and was prepared for.
Initially, I thought that we'd see a few people interested, and maybe two or three volunteer to become committers, and we'd start slowly and build up to actually producing something. Well, within a week or two of the kickoff of the project,130 people joined the developer mailing list, and we've got 13 committers.
Unexpected rapid growth causes its own problems, first being the lack of something for 13 people to actually start working on, and a definite gap between the vision that I had started with and what everyone understood to be the ‘plan'. On top of that, the sheer number of people both internally and externally to Microsoft who wanted to know more and how they could start using it made it a challenge to answer their questions, make the appearances to talk about CoApp, put enough design in place to unblock committers, and oh, wait, actually produce code!
Early on, one of the problems I had is that folks didn't quite know exactly what we would be producing, so I wrote out seven points that describe the scope that the CoApp project is focused on:
With that in mind, we could move forward.
In mid-May, Microsoft hosted the CoApp Design and Development summit, where 13 folks from around the world came to Redmond. We spent two days going over my initial vision, adding in everyone's ideas, and finally fleshing out some of the design and the plan moving forward. As is typical with this type of project, folks are more interested in coding than documenting, but we're slowly filling in the blanks. (Our rough notes on Day 1 and Day 2. Oooh--And some pictures!)
To match Point #1 on our list of what CoApp is, we have to crystallize what exactly a CoApp-style package looks like. Initially, I had thought that there would be several package types (apps, shared libraries, source code, static libraries, drivers, etc...) but during the summit we came up with a change to that.
A package can contain multiple roles; each role installs a particular type of thing. So, there are several role types (App, shared library, source code, developer library, and drivers) This subtle yet important difference allows collections of things to be versioned as a group and cuts down on the number of packages for a particular purpose. We also studied in depth how complicated things like Perl and Python will need to be assembled in order to provide the flexibility and power they require.
Some of the details (notably device drivers, the concepts of feature advertisement and product composition necessary for things like Python) we're putting off until later to have a bit of experience and understanding how well our design works for the less complex packages. So, other than that I'm fairly sure that we've got a pretty good idea of how those packages are going to look. Certainly it's enough information for me to hand-roll some MSIs that we can use for testing.
I've also spent a bunch of time setting up project infrastructure and the skeleton code and build system for the sub-projects on Launchpad. It's now possible to actually build CoApp, even though nothing actually does anything. This allows some unblocking of the developers who wanted to get cracking.
Currently, we're working on Point #2, which is split into a couple of separate tracks. The CoApp client engine (which is the client component that handles all the magic at install time) is being led by Elizabeth Smith. Elizabeth is a well-known open source (PHP, gtk and others) developer who has wide expertise in C and Windows. The other track is the developer tools where I'm working with a handful of developers to begin fleshing out their design and start cranking out code over the summer.
I would also like to thank all of the committers who came out to the Design & Development Summit in May: Elizabeth Smith, Rafael Rivera, Adam Kennedy, Trent Nelson, Philip Allison, Adam Baxter, Jonathan Ben-Joseph, Ted Bullock, Nasser Dassi, Trevor Dennis, Olaf Vanderspek, Kevin Moore, Mark Stone and Rob Mensching.
Your efforts are greatly appreciated, and I'm looking forward to continuing to work together.
by Peter Galli on June 15, 2010 09:25am
Scott Guthrie, a Corporate Vice President in Microsoft's Developer Division, has announced on his blog that a prototype of a new jQuery Globalization Plugin has been released to the community as open source.
You can download the prototype for the jQuery Globalization plugin from the Github repository here, and download a set of samples that demonstrate some simple use-cases with it here.
The release of this latest plugin follows the news last month that Microsoft was starting to make code contributions to jQuery and the first code contributions it was working on: jQuery Templates and Data Linking support.
"I'm excited about our continuing participation in the jQuery community. This Globalization plugin is the third jQuery plugin that we've released. We've really appreciated all of the great feedback and design suggestions on the jQuery templating and data-linking prototypes that we released earlier this year. We also want to thank the jQuery and jQuery UI teams for working with us to create these plugins," Guthrie said.
by Peter Galli on June 11, 2010 08:45am
My former colleague Ryan Naraine over at ZDNet wrote a blog last week about Microsoft's Anti-Cross Site Scripting Library v3.1, an open source Web Protection Library consisting of a set of .NET assemblies designed to help developers protect web sites from cross-site scripting attacks.
The RTM version of the Anti-Cross Site Scripting Library v3.1 was released last year under the Open Source Microsoft Public License, and contains a number of new features.
In its overview of the Anti-Cross Site Scripting Library V3.1, Microsoft says it is an encoding library designed to help developers protect their ASP.NET web-based applications from XSS attacks. It differs from most encoding libraries in that it uses the white-listing technique - sometimes referred to as the principle of inclusions - to provide protection against XSS attacks.
"This approach works by first defining a valid or allowable set of characters, and encodes anything outside this set (invalid characters or potential attacks). The white-listing approach provides several advantages over other encoding schemes.
"New features in this version of the Microsoft Anti-Cross Site Scripting Library include an expanded white list that supports more languages, performance improvements, performance data sheets (in the online help), support for Shift_JIS encoding for mobile browsers, a sample application, a Security Runtime Engine (SRE) HTTP module, and HTML Sanitization methods to strip dangerous HTML scripts," it says.
The binary can be downloaded here, and more information can be found on the project's CodePlex site.
by Peter Galli on June 03, 2010 05:05pm
The Interoperability Strategy team today announced that it has produced, in partnership with PHP developer Cal Evans, the Bing 404 for WordPress plugin. This new plugin leverages the Bing Search Library for PHP, which was released earlier this week.
When added to a WordPress based website, the Bing 404 for WordPress plugin, which Microsoft is making available through the WordPress Plugin Directory, ensures that visitors to the site who request a page that would normally produce a 404 error, will now get a custom page with dynamic Bing search links related to the information they were looking for.
You can find more information about the Bing 404 for WordPress plugin on Microsoft's Interoperability blog and on this tutorial posted by Cal Evan.More information on the Bing Search Library for PHP can be found here.
by Peter Galli on June 01, 2010 07:59pm
For those of you interested in Windows Azure, an open platform on which applications written in .NET, PHP, or Java can run, the Windows Azure team has just posted a new video to MSDN on how to create and run a Java application in Windows Azure.
In the video, Scott Golightly creates a simple Java application that runs under Apache Tomcat, and then shows how that can be packaged up and deployed to the Windows Azure development fabric.