the seven righteous fights - usenix...the seven righteous fights 1. localization - make users comfy...

61
@wiredferret #7fights The Seven Righteous Fights You Should Be Fighting

Upload: others

Post on 17-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

The Seven Righteous Fights

You Should Be Fighting

Page 2: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Heidi WaterhouseLISA 2016

#[email protected]

@wiredferret

Page 3: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Definition of a Technical

Writer:

A master of assembling technical clues into a narrative whole

Page 4: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

This truck is stuck in the mud

Page 5: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Page 6: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Example

Page 7: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Tower of translation Babel

Page 8: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Plus two weeks

5 days

Page 9: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Fingers crossed

Page 10: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

You cannot fix it later

Page 11: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 12: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

The Seven Righteous

Fights

1. Localization2. Security3. Extensibility4. Documentation5. Affordance6. Acceptance7. Accessibility

Page 13: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Localization Localisation

Page 14: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

LocalizationDon't hard code interface elements

No words in logos or images

Bake in extended character support

Page 15: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Security

Page 16: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

The most successful hackers actually look like auditors

Page 17: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 18: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Security is neither cheap nor easy,

But it beats the alternative

Page 19: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Encryption

Page 20: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 21: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 22: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Stop saying that word!

Page 23: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Extensibility

Page 24: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 25: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 26: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Documentation

Page 27: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Documentation is not state secrets

Documentation is subtle self promotion

Page 28: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

User DocumentationCupcake ipsum dolor sit amet icing. Lemon drops soufflé gummies danish dragée pastry chupa chups brownie. Cheesecake liquorice cake.

Page 29: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Developer onboarding

Page 30: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Production scripts and build sequence

Page 31: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Secretive build engineers

are bad build engineers

Page 32: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 33: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Affordance

Page 34: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 35: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Some people have more privileges

Page 36: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Homunculus of sensation

Page 37: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Acceptance

Page 38: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Not all Legos have the same job

Page 39: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Explain nothing

Shhhhhh

Page 40: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

If you can't hire an expert,

become a student.

Page 41: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Accessibility

Page 42: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 43: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 44: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

8%of men are colorblind

Page 45: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Screen reader links

Click here. Link. Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link.Click here. Link

Page 46: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Page 47: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

TABTemporarily Able-Bodied

Page 48: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Now what?

Page 49: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

TacticsDo what you can

Start where you are.Use what you have.Do what you can- Arthur Ashe

Page 50: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Tactic 1Write a coding style guide and follow it.

Page 51: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Tactic 2Pair programming for best practices.

Page 52: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Tactic 3Host brown bag lunches.

Page 53: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Tactic 4Ask questions.

Page 54: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Tactic 5Add tests for accessibility and usability.

Page 55: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Tactic 6Learn to write ROI documents.

Page 56: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

Tactic 7Cultivate inclusion, diversity, and representation.

Page 57: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Money is the root of all business decisions

Page 58: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

The Seven Righteous Fights1. Localization - Make users comfy

2. Security - Make users safer3. Extensibility - Make code usable4. Documentation - Disaster-proof5. Affordance - Nudge good behavior6. Acceptance - Test with users7. Accessibility - Include people

Page 59: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

#7fights@wiredferret

tl;rtDon't build in compounding technical debt

that you could trivially avoid.

Page 60: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights

Be productively lazy.

Page 61: The Seven Righteous Fights - USENIX...The Seven Righteous Fights 1. Localization - Make users comfy 2. Security - Make users safer 3. Extensibility - Make code usable 4. Documentation

@wiredferret #7fights@wiredferret

CreditsCopyright ceridwen and licensed for reuse under this Creative Commons Licence

By Dori (Own work) [Public domain], via Wikimedia Commons

By Bill Bertram (Own work) [CC BY-SA 2.5 (http://creativecommons.org/licenses/by-sa/2.5)], via Wikimedia Commons

https://www.flickr.com/photos/dvortygirl/

https://www.flickr.com/photos/nez/

By Jonathan Joseph Bondhus (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

By User:Bryan Derksen (Own work) [Public domain], via Wikimedia Commons

Joshua Reynolds [Public domain], via Wikimedia Commons

By Ken Teegardin from Boulder, Boulder (Piggy Bank On Pennies) [CC BY-SA 2.0 (http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons

By Evan-Amos (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

By Lasart75 (Own work) [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 4.0-3.0-2.5-2.0-1.0 (http://creativecommons.org/licenses/by-sa/4.0-3.0-2.5-2.0-1.0)], via Wikimedia Commons

https://www.flickr.com/photos/31333486@N00/

By Jojhnjoy (Own work, based on the work of Anders) [Public domain], via Wikimedia Commons

By Jericho [CC BY 3.0 (http://creativecommons.org/licenses/by/3.0)], via Wikimedia Commons