Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor tweaks

...

This is the ASF, so this is a participatory document and process!  Yes, that means you!

Note the Apache Training Podling is also experimenting with different ways to present slide decks or simple interactive content.

Draft Concept: a templated CYOA questionnare engine

There are plenty of "Choose Your Own Adventure" (CYOA) engines out there which do almost exactly this: ask a series of questions down multiple paths, and then produce a result based on various answers.  Adopting an existing tool can get us started quickly, and once installed someplace on community.a.o or whimsy.a.o can then be low maintenance.  We'd then need to design and write out using the CYOA's engine the script of questions, branches, and final states; that is, where we should direct a user who's gone down all the paths.

...

For example, Alice wants to contribute at the ASF, so she finds her way to community.a.o/FindYourPath, which starts the questionnaire for her, and starts leading her down the path below.

Brainstorming Path Groups

  • How experienced are you with open source contributions?
    • (several levels from newcomer, to existing committer on another project)
  • What languages do you want to contribute in?
    • First slide is high level: compiled languages (C, C++, etc.); scripting languages (python, ruby, etc.); databases; web frameworks (javascript, css, tailwind, etc.); website or documentation or QA, including test design.
    • Based on the answers to the first slide, ask for more details about each set of languages or areas the person mentioned.  There might be multiple follow-ups.
  • What technologies are you interested in?
    • The categories here need to be listed from the newcomer's perspective.  Maybe Front end frameworks; Back end frameworks; Databases; Messaging; Scientific; or the like.  (This needs some thought, both to be useful for a newcomer, but also to then know which projects to guide them to.)
  • Break slide: we could include a few "Did you know?" slides with selected useful links to some FAQs in the middle if desired.  Provide short FAQ type headers that let someone link out to some useful resource elsewhere along the way.
  • How do you want to contribute?
    • GitHub only; GitHub or someplace else; Subversion or wherever the project lives.  This is critical to classify people who only see GitHub PRs as a way to contribute.
  • What other questions might we want to ask a newcomer?  Either to help them find specific projects that really meet their interests, or to help them think about why and how they really want to contribute?

Once the data is all saved, use the intersection of various sets to show them a specific subset of projects.a.o PMCs that might meet their desires.  This obviously will take some work to code, and also relies on project.a.o data, but that's something we could improve separately if this tool gains traction.  In particular, if we get people excited about this new contributor funnel (and can show its usage logs or the like), that would be incentive for projects to update their projects.a.o data.

CYOA Tool Requirements

  • Permissively licensed
  • Low maintenance server/engine/whatever tool, that ComDev or Whimsy can install without having to worry about maintenance
  • Fully templated questions & paths, so that it's easy to configure the pathways later, or so that we could build new pathways (perhaps for designers, docs, etc.) without needing to know programming
  • Runs on any browser, with no server storage. Bonus points if a user can come back to finish completing a questionnaire (cookies, local storage, whatever).
  • Basic skinnable features so it can roughly match existing ComDev website
  • Stretch: translatable engine text (on buttons, etc.) and in scripting

Likely Major To-Dos

  • Find and evaluate a CYOA engine, or similar software
    • Run a prototype, perhaps on Whimsy, for testing
    • Find a permanent low/zero maintenance home for it to run
  • Draft potential questions / paths / people we want to attract
    • Feedback, testing, evaluating both what a newcomer sees, understands, and wants to accomplish; plus also which projects/other areas we could point them to
  • Evaluate usefulness of projects.a.o site now as a target for newcomers down a relevant path
    • Evaluate how we'd do searching/matching for relevant projects, plus scoring (list more active projects first?)
    • Evaluate how complete/accurate the data is
    • Look for volunteers to help update DOAP files
  • Mock how we'd present the tool: welcome screen, explanations, help system, whatever
  • Plan testing, beta, comms, rollouts

...