GDS defends bespoke approach

I seemed to cause a bit of a stir a couple of weeks back, when I challenged the decision to develop a new Government [web publishing] Machine from scratch, rather than basing it on an existing third-party platform. My blog post got quite a few comments; and there were some interesting exchanges on Twitter too. And now, to the Government Digital Service team’s great credit, they’ve written a post on their own blog, responding to the challenge.

James Stewart’s piece opens on a rather sour note, choosing to reference the Americans’ adoption of Drupal first, before acknowledging the UK’s primarily WordPress-based initiatives. The fact is, for once, Britain led the way on this. Perhaps if we’d had a high-profile champion like Tim Berners-Lee or Martha Lane Fox, we might have had greater, wider recognition. Instead, we just got on with it, delivering projects quickly, cheaply and quietly.

The choice of WordPress-based projects to namecheck in that opening paragraph is also a little odd. James is of course correct to observe that it powers ‘numerous central government sites’; some traditional blogs, some more complex. But he doesn’t mention the four central government departments who are already using WordPress to power their core departmental publishing – Defra, Transport, Health and the Wales Office. Nor is there a mention for the Cabinet Office’s use of Drupal. Altogether a slightly odd omission in the context.

James proceeds to list the reasons why they took a bespoke approach, but each time, concedes that yes, they probably could have used WordPress or Drupal.

We’ve got a very strong focus on opening up APIs. While both Drupal and WordPress can be used to offer APIs… adding the range of APIs we’re aspiring to would require significant development work, and to make them perform as we’d like we’d need to work around the overheads introduced by WordPress and Drupal.

[On metrics:] Again, that’s certainly possible with both Drupal and WordPress, but to do it effectively we’d be writing a considerable amount of custom code.

Perhaps most compelling for me is our focus on admin systems… Here too we could customise any open source content management system to do the job, but it’s highly likely we’d either have to make significant changes to core code or develop a parallel admin system at which point much of the advantage of starting with the base system would be lost.

Or if I might paraphrase, somewhat provocatively: they’re writing lots of custom code because otherwise, they’d have to write lots of custom code.

So on some level at least, it boils down to a comparison on the basis of cost and complexity. ‘We’re choosing to start by assembling components rather than customising a package,’ James writes in summary – implying a conclusion that their bespoke approach will work out easier / quicker / cheaper / more sustainable. Maybe it will, maybe it won’t. So much of it boils down to the individuals you hire, and their varying levels of experience with various components.

James concludes with a pledge that ‘we’ll be contributing code back to the wider community (whether in the form of new components or patches to existing ones) as we go along.’ And of course, that’s to be welcomed. Reuse of code is good. But this doesn’t really tackle the point I tried to make about maximising reuse of the code: a point subsequently made, rather more forcefully, by Matt Jukes.

I think the work happening in GDS will have a real impact on web teams throughout the public sector but it will take a long time for it to leak through to those of us out in the NDPBs and I think I’ll switch to treating the work they are doing there as something as different to my job as that of a Silicon Valley start-up.

Ultimately then, it’s a question of trust. Trust our judgement; trust our assessment of the relative levels of effort; trust our staff and project management skills; trust that the (back end) benefits will trickle down eventually. And looking at the CVs of those hired to do the work, there’s certainly ample reason to put your trust in them.

Will they succeed where others have failed previously? We’ll find out in due course. And genuinely, sincerely, I wish them well. We may disagree on the approach: but we all want to reach the same destination.

How we could all benefit from Betagov’s accessibility work

Accessibility is the subject of the latest post on the Government Digital Service blog: having had their fingers burned in the ‘alphagov’ phase of work, by consciously ignoring the subject, it’s clear they want to be seen to make it a priority into the beta phase.

Léonie Watson writes:

Tom Loosemore has said: “… we want to make the most easy to use, accessible government website there has ever been”. Those of you who know something about web development on this scale will understand what a challenge that is. Those of you who know me will also recognise it’s a goal I thoroughly believe in. So, what are we doing to achieve that goal? Simply put, we’re planning accessibility in from the outset and documenting the accessibility steps we take throughout the website’s lifetime.

I’ve posted a comment on her article, which I’ll reproduce here for the record. You’ll instantly note a common theme with my recent inflammatory post about departmental publishing.

As you’ve noted, accessibility is very hard to get right: you’re conceding that you might not even score a ‘perfect 10’, even though you’re ‘planning [it] in from the outset’. And as [previous commenter] Keith says, for small organisations, it’s prohibitively expensive to even buy the rulebook, before you even begin to implement the rules.

If government is hiring experts, consulting widely with users, and (hopefully) delivering exemplary results, it seems like a tragic waste for the benefits to be locked into a single website.

Wouldn’t it be fantastic if one of the outputs from your work were to be a reusable, customisable front-end theme for an open-source, widely-used publishing platform, like WordPress or Drupal? You could enforce certain ‘must have’ accessibility practices in the page templates, whilst still giving people plenty of scope to make it look and feel like their own site – via a parent/child theme arrangement, or a ‘theme options’ screen.

You could then release that theme publicly – giving web developers everywhere a robust base on which to build their sites. Imagine all those common accessibility headaches being solved, before the first line of custom code is written.

(I’m not suggesting this would solve all problems instantly, of course. And there’s still plenty of scope to cause all sorts of new problems in, say, a child theme’s CSS. But you’d certainly be giving people one heck of a head start.)

The fact is, very few organisations have any real motivation to get accessibility right. But Government has a moral obligation to do so. And you’re spending our taxes to do it… so I’d argue we all have a right to enjoy the fruits of that labour. Central and local government, public and private sector.

Issuing a list of rules seems a very old-fashioned way to encourage / enforce good practice. You have an opportunity here, to do something much smarter than that.

 

Bespoke builds and broader benefits

In which Simon makes the case for the ‘government machine’ (in the diagram above), for government departments to publish fairly basic written information about their work, to be built on something which already exists, instead of being built ‘from the ground up’. If you haven’t already, do read Neil’s piece… then Stephen Hale’s piece about the Department of Health’s new approach… then read on. And do please note the line about ‘Seriously, this isn’t about WordPress.’

It won’t entirely surprise you to learn that, when Neil Williams’s blog post about government web publishing in the world of a Single Domain popped up in my feeds, the first thing I did was press control-F, and search for ‘wordpress’. And hooray, multiple mentions! Well, yes, but.

Some background, for those who need it: Neil is head of digital comms at BIS, currently ‘on loan’ to the Government Digital Service team, to lead the work exploring how government departments fit into the grand Lane Fox / Loosemore / Alphagov vision. A ‘hidden gem‘, Tom Loosemore calls him – which seems a bit harsh, as Neil has been quite the trailblazer in his work at BIS, not least with his own web consolidation project. It’s hard to think of anyone better placed to take up this role.

With that track record, it’s happily predictable to see Neil reserving a specific place for WordPress (and the like). More generally, the vision – as illustrated in the diagram reproduced above – is sound, with the right things in the right places. There’s so much to welcome in it. But there’s one line, describing an ‘irreducible core‘, which stopped me in my tracks:

a bespoke box of tricks we’ll be building from the ground up to meet the publishing needs most government organisations have in common, and the information needs ‘specialist’ audiences most commonly have of government.

Here’s my question for the GDS team: why bespoke? why ‘from the ground up’?

It’s a decision which requires justification. ‘Bespoke’ invariably costs more and takes longer. It will increase the risks, and reduce the potential rewards. It would also seem to be directly in breach of the commitment Francis Maude made in June 2010, to build departmental websites ‘wherever possible using open source software’. Were all the various open source publishing platforms given due consideration? Was it found to be literally impossible to use any of them, even as a basis for development?

Let’s assume WordPress and Drupal, the two most obvious open source candidates, were properly considered, as required by the Minister. Let’s assume contributions were sought from people familiar with the products in question, and just as importantly, the well-established communities around them. Both are perfectly capable of delivering the multi-view, multi-post type, common taxonomy-based output described in the ‘multistorey’ diagram. Both are widely used and widely understood. So why might they have been rejected?

Did the team spot security or performance issues? If so, wouldn’t the more responsible, more open-source-minded approach be to fix those issues? Then we’d all see direct benefits – on our own personal or company websites – from the expert insight of those hired by our government. If things are wrong with such widely-used technologies, whether inside or outside government, it’s already government’s problem.

Or were there particular functions which weren’t available ‘out of the box’? If so, is it conceivable that someone else might have needed the same functions? Local government, perhaps – for which the GDS team has ‘no plans or remit‘. We’re seeing plenty of take-up of WordPress and Drupal in local government land too. They have very similar needs and obligations as regards news and policy publication, consultations, documents, data, petitions, biographies of elected representatives, cross-cutting themes, and so on. Why not make it easy, and cheap, for them to share in the fruits of your labours?

But I think it goes wider than different tiers of government. Government is under a moral obligation to think about how its spending of our taxes could benefit not just itself, but all of us too.

Even if this project’s bespoke code is eventually open-sourced, the level of knowledge required to unpick the useful bits will be well beyond most potential users. Given that it’ll probably be in Ruby or Python, whose combined market share is below 1%, it won’t be much use ‘out of the box’ to most websites. A plugin uploaded to the WordPress repository, or a module added to Drupal’s library, would be instantly available to millions, and infinitely easier to find, install and maintain. (Well, certainly in the former case anyway.)

I can’t help thinking of the example of the BBC’s custom Glow javascript library, which does simplified DOM manipulation (a bit like jQuery), event handling (a bit like jQuery), animations (a bit like jQuery), etc, proudly open-sourced two years ago. It appears to have attracted a grand total of 3 non-BBC contributors. Its second version, incompatible with the first, remains stuck at the beta-1 release of June 2010. Its Twitter account died about the same time; and its mailing list isn’t exactly high-traffic. I’m not convinced it ever ‘unlock[ed] extraordinary value out there in the network‘. Proof, surely, that open-sourcing your own stuff isn’t the same as pitching in with everyone else.

Seriously, this isn’t about WordPress – although that’s unquestionably where the Whitehall web teams’ desire path leads. It’s not really even about open source software. It’s about government’s obligation to the citizens and businesses which fund it. It’s about engaging with existing communities, instead of trying to create your own. Acknowledging people’s right to access and make use of the data – erm, sorry, the code – whose creation they funded. Any of that sound familiar?

There’s so much right about the picture Neil paints. And maybe I’m reading too much into a single line. But the idea of building yet another bespoke CMS to meet Whitehall’s supposedly-unique requirements seems to be three to five years out of date. And it didn’t work too well, three to five years ago. Or three to five years before that. Or…

LibDems’ tech policy paper backs open source, mobile-friendly websites and sarcastic tweets

One area where the LibDems were conspicuously – and perhaps surprisingly – lacking at the last election was technology policy. In fact, it hadn’t (formally) updated its thinking on the subject since 2003. But a working group was set up soon after the election, chaired by newly elected Cambridge MP Julian Huppert. A consultation paper was published a year ago; and as per the advertised schedule, a full-on policy paper (pdf) is being put to their annual conference next month. (Thanks to Richard Parsons for the tip-off.)

Under the rather curious title of ‘Preparing the Ground’, and bearing the somewhat ominous reference number 101, it sets out ideas ‘to put IT at the heart of government, to create a liberal and open environment for business, and to secure a better deal for citizens.’ And it’s well worth reading through its 20-odd pages: there’s some genuinely good stuff in there.

The first half concentrates on copyright and intellectual property issues: and as you might expect from a conference paper, there’s regular reference to the party’s liberal values. The paper restates a general preference in favour of free speech and self-policing, as well as a desire to ‘avoid well-intentioned but badly drafted rules’ around policing the internet  – quite timely, amid talk from their Coalition partners of switching off social networks for a few hours, when we all need to calm down.

There are a few specific proposals, such as the suspension of IR35, repealing large chunks of the Digital Economy Act, and an in-context defence for Twitter Joke Trial scenarios. But it’s the underlying tone of the commentary which is most encouraging. Huppert and co clearly get this stuff.

The second half is much more natural territory for this here blog: ‘filling in the gaps’, particularly as regards the public sector’s use of technology. It starts with a rather bold statement:

It is essential that decision-makers and their advisers have a deep understanding of the impact of IT across society and a vision for what it can provide.

The proposal is that ‘a specific government office be established, encompassing the work of the current UK Government Chief Information Officer and staffed with experts in the IT field. This new government office would advise all other departments of ways in which IT can improve efficiency and quality of service to the public, and engender a culture of online engagement with the public.’ Civil service and local government managers, it suggests, should ‘undergo a serious period of initial training in the impact and current implications of IT, [to] be refreshed annually.’

Noting the high levels of mobile phone ownership among the lower social classes, there’s a specific recommendation that ‘the government make all appropriate public services available online and accessible by an average retail mobile phone. This may mean, in some cases, trimmed down versions of websites with richer content.’

And there’s endorsement – as you’d expect from the LibDems – for petitioning at all levels of the political process, ‘from parish council to European Parliament’. But whilst there’s a broad welcome for the new e-petitions framework, they want to go further:

We believe that the system should also encourage the formation of communities around both supporters and opponents of the proposition. Petitioning should be more than just a signature; it has the potential to foster more genuine involvement in the political process, making it easier for people to express their views effectively.

They go on to suggest:

The government should establish an e-Democracy centre to initiate and encourage the use of tools by individuals, communities and government at all levels, funded by central government on a permanent basis.

There’s also an explicit, indeed a ringing endorsement for government use of open source… and more.

It is our considered view that open source development is desirable and should be promoted… The government should ensure that it owns the code that it has paid for, and then share it for free within the public sector in order to avoid different parties paying external firms to develop the same software. We would like to see the public sector embrace collaborative development along the lines of websites such as Github.

One way of promoting open source would be for the government officially to support the use of those open source community websites which perform public services to a similar or better standard than official publicly-funded websites. The government could also consider providing resources to the creators responsible. Formerly it has been known for the government to attempt to replicate the work of such websites.

Nice… but I’d be against a separate ‘Github for government’, if that’s what it’s suggesting. Now that we’ve (more or less) won the argument for using open source for core government business, the next step in the evolutionary process is for government to systematically start sharing its insight, and the fruits of its labours, with everyone. (Or perhaps that’s what they meant by ‘support’ and ‘providing resources’ for third-party websites.)

There’s plenty more commentary over at Richard’s edemocracyblog. He summarises it as ‘a step forward for eDemocracy’, and I’m inclined to agree.

I’ve long been amazed that the LibDems haven’t been more vocal in this space – courting the geek vote, for want of a better description. It should be such natural territory for them. But there’s so much good sense in here, that it might be the start of something very interesting.