
NHS.UK frontend - DanBC
https://github.com/nhsuk/nhsuk-frontend
======
tomelders
This project has obviously been carefully planned out, well defined ahead of
time, and overseen with a militant eye for detail and style. That has lead to
a neat, tidy, and immediately accessible code base that delivers what look
like rock solid UI components.

Compare and contrast that to every private sector project I've worked on (for
global household names none the less) and this sort of thoughtfulness and
consideration simply is not compatible with the business objectives, and as
such is the first thing to get the chop, leading to code bases that grow
increasingly incoherent over time and deliver flakey solutions at best.

The next time anyone tries to sell me on the notion that the public sector
can't do anything as well as the private sector, this is what I'll point them
to. They wont understand what they're looking at of course, but that won't
make them any less wrong.

~~~
ng12
Not to be curmudgeonly but this is exactly what I would expect from public
sector.

\- Odd technology choices. It took me a long time to figure out what .njk
files were.

\- Misapplication of popular technologies. They're using webpack for...
something? But most of the actual bundling is done by hand with gulp, and a
lot of the JavaScript is operating in the global scope.

\- Overselling. It's just a bunch of scss with some mostly-HTML components.

~~~
chickenfries
Would this be more impressive to you if it were React or Angular? Your users
don’t care that it’s Nunjucks or Sass. Nunjucks and Sass are perfectly fine.

~~~
ribs
But obviously the users are not the only or even major constituency here.
These are UI components to be used by other developers and (like all software)
to be modified down the road to satisfy new and changed requirements.
Technology choices matters greatly.

~~~
chickenfries
The NHS is probably concerned with stability, accessibility and performance.
Also I would like you to please explain why sass and Nunjucks are not good for
“satisfying changed requirements”

Edit:

Also, are you serious that GDS should consider front end developers their
constituents and not their users?

------
bfirsh
For background, this is done by NHS digital:
[https://digital.nhs.uk](https://digital.nhs.uk)

They are a cultural descendant of GDS, who make GOV.UK amongst other things:
[https://gds.blog.gov.uk/about/](https://gds.blog.gov.uk/about/)

All of GOV.UK is open source in a similar way:
[https://github.com/alphagov](https://github.com/alphagov)

(Source: I worked for GDS.)

~~~
IshKebab
What is it about GDS that lets them do IT well? Most government IT projects
end up complete disasters - the digitisation of the NHS and the fire service
"firecontrol" scheme were two recent really insanely expensive projects that
ended in utter failure. That seems to be the norm. What do you think makes GDS
different?

~~~
jjeaff
I think most government projects are contracted out to huge bloated dinosaur
companies with crony connections and more people on staff that know how to
navigate government purchasing buerocracy than know how to code.

In the US we also have a new in house team of coders, led, I believe by
xoogler Matt Cutts that has been doing an excellent job as far as I have
heard.

I think the key here is that outsourcing your tech is rarely superior to
highering talent in house.

~~~
user5994461
Having been on the receiving end while working at a contracting company, I
wouldn't say that.

The process seemed fairly open. The government send requests for proposals and
contracting companies can bid. There is no trick involved. I found the
requirements to be surprisingly well written on a few I had to read.

------
bovine3dom
This is only tangentially related, but I'd just like to thank the NHS for
their excellent news site [1] which soberly reviews health related news, and
is outsourced to part of the Economist Group.

They could certainly do with improving its accessibility, though. I wish there
was some way to subscribe to it. I have to use a third party service to create
an RSS feed from it.

[1] [https://www.nhs.uk/news/](https://www.nhs.uk/news/)

~~~
arctangent
I'm the tech lead for the NHS website (www.nhs.uk) and I oversee the team who
are building this frontend library.

I will pass on your comments about RSS to our architect (who gets to decide
these things).

We do syndicate all of our content via a service which requires registration.
Maybe you could try this as a workaround?

[https://developer.api.nhs.uk/](https://developer.api.nhs.uk/)

~~~
bovine3dom
Ah, thank you. RSS would be great for me (and that API looks really neat!),
but I meant more generally - perhaps for people who don't browse HN.

The content on Behind the Headlines is fantastic, but the page seems a bit
unloved. If I search for "health news" on Google it doesn't appear at all (I
checked the first 7 pages of results). The SEO for the individual articles is
admittedly much better. I think I personally found the page by accident when I
was looking for some news about the NHS.

So, I'm not sure what I'd recommend (other than perhaps an email newsletter
for the less technically-inclined). It seems like you have a real diamond in
the rough there with great content which is let down by presentation.

------
hadrien01
Parliament.uk beta , this NHS beta design, GOV.WALES beta, etc. all look like
GOV.UK. Are they related in any way (same developers?), or did they just
thought 'hey the main gov website looks great and is open-source, let's do the
same'?

~~~
aasasd
I remember that there are guidelines for development of government websites,
also on Github—concerning accessibility stuff and, I think, readymade client-
side resources. Only I'm not sure if that was the UK government.

That was published pretty long ago, like a year or two.

~~~
arctangent
I'm the tech lead for the NHS website (www.nhs.uk) and I oversee the team who
are building this frontend library.

NHS Digital are working on a "Standards Library" encompassing how to go about
building healthcare websites and services (as opposed to generic government
services) which encompasses not only the design of a website but also the
whole lifecycle of the service.

We still have work to do, but I think 2019 will see the release and adoption
of our ideas across the UK!

------
johnjonesyc
Why oh Why do not they care about security ?

Website scores an F for Fail on mozilla's

[https://observatory.mozilla.org/analyze/www.nhs.uk](https://observatory.mozilla.org/analyze/www.nhs.uk)

hosting platform is not secure :

[https://internet.nl/site/www.nhs.uk/431794/](https://internet.nl/site/www.nhs.uk/431794/)

email is not secure :

[https://internet.nl/mail/nhs.uk/179122/](https://internet.nl/mail/nhs.uk/179122/)

Please fix this and not let it drop into bureaucracy

------
cocochanel
Dead link when I click on the logo at [https://nhsuk.github.io/nhsuk-
frontend/](https://nhsuk.github.io/nhsuk-frontend/) \- Please fix.

------
linkmotif
Big ups to these people and this institution! This is so cool.

------
SlowRobotAhead
Out of the loop. What is this?

Front end template for allowing people or doctors or someone to use NHS
backend?

~~~
wuliwong
>NHS.UK frontend contains the code you need to start building user interfaces
for NHS websites and services.

~~~
SlowRobotAhead
Yes. I read that. But as an American who doesn’t fully understand NHS... what
is this?

Why are people making NHS Websites? That’s the part I don’t get, who is using
this code and for what? Isn’t NHS a government run service and they run their
own websites?

~~~
AngusH
The NHS isn't really a single body (1), it's perhaps easier to think of it
like the US army in terms of structure rather than a single organisation.

There is a central organisation that sets overall directions and can give
orders. But then there are lots of other organisations that are within it or
attached in some way or even privately owned groups that operate in
association with it.

Each group usually creates its own web sites and the central organisation
doesn't usually interfere unless something is wrong.

The following is AFAIK correct, but it's my personal experience, and I'm not
claiming to be an expert on the NHS!

As a simplified example, I am covered by the NHS. In my case NHS Scotland,
which is separate from the similar system in England or others in Wales and
Northern Ireland.

I am registered with the local NHS GP surgery which puts me on the system and
provides most non-emergency access to care.

That GP's surgery is (probably) a private partnership of doctors who own the
building and employ themselves and the other staff (nurses, admin, etc).

They get paid by the NHS system as a whole to provide me healthcare, but are
not direct government employees.

I actually picked this GP's practice over several others, each of which have
their own websites, because its website showed that it was open to new
patients and because they offered open clinic times that matched my
requirements.

On the other hand, the local hospital is owned (2) by the regional NHS
hospital group as a government owned facility which employs the staff there as
direct NHS/government employees. Except in emergency, I would go to my GP
first, then be referred to the hospital.

However this is a separate organisation from the regional hospital group that
operates hospitals in the next major city.

(1) NHS structure and funding:
[https://www.kingsfund.org.uk/sites/default/files/2017-10/NHS...](https://www.kingsfund.org.uk/sites/default/files/2017-10/NHS_structure_2017.pdf)

(2) Though see
[https://en.wikipedia.org/wiki/Private_finance_initiative](https://en.wikipedia.org/wiki/Private_finance_initiative)
for a more complicated explanation

~~~
arctangent
I'm the tech lead for the NHS website (www.nhs.uk) and I oversee the team who
are building this frontend library.

Your comment is a good explanation of how things work.

My employer, NHS Digital, is working on this frontend library as a way to
spread good practice throughout the federated health and care system you
describe.

In short, we spend money doing the research on how best to provide information
to users/patients and then we promote the uptake of the technology we develop
to best satisfy them - with the overall goal of improving self-care and
reducing the need for costly GP appointments and hospital visits.

------
ttty
jQuery, gulp... Makes me sad and probably I won't use this. But their UX is
good.

~~~
arctangent
I'm the tech lead for the NHS website (www.nhs.uk) and I oversee the team who
are building this frontend library.

I'll be making sure we remove our jQuery dependency when I can. For now the
team is simply aiming to get to an MVP that we can iterate on :-)

------
entelechy
Nicely written codebase but I can't get past the fact that they use JQuery...

~~~
arctangent
I'm the tech lead for the NHS website (www.nhs.uk) and I oversee the team who
are building this frontend library.

I'll be making sure we remove our jQuery dependency when I can. For now the
team is simply aiming to get to an MVP that we can iterate on :-)

~~~
tejinderss
What does the backend stack consist of?

~~~
arctangent
This is a very difficult question to answer comprehensively because our
"website" does a lot more than just present information to people! Most of the
content you can see on www.nhs.uk is Python/Django/Wagtail plus a whole heap
of infrastructure. But there are aspects of our service written in C# or JS
for example.

------
the_other_guy
I can't believe how this made it to the top of the HN homepage.

