Tracks, Percentage Rollouts and A/B testing

Eric Seidel

Eric Seidel

Founder & CEO

1 min read

Building on the success of our brand-new shorebird_code_push package 2.0, we’re announcing patch tracks, which can be used to support percentage-based rollouts and A/B testing within Shorebird.

The shorebird_code_push package is a completely optional package that allows developers to customize the user experience of downloading and installing over-the-air updates with Shorebird. It was built for teams that want more control over when updates are downloaded and which users receive those updates.

Shorebird strongly believes in user privacy, and we never collect any information from our customer’s customers. This means that we can’t tell one of your customers apart from another. This has previously prevented us from being able to offer patch rollout options that target specific users.

However, with the updated package:shorebird_code_push, we’ve provided the API tools to make it easy for you to provide your own group-based control over who gets what updates when. With patch tracks, you can support QA testing, a public beta, or even for controlled percentage-based rollout across your userbase.

ShorebirdUpdater methods checkForUpdate and update now take an optional track parameter which affords you powerful control over app updates in the field.

Examples of features it is now possible for you to add to your process:

Group based update distribution

The shorebird command line now takes a --track parameter which allows you to specify the track to send a patch to. For example, you can use shorebird patch ios --track staging to submit a patch to your iOS builds which is only available when requesting updates to the staging track.

This can be used for example to distribute updates only to your QA team for testing, which you can then later promote to the stable track for distribution to all users.

Percentage Rollouts

Similar to groups, it is now possible to implement percentage rollouts of patches with Shorebird. Currently we do not provide UI for controlling rollouts, but rather the tools to allow customers to do so on their own. We’ve written a guide demonstrating how this can be accomplished: https://docs.shorebird.dev/guides/percentage-based-rollouts/

A/B Testing

These same track APIs are also able to support A/B testing.

The logic is very similar to a percentage based rollout above, just determining whether to use patch A or B based on some other criteria.

Get Started

You can try out the new version now by adjusting your pubspec.yaml to use version 2.0 of shorebird_code_push and re-releasing a new version of your application using the revision of Flutter 3.24.5.

dependencies:
  shorebird_code_push: ^2.0.0

We’d love to hear your feedback! If there’s anything you’d like to see adjusted or improved, please let us know by filing an issue.

Shorebird allows you update your Flutter apps instantly, over the air. It takes less than 5 minutes to integrate and complies with Apple and Google store policies.
OR