Skip to main content

V2 in V1

  • Status: Proposed
  • Authors: Michael White
  • Deciders: Abyss Team
  • Date: 05/03/2024

Context

One of the many initiatives for the Abyss team is to create a Abyss Version 2.0. Because of other initiatives, our v2 plans may be pushed back to being released in the beginning of 2025. There are many features that would be useful to consuming teams. Adding V2 components in our V1 releases providing users with a glimpse of what's to come and gather valuable feedback in the process.

Decision

Introduce V2 components in our V1 software to enable future capabilities in beta mode. This will allow us to provide additional functionality to users sooner. We are going to create different versions of components, hooks and tools, and have them be exported within the same directory as the V1 directory. The import will be:

import { V2Accumulator } from '@uhg-abyss/mobile/ui/Accumulator';

or

import { V2Accumulator as Accumulator } from '@uhg-abyss/mobile/ui/Accumulator';

Pros

  1. Early Feedback: By introducing v2 capabilities in beta mode within v1, we can gather early feedback from users, helping us refine and improve these features before the official v2 release.

  2. Incremental Rollout: V2 in V1 allows us to incrementally rollout new functionality to users, minimizing the risk of bugs or disruptions to the overall system.

  3. Customer Satisfaction: Providing users with early access to new features demonstrates our commitment to innovation and customer satisfaction, potentially increasing user engagement and retention.

Consequences

  1. Maintenance Overhead: We need to establish clear processes for adding addition components, including monitoring usage, handling feedback, and eventually removing deprecated components once features are officially released.

Alternatives Considered

  • One potential alternative is to create a v2 folder and to put any v2 versions of components, hooks and tools into a v2 folder. Then a consuming team would import with the syntax:
import { Badge } from '@uhg-abyss/mobile/v2/ui/Badge';
  • We can wait until v2 to release new capabilities.

Revision History

  • 05/03/2024: Initial feature flagging commit
  • 05/03/2024: Update to new v2 in v1 strategy
Table of Contents