Skip to content

Instantly share code, notes, and snippets.

@seancolsen
Last active June 5, 2017 20:49
Show Gist options
  • Save seancolsen/0e74db0fab0a739b9be46b930974bf9f to your computer and use it in GitHub Desktop.
Save seancolsen/0e74db0fab0a739b9be46b930974bf9f to your computer and use it in GitHub Desktop.

Crowd-funding large extensions

This is a chronological description so you can see my plans for bootstrapping the model. The plan so far includes just me, and I'm not totally committed to going forward with it.

  1. Brand: I would build a new brand for a dev shop. Here's what I've come up with so far (still a working name)

    • Name: Left Join Labs
    • Domain: leftjoinlabs.com (already registered)
    • Logo: logo
    • Website: haven't started on this
  2. First extension:

    1. Development: I would create a "showcase" extension. For this, I'm considering one idea I have called "Smart Search" for which I've already created pretty thorough specs. Smart Search speeds up the process of identifying/creating/updating single contacts to match known data outside CiviCRM, and it replaces both the "quick search" (top/left menu search) as well as all form widgets used to select contacts.

    2. List-building: The Smart Search interface would also have an "About" tab (not pictured in specs) which describes Left Join Labs and allows the user to sign up for email updates about future extensions (with an in-app form pre-filled with the user's contact info from their Civi record). There would be a similar mechanism for soliciting feedback about Smart Search, which would also ask for contact information.

    3. Advertising infrastructure: The very bottom of the Smart Search window would have a "news" area. Most of the time, this area would display nothing and consume zero screen space. However, leftjoinlabs.com would have the ability to publish a small message which would display in this "news" space in all installed extensions. Probably the extension would have a setting to "Display news from Left Join Labs", enabled by default, but possible to turn off.

    4. Release: I'd release the showcase extension with a decent amount of promotion to associate it with Left Join Labs.

    5. Marketing to shops: Targeted/personal/informal outreach to dev shops to encourage them to install Smart Search for their clients.

  3. Second extension:

    1. Draft specs: I'm not sure yet which of my ideas would be best for the second extension, but I'd decide on one and write up some rough specs.

    2. Polling: Do a small marketing push to announce my intention to create a new extension. At this point I'd solicit voluntary input from users. If someone has an opinion about how they want the extension to work, I'd try to get them on the phone to hear their ideas and feedback. I wouldn't promise them anything though. During this conversation I would gauge the user's interest in funding the extension, but would keep the conversation focused on listening to their ideas.

    3. Development: I'd write the extension on my own timeline and with my own prioritization of features (though influenced by the polling).

    4. List-building/advertising: Incorporate this functionality as described above

  4. Campaign:

    1. (At this point the extension would be finished, but not released)

    2. Promo: Set up a demo site where people could try out the extension. Also make a video to show off its features.

    3. Platform: Set up a crowd-funding campaign somewhere (civicrm.org, leftjoinlabs.com, kickstarter, etc — still not sure what would be best). Here's how it would work...

    4. Threshold: The campaign would have a threshold amount (e.g. $15k) and thermometer. Once the threshold is reached the extension would be immediately released as free and open source.

    5. Perks: The following perks would be given to backers for various dollar-amounts:

      • publicity (e.g. your org's name/logo/mission-statement embedded within the app's "about" page)

      • support (e.g. 5 hours of customer support for the extension, which expire 1 year after the extension is released)

      • influence (I'm still trying to figure out how to market this as a deliverable, but if an org donates a large amount, I'd like to give their opinions on future extensions higher weight, especially including future campaigns for newer versions of this extension.)

    6. Backing: The following methods would exist to back the project

      • "Pledge to pay within 60 days after this project is funded and released" — your pledge will be fully counted towards the threshold needed release this project, but you won't have to pay anything until the project is released.

      • "Donate now (with a 20% match from Left Join Labs)" — If you make a donation now, you won't get your money back, even if the project is never funded. But your donation will go 20% further towards funding this project! For example, if you donate $1,000, then Left Join Labs will donate an additional $200, bringing this project $1,200 closer to being funded. You can even convert a pledge to a matched donation any time before this project is funded.

    7. Marketing: With the campaign up-and-running, I'd do a giant marketing blitz.

      • In-app news messages (using functionality described above, and done sparsely). For example: "News from Left Join Labs: new reporting extension, X-Ray, ready for immediate release once funded" (with hyperlink to campaign).

      • Emails to list, blog post, Mattermost, etc

      • Phone calls to potential funders

      • In-person talks at CiviCon (I'd probably try to time the start of the campaign to be about 1 month before CiviCon.)

      • I'd also like to come up with a strategy to incentive dev shops to promote the campaign to their clients. Still not sure how best to do this, but thinking on it.

    8. Aim to be funded within 2 months.

  5. Repeat!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment