Managing JavaScript App Templates

07 Dec 2016
Whenever I start a new project I invariably go through the same steps. I don't just mean steps like 'initialise a Git repo...create an NPM project', but I mean the same steps in the sense of double-checking the Gulp project site to see if there have been any updates, or looking to see whether the Polymer team have released (yet another) starter kit, command-line tool, or some such. At various times I've tried to capture the latest state of my knowledge in Gists on GitHub so that I can go back a...

Why You Need an Ontology (Schema.org, JSON-LD and ElasticSearch - Part 1)

14 Nov 2016
[ElasticSearch](https://www.elastic.co/) is great place to store JSON, not just because it's a JSON store like [MongoDB](https://www.mongodb.com/), but because it brings with it powerful search and analytics. To get the most out of storing our data in ElasticSearch we need to think through features such as field names, data types and the relationships between different parts of our data. If we get this structure right then we'll increase the opportunities for comparing different kinds of data an...

webdriver-mocha: Using Selenium Webdriver with Mocha for End-to-end Testing

04 Jan 2016
Although I'm always using Mocha to test my Node modules I've not had much cause recently to use it to write tests that run in a browser. Now that I need to, I find a lot of new testing apps vying for my attention, but most of them want me to move away from Mocha. I looked at them...and then decided to create my own module which allows me to stick with Mocha and still get to use Selenium. Here's how I did it. ## XForms I say I haven't "recently" needed to write browser tests becaus...

A Mixin Approach to Material Design Lite Using Sass

14 Oct 2015
The way we use CSS has often seemed upside-down to me, but with Sass we can set it right way up again. Here we'll describe an approach that uses Sass to make use of the Material Design Lite stylesheets, yet still keeps our markup clean. ### CSS Why do I say CSS seems upside-down? Take a simple structure like a link element inside a navigation area, that is itself within the main content of a page: ```html
``` In most projects...

Writing for Streams and Vinyl...Not Gulp

11 Aug 2015
When writing your shiny new module to use with Gulp it's tempting to call it something like `gulp-my-module`. A quick check on NPM for modules with 'gulp' in their name shows that [7239 modules have already taken that approach](https://www.npmjs.com/search?q=gulp-*). But how many of these modules are actually Gulp-only plugins? By which I mean, how many of these modules will *only* work with Gulp, and how many are actually aimed at manipulating [Vinyl](https://www.npmjs.com/package/vinyl) file...

SSG-independent Themes

06 Aug 2015
There are [lots of static site generators (SSG)](https://www.staticgen.com/), written in a variety of languages and many of them are incredibly powerful. But when it comes to theming they all seem to suffer from the same problems. ## Installation The first problem is that installing a theme generally involves cloning a repo from Git and then copying the theme into a subdirectory within your blog. The result is that the theme is now a 'part' of you blog and stored in your repo. If the theme au...

Using a Gulpfile to Quickly Create an API

04 Aug 2015
Sometimes we want to pipe files from a web server into Gulp. Sometimes we want to pipe files out of Gulp into a web server. But sometimes we want Gulp to simply *be* a web server. ## Overview Look at this: ```javascript gulp.task('abc', function() { }); gulp.task('xyz', function() { }); ``` Doesn't that look a little bit like an API? Recently I spent a lot of time looking at Sails, Hapi, LoopBack and more, in search of a framework for creating APIs. There's no question ...

Using Knife to launch EC2 instances without a Chef Server

16 Mar 2012
In this post we look at how we can make it easy to launch servers on Amazon's EC2. We'll use Knife to launch our instances since it gives us a lot of other features that we can make use of when managing our servers. But we'll do this without the complication of setting up a Chef Server. ## Launching instances The easiest way to launch a server on EC2 is almost certainly via the control panel. From there it's straightforward to choose an instance size, select a region to launch ...

Choosing a Blogging Platform

24 Feb 2012
The great thing about not having blogged for a few years is that I've just had the opportunity to survey the blogging landscape. If you're drinking *lean start-up* kool aid or you're a technical blogger, then what I learned may be useful to you. ## The Cloud for Everything The two blogging platforms I used in the past were Blogger (for my posts about XForms and internet applications) and Drupal (for my company posts). The first thing I knew for certain was that I didn't want to...

Dog bites man in race to Semantic Web

05 Aug 2010
Facebook's adoption of RDFa as a way to provide extra features to its users has met with an ecstatic welcome by some, and suspicion and criticism by others. Here we discuss whether some in the semantic web community may be being too hard on their efforts. Ten years ago, did you expect there ever to be a semantic web? How you answer that question will depend a lot on what you've been doing during that decade. If you don't know what RDF or DARPA are, then my guess is that ten yea...

Issue-driven development with Mercurial patch queues and Google Code

24 Apr 2010
_Note that since this post was written I've moved to Git and GitHub. However, I still use the same workflow._ One of the things I like best about using Mercurial patch queues is the way that you can continually refine the commit message before you send anything back to your repository. Since the message won't actually appear in your revision history until you convert the patch to a proper commit, you can hone the message as you work. This becomes particularly powerful when combined with Google...

Vocabularies, token bundles and profiles in RDFa

25 Feb 2010
A number of discussions are taking place in the new [W3C RDFa Working Group][1] about how to enable authors to use tokens in place of URIs. How do we avoid conflicts if anyone can define their own tokens? This post looks at how this might be achieved. (The following discussion continues some of the themes from last year's post [Tokenising the Semantic Web][2].) ### A contract between consumer and publisher The first thing to say is that what we are talking about is allowing pu...

Treating URIs as strings considered dangerous

18 Jan 2010
Since URIs are often conveyed as strings it's tempting to manipulate them as such, but it's better--and safer--to delegate URI manipulation to special functions. These can then have their own unit-tests, which will take into account the edge-cases that can catch us out. I've just been doing a quick code review in the Ubiquity XForms project, and one thing caught my eye that I thought might be worth a post. ## Forms submission In forms submission -- both in XForms a...

The Joys of Mercurial

18 Dec 2009
No-one needs to be told that any project you work on needs a version-control system. Nowadays, even when writing documents or OWL ontologies, I'll use source control, and if it's something that can be shared with others, then I might even start up a new Google Code project, so that I have a wiki and issue-tracking, too. Up until a few months ago, my VCS of choice was SVN, and it served us well. But more recently I decided to give a distributed version-control system a try, and ...

RDFa and SEO

16 Dec 2009
I did a couple of talks at SemTech 2009 this year, and although I managed to upload my talk on [RDFa: The Semantic Web's Missing Link](/blog/2009/06/slides-for-semtech2009-talk-on-rdfa), I never got round to uploading the slides for a panel discussion I was involved in, called [A Shift in SEO](http://semtech2009.com/session/2049/). I was reminded of this omission earlier this week, when a discussion around RDFa and SEO started to take off, fuelled largely by the energetic Martin...

Linked Data and RDFa in US and UK government web-sites

20 Nov 2009
Two exciting pieces of RDFa news arrived within ten minutes of each other in my Twitter client. Both concerned governments making data open -- one in the US, and the other in the UK. The first item was a reference by Steven Pemberton ([@stevenpemberton](http://twitter.com/stevenpemberton)) to [a story in Information Week](http://www.informationweek.com/news/government/info-management/showArticle.jhtml?articleID=221900361), which explained that the new media team at the Whitehouse...

Evangelising RDFa in Australia

21 Oct 2009
I was recently lucky enough to take my first trip to Australia. I was there to do two talks, the first on RDFa and its use in Government (given in Canberra, the home of the Australian government), and the second, a talk on RDFa and its impact on the web (given at the Web Directions South 2009 conference). I've embedded the presentations below, although it's probably better to view the presentations at SlideShare, so that you can see the speaker notes: [RDFa and Governm...

RDFa down under

01 Oct 2009
I'm really looking forward to my first ever visit to Australia, starting Sunday. Whilst it would have been fun to do the trip with the family, it's a close second that I've been invited there by W3C Australia, to speak about RDFa. I'll be doing a few informal workshops, and a couple of public talks, as well as taking in [Australian Web Week](http://webweek.com.au/). The first public talk is on Wednesday, at the Australian National University in Canberra, on [RDFa and it...

RDFa Tech Talk, at Google, 2009

21 Sep 2009
Although my talk _Beyond Web 2.0 -- How RDFa Can Help to Democratise Data on the Web_, took place back in June, it's only just now been made available online, due to technical problems. (I should say too, that those same technical problems also mean that the video is in 50's style black and white; maybe it gives it a bit more authority.) I really enjoyed the session, and you'll hear at one point near the end I get to put some questions to Othar Hansson and Kavi Goel, an...

XForms Developer Zone and User Group launched

15 Sep 2009
We're pleased to be launching two new initiatives to help people who are interested in XForms. The first is the all new XForms Developer Zone web-site -- or [xformsdz](http://xformsdz.org), as we're calling it. Whilst the Developer Zone will be unashamedly biased towards XForms, within that, we'll have discussions, articles, code snippets, and tutorials about any XForms processor we can find, and any application framework in which it's used. To accompany the web-site, ...

Linking issues and revisions in Google Code

23 Aug 2009
We use [Google Code](http://code.google.com/) a lot in our projects, because it provides a great range of tools, with a straightforward interface. It's particularly useful to have version control and issue-tracking in the same system, and it's very easy to cross-reference the two by referring to revisions in issue comments, and to issues in the commit messages. On top of that, Google Code provides some nice code review facilities, and here too, it's possible to refer ba...

Using RDFa to Provide License Information to Google Image Search

14 Aug 2009
About a month ago, Google made it possible for anyone searching for images to filter the results based on the license type (see [Find Creative Commons images with Image Search](http://googleblog.blogspot.com/2009/07/find-creative-commons-images-with-image.html)). But it was only in the last couple of days that they spelt out exactly how you can let the Google crawlers know what licenses you are making your own images available under, in [a video by Peter Linsley, from Google Image Search](http:/...

Mark Birbeck interviewed by Paul Miller about RDFa

10 Jul 2009
I was lucky enough to be interviewed by Paul Miller for his weekly podcast yesterday. We spoke about RDFa, touching on a range of topics from its goals and how it came about, to its relationship to linked data and how it's being used in some recent projects for UK Government web-sites. The podcast is on Paul's [Cloud of Data](http://cloudofdata.com/2009/07 /talking-with-mark-birbeck-about-rdfa-and-its-use-in-government/) site. And there's more information about the proj...

The Semantic Web's Missing Link

25 Jun 2009
The slides from Mark Birbeck's SemTech 2009 talk [RDFa: The Semantic Web's missing link](/mark-birbeck/blog/2009/06/slides-for-semtech2009-talk-on-rdfa), are now online. [![](/files/missing-link-slides.jpg)](/mark-birbeck/blog/2009/06/slides-for- semtech2009-talk-on-rdfa) ...

Seminar: The possibilities of RDFa and the Semantic Web

18 Jun 2009
The slides are now online of the free RDFa seminar we ran with Skills Matter, on July 13th. A recording will also be available soon. To see the presentation notes and embedded videos you'll need to view the presentation over at the SlideShare site (follow the link below). [The possibilities of RDFa and the Semantic Web](http://www.slideshare.net/mark.birbeck/the-possibilities-of-rdfa-and-the- semantic-web) View more [presentations](http://www.slideshare.net/) from [Mark ...

The Semantic Web's Missing Link

16 Jun 2009
SemTech 2009 is turning out to be an interesting conference in many ways, and I've been to some useful presentations. I did the first of my presentations this morning, on RDFa, and the slides are below. The PowerPoint itself contain speaker's notes which will explain quite a lot of what is going on, so if you're interested then it's probably worth downloading: [RDFa: The Semantic Web's Missing Link](http://www.slideshare.net/mark.birbeck /rdfa-the-semantic-webs-missing...

Beyond web 2.0 -- How RDFa will help to democratise data on the web

20 May 2009
Google's announcement that they will be processing RDFa found whilst indexing our web-pages certainly got many people all of a Twitter last week. Many useful posts have examined the effect that this will have on search, especially when combined with Yahoo!'s already existing efforts in this direction (they began processing RDFa about a year ago). Some commentators also point to the effect this could have on the semantic web, accelerating uptake (although as is often the cas...

A busy week in RDFa-world

18 May 2009
This last week has been great for the profile of RDFa, and this post is a mixture of my own experiences and some broader news during that time. ## Yahoo!'s Open Hack The week began for me with a presentation at [Yahoo!'s Open Hack 2009](http://openhacklondon.pbworks.com/) in London, on [RDFa: Now everyone can have an API](http://openhacklondon.pbworks.com/RDFa) (I changed the title at the last minute). The Tech Talk part of the Hack Day was packed with useful information on some...

Yahoo!'s Open Hack

08 May 2009
[Mark Birbeck to present at Yahoo!'s Open Hack day](/mark- birbeck/blog/2009/05/18/a-busy-week-in-rdfa-world)...

Tokenising the semantic web

29 Apr 2009
This particular thought piece is aimed at people who are familiar with aspects of the semantic web. You don't need to be an expert to understand the article, and you might find it interesting, even if you know next to nothing about the semantic web. But I'm putting this little disclaimer right at the top here, so that no-one can say, "there you go...I told you the semantic web was difficult to understand, and Birbeck's latest blog-post just proves it". # GPS Myself, I have no id...

More RDFa goodness from UK government web-sites

23 Apr 2009
With my semweb consultantancy hat on, I've been working for a few months now on a number of RDFa projects with the UK's [Central Office of Information](http://www.coi.gov.uk/). These projects have generally followed the same pattern: * define a vocabulary for some specific area of interest, such as job vacancies or government consultations; * use that vocabulary in HTML pages, via RDFa; * get my colleagues at webBackplane to build a prototype application usin...

RDFj: Semantic objects in JSON

20 Apr 2009
One of the features of our RDFa parser ([Ubiquity RDFa](http://ubiquity- rdfa.googlecode.com/)) is the ability to import RDFa from external documents. This is particularly useful for bringing in definitions for templates and other processing rules that you would like to have applied to the document being parsed, or for importing one definition into another (`owl:imports` is implemented this way). The technique used to garner these triples is simply to import the external document into a hidden `...

Getting started with RDFa: Creating a basic FOAF profile

14 Apr 2009
Just over a year ago I wrote a blog post that showed how to create a FOAF profile on a web page, using RDFa. The idea was not only to show how easy it was to do in terms of the markup, but also to illustrate that once you are able to publish RDF via a web page, you need nothing more than a blog page to join the semantic web. This blog post updates that [old post](http://internet- apps.blogspot.com/2008/02/first-steps-in-rdfa-creating-foaf.html), by first adding some guidance on how to check your...

Duck-typing and XForms

03 Feb 2009
In a recent code review on the [Ubiquity XForms](http://ubiquity- xforms.googlecode.com/) project, the question of whether to test for an element by name or properties came up. In this post we look at the benefits that can be had from using _duck-typing_ as a way to manage objects' functionality, rather than the more usual hierarchical solutions. ## OO hierarchies The usual sort of example given when looking at and explaining object hierarchies, is to say that we have ...

Using RDFa for Government Information

25 Jan 2009
This presentation by Mark Birbeck was part of XML-in-Practice 2008, organised by the IDEAlliance, and described a case study of a use of RDFa in a UK government project. Presentation title: Using RDFa for Government Information ([Slides](http://svn.webbackplane.com/svn/public/presentations/2008-12-08-mb- xml-2008-rdfa/index.html) for IE and FF only) ([Details](http://www.idealliance.org/xml2008/schedule-details.asp#gov8)) By: [Mark Birbeck](/mark-birbeck) Conference: X...

Declarative Ajax Programming with Ubiquity XForms

25 Jan 2009
This presentation by Mark Birbeck was part of XML-in-Practice 2008, organised by the IDEAlliance, and showed developers how to use XForms in their Ajax applications. Presentation title: Declarative Ajax Programming with Ubiquity XForms ([Slides](http://svn.webbackplane.com/svn/public/presentations/2008-12-08-mb- xml-2008-ubiquity-xforms/index.html) for IE and FF only) ([Details](http://www.idealliance.org/xml2008/schedule-details.asp#at2)) By: [Mark Birbeck](/mark-birbeck)...

RDFa means extensibility (which is why some people will never support it)

20 Jan 2009
In this post I look at how RDFa and other techniques to add extra information to documents evolved around the same time as Microformats, as part of the work at the W3C on the next generation of web languages. Whilst the traditional approach taken to language design at the W3C -- and now used in HTML5 -- seeks to anticipate authors' every needs, the RDFa approach resulted from a focus on clearly defined _extension points_ that give _authors_ control. In this post I look at the different approache...

RDFa used in classification of ancient ceramics

05 Dec 2008
Like everyone involved in RDFa, I love seeing people use it to express information about themselves, using vCards, FOAF relationships, event information and so on. This type of information is often the first to get processed by new semantic technologies such as RDFa. But to be honest, this is simple stuff. The real meat of RDFa is to be able to express much more complex collections of information, using nothing more than the tools of web-publishing. So I was pleased to stu...

Compact HTML: A mark-up language for micro-blogging

07 Nov 2008
When sending small comments via services such as Twitter, it's pretty straightforward to add links to other documents. The general pattern is to abbreviate the link using an online service, and then paste the shortened link into your post. Software that displays your posts can then replace any string that begins with `http:` with a real link. However, there are many occasions where a link is just not good enough. Sometimes you'd like to embed an image, or even a video. But if ...

Using JavaScript's replace function to stem the spread of eval()

17 Oct 2008
One of the recurring patterns in the [Ubiquity RDFa library](http://ubiquity- rdfa.googlecode.com/) is the need to substitute the property of an object into a string of text. The general pattern is that templates such as a tooltip, or piece of script, should have all occurrences of any variables replaced with the actual value of those variables from a run-time JavaScript object. The following simple template illustrates the idea, using longitude and latitude values to build a ...

Does the web need RDFa?

16 Oct 2008
After over four years at the W3C, RDFa (nee RDF/A, nee RDF/XHTML) is now a full recommendation, which to all intents and purposes means 'it's a standard'. Amidst the noise of the fireworks and dancing, let's have a look at exactly what RDFa allows us to do, and why it was created. ## Two axis One of the key ideas in RDFa is that a document contains two 'axis' of information. The first is information about the document itself, such as the fact that it has div's and span...

Passing run-time parameters to internet applications

20 Sep 2008
Determining the behaviour of an application at run-time using parameters is a well-established practice. But whilst it's possible with command-line and server-side applications, the scope for passing information to client-side internet applications is limited. With the growth in internet-facing desktop applications, widgets and gadgets, there is a need to pass parameters directly to the application, rather than via a server, and this post looks at how that might be achieved. T...

Microformats and RDFa are not as far apart as people think

24 Jun 2008
The BBC have caused a bit of a storm recently by [announcing that they won't be using the hCalendar Microformat](http://www.bbc.co.uk/blogs/radiolabs/2008/ 06/removing_microformats_from_bbc.shtml) on their pages. The reason is the [well-known problems with accessibility](http://www.webstandards.org/2007/04/27/haccessibility/). One of the proposed solutions is to look at [RDFa](http://rdfa.info). ## Confusing syntax with vocabulary Whilst the BBC obviously understand their...

Openness and Innovation

19 Jun 2008
[![Mark Birbeck at Media Futures Conference 08 by jem](http://farm4.static.fli ckr.com/3057/2595747042_90276b81dd_t.jpg)](http://www.flickr.com/photos/jemsto ne/2595747042/) This presentation by Mark Birbeck was given at the Media Futures Conference 2008. [Openness and Innovation](http://www.slideshare.net/mark.birbeck/openness-and- innovation) View more [documents](http://www.slideshare.net/) from [Mark Birbeck](http://www.slideshare.net/mark.birbeck). Presentation ...

Ubiquity library

05 Jun 2008
The Ubiquity library provides a range of open source components--from Ajax libraries to browser extensions--that work together to deliver a fresh approach to web application building. ## Backplane At its core, the library provides an Ajax backplane which gives programmers a consistent layer on top of a number of Ajax libraries. ## Standard languages This backplane is then used by Ubiquity modules that support a range of standards, such as XForms, RDFa, DOM 2 Events, XM...

Clarifying the NextWeb Story, and the question of vision

31 May 2008
Earlier in the week I had a most enjoyable 24 hours in Amsterdam. The reason for being there was the [Kings of Code]() conference on Tuesday, but the trip got off to an excellent start the night before at a dinner for the speakers and sponsors, ably catered by [Boris Veldhuijzen van Zanten](http://bomega.com/). Over mushroom risotto, generously doused in truffle oil, I chatted with Ernst- Jan of NextWeb. ## Vision Ernst-Jan bemoaned the lack of vision in start-ups, and a...

RDFa Tech Talk, at Google, 2008

30 May 2008
[Mark Birbeck](/mark-birbeck) gave this talk at Google on May 24th, 2008. The talk covers RDFa in detail, looking at its implications for the future of search, and in particular how it can be used to enhance the user experience. ...

A First Course in RDF and RDFS (Resource Description Framework and Resource Description Framework Schema)

26 May 2008
RDF is a key W3C specification and a foundational component of the Semantic Web. This tutorial was given at SemTech 2008, and explained the basics of RDF and how it functions as a key building block of semantic systems. [A First Course in RDF and RDFS (Resource Description Framework and Resource Description Framework Schema)](http://www.slideshare.net/mark.birbeck/a-first- course-in-rdf-and-rdfs-resource-description-framework-and-resource- description-framework-schema) View ...

The future of mark-up languages

26 May 2008
[![Mark Birbeck @ Kings of Code 08 by jaf](http://farm3.static.flickr.com/2125 /2529217704_ccfcc23910_t.jpg)](http://www.flickr.com/photos/detached/252921770 4/) This presentation by Mark Birbeck was given at the Kings of Code conference. [Future Of Web Languages](http://www.slideshare.net/mark.birbeck/future-of- web-languages) View more [documents](http://www.slideshare.net/) from [Mark Birbeck](http://www.slideshare.net/mark.birbeck). Presentation title: The future...

@role values for SVG

17 May 2008
Something which was part of the early design concepts from the [XHTML Role Attribute Module](/standard/xhtml-role), which has got a little lost, is that _elements_ from any language can provide a handy source of role values too. To reconstruct the logic: A role value is simply a URI, or resource. The reason for this is so that the extensibility hook that we're creating puts us straight into the world of RDF. Now, some values of `@role` will need to be invented. This mi...

Interview on Cubic Garden

15 May 2008
Ian Forrester interviewed [Mark Birbeck](/mark-birbeck) whilst they were both at XTech 2008. Subjects mentioned range from XForms, Ajax, Sidewinder, ODF, unobtrusive JavaScript, XUL, standards adoption, New Labour, Hegel's idealism, the Ajax Community, and the Ubiquity XForms processor. ...

XForms plays key role in financial services application from 1st Software

14 May 2008
![1st logo](http://www.1stsoftware.com/media/1st_logo.gif) Vertex Financial Services, parent group of leading technology suppliers, 1st - The Exchange, recently announced that Wesleyan Assurance Society has become the first organisation to go live with the new Adviser Evolution technology, a financial services application that makes extensive use of XForms. Adviser Evolution is one of the first financial services applications in the UK to be developed using Microsoft's .NET tech...

XTech 2008: The 5 minute guide to RDFa...in only 6 minutes and 40 seconds

07 May 2008
[![Mark Birbeck on RDFa by ianalchemy](http://farm3.static.flickr.com/2235/247 6720186_8e4f9a4719_t.jpg)](http://www.flickr.com/photos/ianalchemy/2476720186/ ) This presentation by Mark Birbeck was part of the _20:20 Lightning Talks_ session, held at XTech 2008. [The 5 minute guide to RDFa...in only 6 minutes 40 seconds](http://www.slideshare.net/mark.birbeck/the-5-minute-guide-to-rdfain- only-6-minutes-40-seconds) View more [documents](http://www.slideshare.net/) from [Mark Bi...

Upcoming talks on RDF, RDFa and XForms

01 May 2008
May is going to be pretty busy with talks about XForms, RDF and RDFa coming up. First up is my talk [XForms, REST, XQuery...and skimming](http://2008.xtech.org/public/schedule/detail/605) at XTech 2008. The talk embraces themes I've been pursuing for a couple of years now; that as we put more functionality into the client, and servers get 'cleverer', it becomes much easier to build sophisticated web applications. Of course server technologies are moving so fast now that this w...

How formsPlayer can help take XForms to new platforms

06 Apr 2008
A short while ago we made the [formsPlayer source code](http://code.google.com/p/formsplayer/) available under an open source license, on Google Code. We didn't announce it widely because we wanted to get the infrastructure right before inviting people in, but it's something that the team behind formsPlayer have been excited about doing for a while now, for a number of reasons. The main one is simply that in this day and age, [open source is so obviously the way to go](http://new...

W3C Working Draft: XHTML Modularization 1.1

19 Mar 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [XHTML Modularization 1.1](http://www.w3.org/TR/xhtml-modularization/) document is a W3C Working Draft, which provides a set of modules that represent the entire XHTML language, but which can be combined and reused to create new languages. It's also possible to build languages that use only a subset of the modules, such as when creating a profile of XHTML for mobile devices. The document is the work of the W3C's XHTML 2 Workin...

W3C Working Draft: XHTML Access Attribute

19 Mar 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [XHTML Access Attribute](http://www.w3.org/TR/xhtml-access/) is a W3C Working Draft, which provides a single element to be used in documents, to enable generic document accessibility. The document is the work of the W3C's XHTML Working Group, and the editors are: * [Mark Birbeck](/mark-birbeck), webBackplane * Shane McCarron, Applied Testing and Technology, Inc. * Steven Pemberton, CWI * T. V. Raman, G...

W3C Working Draft: XHTML 2

19 Mar 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [XHTML Access Attribute](http://www.w3.org/TR/xhtml2/) is a W3C Working Draft, which provides a single element to be used in documents, to enable generic document accessibility. The document is the work of the W3C's XHTML Working Group, and the editors are: * Jonny Axelsson, Opera Software * [Mark Birbeck](/mark-birbeck), webBackplane * Micah Dubinko, Invited Expert * Beth Epperson, Websense * Ma...

W3C Working Draft: CURIE Syntax 1.0

19 Mar 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [CURIE Syntax 1.0](http://www.w3.org/TR/curie/) document is a W3C Working Draft, authored by Shane McCarron of Applied Testing and Technology, Inc., and [Mark Birbeck](/mark-birbeck). It provides a way to express URIs in a compact way that is independent of the language in which the compact URI (CURIE) is being used. From the abstract: > The aim of this document is to outline a syntax for expressing URIs in a generic, abbrevi...

W3C Editors' Note: XML Events 2

19 Mar 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [XML Events 2](http://www.w3.org/MarkUp/2007/ED-xml-events-20071114/) document is a W3C Editors' Note, authored by Shane McCarron of Applied Testing and Technology, Inc., and [Mark Birbeck](/mark-birbeck). It provides a way to specify event listeners and handlers for a document, using XML mark-up. From the abstract: > The XML Events module defined in this specification provides XML languages with the ability to uniformly inte...

W3C Working Draft: XHTML Role Attribute Module

19 Mar 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [XHTML Role Attribute Module](http://www.w3.org/TR/xhtml-role/) is a W3C Working Draft, which provides a single attribute to be used in documents to indicate the purpose an element. The document is the work of the W3C's XHTML Working Group, and the editors are: * [Mark Birbeck](/mark-birbeck), webBackplane * Shane McCarron, Applied Testing and Technology, Inc. * Steven Pemberton, CWI * T. V. Raman, Goo...

W3C Working Draft: RDFa Primer

18 Mar 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [RDFa Primer](http://www.w3.org/TR/xhtml-rdfa-primer/) is a W3C Working Draft, authored by Ben Adida of Creative Commons, and [Mark Birbeck](/mark- birbeck). It provides an introduction to RDFa, with lots of examples. From the abstract: > The modern Web is made up of an enormous number of documents that have been created using HTML. These documents contain significant amounts of structured data, which is largely unavailable t...

RDFa Primer published

16 Mar 2008
A new version of the [RDFa Primer](/standard/rdfa-primer) has been published. It's a useful introduction to the power of RDFa, with lots of examples....

RDFa: What It Is and What It's For

14 Mar 2008
[![Mark Birbeck speaking on RDFa at OkCon 2008](http://okfn.org/sysadmin/svn/t runk/okcon/2008/pictures/00149.jpg)](http://okfn.org/sysadmin/svn/trunk/okcon/ 2008/pictures/00149.jpg) This presentation by Mark Birbeck was part of OKCon 2008, organised by the Open Knowledge Foundation. Presentation title: RDFa: What It Is and What It's For ([mp3](http://okfn.org/okcon/2008/after#line-77)) By: [Mark Birbeck](/mark-birbeck) Conference: OKCon 2008, held at the London Schoo...

SugarCRM, RightScale and EC2

27 Feb 2008
[![SugarCRM Logo](http://www.sugarcrm.com/crm/images/SugarCRM_logo.gif)](http: //www.sugarcrm.com/) I've had an interesting time lately, looking at [SugarCRM](http://www.sugarcrm.com/) for a potential customer. The project involves having an internal system for the sales team, and then a public system that needs to cope with tens or even hundreds of thousands of members. My initial thoughts were to make use of [Salesforce.com](http://www.salesforce.com/) for the internal side, and then wire tha...

W3C Note: Rich Web Application Backplane

14 Feb 2008
![W3C logo](http://www.w3.org/Icons/w3c_home) The [Rich Web Application Backplane](http://www.w3.org/MarkUp/Forms/2006/backplane/) document is a W3C note, published in July 2006, which looks at the need to provide a common architecture for use across voice, web browsers, widget frameworks, and so on. The note was largely pulled together by Charlie Wiecha from IBM, who is a member of the W3C's XForms Working Group. Parts of the document were contributed by: * [Mark Birbeck](/ma...

Google's Social Graph API, RDFa and the future of web search

12 Feb 2008
(This article [originally appeared in February 2008](http://internet- apps.blogspot.com/2008/02/googles-social-graph-api-rdfa-and.html) on my blog [XForms and Internet Applications](http://internet-apps.blogspot.com/). ) One of the main goals of RDFa ([syntax](http://www.w3.org/TR/rdfa-syntax/) and [primer](http://www.w3.org/2006/07/SWD/RDFa/primer/)), and its precursors, is to provide richer semantic information for search engines. In [one of my early drafts](http://www.w3.org/MarkUp/2004/0...

A better XForms news service

29 Jan 2008
For a long time now we've placed useful XForms links at the bottom of the page on this site. But the problem is that we don't always capture all of the useful sources of information that is available for XForms, and what links we do list are tucked away at the bottom of the page. (You might not even have known it was there!) So I decided to set up a separate site called [Planet XForms](http://planetxforms.org), that does nothing other than aggregate a number of XForms-related ...

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

14 Jan 2008
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. ## Install Sidewinder Yes, it's obvious, but until we've installed Sidewinder there isn't a lot we can do, so [go grab Sidewinder from Sourcef...

Yahoo! uses XForms for 'write once, run anywhere' mobile applications

08 Jan 2008
[Yahoo! recently announced their entry into the mobile web applications space] (http://yhoo.client.shareholder.com/press/releasedetail.cfm?ReleaseID=284835), with a service that allows applications to be built and hosted using [Blueprint, a purpose-built mark-up language](http://us.beta.mobile.yahoo.com/developers) based on XForms. The [Blueprint roadmap](http://us.beta.mobile.yahoo.com/developers/roadmap) describes the underlying philosophy: > Much of Blueprint's philoso...

XML 2007: The 5 minute guide to RDFa...in only 6 minutes and 40 seconds

03 Dec 2007
This presentation by Mark Birbeck was part of the _Lightning Rounds for XML Standards_ session, held at XML2007. [The 5 minute guide to RDFa...in only 6 minutes 40 seconds](http://www.slideshare.net/mark.birbeck/the-5-minute-guide-to-rdfain- only-6-minutes-40-seconds) View more [documents](http://www.slideshare.net/) from [Mark Birbeck](http://www.slideshare.net/mark.birbeck). Presentation title: The 5 minute guide to RDFa...in only 6 minutes and 40 seconds ([slides](http://200...

Passing run-time parameters to UBX Viewer, via the URL

20 Nov 2007
The Ubiquity 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. Note: This post originally referred to 'Sidewinder', which is now part of the Ubiquity Browser Extension framework, or UBX. (See [Sidewinder is dead, long live UBX](http://webbackplane.com/node/99).) ## `meta` and `link` values You'll probably already know that [the UBX viewer can make use of...

Sidewinder is open source and gets a new home

15 Nov 2007
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. The first thing that had to be done was of course to ready the code. [Phil Booth](http://www.ohloh.net/accounts/10639), the lead developer on the viewer, put a lot of work into general tidying up, reordering components...

Clarification on formsPlayer CE 1.5.4 and 1.5.5

04 Sep 2007
Over in the Upgrade forum [Jozef Aerts has asked for clarification on versions 1.5.4 and 1.5.5](/node/1049). As he rightly points out, the 1.5.4 builds of formsPlayer Community Edition are newer than the 1.5.5 ones, which is a problem if you have installed any 1.5.5 builds--you can't upgrade to the newer software, because the version number you are trying to install is lower. The problem stems from not having made clear in the past which builds are 'previews' (only recommended...

Ajax and progressive browser enhancement

17 Jul 2007
There is still plenty of scope for the browser to evolve, but the truth is that _progressive browser enhancement_ makes browser evolution far less significant than it has been until now. That's probably not a bad thing, given the chaos that is currently surrounding the development of HTML at the W3C. ## Introduction [Progressive enhancement](http://hesketh.com/publications/progressive_enhancem ent_paving_way_for_future.html) is an approach to web development that has been ar...

XForms custom controls, using XAML and Silverlight

30 May 2007
[![Silverlight clock as a custom control in XForms/formsPlayer](http://farm1.s tatic.flickr.com/192/521945943_0900de30cb_t.jpg)](http://www.flickr.com/photos /mark-birbeck/521945943/) 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 i...

Building Mobile Applications with xH

09 May 2007
[![Mark Birbeck speaking on Mobile Ajax Panel at WWW2007 by applequist](http:/ /farm1.static.flickr.com/227/492869122_a7acd06de9_t.jpg)](http://www.flickr.co m/photos/torgo/492869122/) This presentation by Mark Birbeck was part of the _Reinventing the Mobile Browsing Experience Through Ajax_ industry panel, held at WWW2007. Presentation title: Building Mobile Applications with xH ([slides](http://svn.x-port.net/svn/public/presentations/2007-05-10-mb- www2007/index.html)) ...

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

01 May 2007
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, Co...

A toolbar for searching the Prototype API documentation

04 Feb 2007
[![formsPlayer toolbar for searching Prototype API docs](http://farm1.static.f lickr.com/128/380050989_f83c6bccfc_t.jpg)](http://www.flickr.com/photos/mark- birbeck/380050989/) A recent announcement that [documentation for the Prototype Ajax library](http://prototypejs.org/api/) was [now available](http://prototypejs.org/2007/1/18/prototype-documentation-is-here) was followed almost immediately by a [rather neat looking desktop gadget](http://www.bartelme.at/journal/archive/prototype_referen...

Obtaining data from a submission that's in error

25 Sep 2006
Some services return non-successful HTTP status codes, but still expect the client to respond to the body of the response. For example, a SOAP request to add a new customer to a database might return an HTTP 500 code to indicate that the customer already exists, but the actual body of the response might be perfectly usable XML. Since XForms discards returned data when there is a submission error, and classes HTTP 500 as an error, we have introduced the `instance-error` attribute on `submissi...

submission with @replace="text", and the new target attribute

22 Sep 2006
This week, Mark came back from the XForms Working Group face-to-face meeting with news of a potential new XForms feature--the ability to handle non-XML responses from submissions. The motivation for this feature is that there are many services that don't return XML, but which are crucial to an application; if the form author has no control over these services then it is important to be able to process the non-XML responses. In standard XForms there is no way to get to the resp...

Time for a widget spring clean

01 Sep 2006
[[Google Calendar](http://www.google.com/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. For instance, you may want to keep a small calendar always visible on your desktop, but u...

The Information Resource Debate, and RDFa

02 May 2006
Over the weekend I looked into the whole 'information resource' question, partly because it is pretty important for RDFa, and partly because a discussion on it is raging on the Semantic Web Best Practices mailing list. So I decided to go back to basic concepts and try to 'reconstruct' what exactly it was that we were saying about documents, cars, planets and conferences, although I have to confess that I did this in order to try to 'prove' that the whole notion of 'information resources' was fl...

Building a Backpack interface with XForms

12 Apr 2006
![Backpack logo](/files/backpack-small.png) We're getting ready for a new version of Sidewinder and in the process we're building a few desktop applications to show what you can do with the new features. One of these applications makes use of Backpack to store tasks and reminders, and during the course of developing it, Phil decided to set up a simple XForm that can access every feature of Backpack. It's such a handy little form that we thought we'd share it with you--if you're planning to buil...

A Flickr Search Form

01 Feb 2006
Producing a Flickr search form is fast becoming the "Hello, World!" application for Web 2.0. Kevin Lynch did a Flex demo at the Web 2.0 conference that searched Flickr, and then the Ruby on Rails guys followed suit with an Ajax lookalike. Our XForms version is part of the _Introduction to XForms_ tutorial, and has a rich UI like the others...but since XForms extends HTML, then this Flickr search form needs no scripting or server-side assistance. ## Lookalikes The first Flickr se...

XML Europe 2004: RDF/XHTML: A new RDF syntax

01 Apr 2004
The first public presentation of RDFa. ![](/files/xml-2004-logo.gif) This presentation by Mark Birbeck was given at [XML Europe 2004](http://web.archive.org/web/20071026191737/http://idealliance.org/papers/dx_xmle04/). (RDF/XHTML was eventually renamed RDFa.) Presentation title: RDF/XHTML: A New RDF Syntax ([link](http://web.archive.org/web/20071026104449/http://idealliance.org/papers/dx_xmle04/html/abstract/04-04-02.html)) By: [Mark Birbeck](/mark-birbeck) Presentation abst...