Variant’s technology offers a uniquely generalized, patent-pending approach to instrumenting online experiments. This degree of abstraction liberates the developer to think of an experiment as an arbitrary application code delta on arbitrary interactive application(s): Web, mobile, IVR, game console, etc. Variant experiments can involve multiple components on either side of the firewall.
Eliminate deployment risk by deploying every self-contained code delta to production under a toggle. Leverage Variant’s targeting and qualification facilities to programmatically manage user traffic into the new code path, throttle the traffic up or down, or even throw the toggle off, should a defect be discovered in the new code.
Variant Experience Server
Full-Stack Feature Scoped Experiments
Variant server hides all the complexity of managing experience variations, leaving host application free from instrumentation code smell. All the components of the host application(s), participating in an experiment, connect to Variant server via a native library, which exposes Variant server’s functionality via an intuitive native API*.
Variant makes running hundreds of concurrent experiments at one time, or doing hundreds of production deployments daily commonplace. Low instrumentation and runtime overhead, coupled with advanced variation concurrency removes risk, eliminates bottlenecks, and fosters modularity and code reuse.
Developers love Variant because Variant was created with developers in mind. There are no clunky Web consoles to click through in order to create an experiment. Every phase of a Variant experiment life cycle is programmable and therefore fits right with the established development ops. Variant server is highly extendible via a fully-featured server side API, which provides a powerful framework for enrichment of the default semantics with custom behavior.
Variant empowers product owners to validate and refine every new product idea through controlled experiments. Welcome to the world of continuous experimentation, where every product idea is treated as a falsifiable product hypothesis that must be proven right. Product owners can revise feature specs in vivo, as the feature goes through successive rounds of experimental refinement. Creating or updating experiment metadata is a matter of using a text editor.
Variant Experience Server commands particular appeal with developers. There is no clunky UI to click through: all phases of experiment or toggle development are fully programmable and play well with the rest of your development environment. Variant server is highly extendible via a the server side Extension API, which provides a rich framework for enhancing server’s default semantics with custom behavior, encapsulated in reusable components.
Enhance your continuous deployment workflow with feature toggles. Take advantage of Variant server’s targeting and qualification facilities to programmatically manage which user population is sent into the new code path, throttle the traffic up or down, or even throw the toggle off, should a defect be discovered in the new code. No more expensive code rollbacks affecting unrelated features, just pure scripted nirvana.
Web & Mobile
The earliest applications of online controlled experiments (“A/B tests”) were developed for ecommerce Web applications, where people have experimented with anything from the color of the BUY button to third party integrations. Variant is exceptionally well suited for ecommerce applications, including the more recent use cases, such as online booking, consumer-to-consumer marketplaces, online lending, etc.
Interactive Voice Response (IVR)
Variant architecture makes no assumptions about the host application, except that it is interactive. IVR applications are a good example of non-GUI interactive applications. Whether you contemplate a change to your inbound phone menu, or need to keep your online and voice-response experiences integrated, Variant technology is singularly capable of instrumenting that change as a controlled experiment.
Application Programming Interfaces (APIs)
APIs can be viewed as basic, single cycle interactive applications. We distinguish between imperative APIs, which carry out a well defined, immutable task, like process a credit card payment, and interrogative APIs, like a search request, or a personalized product suggestion. Interrogative APIs rely on complex, evolving and tunable algorithms that are subject to continuous improvement. Such APIs can greatly from ongoing controlled experiments.