SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
@amyngyn J on the Beach 2018
building developer
tools your coworkers
won't hate
amy nguyen (@amyngyn)
j on the beach | may 24, 2018
@amyngyn J on the Beach 2018
hello!
● observability engineer at stripe
● excited about user experience design and
education for developer tools
● @amyngyn
● amynguyen.net
@amyngyn J on the Beach 2018
agenda
● motivation
● how to do user research
● UX design principles
○ command line tools
○ data analysis tools
○ build tools
@amyngyn J on the Beach 2018
why care?
● bad UX causes incidents.
incidents cost money.
● bad UX wastes time.
time costs money.
● bad UX creates hostility.
hostility costs money.
@amyngyn J on the Beach 2018
● talk to people
○ one-on-one
○ focus groups
how to do user research
@amyngyn J on the Beach 2018
how to do user research
● ask the right questions
○ don't ask questions that confirm
what you were expecting
○ dig deep, don't accept the first answer
@amyngyn J on the Beach 2018
● communicate as you follow-up
○ build trust
○ confirm your solutions are the right
solutions
how to do user research
@amyngyn J on the Beach 2018
● talk to people
● ask the right questions
● communicate as you follow-up
how to do user research
@amyngyn J on the Beach 2018
does anyone even know what that flag does?
command line tools
@amyngyn J on the Beach 2018
preview as the default
● if your tool makes critical changes to
infrastructure, don't allow users to make
those changes accidentally
./run-script --confirm
@amyngyn J on the Beach 2018
preview as the default
● provide diffs of what will change
@amyngyn J on the Beach 2018
be consistent
% man -h
Usage: man [OPTION] [SECTION] PAGE…
[...]
@amyngyn J on the Beach 2018
be consistent
% less -h
Value is required after -h
(--max-back-scroll)
@amyngyn J on the Beach 2018
be consistent
● match arguments to your other tools
● match arguments to historical usage
@amyngyn J on the Beach 2018
don’t break existing tools
● have integration tests for your internal tools
● design with existing tools in mind
cat ex.txt | grep hi | sort -r
@amyngyn J on the Beach 2018
command line tools should
● be consistent
● integrate with the rest of your tools
● provide previews and diffs
@amyngyn J on the Beach 2018
everyday we stray further
from unix philosophy
● these ideas have been discussed for decades!
○ rule of composition
○ rule of modularity
○ rule of least surprise
@amyngyn J on the Beach 2018
command line tool design
● provide previews and diffs
● be consistent
● integrate with the rest of your tools
● for more, read "The Art of Unix
Programming" by Eric S. Raymond
(or just read the Wikipedia article!)
@amyngyn J on the Beach 2018
does that data really mean what i think it means?
data analysis tools
@amyngyn J on the Beach 2018
rapid testing
● users need a REPL or
other way of quickly
validating ideas
@amyngyn J on the Beach 2018
discoverability
● autocomplete
● GUI or other menus for
showing all the options
@amyngyn J on the Beach 2018
correctness
● syntax errors and highlighting
● explanations for syntax errors
@amyngyn J on the Beach 2018
explorability
let me go back to the
previous page
don't lose my
place if I refresh
let me share URLs
let me open in a
new tab
@amyngyn J on the Beach 2018
data analysis tool design
● rapid testing
● discoverability
● correctness
● explorability
@amyngyn J on the Beach 2018
i don't know who broke the build
because i don't know how to find the build
build tools
@amyngyn J on the Beach 2018
navigation
● anticipate the most common actions
○ find my latest build
○ locate failing output
○ rebuild
● autocomplete!!!
@amyngyn J on the Beach 2018
fail fast
● if something is failing, don't wait to
finish before showing the result to
the user
@amyngyn J on the Beach 2018
helpful messages at the right time
● remind users to lint and unit test
before kicking off a long build
process
● suggest corrections for bad input
@amyngyn J on the Beach 2018
useful output
@amyngyn J on the Beach 2018
useful output
@amyngyn J on the Beach 2018
summary
● communicate early and
often with users
● imagine the context in which
users will use your tools
● user experience and good
design matters even for
infrastructure tools
@amyngyn J on the Beach 2018
thanks!

Weitere ähnliche Inhalte

Ähnlich wie Building Developer Tools Your Coworkers Won't Hate

Personas als Methode des Usability Engineerings
Personas als Methode des Usability EngineeringsPersonas als Methode des Usability Engineerings
Personas als Methode des Usability Engineeringsitemis AG
 
Pivotal Tracker - Research Findings
Pivotal Tracker - Research FindingsPivotal Tracker - Research Findings
Pivotal Tracker - Research FindingsPaulina Galindo
 
What Problem is Your Organization Looking to Solve?
What Problem is Your Organization Looking to Solve?What Problem is Your Organization Looking to Solve?
What Problem is Your Organization Looking to Solve?Float
 
UX class presentation
UX class presentationUX class presentation
UX class presentationTheo V
 
Taking the plunge: Why you should use new technology on client projects
Taking the plunge: Why you should use new technology on client projectsTaking the plunge: Why you should use new technology on client projects
Taking the plunge: Why you should use new technology on client projectsTommy Ferry
 
15 web tools for administrators
15 web tools for administrators15 web tools for administrators
15 web tools for administratorsBrandon Raymo
 
7 Phases of Web Design Process
7 Phases of Web Design Process7 Phases of Web Design Process
7 Phases of Web Design ProcessNiswey
 
CP vs Project - Elevate Ep. 02.pdf
CP vs Project  - Elevate Ep. 02.pdfCP vs Project  - Elevate Ep. 02.pdf
CP vs Project - Elevate Ep. 02.pdfpreetikumara
 
Discover the Design Sprint - Workshop at International Astronautical Congress...
Discover the Design Sprint - Workshop at International Astronautical Congress...Discover the Design Sprint - Workshop at International Astronautical Congress...
Discover the Design Sprint - Workshop at International Astronautical Congress...Marc C. Lange
 
How to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save MoneyHow to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save MoneyMediacurrent
 
Javascript & SEO 2019
Javascript & SEO 2019Javascript & SEO 2019
Javascript & SEO 2019Edd Wilson
 
Frappe Open Day - March 2018
Frappe Open Day - March 2018Frappe Open Day - March 2018
Frappe Open Day - March 2018Kenneth Sequeira
 
When Developer Must Become Designer - How to be a one-person UX team
When Developer Must Become Designer - How to be a one-person UX teamWhen Developer Must Become Designer - How to be a one-person UX team
When Developer Must Become Designer - How to be a one-person UX teamAngel Banks
 
Agile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridAgile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridSander Hoogendoorn
 
Lean manufacturing, lean development and kanban - Lean Development and Agile ...
Lean manufacturing, lean development and kanban - Lean Development and Agile ...Lean manufacturing, lean development and kanban - Lean Development and Agile ...
Lean manufacturing, lean development and kanban - Lean Development and Agile ...Francesco Mapelli
 
How to Use Data Analytics in Gaming by Telligent Data Co-Founder
How to Use Data Analytics in Gaming by Telligent Data Co-FounderHow to Use Data Analytics in Gaming by Telligent Data Co-Founder
How to Use Data Analytics in Gaming by Telligent Data Co-FounderProduct School
 
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projectsDrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projectsVladimir Roudakov
 

Ähnlich wie Building Developer Tools Your Coworkers Won't Hate (20)

Personas als Methode des Usability Engineerings
Personas als Methode des Usability EngineeringsPersonas als Methode des Usability Engineerings
Personas als Methode des Usability Engineerings
 
Pivotal Tracker - Research Findings
Pivotal Tracker - Research FindingsPivotal Tracker - Research Findings
Pivotal Tracker - Research Findings
 
What Problem is Your Organization Looking to Solve?
What Problem is Your Organization Looking to Solve?What Problem is Your Organization Looking to Solve?
What Problem is Your Organization Looking to Solve?
 
Developer Discipline
Developer DisciplineDeveloper Discipline
Developer Discipline
 
UX class presentation
UX class presentationUX class presentation
UX class presentation
 
Taking the plunge: Why you should use new technology on client projects
Taking the plunge: Why you should use new technology on client projectsTaking the plunge: Why you should use new technology on client projects
Taking the plunge: Why you should use new technology on client projects
 
15 web tools for administrators
15 web tools for administrators15 web tools for administrators
15 web tools for administrators
 
7 Phases of Web Design Process
7 Phases of Web Design Process7 Phases of Web Design Process
7 Phases of Web Design Process
 
CP vs Project - Elevate Ep. 02.pdf
CP vs Project  - Elevate Ep. 02.pdfCP vs Project  - Elevate Ep. 02.pdf
CP vs Project - Elevate Ep. 02.pdf
 
Discover the Design Sprint - Workshop at International Astronautical Congress...
Discover the Design Sprint - Workshop at International Astronautical Congress...Discover the Design Sprint - Workshop at International Astronautical Congress...
Discover the Design Sprint - Workshop at International Astronautical Congress...
 
How to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save MoneyHow to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save Money
 
Javascript & SEO 2019
Javascript & SEO 2019Javascript & SEO 2019
Javascript & SEO 2019
 
Frappe Open Day - March 2018
Frappe Open Day - March 2018Frappe Open Day - March 2018
Frappe Open Day - March 2018
 
Frappe Open Day - March 2018
Frappe Open Day - March 2018Frappe Open Day - March 2018
Frappe Open Day - March 2018
 
User Behavior: Interacting With Important Website Elements
User Behavior: Interacting With Important Website ElementsUser Behavior: Interacting With Important Website Elements
User Behavior: Interacting With Important Website Elements
 
When Developer Must Become Designer - How to be a one-person UX team
When Developer Must Become Designer - How to be a one-person UX teamWhen Developer Must Become Designer - How to be a one-person UX team
When Developer Must Become Designer - How to be a one-person UX team
 
Agile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion MadridAgile anti-patterns at CodeMotion Madrid
Agile anti-patterns at CodeMotion Madrid
 
Lean manufacturing, lean development and kanban - Lean Development and Agile ...
Lean manufacturing, lean development and kanban - Lean Development and Agile ...Lean manufacturing, lean development and kanban - Lean Development and Agile ...
Lean manufacturing, lean development and kanban - Lean Development and Agile ...
 
How to Use Data Analytics in Gaming by Telligent Data Co-Founder
How to Use Data Analytics in Gaming by Telligent Data Co-FounderHow to Use Data Analytics in Gaming by Telligent Data Co-Founder
How to Use Data Analytics in Gaming by Telligent Data Co-Founder
 
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projectsDrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
DrupalGov 2017: Testing any day: guide to end to end test driven Drupal projects
 

Mehr von J On The Beach

Massively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayMassively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayJ On The Beach
 
Big Data On Data You Don’t Have
Big Data On Data You Don’t HaveBig Data On Data You Don’t Have
Big Data On Data You Don’t HaveJ On The Beach
 
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...J On The Beach
 
Pushing it to the edge in IoT
Pushing it to the edge in IoTPushing it to the edge in IoT
Pushing it to the edge in IoTJ On The Beach
 
Drinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actorsDrinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actorsJ On The Beach
 
How do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server patternHow do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server patternJ On The Beach
 
When Cloud Native meets the Financial Sector
When Cloud Native meets the Financial SectorWhen Cloud Native meets the Financial Sector
When Cloud Native meets the Financial SectorJ On The Beach
 
The big data Universe. Literally.
The big data Universe. Literally.The big data Universe. Literally.
The big data Universe. Literally.J On The Beach
 
Streaming to a New Jakarta EE
Streaming to a New Jakarta EEStreaming to a New Jakarta EE
Streaming to a New Jakarta EEJ On The Beach
 
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...J On The Beach
 
Pushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and BlazorPushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and BlazorJ On The Beach
 
Axon Server went RAFTing
Axon Server went RAFTingAxon Server went RAFTing
Axon Server went RAFTingJ On The Beach
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...J On The Beach
 
Madaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysMadaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysJ On The Beach
 
Servers are doomed to fail
Servers are doomed to failServers are doomed to fail
Servers are doomed to failJ On The Beach
 
Interaction Protocols: It's all about good manners
Interaction Protocols: It's all about good mannersInteraction Protocols: It's all about good manners
Interaction Protocols: It's all about good mannersJ On The Beach
 
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...J On The Beach
 
Leadership at every level
Leadership at every levelLeadership at every level
Leadership at every levelJ On The Beach
 
Machine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind LibrariesMachine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind LibrariesJ On The Beach
 

Mehr von J On The Beach (20)

Massively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard wayMassively scalable ETL in real world applications: the hard way
Massively scalable ETL in real world applications: the hard way
 
Big Data On Data You Don’t Have
Big Data On Data You Don’t HaveBig Data On Data You Don’t Have
Big Data On Data You Don’t Have
 
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
Acoustic Time Series in Industry 4.0: Improved Reliability and Cyber-Security...
 
Pushing it to the edge in IoT
Pushing it to the edge in IoTPushing it to the edge in IoT
Pushing it to the edge in IoT
 
Drinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actorsDrinking from the firehose, with virtual streams and virtual actors
Drinking from the firehose, with virtual streams and virtual actors
 
How do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server patternHow do we deploy? From Punched cards to Immutable server pattern
How do we deploy? From Punched cards to Immutable server pattern
 
Java, Turbocharged
Java, TurbochargedJava, Turbocharged
Java, Turbocharged
 
When Cloud Native meets the Financial Sector
When Cloud Native meets the Financial SectorWhen Cloud Native meets the Financial Sector
When Cloud Native meets the Financial Sector
 
The big data Universe. Literally.
The big data Universe. Literally.The big data Universe. Literally.
The big data Universe. Literally.
 
Streaming to a New Jakarta EE
Streaming to a New Jakarta EEStreaming to a New Jakarta EE
Streaming to a New Jakarta EE
 
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
The TIPPSS Imperative for IoT - Ensuring Trust, Identity, Privacy, Protection...
 
Pushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and BlazorPushing AI to the Client with WebAssembly and Blazor
Pushing AI to the Client with WebAssembly and Blazor
 
Axon Server went RAFTing
Axon Server went RAFTingAxon Server went RAFTing
Axon Server went RAFTing
 
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
The Six Pitfalls of building a Microservices Architecture (and how to avoid t...
 
Madaari : Ordering For The Monkeys
Madaari : Ordering For The MonkeysMadaari : Ordering For The Monkeys
Madaari : Ordering For The Monkeys
 
Servers are doomed to fail
Servers are doomed to failServers are doomed to fail
Servers are doomed to fail
 
Interaction Protocols: It's all about good manners
Interaction Protocols: It's all about good mannersInteraction Protocols: It's all about good manners
Interaction Protocols: It's all about good manners
 
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
 
Leadership at every level
Leadership at every levelLeadership at every level
Leadership at every level
 
Machine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind LibrariesMachine Learning: The Bare Math Behind Libraries
Machine Learning: The Bare Math Behind Libraries
 

Kürzlich hochgeladen

Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 

Building Developer Tools Your Coworkers Won't Hate

  • 1. @amyngyn J on the Beach 2018 building developer tools your coworkers won't hate amy nguyen (@amyngyn) j on the beach | may 24, 2018
  • 2. @amyngyn J on the Beach 2018 hello! ● observability engineer at stripe ● excited about user experience design and education for developer tools ● @amyngyn ● amynguyen.net
  • 3. @amyngyn J on the Beach 2018 agenda ● motivation ● how to do user research ● UX design principles ○ command line tools ○ data analysis tools ○ build tools
  • 4. @amyngyn J on the Beach 2018 why care? ● bad UX causes incidents. incidents cost money. ● bad UX wastes time. time costs money. ● bad UX creates hostility. hostility costs money.
  • 5. @amyngyn J on the Beach 2018 ● talk to people ○ one-on-one ○ focus groups how to do user research
  • 6. @amyngyn J on the Beach 2018 how to do user research ● ask the right questions ○ don't ask questions that confirm what you were expecting ○ dig deep, don't accept the first answer
  • 7. @amyngyn J on the Beach 2018 ● communicate as you follow-up ○ build trust ○ confirm your solutions are the right solutions how to do user research
  • 8. @amyngyn J on the Beach 2018 ● talk to people ● ask the right questions ● communicate as you follow-up how to do user research
  • 9. @amyngyn J on the Beach 2018 does anyone even know what that flag does? command line tools
  • 10. @amyngyn J on the Beach 2018 preview as the default ● if your tool makes critical changes to infrastructure, don't allow users to make those changes accidentally ./run-script --confirm
  • 11. @amyngyn J on the Beach 2018 preview as the default ● provide diffs of what will change
  • 12. @amyngyn J on the Beach 2018 be consistent % man -h Usage: man [OPTION] [SECTION] PAGE… [...]
  • 13. @amyngyn J on the Beach 2018 be consistent % less -h Value is required after -h (--max-back-scroll)
  • 14. @amyngyn J on the Beach 2018 be consistent ● match arguments to your other tools ● match arguments to historical usage
  • 15. @amyngyn J on the Beach 2018 don’t break existing tools ● have integration tests for your internal tools ● design with existing tools in mind cat ex.txt | grep hi | sort -r
  • 16. @amyngyn J on the Beach 2018 command line tools should ● be consistent ● integrate with the rest of your tools ● provide previews and diffs
  • 17. @amyngyn J on the Beach 2018 everyday we stray further from unix philosophy ● these ideas have been discussed for decades! ○ rule of composition ○ rule of modularity ○ rule of least surprise
  • 18. @amyngyn J on the Beach 2018 command line tool design ● provide previews and diffs ● be consistent ● integrate with the rest of your tools ● for more, read "The Art of Unix Programming" by Eric S. Raymond (or just read the Wikipedia article!)
  • 19. @amyngyn J on the Beach 2018 does that data really mean what i think it means? data analysis tools
  • 20. @amyngyn J on the Beach 2018 rapid testing ● users need a REPL or other way of quickly validating ideas
  • 21. @amyngyn J on the Beach 2018 discoverability ● autocomplete ● GUI or other menus for showing all the options
  • 22. @amyngyn J on the Beach 2018 correctness ● syntax errors and highlighting ● explanations for syntax errors
  • 23. @amyngyn J on the Beach 2018 explorability let me go back to the previous page don't lose my place if I refresh let me share URLs let me open in a new tab
  • 24. @amyngyn J on the Beach 2018 data analysis tool design ● rapid testing ● discoverability ● correctness ● explorability
  • 25. @amyngyn J on the Beach 2018 i don't know who broke the build because i don't know how to find the build build tools
  • 26. @amyngyn J on the Beach 2018 navigation ● anticipate the most common actions ○ find my latest build ○ locate failing output ○ rebuild ● autocomplete!!!
  • 27. @amyngyn J on the Beach 2018 fail fast ● if something is failing, don't wait to finish before showing the result to the user
  • 28. @amyngyn J on the Beach 2018 helpful messages at the right time ● remind users to lint and unit test before kicking off a long build process ● suggest corrections for bad input
  • 29. @amyngyn J on the Beach 2018 useful output
  • 30. @amyngyn J on the Beach 2018 useful output
  • 31. @amyngyn J on the Beach 2018 summary ● communicate early and often with users ● imagine the context in which users will use your tools ● user experience and good design matters even for infrastructure tools
  • 32. @amyngyn J on the Beach 2018 thanks!