Skip to main content

Popular Use Cases

There are many scenarios where we can use FeatureProbe.

New Features Launching

New features launching or version release are the most common use of FeatureProbe. When we launch a new feature or update the service, we can enable them for a small fraction of the users in the first place to make sure things go smoothly without impacting the majority of users.

If those users don't complain or even give good feedback, we can populate the changes to more users, and repeat the procedure till all users update to the new version.

  • Use Case: After launching a new feature, enable it to 10% of users first. If those users don't encounter problems, increase to 50%, 100% of users gradually.

  • Operation Procedure

    • The operations team adds adds a new feature toggle named "Promotional Percentage Rollout", enable to 10% of users. Shown in below picture: roll out
    • The developer imports the FeatureProbe SDK in the code base, uses the toggle, then show to users.
    • After confirming that there is no problem with the 10% of users, operations teams increase the number of users until to 100% of users.

Online Promotion Activities

Many companies periodically carry out promotion activities to boost sales. These activities use similar templates in most cases, and the operation team just need to modify several parameters to create a new promotion.

  • Use Case: An online shopping platform carries out a Black Friday sales gala and needs to change prices for many items. In the past, the R&D team change items prices and launch the changes with a long workflow. Now they can use FeatureProbe to toggle the items price and make them effective within a second.

  • Operation Procedure

    • The online sales operation team adds a new project named "My First Project" and adds a feature toggle named "commodity_spike_activity" for the "online" environment. Shown in below picture: commodity spike activity screenshot

    • The developer imports the FeatureProbe SDK in the code base (Java code as an example), and uses the "commodity_spike_activity" toggle by setting the sdk Key which is assigned by FeatureProbe to "My First Project" "online" environment. The variations type is number, and the user parameter is "city".

      FPUser user = new FPUser(user_id);
      user.with("city", city_name);
      double discount = fpClient.numberValue("commodity_spike_activity", user, 1.0);
      discountSetTo(discount);
    • The developer launches code base. Then operation people enable the toggle to make the city based pricing incentive policy get effective.

    • If the operation team needs to change prices, they can change the price variation settings on the FeatureProbe UI easily.

Service Degradation

When the online service encounters extremely high demands that impact some dependency services or there is something goes wrong (for example, a backend service gets inaccessible unexpectedly), we need to guarantee the essential services work without disruption by using the cached data rather than fetching data from those problem services.

  • Use Case: The ecommerce service needs to call an inventory stocking service to show the product stocking information. If the stocking service encounters some issue and is not available, the operation team can make use of FeatureProbe to get stocking data from the cached content within a second and carry out the time costly application fallback operation or switch over to a backup service without interrupt the online service.

  • Operation Procedure

    • The R&D team adds a new project named "My First Project" and adds a feature toggle named "store_service_fallback" for the "online" environment. Shown in below picture: storage service fallback screenshot

    • The developer imports the FeatureProbe SDK in the code base (Java code as an example), and uses the "store_service_fallback" toggle by setting the sdk Key which is assigned by FeatureProbe to "My First Project" "online" environment. The variations type is boolean, and its result enables or disables the degradation.

       FPUser user = new FPUser(user_id);
      boolean fallback = fpClient.boolValue("store_service_fallback", user, false);
      if (fallback) {
      // Do something.
      } else {
      // Do normal process.
      }
    • When there is something wrong with the dependency services, the operation team can change the variation from False to True to enable the degradation with cached/staled data to prevent service from being interrupted.

A/B Testing

Design several solutions for a specific service, try them all and find out the most optimal/popular one.

  • Use Case: Decide a button's color. Mike, the product manager, wants to change a "Buy" button for their ecommerce platform in Paris. The original color is in red, and he believes the Paris people would like blue, and he also wants to try green. He uses FeatureProbe to do the A/B testing to find out the better choice.

  • Operation Procedure

    • The operation team adds a new project named "My First Project" and adds a feature toggle named "color_ab_test" for the "online" environment. Shown in below picture: AB test screenshot

    • The developer imports the FeatureProbe SDK in the code base (Java code as an example), and uses the "color_ab_test" toggle by setting the sdkKey which is assigned by FeatureProbe to "My First Project" "online" environment. The variations type is string, and the user parameter is "city".

      FPUser user = new FPUser(user_id);
    user.with("city", city_name);
    String color = fpClient.stringValue("color_ab_test", user, "red");
    setButtonColor(color);
    • The developer launches code base. Then operation people enable the toggle to make the city based color setting get effective.
    • After several days of testing, Mike finds out that Paris people click the purchase button more when it is in blue, and he carries our the configuration to show blue button for all Paris customers.