blogs

Mark Birbeck's picture

The 10 minute guide to Sidewinder (or 'How to turn a web app into a desktop app without programming')

Welcome to the quickest way to get up and running with Sidewinder, the open source web applications framework. This post is intended as a quick step-by-step guide to creating desktop applications with web languages, but it's full of screenshots, so it should also be useful to anyone who wants an overview of what Sidewinder can do.

Mark Birbeck's picture

Passing run-time parameters to Sidewinder via the URL

The Sidewinder Viewer contains a growing number of innovative features, and one I'd like to highlight here is the ability to pass run-time parameters for a web application, via a URL.

Mark Birbeck's picture

Sidewinder is open source and gets a new home

The transition of Sidewinder, our semantic web applications viewer, to an open source project is now complete. It took quite a lot of work in a number of different areas, but we're convinced that this will now help us realise the full potential of the framework.

Mark Birbeck's picture

XForms custom controls, using XAML and Silverlight

Silverlight clock as a custom control in XForms/formsPlayer

The title of this post may sound like an attempt to squeeze as many buzzwords as possible into one line, but I'm genuinely excited by all of the technologies mentioned. Everyone knows that Microsoft's commitment to standards such as HTML and XForms is legendarily lacking, and this is nowhere more obvious than in the quaintly kludgy XAML. But that said, there are some very interesting ideas in the language structure itself, and it's clear that they have done a very impressive job with Silverlight.

So whilst we're certainly not planning to water down our belief here at formsPlayer that standards are (usually) a good thing, we've never seen anything wrong with a pragmatic approach that uses whatever language gets the job done. Having said that, if it's possible to encapsulate non-standard languages like XAML--or even UI-specific languages like SVG--then we will always try to do that.

Which is why we've created a new section on custom controls, and added two new tutorials. The first shows how easily custom controls can be built with XAML and Silverlight, whilst still maintaining a clean separation between the forms that use the controls, and the controls themselves. A second tutorial shows how to create a simple map control, which inherits from an image control.

Using custom controls to more clearly represent different types of data is an important part of our approach to XForms, but at the same time it's important for us to ensure that exciting new technologies such as Silverlight can be used with XForms and formsPlayer. These tutorials make a start, and they'll be followed by a lot of other custom control work in the coming months.

Mark Birbeck's picture

Skimming, and an Open Source project for a GData XForms client

For me, one of the most exciting developments on the web in recent years has been the growth in services that let you manage raw data. Many of the most useful such services originate when some web-based application--such as Google calendars or spreadsheets--exposes the underlying data. For example, with Google Spreadsheets, it's possible to use ATOM to query spreadsheets for certain values, or add rows and columns, making this a very powerful way of storing data 'in the cloud'. (See Web 2.0, Copernicus and Spartacus: Moving the centre of the web.)

We're building quite a few XForms applications that make full use of this power, and it's something I'll be talking about at XTech 2007, in my session XForms, REST, XQuery...and skimming. Since the approach we use could work on any XForms processor, talking to any ATOM-based server, we've decided to create an open source project to host the forms, and document their use. If this is an area of interest to you, check out the GData XForms client project on Google Code, and its discussion forum.

Mark Birbeck's picture

A toolbar for searching the Prototype API documentation

formsPlayer toolbar for searching Prototype API docs

A recent announcement that documentation for the Prototype Ajax library was now available was followed almost immediately by a rather neat looking desktop gadget and a Firefox sidebar. Not to be outdone, I decided to put together a toolbar for Internet Explorer, and managed to do the whole thing with one XForms form control and an action handler--and of course, no script.

Turn any web page into a desktop application

Screenshot of the BBC Sport website running as a webapp in the Sidewinder Viewer

I've just finished implementing a new feature in the Sidewinder Viewer, which further simplifies the task of turning any web page into a desktop application. If invoked with a command line argument that specifies the document to load, the viewer now also checks the fragment identifier for the presence of a meta XPointer scheme. The expression associated with this scheme allows you to set a number of application-level properties, such as the window title, height, width, position and so on.

Driving Google Maps from the XForms model

Screenshot of the XForms Google Maps application running inside the Sidewinder Viewer

I've just written a new tutorial, describing how to write an XForms application that overlays data from a BBC Backstage feed onto a Google Map. The application is pretty short and straightforward, but it also provides a cogent illustration of the advantages that the XForms model can bring, even to non-XForms user interfaces.

Embed XHTML documents in your .NET applications

Sidewinder Renderer

We've just added a new tutorial to the site, demonstrating some basic techniques which allow you to embed XHTML documents inside your .NET applications. They rely upon our Renderer COM component, which is installed as part of the Sidewinder Viewer. The first tutorial is very straightforward; in later ones we shall demonstrate more exciting features, such as event-based communication between the live document and your application.

More ways to dock windows

NASA Feeds in the Sidewinder Viewer

The latest version of the Sidewinder Viewer provides more options for docking renderer windows from the JavaScript API. Notably, it is now possible to create Renderer objects as docked children of a larger Application object. This allows a user to close your entire application from a single top-level window and can also provide a more convenient grouping of related windows.