The latest versions of the BrowserStack Local binary and the native desktop application are out now, featuring a GUI! You can download the binary here or install the desktop application (to enable Local Testing on BrowserStack Live and App Live) here.

Late in 2019, we found a troubling trend when analyzing usage data of our suite of Local Testing products—the binary, the Chrome application, the native application, and the language bindings. Nearly 15% of all attempts at initiating the Local binary failed. When we tied this statistic with the user feedback on Local Testing ["It's a little tricky to get started, but once you're there, it just works!"] it was clear: We had an onboarding problem on our hands.

However, in a CLI tool, knowing that there are onboarding troubles isn't worth much. Where exactly was this ‘wall’ that the users were hitting? To find out, we dug into binary error distribution data.

And there it was, the proverbial wall, staring us in the face:

It looked like users were having trouble entering the right keys. So we went a level deeper to find the most prevalent key errors. Turns out, it was formatting.

Our expected input formats were difficult to understand. Hindsight says “duh”.

Hack4Stack to fast-track

In November 2019, BrowserStack announced an in-house hackathon. For the BrowserStack Local team, this was the opportunity to build a proper, production-ready solution to our onboarding problem in less than a day. We jumped on it.

Picture two software engineers, a product designer, a product manager, and an engineering manager blazing through a product development lifecycle. It took us a single two-hour meeting to decide scope, create design mock-ups, and nail down the features we needed.

Eighteen heated, heavily-caffeinated hours later, we had a fully-functional demo of what would eventually become Local v8.

Long story short: Our Team GhostBusters won the hackathon. We won the gold, the bragging rights, and best of all, the Engineering and Product leadership’s request to ship it ASAP!

From Demo to Release-Ready

Our Hack4Stack demo was a smashing success. We were sure it would reduce the number of binary startup failures. Our success metrics for this project were simple but ambitious:

  1. Reduce start-up failures by half.
  2. Get at least 20% of users to use the tool multiple times.

To hit the second goal, we decided we would bring our binary's more advanced features to the fore—without overwhelming users at onboarding. This was when ideas for features came pouring in. "one-click tunnels", "user guide for best practices", "quick debugging support", "load balancing for high traffic"... we wanted everything in this Local Binary.

After brief discussions, the engineering, product, support, and solutions teams all came to a consensus over a common group of features, and we got to work. We decided that this rebuild would:

  1. Help people get started with Local Testing, quicker.
  2. Showcase some useful binary options.
  3. Display logs from the connections made by the Local binary.
  4. Enable users to debug their connection failures.

The Final Product

A developer-focussed product always has very willing early adopters within the organization. And so, three full sprint cycles later, in early March 2020, we were ready to roll out the new Local binary within BrowserStack.

After minor tweaks (based on internal feedback), the new and improved Local Binary was ready to be rolled out to our users in all its React-enabled glory.

Step 1: Authenticate.
Step 2. Point-and-click to configure your connections.

The setup workflow is now simpler:

  • Double click the binary (or click “Advanced Settings” in our app).
  • Enter your key (if required).
    And that’s it. Happy (Local) Testing!

More advanced users can:

  • Enter proxy credentials (if needed).
  • Toggle other settings (force-local, verbose logging).
  • Update any new settings on the fly.
  • Check your computer’s connectivity to any URL (if, say, your tests are failing and you want to know why).
  • Kill the process when you want to.
  • Copy and paste the CLI string so you can replicate your setting next time.

Once the tunnel has been established, you can start testing on Live, or check out the documentation to start testing with Automate.

Customer Feedback

“Watch data, but also listen to feedback.”

One of Jeff Bezos’ quotes stuck with me from my time at Amazon; if anecdotes and data disagree, trust the anecdotes.

We didn’t have that problem with Local binary v8: Our users seemed to love what we had done with the whole thing. Over 50% of the users who tried the new Local binary interacted with the dashboard, and most of them came back multiple times within a few days.

At the start of the project, our goals looked ambitious. Within the first month post-release, we exceeded our goals—and it’s only getting better week over week.

What’s next

We’re planning exciting new things for the BrowserStack Local family of products! Our customers have asked us about Docker support, and we want to make containerized experience of BrowserStack Local as great as the native one. Watch this space.

If you haven't tried the new Local Testing experience yet, give it a try! You can learn more about Local Testing here. Or jump straight to the new GUI and take it from there by downloading the Local binary v8.0.