Prioritizing users in a crisis
Creating a fast and accessible pandemic response site
https://covid19.ca.gov
Accessibility is legally required for good reasons
Some alpha.CA.Gov design principles
- Start with user needs
- Iterate — then iterate again
- Make it accessible and inclusive
- Make things open: It makes things better
- Optimize performance
Alpha team formed 12/2019
Built 17 new services on alpha.ca.gov


Stood up V1 covid19.ca.gov in 4 days



Still iterating
Immediate traffic spikes

Ongoing need

Fast, accessible, readable
- Loads in 2 seconds on 3G with a Moto G4
- Grade 9 or lower Automated Readability Index
- Lighthouse Performance, Accessibility scores: 100

Human Translations

Open source
static site generator

Static Site generation in practice
- Reliable
- Scales smoothly
- Lower cloud costs
- Less infrastructure to manage
- You can use them without sacrificing anything
- We retain the convenience of WordPress by using it headlessly for authoring, regenerating the static artifact each update
- We use web components and FAAS APIs for realtime interactive widgets
The 11ty community

Fast on my machine
Why so dramatic about performance?
Performance is an equity issue
- Data transfer costs people money
- Devices with less capable CPUs take a lot longer to parse javascript even after it is downloaded so some users are staring at a white screen forever waiting for your single page app to work
- > 9% of Californians are accessing the internet on 3G
- Unlimited data plans throttle users at bandwidth caps
- Conditions vary for everybody, I used to commute on BART and parts of that journey I really appreciated sites that made an effort to be fast
Performance is good for the bottom line
- Speed is a search ranking factor
- Speed increases user satisfaction
- Speed impacts conversion levels
Solutions
- Bake performance, a11y and readability into your processes so you are aware of tradeoffs
- Make temporary compromises when necessary but treat them as bugs
- Challenge your team to increase lighthouse scores. Putting up points is fun!
- Run audits on code changes
- Set performance budgets in your build tools
- Run audits regularly against production
- Keep measurement history for review
Tools
YES!
There is a conspiracy to make your site slow
Forces at work
- The constant need for more features immediately
- Surveillance
- You can recreate a user session video by watching every cursor move and keypress in javascript. These things are costly, use them sparingly if they are helpful.
- Careless install instructions
- Does this large script really need to be added in a render blocking manner?
- The developers
- Yes, I am part of the problem too, always trying to find a way to fit in some cool 3D dataviz
Don't slow down
- Know your audience
- Keep measuring and raise your team's awareness of the results
- Cover the basics then do dope stuff
Readability
- Reduce cognitive load
- Increase effectiveness
- Include all literacy levels
Tools
- hemingwayapp.com: realtime hints
- npm: unfluff & readability-scores
Experiment warning

We're hiring
More info
- Github: http://github.com/cagov
- The CA.Gov Alpha team: @cadotgov
- Aaron Hans: @nopatternaaron
- https://news.alpha.ca.gov/prioritizing-users-in-a-crisis-building-covid19-ca-gov/
Prioritizing users in a crisis
By Aaron Hans
Prioritizing users in a crisis
Creating a fast and accessible pandemic response site covid19.ca.gov
- 423
