Skip to content

NuPIC Consumer Engagement Strategy

Matthew Taylor edited this page Aug 12, 2013 · 14 revisions

Goals

The primary goal of Numenta is to increase the adoption and usage of the Cortical Learning Algorithm (CLA). With regards to the NuPIC project, this translates into two very clear objectives:

  1. Increase the number of productive developers of NuPIC
  2. Increase the number of code contributors to NuPIC

Assumptions

  1. Consumers of Numenta web content can be broken into 4 roles (see below).
  • Watchers
  • Builders
  • Experimeters
  • Developers
  1. Consumers advance through these roles from "Watcher" towards "Developer" without skipping any roles (see the funnel graphic below).
  2. Someone in any of the categories above could potentially become a Contributor without advancing through the funnel.
  3. Increasing the number of Developers will increase the number of Contributors.

Given #4 above, the primary object should be to increase the number of productive Developers of NuPIC.

Consumer Engagement Funnel

Engagement Funnel

Roles

Below are definitions of roles used in the text and graphic above.

Global Roles
Consumer
Any person who could potentially consume NuPIC-related web content, including website content on numenta.org, our mailing lists, social networking sites, or Github. This is the broadest category and includes all roles within the engagement funnel.
Contributor
Anyone who has signed our contributor license and been involved in any code or documentation change(s).
Funneled Roles
Watcher
Visitor to numenta.org, github, or follower of our social media streams. Has not downloaded any code. Either actively researching our theory and technology, or passively consuming social media streams.
Builder
Has download or cloned our codebase, but has not successfully the build and run instructions in the README.
Experimenter
Has build NuPIC and run sample apps successfully. Might have attempted to alter experiments, tweak model parameters, or use their own data to get results from NuPIC. Still experimenting with NuPIC. Has not produced much value from the project yet, but still trying to figure it out.
Developer
Has created something valuable to them using NuPIC. Using their own data and solving a relevant problem with the codebase.

Obstacles Against Advancement

As shown it the above graphic, various obstacles restrict unfettered flow of consumers through the funnel from one role to the next.

Watcher ⟹ Builder Obstacles

  • doesn't understand what NuPIC is
  • doesn't agree that the CLA is a viable and useful technology, and would rather pursue traditional AI
  • can't find what they're looking for, for example:
    • an answer to a specific question
    • a place to start a conversation on a topic
    • the codebase itself
    • confirmation that this project is the same project hinted at in Jeff's book, On Intelligence
  • will not consider the CLA until it has been published in a peer-reviewed journal
  • NuPIC does not have an interface for their desired environment or programming language

Builder ⟹ Experimenter Obstacles

  • instructions are too hard to follow, or they take too long to implement
  • instructions simply don't work for their environment
    • python 2.7 on OS X
    • C compiler doesn't work
  • doesn't agree with the build setup and approach (for example, some people don't like being forced to set ENV variables)

Experimenter ⟹ Developer Obstacles

  • confusion about how to set up model parameters
  • results are too hard to interpret
  • results are not good enough or unexpected
    • CLA might not see any patterns, but Experimenter cannot tell if that is the case
    • data may be noisy and require aggregation or cleanup
  • can't figure out how to properly set up anomoly detection
  • can't understand the CLA representation of the data stream

Addressing Obstacles

Watcher ⟹ Builder Obstacles

  1. Refocus http://numenta.org towards engaging Watchers and converting them into Builders
  • Landing page should draw in new watchers to consume as much content as possible.
  • Top-level "CLA primer" page should give a high-level overview of concepts, to include details visualizations, animations, etc. This should be entirely theory, and not mention NuPIC code at all. This audience is laymen interesting in biologically-inspired machine intelligence. At the end, we can link to the white paper.
  • NuPIC Code Primer page should give a high-level overview of what the NuPIC codebase is. It should not explain CLA concepts, but be focused on describing the software engineering aspects of the codebase. The audience here are Watchers with coding experience who want to find out more about the structure of the codebase.
  • Why this is important page will explain to laymen, academics, and software engineer audiences alike why we think this is the only pathway towards truly intelligent machines. It should also describe why and how this technology will benefit humanity, as well as putting NuPIC and the CLA in perspective with respect to the upcoming advancements required for truly intelligence machines to appear.
  • FAQ page should be highly visible and fully populated with categorized Q/A
  1. Introduce a "buildless" options for Watcher installation, like pip or easy_install. This essentially removes the Builder phase entirely.

Builder ⟹ Experimenter Obstacles

  1. Builders can run README without environment changes, thus converting them immediately into Experimenters
  • Python 2.7 support (HUGE WIN: I think this is our single largest bottleneck by far)
  • All major C compiler support (clang, gcc, all recent versions)

Experimenter ⟹ Developer Obstacles

  1. Open source Swarming Logic.
Clone this wiki locally