user-centered open source

Download User-centered open source

Post on 08-Jan-2017

105 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

  • User-centeredOpen 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

    EXAMPLE

  • 9

    Requests

  • 10

    HTTP for HumansNot 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]Jades sim++SimBioSys [68]SimPack [69]DeX [20]

    LSD (Laboratory for Simulation Development)[45]iGen [31]FLUXY [27]MASS (Multi-Agent Simulation Suit) [50]FramsticksSimPlusPlus [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]JADEJAS-mine [38]

    JASA (Java Auction Simulator API) [39]jES (Java Enterprise Simulator) [42]jEcho [43]MASON [49]

    Moduleco [54]

    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]

    Xholon [75]

    D-OMAR(Distributed Operator Model Architecture) [21]

    Repast

    Janus [37]

    EVE [23]

    JCA-Sim [41]

    Boris[12]

    MaDKit (Multi Agent Development Kit)[46]

    Swarm

    AnyLogic

    JESS [44]

    Insight Maker [33]

    AgentBuilder [5]

    TerraME[72]

    MacStarLogo

    MAGSY [47]

    MAML (Multi-Agent Modeling Language) [48]

    AgentService [7]

    OBEUS (Object Based Environment for Urban Simulation) [56]

    OpenOME [58]

    Behaviour Composer (Rich Internet Application building on NetLogo) [10]

    NetLogo

    Spatial Modeling Environment(SME) [70]

    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]

    Insight Maker [33]AgentBuilder [5]TerraME[72]MacStarLogoMAGSY [47]MAML (Multi-Agent Modeling Language) [48]AgentService [7]OBEUS (Object Based Environment for Urban Simulation) [56]OpenOME [58]Behaviour Composer (Rich Internet Application building on NetLogo) [10]NetLogoSpatial Modeling Environment(SME) [70]JAMEL (Java Agent-based MacroEconomic Laboratory) [35]PS-I (Political Science-Identity)[60]

    Altreva Adaptive Modeler [3]oRIS [59]SimAgent (alsosim agent) [67]DigiHiveMesa [52]DALI[18]BreveSeSAm (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]SoarStarLogoOpenStarLogoStarLogo TNGStarLogoT

    SEAS (System Effectiveness Analysis Simulation) [62]GPU Agents [29]GROWlab [30]AgentSheetsVisualBots [73]ZEUS [76]

    https://github.com/gama-platform/gama/wikihttps://en.wikipedia.org/w/index.php?title=Sim%2B%2B&action=edit&redlink=1http://www.lucifer.com/~david/SimBioSys/http://mass.aitia.ai/http://mass.aitia.ai/https://en.wikipedia.org/wiki/Framstickshttps://en.wikipedia.org/wiki/Java_Agent_Development_Frameworkhttp://www.jas-mine.net/http://mass.aitia.ai/https://en.wikipedia.org/wiki/Framstickshttps://en.wikipedia.org/wiki/Java_Agent_Development_Frameworkhttp://www.jas-mine.net/https://en.wikipedia.org/wiki/Repast_(modeling_toolkit)https://en.wikipedia.org/wiki/Swarm_(simulation)https://en.wikipedia.org/wiki/AnyLogichttps://en.wikipedia.org/wiki/MacStarLogohttp://www.agentservice.it/https://en.wikipedia.org/wiki/NetLogohttps://en.wikipedia.org/wiki/DigiHivehttps://en.wikipedia.org/wiki/MacStarLogohttp://www.agentservice.it/https://en.wikipedia.org/wiki/NetLogohttps://en.wikipedia.org/wiki/DigiHivehttps://en.wikipedia.org/wiki/Breve_(software)https://en.wikipedia.org/wiki/Soar_(cognitive_architecture)https://en.wikipedia.org/wiki/StarLogohttps://en.wikipedia.org/wiki/OpenStarLogohttps://en.wikipedia.org/wiki/StarLogo_TNGhttps://en.wikipedia.org/wiki/StarLogoThttps://en.wikipedia.org/wiki/AgentSheets

  • 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

    Githubbit.ly/G-API-Libs

  • 20

    FEC APIEXAMPLE

  • 21

    Landing pageGetting startedCommunication channelsDocumentation

    Discoverable entry points...

  • 22

    Discoverable entry points...API Landing: bit.ly/fec-apiDev: bit.ly/fec-ghChannels: 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/OpenByDefaultFlexible usageCommunity InvolvementCost-savingsIncreased security

  • 26

    Githubbit.ly/G-API-Libs

    EXAMPLE

  • 27

  • 28

  • 29

    github3.py

  • 30

    Build and maintainCommunicate, commit, test, & build regularly

  • 31

    or consciously commit to retirement.

  • 32

    Engage!

  • Dont make assumptions... back it up with data.

  • 34

    Mesa, agent-based modeling

    EXAMPLE

  • 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

    StudentPrivate industry

    researcher

    Users

  • Software engineer

    45

    (Re)inception

    College Professor

    StudentPrivate industry

    researcher

    Data Scientist

    Users

  • Create personas for usersCollege professorStudentPrivate industry researcherData ScientistSoftware engineer

    Users

  • Create personas for usersCollege professorStudentPrivate industry researcherData ScientistSoftware 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.Dont 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.Dont forget body language!Consider privacy, from start