Phil Booth's blog

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.

Source View colour schemes

In the latest release of the Sidewinder Viewer, you are able to alter the colour scheme used in the Source View tab. The option is available in 'Preferences > Source View'.

Bubbling events beyond the document boundary

Backpack Reminders in the Sidewinder Viewer

We've just started developing a new sample for the Sidewinder Viewer which, among other things, demonstrates basic communication between a running script and the rendered document. The sample uses the Backpack web service, via its RESTful API, and is something that we shall continue to develop as the viewer becomes more powerful.

Introducing SVG-rich XForms controls

Rich XForms output control

An important feature of formsPlayer 1.5 has been the development of richer form controls, implemented using XBL and SVG. The screenshot here shows a simple XForms output control styled to look like an LED display.

The effect is achieved by adding an appearance attribute to the control, so that the functionality is non-invasive to other XForms processors (and, indeed, to earlier versions of formsPlayer):

<xf:output ref="clock" appearance="fp:LED" class="clock" />

Enhancing your Google Calendars

Google Calendar in the Sidewinder Viewer

Google Calendar is a good example of an application that benefits from features of the Sidewinder Viewer, without the need for any changes to be made. Given particular calendars that you may have cause to refer to throughout your day, it is a simple task to invoke the viewer in such a way as to make your calendars readily available, yet also unobtrusive.

Docking windows from script

Kool IM in the Sidewinder Viewer

With the latest release of the Sidewinder Viewer, it is now possible to dock many windows to a single edge of the display. The requirement for this change really became apparent with the increased control over renderer objects from script, that was introduced in an earlier build of version 2.0.4. One of the things that this enables us to do is extend the Kool IM Sample so that individual message windows themselves may be slid on to and off from the display as necessary.