New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CanJS Homepage Redesign #480

justinbmeyer opened this Issue Oct 30, 2018 · 2 comments


None yet
2 participants
Copy link

justinbmeyer commented Oct 30, 2018


  1. Redesign the CanJS homepage to convert* more new users.
  2. Define the purpose of CanJS and why people should use it.


There are several questions that would be good to answer:

  • How do decisions get made in selecting a framework?
  • How do people come to learn about CanJS?
  • What messaging is worth moving users to convert.

We will either assume answers or perform studies to figure out these answers.

How do decisions get made in selecting a framework?

In order, I believe that people make decisions based on:

  1. Popularity ... are other people using it, was it successful for them.
  2. Ease of use ... does it solve the problem at hand quickly.
  3. Technical ... does it have some technically valuable feature.

How do people come to learn about CanJS

  • news/meetups
  • search for something (ndjson stream)
  • job postings

What messaging is worth moving users to convert?

By convert we mean the user performs some action that gets them closer to becoming an actual user:

  • Clicking a link to the CanJS homepage
  • Downloading CanJS
  • Watching a video
  • Subscribing / following.
  • Going to the getting started guide.

The plan is to:

  1. Come up with multiple messaging approaches such as:

    • CRUD
    • Ergonomics
    • Consistent Productivity
    • WebComponents + React (This would require can-element)

    These approaches are currently found here

  2. Survey messaging approaches in various formats:

    1. Plain english. A plain english description of the framework. This is to keep "what we are trying to communicate" distinct from "how we are communicating".
    2. A mock google search results page. Users select the most appealing search result.
    3. A mock "tweets" page. Tweets would have images. Users select the most appealing tweet.
    4. A mock "homepage".

    We will use the results of earlier steps to prune later step choices.

    Surveys will also include information to help us understand the users and their choices such as:

    • What matters most to you in selecting a framework?

    We will send the survey out to "free" places (JavaScript Chicago, LearnJS, DoneJS Chicago) and look for paid surveys too.


This comment has been minimized.

Copy link

chasenlehara commented Dec 14, 2018

Here’s a breakdown of what I’ve been working on. I’m following Julian’s landing page guide.

I’ll update this as I make progress. As of right now (when I’m first posting this comment), my next step is to collect feedback from the core team on the assumptions in the Google Doc and to start writing the homepage hero headers.

For the homepage:

  • Write homepage hero headers and subheaders
  • List hero image options
  • List social proof options
  • Write call-to-action options
  • Write features & objections

For mock Google search results:

  • Write page titles and descriptions

For mock tweets:

  • Write tweets
  • Determine imagery for each tweet

This comment has been minimized.

Copy link

chasenlehara commented Dec 19, 2018

I’ve started working on the homepage hero headers & subheaders and I’d like some feedback.

Scroll down to the “Hero” header in this doc (it’s a long doc, go down to almost the very bottom):

The headers and subheaders are grouped by value proposition.

What I’d like help with right now:

  1. What value props am I missing? I wrote down a bunch in the “Our value propositions” section of the doc, then narrowed those down to what I think we could make a compelling argument for. Did I miss any that our audience would find convincing?

  2. What points about those value props am I missing? Are there qualities about CanJS that I haven’t mentioned in the headers & subheaders yet?

Please edit the doc directly or add comments there. Your wording doesn’t have to be perfect, I’m just looking for feedback that I can refine.

Some context: the “Hero — Header” section of Julian’s growth guide has info on the purpose of these headers & subheaders. They’re generated from value props, which you can learn more about in the “Value propositions” section of that guide.

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