We’re opening up access to Gov.uk forms
gds.blog.gov.ukWhen I moved to the UK, one of the surprising things was how well the GOV.UK ecosystem worked. My original country uses a mishmash of Java applets, ajax-based websites, and a mixture of mildly broken, outdated web technologies, served from a variety of domains. GOV.UK was a breath of fresh air with its simple, consistent UI, served as static HTML. This is how internet services should look like.
Hoorah to that! We are lucky to have wonderful .gov services; highly available, accessible, frictionless, simple, informative, well written and bullshit-free. Maybe the best online central government services in the world - though I hear Estonia are a contender too.
However I live in perpetual fear that at any moment some corrupt minister will do a deal with Microsoft and the Devil. Out will go plain HTML and common interoperable standards, simple authentication, and in will come a vipers nest of javascript calling home to monstrous tracking infrastructure, AWS containers, Cloudflare MITM, hooked into some hideous TPM module and mandatory smartphone camera garbage that scans my iris....
Somehow there is a stronghold of common sense and decency standing its ground within our government. I almost wish I could pay a little extra tax to fund them.
Umm, GOV.UK uses Google Analytics, Fastly CDN, AWS containers, and I believe is developing an app.
(I worked at GDS until two years ago.)
Like he said:
> a stronghold of common sense and decency
I get that OP was going for something else but…
I don’t think there’s anything wrong with those things when in the right hands.
gov.uk is not a monolith, different departments can make different decisions. There is no mandate for AWS containers or Fastly CDN.
They have to provision from a market place of approve service though right?
They tend to use the tools provided by Government Digital Services.
Yes, this is the point and the reason it's so good. Centralization and standardization. I'm so glad that my country (Turkey) has made big leaps in centralization of digital services in the recent years with E-Government platform. I even recently wrote the Presidency Public Communcations Center, suggesting every citizen should have a government-issued email address and that an email account must be a right. E-mail is a necessity at this point and it's unacceptable that anyone can lose access to their email account just because Google's ML models decided he's a bot. The government could easily verify every real citizen.
Indeed, but everything still works for me even though much of that stuff is blackholed here. These are common efficiencies (mistakes on my opinion fwiw) and hopefully we can further improve data-leakage and bring even more things properly back in-house.
Not to be too gushing or naive, I am quite aware that in the UK we recently "sold" big chunks of GCHQ to Amazon, so I'm not all wide eyed that parts of our government IT aren't idiots.
Sold parts of GCHQ? Could you elaborate? That sounds rather bad.
Some but not all of it run-of-the-mill corruption from the usual suspects like Priti Patel. There's not much of Britain left to sell to private equity and Big Tech, but they're always working on finding new "markets".
https://www.ft.com/content/74782def-1046-4ea5-b796-0802cfb90...
https://www.reuters.com/world/uk/amazon-signs-deal-with-brit...
Everyone uses Google Analytics. I don't find it particularly high up any list of real worries.
I don’t.
I despise Google and what they became and so should you.
Maybe my 10 visits a day webpage is an anomaly, and I’m truly the only one not using Google analytics - Still, don’t pretend Google analytics is used by everyone.
For our podcast we specifically set up Plausible to exclude Google analytics. Rather little of value to be gained or lost either way, but it's a matter of conscience and politeness to our users. Sadly we had to put in links to other big-tech application platforms, but those are links to click out of choice if you're a user of those services.
This is always the problem when interacting with the corporate internet. I have a Shopify store on my website where my readers can buy mugs and t-shirts to support me(not that anyone is lol). Lord knows what goes on in there.
I hope someone reinvents the services we take for granted with a focus on privacy.
> I despise Google and what they became and so should you
It's a bit laughable to talk about despising a company over this stuff. We're not talking about an evil regime, or even Nestle for what they did with breast milk in Africa. It's so over the top.
Why does the government need to send its data to google exactly?
Should they instead invest time and public money into solving simple product problems (“how many times was this thing looked at?”) in a way that can be understood by the average desk worker? When that problem is well met by the private sector?
> Should they instead invest time and public money into solving simple product problems ... when that problem is well met by the private sector?
I think the answer is yes, and in my earlier post said I'd actually be happy to give more money for government projects that protect peoples' privacy better. For me the problem is not "well met by the private sector" because that solution imposes a hidden externality upon the public end-users. Part of the price we pay is leaking of our data to a non-national private company.
I'm not sure using Google Analytics qualifies as an "externality" but even if it does the UK government has proven time and time again it doesn't give a damn about anyone's privacy, so what makes you think any in-house version would be any better for privacy? Because it would certainly be worse from a technical standpoint.
> what makes you think any in-house version would be any better for privacy?
Well, it's a personal value judgement what is "better" of course, but for me being British, I see my government as having some legitimate interest in what I am doing, especially when transacting with them.
On the other hand, a gargantuan for-profit American corporation that enriches it's shareholders and was once run by Eric Schmidt, whose legendary face-palm gaffes buried "Don't be Evil" under a smoking heap of sulphurous brimstone....
No thanks!"We know where you are. We know where you’ve been. We can more or less know what you’re thinking about"My government may be a sneaky bunch of bastards, but so far they've had the good manners not to openly show utter contempt for privacy.
I’d say they are “your bunch of sneaky bastards”.
I’d rather have my government doing web analytics than some faceless corporation from across the globe.
Might be of course different for people in totalitarian regimes - but as far as I am concerned I still can vote on ones in my country.
Yes, we should. In fact, I believe every unit of governance of human society (read: nation) should be as independent as possible in every area necessary for its functioning. This means every nation should be completely independent in all of the technology it uses. This is obviously impossible. Not every nation even has the required raw resources, energy input or workforce. So no point in even trying. Luckily, all of this unfathomable monument and mess of concrete and asphalt and silicon which is called global human civilization has not even 50 years left to its total collapse. But oh, wait a minute, let me open the door... This must be your new FPV drone from China, son! Came fast, isn't it? It has only been one week...
French government websites use matomo if i m not mistaken
Makes sense, the French have a strong open source community and I believe the creator is French.
A lot of people use google analytics for no logical reason what soever though. Typical use case for a small to medium website seems to be a list of most visited pages.
That's a perfectly logical reason to use GA. As long as HTTP servers don't have a built-in UI for analytics, people will continue to use GA (with server side Measurement Protocol for counting hits from people with adblockers) for that use case.
GA and external CDNs require cookie banner/consent under GDPR (which is still valid in UK AFAIK). So that alone should be reason enough to avoid it.
But you can never be sure: very recently, I'm seeing (unnecessary) popups coming up informing me about the site not using cookies! To make up for the phantom pain of not having one in EU where "real" sites do have cookie dialogs? The web and its self-referential UI idioms have become a strange place indeed.
IDK if those are, in themselves, indicators. The idea is not purity. The idea is for technical common sense to win over sales/consultant-led architecture.
>(I worked at GDS until two years ago.)
If you could tell, why did you leave?
It's the HTML forms that are good and Angular, React and all that which are bad.
I wonder what technology they are using to wrangle these forms... I remember reading an article a few days ago concerning vuejs project to do something similar.
My form building library is used for all the form wrangling.
Why does that matter?
Singapore recently did a deal with a company no one has heard of for their immigration process and the results are cameras that don’t work to the point of the officials needing to manually adjust them, forms that don’t contain consistent data across pages, and my favorite “save a photo of the confirm just in case lah.” The old system just worked, the new system insists upon APPs.
> Singapore recently did a deal with a company no one has heard of for their immigration process
Source? I've lived in Singapore all my life and have not heard of this. There was an outage on the 31st of March[1], and parliamentary discussion after that[2] doesn't mention any of what you said.
[1]: https://www.channelnewsasia.com/singapore/changi-airport-ter...
[2]: https://www.mha.gov.sg/mediaroom/parliamentary/oral-reply-to...
“Recently” is admittedly subjective but I was just there (2 times in 3 weeks) and can confirm it’s a new system to 4 years ago when the foreign passes were all paper. I think it’s called Tacent. It was so bad a local woman couldn’t even get in and they had to have her wait in the foreign line. You can simply visit the existing immigration website, as it’s public, to view the inconsistent data-the same forms that are displayed on their iPads in the reception hall. This wasn’t an outage, just poor technology implementation.
>>simple authentication
This is my only gripe. Every time I do self assessment or complete my tax returns as a contractor I had to find some arcane combination of government gateway ID, password, authentication app etc etc. It's so secure it stops you paying the government money.
Entirely off-topic, but why do some comments on HN have manual line breaks but most just soft-wrap? On my phone (Hacki app) each line is soft-wrapped, then hard-wrapped after 1 or 2 words, which looks quite off
Half of the technologies you named are actually useful and it wouldn’t shock me if gov.uk uses them
I applied for a UK visa from South-Africa about a year ago. To start my application I had to submit a form on this domain. The navigation to the form was obscured by a giant banner about the Ukraine invasion and a message about how service levels might be reduced due to refugees... no matter how I resized my browser window I couldn't get to the part of the page behind the banner. Eventually I opened up the Dev Tools and added some CSS to hide the banner. The link was revealed and I could continue with my application
You passed the first test!
how else do you think they were planning on reducing service levels?
The flip side of this is local government technology. Truly some of the worst crimes against web development have been committed by local councils, or rather their outsourcing partners.
The service that takes that crown in my experience is tarantopermits.com, a parking permit management system that fills me with rage just thinking about it.
I often wonder why so many Local Authorities and Gov Departments have to have their own unique web portals?
There must be a massive cost-saving opportunity here.
Absolutely, there's massive duplication of functionality. I think it's partly incompetence and partly a control thing.
All a control thing, incompetence is just a side effect.
Well, they probably want to be able to update them as things change without waiting so many weeks on a ticket to central IT. I can't imagine they're doing anything unique though, so the best of both worlds could be central IT providing tools and managed hosting.
It takes the piss that you have to pay to park outside your own house anyway.
I mean, a nominal fee enough to correlate car registration with owners address, but not £210 like google told me it costs in Wandsworth. I bet about £10 of that goes to the council.
Why? Do you own that bit of road?
Are you sure:
"Welcome to tarantopermits.com"
"This domain name is parked for FREE by fasthosts.co.uk"
Yes, they're so incompetent they haven't changed their parking page. See google search results:
https://www.google.com/search?client=firefox-b-d&q=tarantope...
It's all on subdomains, e.g. https://wandsworth.tarantopermits.com
> This is how internet services should look like.
Yes, definitely.
I've called UX designers out a couple times on the aesthetical complexity of their designs: if you award GOV.UK's quality a prize [0], why don't you mimic them instead of Google?
[0] https://www.gov.uk/government/news/govuk-wins-design-of-the-...
The GOVUK deliberately bare branding serves a purpose similar to the old Tesco Value branding: to make it look austere. If it looked luxurious people would be more likely to complain about taxpayer's money being wasted.
Not really. They publish a lot of blogs explaining design decisions. It almost always comes down to making the services as accessible as possible.
Part of that involves really simple layouts, very high contrast text, legible fonts, compatibility across many devices, simple language etc.
It's certainly an added benefit that it gives an appearance of austerity, but that's more a byproduct of simplicity.
Companies need branding because they're trying to stand out from the crowd. To be distinctive and memorable, so you think of them and trust them when making buying decisions.
Governments generally don't have that requirement. So GDS doesn't need fancy branding and other concerns can take priority. It's remarkably refreshing.
It would have been so easy to just cargo-cult whatever is fashionable in the private sector. It's kinda miraculous they didn't. A mark of thoughtful, self-confident professionals. Bravo!
There was actually a lot of pushback against the austere aesthetic by government ministers - they wanted fancy looking photo banners and pretty things. This was pushed back on in the name of making something functional the prioritizes users.
I moved there from the US (and since then I've moved back). The main surprise was learning that working for the government is relatively high paying and considered a very nice and challenging job that great programmers coveted. At least that was my impression when a very good systems engineer workmate left my company to start working for gov.uk. I do wish there was a similar system in the US as I would find public service a rewarding field to work in in general.
As someone from the UK, with friends who work as programmers in both the public and private sectors, I'm not sure what you're saying is true. It's definitely not highly paying to work for the government, although "relatively" may be doing the heavy lifting in that sentence.
I'm going off what I was told when I expressed surprise that such a good engineer would go for government work. Looking online it looks like they pay about median for a software engineer in London. And yeah, relatively here is basically meaning I was surprised you didn't have to take a pay cut to work for the government.
Unfortunately this is not true at all (at least for the past decade or more). There are definitely some really high quality people working for GDS, but for the life of me I have no idea how they keep them. Civil Service salaries are extremely low compared to industry rates, and the perks (such as pensions) aren't nearly as good as they used to be.
I have a friend who is a civil servant (ONS). She would be the first to concede that salaries are low but there are other benefits that compensate. Working from home 3 days a week, generous time off in lieu for the odd extra hours worked and so on.
I should add she is late 50's and the prospect of finding work elsewhere in a comparable role would be very unlikely.
I bet the pension would help as well.
That's the same in Spain, the key is that public employees generally speaking can't be fired for performance reasons. That is the ultimate workplace in a country of 20%+ unemployment.
In the US government, take a look at https://www.usds.gov/apply and https://join.tts.gsa.gov/ — and there are many more opportunities emerging as the USG gets better at all of this.
More generally for federal and state/local government opportunities to use your technology expertise to make a difference, these folks are excellent: https://techtalentproject.org/tech-talent/
The problem with working in the government/nonprofit sphere is that you will always be treated as second fiddle/grunt work to the real movers and shakers.
I mean just look at the breakdown of who runs that “tech talent project” to see what I mean. In the industry, ideally, decisions are being made and executed by other technical people. It’s part of what has made Silicon Valley so uber successful.
This is definitely not true. Developers are better off in the private sector and I've never heard of any developer regard working for the government as coveted or prestigious.
When I retire I want to go work for the GDS
> The main surprise was learning that working for the government is relatively high paying
It's middle of the tree at best. I'm sure you can find people for whom it's well paying, but the recruiters from UK gov departments that regularly contact me keep trying to sell me on the benefits of jobs where the upper salary band is less than half of what I earn.
I would say that this is true for the breed of programmers that like to help other people, who I respect over anyone who goes for higher paying work. Gov.uk has some real stars associated with it
>This is how internet services should look like.
Thankfully I've noticed more sites copying gov.uk, very few but still positive.
The design, look and feel is great. Authenticating / proving your identity on the other hand is lacking: https://www.gov.uk/using-your-gov-uk-one-login/proving-your-...
Meanwhile, at least in some EU countries, you can authenticate using your identity card and USB smartcard reader.
Proving your id: passport or ID card, 'new' driving license, domestic bill. There's a lot of ex-pats don't have the last two. Repeatedly being told to log in to the site is a pain if its impossible. Extremely well designed, though.
It can be done without an ID card and card reader too. BankID is what we use in Norway.
I’m guessing that’s similar to what we have in Canada - which is essentially sign on through a banking provider? A couple provinces have their own sign on system with their services card now too - BC included.
Or identity card and your phone as an NFC reader
Australia's somewhat similar too. I wouldn't call our government services optimal nor "simple", but it's clear they're all operating on the same design principles. At the very least it inspires confidence that they're operating on roughly the same guidelines at federal and state levels.
My first disappoint in the UK was the DVLA where I was sent to the older form.
If you stay around long enough you'll accumulate a few different log-in id's and find yourself redirected to legacy pages with no way of finding your way back.
The GOV.uk team loves moving things forward and leaving an awful lot of guff behind.
Well in my country they love changing URLs so there is no continuity at all. Any link from a year ago is 99% guaranteed to be 404.
There is so much to be said for KISS, especially when you have to do an interface for "everyone" and not just a bunch of tech-savvy STEM people
When I was living in the UK I thought so to, but when I moved to another country (Poland) I realised 3 huge shortcoming of the UK's online gov system (perhaps they fixed it by now, I moved 6 years ago). These were: a unified way to authenticate oneself to all gov services, a way to sign electronic forms/documents in a legally binding way without having to buy a personal certificate and a establishing a standard "document submission receipt" that proves what and when you submitted.
I'll start why this really matters from the last item. Even after my move I kept my UK company for a while, I was making regular electronic VAT submissions until sometime in July 2021 I decided to deregister my company's VAT. I did that via HMRC's online form. In December I logged in to check to find out that any record of me doing that evaporated, and now I had an "estimated" VAT bill of around £5k. I submitted a zero return for the previous quarter I should've been deregister in and after I rang HMRC and 2 weeks later the balance "I owed" dropped to zero. I deregistered again and this time "it worked". However, I had no way whatsoever to prove I indeed deregistered before. The person I spoke to on the phone that day decided my story believable so I didn't get any fines. What if they had a worse day? Ability to reliably prove you submitted government documents when you say you did is extremely important. In the country I now live in(Poland) you get a cryptographically signed XML document you can use as proof. You get one from any level of government you submit stuff to online (taxes, local councils anything). There is an online service you can check the validity of such signature and the content is all readable with a text editor.
Then a way to electronically sign documents that is equivalent to your in person signature legally without any special equipment or software for free. And a way to authenticate oneself to government services(including national healthcare) Here any citizen (or a foreigner that registers) can do so with one "thing". There are few ways to authenticate, an app, an online bank account (all banks in the country support it), a national id with a nfc chip and a pin, or you go to a local council in person and they create an account for you with a usename/password +2FA(sms,or auth app). You can sign any document using an online service, there is a history of stuff you signed you can check and you have a "mailbox" you can use to receive documents instead of the post.
The system is mostly XML based and it uses ssl for signatures. I have no idea what they use in the backend (probably lots of java). One can also purchase certificates to use as a signature like in other EU countries. The government sites look reasonably modern with dynamic forms, but they deteriorate gracefully if all you want is to read them, but good luck getting forms to work without JS.
Personally I think they did a pretty good job with this system.
The digital signature thing is an extension of the overall document culture prevalent at least in Germany and Eastern Europe (or maybe continental Europe overall?).
From what I saw, their legal and bureaucratic systems are geared to try to authenticate everything via physical means, be it signatures (that are supposed to be unique and not just an expression of intent), wet stamps, or (recently) digital signatures. On the contrary, UK works on trust and its legal systems, so you can (theoretically) sign a large money contract with a cross on a napkin, you can open a bank account with a letter from a "a person of good standing in their community" without ever holding a government issued ID, and you can sign contracts with a simple checkbox.
I really enjoy the latter. It's a bit messier, but also feels more humane.
one of the many good measures of the company and country is their design system implementation.
love u gov.uk.
The GOV.UK Design System team [1] is really doing great work. Wish there would be more like this from other governments.
[1] https://design-system.service.gov.uk/design-system-team/
Edit: Apparently there are a lot! Really nice to see.
France launched a similar program and publish everything they can on Github
See https://www.systeme-de-design.gouv.fr/ and https://github.com/GouvernementFR/dsfr
I find it really funny that it's published on GitHub with the MIT license, but with a disclaimer it's illegal to use it outside of government websites.
It's great that it's publicly available, like many other public stuff the French Government is doing like https://beta.gouv.fr/ or the tax calculators, but it's still funny.
The conditions in the disclaimer only apply to the French government. Translated with Firefox (which apparently still makes some typos):
> Conditions for the use of the Components by the Other Users
> All Other Users are allowed to use the source code according to the terms of the MIT license.
> Other Users are expressly reminded that any use of the Components outside the limits referred to herein or for the purpose of diverting them and otherwise appropriateing the State Mark is punishable by civil and/or criminal sanctions.
> Prohibited Use Outside Government Websites
It explicitly states it's forbidden to be used by private actors.
Oh, right, on the readme! That's so weird, because it kinda contradicts the "general conditions for use" document. I guess they mean the source code is ok to use but you must alter the design first? The UK's doesn't have such a dumb limitation.
Makes sense to me: MIT doesn't give a trademark / design mark license.
That seems unenforcable under a MIT license? Especially outside of France.
Governments can write laws to do whatever they like... And they have police to enforce stuff however they like.
How can French police enforce things outside of France?
Extradition, cooperation with other EU nations...
Or they just blow up your boat. https://en.wikipedia.org/wiki/Sinking_of_the_Rainbow_Warrior
The same way anyone enforces things outside of their borders, through force.
Thanks so much for this! I’m the design system lead and this has made the team very happy.
> Wish there would be more like this from other governments.
There is:
Argentina - https://argob.github.io/poncho/
Australia - https://gold.designsystemau.org/
Canada - https://design.gccollab.ca/
Czech Republic - https://designsystem.gov.cz/#/
Estonia - https://brand.estonia.ee/?lang=en
Flanders - https://www.vlaanderen.be/digitaal-vlaanderen/onze-oplossing...
France - https://www.systeme-de-design.gouv.fr/
Germany - https://styleguide.bundesregierung.de/sg-de/
Greece - https://guide.services.gov.gr/
Italy - https://developers.italia.it/en/designers/
Netherlands - https://www.digitaleoverheid.nl/achtergrondartikelen/het-nl-...
New Zealand - https://www.digital.govt.nz/standards-and-guidance/design-an...
Singapore - https://www.designsystem.tech.gov.sg/
Switserland - https://swiss.github.io/styleguide/en/
United States - https://designsystem.digital.gov/
Ukraine - https://diia-en.fedoriv.com/
Thank you for this, but I guess it's out of date, for Canada at least it's now https://articles.alpha.canada.ca/forms-formulaires/
It went from DIY open source to something more like the UK's model; in fact Canada is running with a number of UK-origin projects & ideas, like Notify, which is of course a good thing, we should all learn from each other's best practices and innovations.
Fedoriv work for Ukraine is unmatched!
Honestly, the people behind the scenes of gov uk are doing gods work. See nothing but great stuff coming out of there.
I fully agree.
Two of my favourites:
Holiday API I plug into every ecommerce site I work on:
https://www.api.gov.uk/gds/bank-holidays/#bank-holidays
Domain Email Security checker:
https://emailsecuritycheck.service.ncsc.gov.uk/check
Please share any other favourites!
The fact that the UK government's bank holiday API has bunting advice just makes my day.
Where did you find this? Is it part of the API response?
Would be fun to use this for some digital decor at home.
Next bank holiday is Christmas so I've got some time to build something!
EDIT: Just found it in the JSON; shame, was hoping it would contain bunting patterns/colours.
If you go off this issue it looks like they use tinsel at Christmas, although I'm not sure where that logic is.
I'd be interested in taking a look to see if they use different bunting styles for different occasions, my thought process was that I could create some form of digital-bunting in my home to indicate various occasions.
As a(n) (English) Brit, I believe this could be quite an excellent indicator of whether I should be drinking Guiness, Tea, Whisky, Pimms, Champagne or Mulled Wine at any given time of the year. I suppose it should live in the Kitchen, near the kettle, or the wine cooler.
It looks like that's only false for Good Friday, which I suppose makes sense that as a Christian you don't "celebrate" the execution of Jesus.
Indeed, there are others such as the queen's funeral. Bunting is reserved for celebrations.
I love that the bank holiday one tells you whether or not bunting is appropriate on that day. It looks like the ones for which it isn't are ones commemorating death, like the state funeral of Elizabeth II and Good Friday (Crucifixion of Jesus).
Yes: a plain JSON endpoint with no authentication! It's the perfect way of exposing this kind of data.
I wonder how the backend works... Is it a microservice which queries over a globally distributed 'bank holidays' database, which has a frontend for some admin to add/remove bank holidays, and perhaps a custom approval workflow to approve/deny bank holidays, and maybe a system to make new bank holidays 'go live' on a certain date/time?
Or is it just a static file someone wrote in vim and checked into git which got hosted as a static asset?
It's a static file manually written (and slightly post processed).
DVLA VES. Never miss a car tax payment or MOT again.
https://developer-portal.driver-vehicle-licensing.api.gov.uk...
Have been impressed with their work for years, the majority of my governments other IT bits are awful.
100%. Well maybe 99%. The tax free childcare website is very frustrating.
It seems to be taking a while for the framework to propagate to more independent arms of the government; as well as your example, for the (e.g.) DVLA a lot of the top level information-only pages are in the new framework (and also reside on www.gov.uk), but if you click any link to a form you get taken to the DVLA subdomain (motoring.dvla.gov.uk) and the difference is stark.
For the DVLA the site isn't so bad, but I definitely get that slightly disconcerted feeling that something is going to go wrong while you're filling out this important, official form? Which I don't get at all in the new framework.
It's not actually the interface that's the problem. It's the flow.
* you have to answer dumb security questions constantly
* you pay money in (a lot of money) by direct bank transfer with a long reference code. If you get it wrong I imagine the money is just gone. Not very reliable.
* you have to "set up a new payment" every single month because it's designed under the assumption that your bill is identical every month and it never is
Actually there is one really annoying interface thing - when you set up a one-off payment it suggests a date that is one month from now, instead of one day from now which is what you want. All it needs is a "tomorrow" button. I've missed payments several times because of this.
Oh and it tells you you can't set up a payment for today after you've submitted everything instead of on the date selector.
> the people behind the scenes of gov uk
Those would be the people commonly refered to as incompetent traitorous woke lefty cultural marxists refusing to do the will of the people by the fair and balanced media.
That sounds like the UK media alright. If you take one look at a newspaper stand on any day of the week you’d think the sky was falling.
Just adding to the chorus here: I moved from the US to the UK and like any immigrant anywhere I had to fill out a lot of forms. Especially during covid, there was seemingly always a new form to fill. The Gov.uk forms are literally the most straightforward and usable internet forms I've ever used. As close to perfect as you can get.
I was surprised to see a gov.uk page on progressive enhancement and their thoughts on it (https://www.gov.uk/service-manual/technology/using-progressi...). I asked on HN yesterday if PE was dead and everyone seems to think it's dead, and yet gov.uk gets lots of love.
Maybe it's not dead :)
Please refrain from talking in absolutes, when you got 3 comments on your question yesterday.
Progressive enhancement is nice, and user friendly, and better UX overall. But when you get started with modern frontend stacks nowadays it's out of the question. Whereas, I and others like me, that use a classical backend framework that spits out HTML might do a better job (but not always, due to time and budget).
I've never heard this being called progressive enhancement before. I always thought it was just the obvious proper way to do things, but that people don't do it out of laziness. It's nice to know there is a name I can use to refer to it.
I used to design sites like this explicitly in the mid-00s. I would explicitly test with no js and no CSS. I still aim to do it to this day, but it's hard to get others to do it when most web devs are happy to throw shit at a wall and see what sticks.
If anybody wants to try figure out how to run this...
Docker images: https://github.com/notpushkin?tab=packages&tab=packages&q=go...
Simple stub for the signon service (likely needs further modification): https://gitlab.com/notpushkin/stupidauth/container_registry
And the Docker Compose stack: https://gist.github.com/notpushkin/f174b52efc6285e6be30fb66b... (works with https://lunni.dev/ or Docker Swarm + Traefik)
If you do manage to run it please ping me, I'm also interested in trying it out!
—
Edit: discusson on GitHub: https://github.com/alphagov/forms/discussions/106
I wish all websites were as good as GOV.UK's, they should be taught in schools, colleges and computer science / web courses as the gold standard in web design.
No frills or silly scroll jacking animations plus javascript hogging contraptions that we see in almost all websites these days.
This gives me hope.
> No frills or silly scroll jacking animations plus javascript hogging contraptions that we see in almost all websites these days.
Still the cookie warnings though :-( I've just visited on my phone the forms page linked in the title, and the first thing that greeted me was a full-screen page-blocking dialog with some cookie nonsense. You can't interact with the contents of the page until you decide how you feel about cookies.
It's a legal requirement
But the size and intrusiveness of the notification are not.
At least it doesn't reload the page or have a stupid spinner when you click accept.
Legal requirement in the UK. No way around it.
Only if you store non-essential cookies, as explained by the team themselves:
> You can choose not to have a cookie banner if the service only sets essential or ‘strictly necessary’ cookies, as these do not need user consent.
> However, you must tell users that you set essential cookies. You can do this with a cookies page — link to this page in the footer.
https://design-system.service.gov.uk/components/cookie-banne...
I would have hoped the government would be able to design a system that works only on "technical necessity" cookies and not anything more elaborate with regards to PII.
The pop-up allows you to switch off certain functionality (statistics cookies). If that functionality wasn't there in the first place, the pop-up would not be needed.
Don't shoot the messenger.
Even if you don't actually track users?
> We use Google Analytics to measure how you use the website so we can improve it based on user needs. Google Analytics sets cookies that store anonymised information about how you got to the site, the blog pages you visit, how long you spend on each page and what you click on while you're visiting the site.
Why would they not track users? They need to know how many users there are accessing from abroad (considering this is the UK which has many legitimate "abroads" like crown dependencies outside of the classic British citizens living outside of Britain), using what browsers and OSes, display sizes to know what they need to support. It would also be useful to know how much time users spend on the various pages, to know if some forms are super complex to fill out or what not.
Sure, but why use google analytics? There are better trackers for this kind of thing that don't need cookies and can be self-hosted.
Could you recommend some alternatives to Google Analytics? I am developing a plugin for Photoshop using UXP, and I have been unable to integrate it with GA.
Plausible seems like a fine choice for simple cases. It is oriented at websites, but you can send events directly to the API: https://plausible.io/docs/events-api
It is self-hostable, too. https://github.com/plausible/hosting
We use Matomo and have been fairly happy with it.
conent-o-matic works there
One niggle I have is the departments’ over-use of forms (from my perspective) in employing the ‘landing page’ pattern.
E.g. if you search ‘DVLA vehicle information’, you will land on this page https://www.gov.uk/get-vehicle-information-from-dvla and you have to click ‘Start Now’ to get the page you actually wanted. The same is for logging in to HMRC Personal Tax
I’d like the actual form I want on the same page
I can understand that, but I think it's very subjective. For example, it's an opportunity to explain what the form is, and give any other information (do you need the form? do you need something else?) before the option of, if you're in the right place, click here to begin.
I think ultimately, it works quite well.
I do see it from both sides, definitely. It’s just as a frequent user, it gets in the way. Once you understand what the form does, you don’t really need to be told every time.
Can't you just bookmark the form itself? The example you linked seems to be a normal link to the form, I don't think it's posting anything?
Oh totally, that's a great suggestion. Though with ever-more pages conforming to this pattern, I don't want to have to bookmark them all - that's what a search engine is for.
I think it's still a valid discussion about first-time users vs frequent users etc and how much blurb you should show them each time. But they've probably already done the research on this and decided on it for a very specific set of reasons
This is actually an explicit decision, designed to maintain consistency of the user experience across GOV.UK services in terms of information architecture and content design. It's not something that departments choose to do (or not), and is codified in the GOV.UK Service Manual: https://www.gov.uk/service-manual/technology/get-a-domain-na...
This is so that search can work, they index service start pages so they have results for services that are hosted on other domains. There is also something about having a consistance UX, at least to the point of handoff to the service (which might not have been updated yet). The start pages also provide the user with guidance were say the service might be only avalible at certain times, or if you need documentation ready before you use it.
The fact the forms load so fast makes this less of a problem.
If the form took 10 seconds to load after clicking 'start now', I'd be more frustrated.
Definitely mitigates it. For me though it’s still an annoyance
Coming from Japan which is notorious for having the worst digital experience, the UK's gov.uk ecosystem is incredible
Japan is so terrible because every service does it’s own thing. The absolute best I’ve seen was the national census, which seems to actually have a website not designed before the year 2000.
But it’s still inconsistent with all other government services.
Really proud of what the gov.uk team are doing. Everything is clean, accessible, and predictable across the many different systems. A massive success I think.
If you want to peek behind the curtain, "Digital Transformation at Scale: Why the Strategy Is Delivery" by Andrew Greenway et al [1] is full of advice and background on what it takes to launch and operate something like GDS.
Something that fascinated me: how they were planning the departure of GDS leadership years in advance. GDS had to push changes through, which means making enemies, which means eventually being squeezed out. So they just assumed that will happen and adjusted organisational structures, making sure there will be new leaders in place. Just incredible level of professionalism.
[1]: https://www.amazon.co.uk/Digital-Transformation-Scale-Strate...
if only this short "manual on how to make maintainable-software" below was a) studied and b) followed ... the software-world would be much-much better place. (and Avoiding the several-years-learning-500-pages-books-by-heart.. without ever understanding why those are what they are)
I would like a sharing session from the team behind. Would be awesome hear the thought process, their pain experience etc.
> We know this is not going to cover all routing needs though - in the future, we’d like to look at building branching (two separate sets of questions depending on the answer), and later down the line we might be able to expand our routing so you can add routes to more than one answer, and also routes based on a combination of answers.
I'm very interested how they build a UI for branching. Communicating branching conditions visually and clearly without just handing the user a programming language is a hard problem.
I wonder if they have given any thought to the possibility that if you’ve standardized forms, you could also expose all those services as APIs?
This is good news, but aren't well-phrased questions a strong suit of Gov.uk forms? Other government departments might not be familiar with proper guidelines for form creation. Has this issue been approached? (curious, as I'm not British)
I'm British. I have no insider information about what the Government Digital Service do about other departments' use of their toolkit, but just as a citizen, I can tell you that the difference between the GDS sites and external ones is extremely stark.
The passport application form[1], for instance, is smooth and well-designed, and the questions are well-written - a good example of the Government Digital Service's excellent design and solid implementation. Perhaps the only downside is the rather disconcerting photograph evaluation tool that suggested to me that my photograph was 'invalid' due to being 'in black-and-white', somehow missing my blue chequered shirt. The whole of the Gov.UK site loads very quickly for me, which is an additional benefit of the focus on accessibility. You can 'view source' on your Web browser and see the very comprehensive metadata, both as JSON-LD and traditional <meta> tags.
The 'Universal Credit service'[2] (the recent social welfare system), however, was seemingly not developed by the Government Digital Service, and it shows! It is still marked as 'Beta' years after release, uses a shockingly insecure authentication for sensitive personal data, and has a video conferencing system that can't show video. To top it all off, they very politely request feedback... but provide no feedback form.
I think that illustrates well how easy it is for an excellent toolkit to be abused in the hands of the incompetent or the underfunded, not that the latter is likely to apply in this case[3]! I hope this provides some context related to your question.
[1]: https://www.gov.uk/apply-renew-passport
[2]: https://www.universal-credit.service.gov.uk/sign-in
[3]: https://en.wikipedia.org/wiki/Universal_Credit#Implementatio...
This is the double edged sword of making a standardized toolset like this available.
It’s now easier than ever to make a government form!
And, even when a process might be better delivered via a different mechanism… a form becomes a low friction way to do it.
And a bad form might be worse than no form.
Their forms are excellent, I completed my British citizenship effortlessly, all online.
My condolences
Haha it is not that bad, South Africa is not doing that well either.
This looks great :-) However reading the How it works section, it states:
"Each form needs an email address to be set for completed forms to be sent to when they’re submitted"
So... erm is an email Inbox needed for integration? - how very 1990!
In addition to email, for use by developers in other UK GOV departments - surely HTTP PUT of an XML or JSON document to a user nominated URL (with provided auth token) would have been trivial to achieve?
It looks like this service is intended to replace the kind of random "notify us of a missing manhole cover" type forms that are found in their thousands on government websites. For those types of applications, emailing the form to a relevant mailbox is probably the correct thing to do, and in many cases it's the way the existing forms already work. Only a small fraction of government services will have their own custom backend application supporting them.
I get the sentiment, but an email is just a standardised queue. What were you going to do after the HTTP PUT? My guess is it onto a queue.
It's a standardized queue with a lot of features too...
You can set up filters and forwarding rules. It doesn't require a programmer or special knowledge to do so.
The queue can be viewed by one or many humans.
Messages don't have to be dealt with in-order.
read/unread state, stars, labels, drafts all allow construction of advanced workflows with no specialist knowledge.
Sure, all these things can be done better with special software, but there is a massive benefit to something that all your existing untrained and probably-not-well-paid employees can set up themselves.
As far as I know, the audience for gov.uk forms is teams that have no developers. So for that audience, email is very much the right approach.
Often the thing you are replacing is 'fill in this pdf and email to this inbox', so it allows people to improve things for external users without changing their workflow.
Old school HTML Forms don't require an active backend. They can be a purely static site.
> surely HTTP PUT of an XML or JSON document to a user nominated URL
This is the bit that's more tricky than a static site. And then you need to do something with the data.
The main intent here is for non-technical folks to be able to replace the tens of thousands of low volume PDF forms, not for technical ones to use it while building actual services.
You can optionally pass an onSubmit function that will return the fax number that the form should be submitted to after printing.
it is really cool but at the same time I can not stop smiling when the governement is telling you of about the best practices how to use web technologies, it is just funny
I have to admit, as a Spaniard that moved 7 years ago to the UK, that the government related sites are an absolute pleasure to work with. Taxes, information of any kind etc everything clear and straightforward. I take my hat off.
PS: Does anyone know the stack they use?
Even the NHS website is so clean and accessible. I think every EU country should just adopt their format.
gov.uk manages some of the content using Whitehall which looks like a custom CMS using Ruby on Rails https://github.com/alphagov/whitehall
nhs.uk is built using Wagtail, a Django based CMS.
I had to fill out a companies legal questionnaires and forms. The company had pinched the gov.uk format. It was such a relief to find a company using something familiar and well thought out instead of some fancy survey form or email.
I wish my country invested more into IT, most of the sites are outright broken or even lying to you - saying there are no available appointments online, but if you call up, you can book for next day even.
seems to be mostly open source too https://github.com/alphagov/forms/wiki
On the surface looks like a great example of inner sourcing.
It's actually full open source (MIT licence): https://github.com/alphagov/
This is fantastic to see and should hopefully reduce the cost massively for building out, what is effectively forms, for other government services!
Gov.uk is probably the greatest thing our government has achieved for quite a while.
That's not hyperbole.
This is basically a govt created turbo tax tool but for every govt form ever.. nice.
Germany is far away from something like this
Its a great example of how to use design systems