/Work/Projects

ActiveState - Onboarding Improvements

UX,

User Testing,

Web Development

A failed user test led to an observation that netted us a huge bump in signups.

Highlights

↑ 23% platform sign-ups

↑ 50% onboarding completion

Challenge

A bad onboarding experience

ActiveState's website featured programming language pages with three download buttons: one for each major operating system.

Unfortunately, these buttons lacked unique functionality. All three directed users to the same landing page where they had to confirm their operating system again. This created unnecessary friction in two critical ways:

  • Users expected immediate downloads but encountered additional steps instead
  • Users abandoned the onboarding process due to redundant decision points
a screenshot showing the ActiveState website UI
Goals

Removing the unnecessary

We needed to fix this by addressing both problems head on:

  • Reduce friction in the signup flow, and make all choices meaningful
  • Increase the number of new user signups
a graphic showing the design concept to increase sign-ups
First Attempt

Less is more

We focused on the Python language page, targeting the experience for first-time visitors.

Rather than making sweeping changes immediately, we opted to start with a minimal approach. Our streamlined design featured just one primary button with the supported operating systems llisted adjacent to it.

A graphic showing the initial download UI

We hypothesized that implementing a single primary button would significantly reduce friction in the signup flow, ultimately driving a substantial increase in conversions.

Basic UX fundamentals would tell you that reducing unnecessary choices leads to less friction which leads to more conversion. No brainer, right?

A graphic showing three download buttons merging into one
First Attempt

Learnings & adjustments

google analytics test results

We measured the results twice over a two week period. There was a consistent decrease in completed signups.

What happened? How could having less friction not break even at least? It was undeniably a F.A.I.L. (first attempt in learning).

It was time to regroup and decide on a new plan.

Second Attempt

More is less

My initial thoughts for the second attempt were simple, and maybe a bit brazen:

“If users didn’t like when we had less buttons, maybe they’d like it if there were more?”

How would we do that meaningfully though?

a graphic showing multiple download buttons
Second Attempt

Closing the gap

Moving some of the choices a user makes in onboarding to before account creation would reduce friction while adding real functionality to the "fake" buttons on the page.

The new process would look like this:

  1. Select the language version and operating system
  2. Create an account
  3. Complete the installation instructions to access the project locally

We achieved this by working with developers, making it so the buttons on the website add parameters to the URL, and are read by the platform after sign-up in order to kick the project creation process off automatically.

an ilustration of the final UI

Impact

final test results

Quantitative

  • 23% increase in platform signups
  • 50% increase in onboarding completion

Qualitative

  • Strengthened user connection to product
  • Better product experience that’s more intuitive to customers