SlideShare a Scribd company logo
User-centered
Open Source
By Jackie Kazil
For PyCon Russia, July 4, 2016
2
About me… @jackiekazil
После четырех лет в
университете, Я говорю
по-русски.
4
5
What is
user-centered design?
beta.eiti.org
8
Urllib2
EX
A
M
P
LE
9
Requests
10
“HTTP for Humans”Not for Humans?
Urllib2 vs Requests
Why ‘open-source’?
- Open Source
- Inner Source
- Closed Source
Pick a project
User-centered
approaches
1. Passive (signal vs noise)
2. Active (direct engagement)
14
Signal vs
Noise
MIMOSE (Micro-und Multilevel
Modelling Software) [53]
GAMA [28]
ABLE (Agent Building and
Learning Environment) [2]
Jason (Jason:Interpreter for
extension of AgentSpeak) [40]
MAS-SOC (Multi-Agent Simulations
for the SOCial Sciences) [51]
Brahms [11]
ECHO [22]
FLAME [25]
FLAME GPU [26]
Construct [13]
MOOSE(Multimodeling Object-
Oriented Simulation Environment) [55]
Jade’s sim++
SimBioSys [68]
SimPack [69]
DeX [20]
LSD (Laboratory for
Simulation Development)[45]
iGen [31]
FLUXY [27]
MASS (Multi-Agent Simulation Suit) [5
0]Framsticks
SimPlusPlus [66]
Descartes[19]
A3 / AAA (Agent Anytime
Anywhere) [1]
ADK (TryllianAgent
MASS (Multi-Agent Simulation Suit) [50]
Framsticks
SimPlusPlus [66]
Descartes[19]
A3 / AAA (Agent Anytime Anywhere)
[1]
ADK (TryllianAgent Development
Kit)[4]
AOR Simulation[6]
Ascape [8]
BDI4Jade [9]
Cougaar[15]
CybelePro[17]
FAMOJA(Framework for Agent-based
MOdelling with JAva) [24]
ICARO-T [32]
JABM [34]
JADE
JAS-mine [38]
JASA (Java Auction Simulator API)
[39]
jES (Java Enterprise Simulator) [42]
jEcho [43]
MASON [49]
Moduleco [54]
netLogo
JIAC [64]
Sugarscape [71]
VSEit [74]
JAMEL (Java Agent-based MacroEconomic Laboratory)
[35]
PS-I (Political Science-Identity)[60]
Altreva Adaptive Modeler [3]
oRIS [59]
SimAgent (alsosim agent) [67]
DigiHive
Mesa [52]
DALI[18]
Breve
SeSAm (Shell for Simulated Agent Systems) (fully
integrated graphical simulation environment) [63]
Cormas(Common-pool Resources and Multi-Agent
Systems) [14]
SDML (Strictly Declarative Modeling
Language) [61]
Soar
StarLogo
OpenStarLogo
StarLogo TNG
StarLogoT
SEAS (System Effectiveness Analysis
Simulation) [62]
GPU Agents [29]
GROWlab [30]
AgentSheets
VisualBots [73]
ZEUS [76]
16
Twitter data…
Which library to use?
bit.ly/T-API-Libs
17
Twitter
bit.ly/T-API-Libs
1818
Github data…
Which library to use?
bit.ly/G-API-Libs
19
Github
bit.ly/G-API-Libs
20
FEC API
EX
A
M
P
LE
21
Landing page
“Getting started”
Communication channels
Documentation
Discoverable entry points...
22
Discoverable entry points...
API Landing: bit.ly/fec-api
Dev: bit.ly/fec-gh
Channels: bit.ly/fec-channels
23
24
The checklist
- Landing page
- “Getting started”
- Install instructions
- Contribution guide
- Responses < 24hrs
- Clear git workflow
- Labeled branches
- License
- Project comms
- Project status
- Project ownership
- Regular commits
- Tests & build results
- “Other users”
- Open by default
25
bit.ly/OpenByDefault
Flexible usage
Community Involvement
Cost-savings
Increased security
26
Github
bit.ly/G-API-Libs
EX
A
M
P
LE
27
28
29
github3.py
30
Build and maintain…
Communicate, commit, test,
& build regularly
31
… or consciously commit
to retirement.
32
Engage!
Don’t make
assumptions…
... back it up with data.
34
Mesa, agent-based modeling
EX
A
M
P
LE
35
(Re)inception
36
(Re)inception
Stakeholders
37
(Re)inception
Stakeholders
Users
38
(Re)inception
Stakeholders
Users
Goals
39
(Re)inception
Stakeholders
Users
Goals
Non-Goals
40
(Re)inception
Users
Software
engineer
41
(Re)inception
Users
Software
engineer
42
(Re)inception
College
Professor
Users
Software
engineer
43
(Re)inception
College
Professor
Student
Users
Software
engineer
44
(Re)inception
College
Professor
Student
Private
industry
researcher
Users
Software
engineer
45
(Re)inception
College
Professor
Student
Private
industry
researcher
Data
Scientist
Users
Create personas for users
College professor
Student
Private industry
researcher
Data Scientist
Software engineer
Users
Create personas for users
College professor
Student
Private industry
researcher
Data Scientist
Software engineer
Users
Where to find your users?
User groups (generic)
Open call outs (generic)
Conferences (generic)
Direct emails (specific)
SPRINTS!!!! (specific) Users
Where to find your users?
General survey with...
“May we reach out to
you?”
Users
User Interviews
User:
College
Professor
Talk to your users.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
Designate a note taker.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
Designate a note taker.
Use electronic tools.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
Designate a note taker.
Use electronic tools.
Verbatim and interpretations separate.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
Designate a note taker.
Use electronic tools.
Verbatim and interpretations separate.
Annotate along the way.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
Designate a note taker.
Use electronic tools.
Verbatim and interpretations separate.
Annotate along the way.
Don’t forget body language!
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
Designate a note taker.
Use electronic tools.
Verbatim and interpretations separate.
Annotate along the way.
Don’t forget body language!
Consider privacy, from start.
User Interviews
User:
College
Professor
Talk to your users.
Know what you want to capture.
Get your questions ready.
Designate a note taker.
Use electronic tools.
Verbatim and interpretations separate.
Annotate along the way.
Don’t forget body language!
Consider privacy, from start.
User Interviews
User:
College
Professor
Journey Mapping
:-):-(
Journey Mapping
Identifies Mesa
:-):-(
Journey Mapping
Tries to build a model.
:-):-(
Journey Mapping
BUILDS A MODEL!!
:-):-(
Journey Mapping
Tries to build complex
custom model
:-):-(
Journey Mapping
Contributes back to Mesa
to fix issues
:-):-(
Journey Mapping
:-):-(
Affinity Diagramming
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Affinity Diagramming
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Affinity Diagramming
Dot Voting
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Dot Voting
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Dot Voting
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Dot Voting
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Dot Voting
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Dot Voting
How to I
build a
model?
Tutorial
has bugs
Getting
Started is
hard
Models
need to be
tested
Unclear on
how to build
plug-ins
What is
core vs
private?
Sample
models
need more
docs
Rapid Prototyping
Rapid Prototyping
3 prototypes in 3 hours
- Create prototype (40 min)
- Test prototype (15 min)
- Take a break (5 min)
- repeat 3 times
Rapid Prototyping
START
STOP
RESET
80
Rapid Prototyping
Test. Repeat.
If you do not have users,
you are are doing it
wrong.
More techniques…
http://bit.ly/18F-Methods
84
Urllib2
85
Requests
86
Your friend,
Jackie

More Related Content

KEY
Overview of Testing Talks at Pycon
PDF
Django mongodb -djangoday_
ODP
Rabbitmq & Postgresql
PPT
Django-Queryset
PDF
Bottle - Python Web Microframework
PDF
Vim for Mere Mortals
PPTX
2016 py con2016_lightingtalk_php to python
PDF
EuroDjangoCon 2009 - Ein Rückblick
Overview of Testing Talks at Pycon
Django mongodb -djangoday_
Rabbitmq & Postgresql
Django-Queryset
Bottle - Python Web Microframework
Vim for Mere Mortals
2016 py con2016_lightingtalk_php to python
EuroDjangoCon 2009 - Ein Rückblick

Viewers also liked (18)

PPT
Html5 History-API
PPT
Digesting jQuery
PDF
Website optimization
ODP
Authentication & Authorization in ASPdotNet MVC
PDF
2 × 3 = 6
PDF
Django - The Web framework for perfectionists with deadlines
PDF
Django e il Rap Elia Contini
PDF
PyClab.__init__(self)
PDF
Django - The Web framework for perfectionists with deadlines
PDF
PythonBrasil[8] closing
PPT
Load testing
PDF
NoSql Day - Chiusura
PDF
2007 - 应用系统脆弱性概论
PDF
The Django Book Chapter 9 - Django Workshop - Taipei.py
PDF
NoSql Day - Apertura
PPTX
Super Advanced Python –act1
PDF
라이트닝 토크 2015 파이콘
PDF
The Django Book, Chapter 16: django.contrib
Html5 History-API
Digesting jQuery
Website optimization
Authentication & Authorization in ASPdotNet MVC
2 × 3 = 6
Django - The Web framework for perfectionists with deadlines
Django e il Rap Elia Contini
PyClab.__init__(self)
Django - The Web framework for perfectionists with deadlines
PythonBrasil[8] closing
Load testing
NoSql Day - Chiusura
2007 - 应用系统脆弱性概论
The Django Book Chapter 9 - Django Workshop - Taipei.py
NoSql Day - Apertura
Super Advanced Python –act1
라이트닝 토크 2015 파이콘
The Django Book, Chapter 16: django.contrib
Ad

Similar to User-centered open source (20)

PPTX
Software Modeling and Artificial Intelligence: friends or foes?
PDF
PDF
10 Ways To Improve Your Code( Neal Ford)
PPT
Lunch and learn as3_frameworks
PDF
10 Ways To Improve Your Code
PDF
LJC-Unconference-2023-Keynote.pdf
PDF
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
ODP
Debugging
PDF
Agent-Based Modeling & Python @ PyData DC 2016
PDF
Raising the Bar
PDF
Enabling Lean at Enterprise Scale: Lean Engineering in Action
PDF
PDF
Icpc16.ppt
PDF
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
PPTX
Lessons Learned from Building Machine Learning Software at Netflix
PPTX
The process of software engineering
PPTX
How to sustain a tool building community-driven effort
PDF
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
PDF
Lean Engineering: How to make Engineering a full Lean UX partner
PPT
8 Usability Lessons from the UPA Conference by Mark Alves
Software Modeling and Artificial Intelligence: friends or foes?
10 Ways To Improve Your Code( Neal Ford)
Lunch and learn as3_frameworks
10 Ways To Improve Your Code
LJC-Unconference-2023-Keynote.pdf
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
Debugging
Agent-Based Modeling & Python @ PyData DC 2016
Raising the Bar
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Icpc16.ppt
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
Lessons Learned from Building Machine Learning Software at Netflix
The process of software engineering
How to sustain a tool building community-driven effort
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
Lean Engineering: How to make Engineering a full Lean UX partner
8 Usability Lessons from the UPA Conference by Mark Alves
Ad

Recently uploaded (20)

PPTX
assetexplorer- product-overview - presentation
PDF
Complete Guide to Website Development in Malaysia for SMEs
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Cost to Outsource Software Development in 2025
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
medical staffing services at VALiNTRY
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
assetexplorer- product-overview - presentation
Complete Guide to Website Development in Malaysia for SMEs
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Cost to Outsource Software Development in 2025
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Salesforce Agentforce AI Implementation.pdf
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Advanced SystemCare Ultimate Crack + Portable (2025)
Designing Intelligence for the Shop Floor.pdf
Reimagine Home Health with the Power of Agentic AI​
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
CHAPTER 2 - PM Management and IT Context
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How to Choose the Right IT Partner for Your Business in Malaysia
Internet Downloader Manager (IDM) Crack 6.42 Build 41
medical staffing services at VALiNTRY
Adobe Illustrator 28.6 Crack My Vision of Vector Design

User-centered open source