What's Gestalt?
Gestalt is a library from MIX Online Labs that allows you to build web pages with Ruby, Python and XAML directly in your HTML. You can write web pages using any of your favorite page authoring tools (we like TextMate and Expression Web), and deploy your pages by copying them to any web server. For people to use the pages you write, they will need only to have Silverlight installed on their machines. Silverlight installs in seconds, and has been downloaded more than 300 million times, so support for web pages using Gestalt is widely available.
Gestalt takes advantage of the Dynamic Language Runtime under the covers. IronRuby and IronPython already have support for creating XAP-embedded Silverlight applications, and Gestalt "hijacks" this excellent functionality to support the markup-oriented "view source" programming model of the Web. The Dynamic Languages product team is exploring the possibility of including this web-style activation model directly in a future release of those languages, at which point the product support would likely obviate the need for this labs project.
Philosophically, Gestalt is strongly based on a traditional front-end web development model. As such, Python and Ruby scripts are loaded asynchronously, as in JavaScript. Therefore, usage of "import" and "require" are not supported. If you are trying to use legacy Python and Ruby libraries or port large existing code bases, you will want to use the XAP-embedded Silverlight application model instead. We are interested in hearing feedback about how you would want to use require/import in Gestalt, to help inform future plans.
Why did you build it?
We built Gestalt because it captures the spirit of MIX Online. We pick interesting scenarios and problems on the Web and build applications and services that solve them or suggest a solution. Gestalt is no different. As web developers, we saw a large rift between the standards-based front-end web development and RIA (colloquially speaking, we mean Flash/Silverlight) development models, and built Gestalt as a proposed solution to the problem. Not to mention, the idea of Ruby and Python as language choices for scripting is an interesting topic for the future of browsers.
Will Gestalt be a full-fledged product someday?
That's not our goal as the MIX Online team, but you never know when an idea or an application takes off. For now, we're interested in starting a conversation about Gestalt, and sparking some community innovation around it. That's why we give away the source code for all our labs for free. We're hoping that you'll download the Gestalt library, take it for a spin, and tell us what you think.
What's up with the mushroom?
Nice try! It's a secret till Oct 22, 2009, our first year anniversary. Follow us on twitter and we'll keep you posted.