Imagine you have two versions of the same application. Lets call them v1 and v2. The use of the two versions is the same. V1 is an older version which is extremely flexible and customizable but also slow and much harder to use. V2 is a newer version, new code-base but with a somewhat limited set of features although with much improved usability and performance (its faster). Some users might need both versions since not all features are available in both. Some features in V1 is not available in V2 and vice versa. Important: The two versions can not share content created. The vision would be to only have one version (V3) with the most important features from both versions but with the new UI. What steps can be taken to reach this goal without confusing users? Should the two versions be kept separate in the UI as two completely different apps which they can use simultaneously until V3 can be released, should there be a switch which takes them from V1 to V2 but limits them so that they can never use both at the same time? Any other ideas?