質問: 機能の異なるセットを持つ同じアプリケーションの複数のバージョンを処理する方法 同じwebアプリケーションの2つのバージョンがあるとします。それらをv1とv2と呼びましょう。 2つのバージョンの使用法は同じです。 v1は古いバージョンで、非常に柔軟でカスタマイズ可能ですが、速度が遅く、使用がはるかに困難です。 v2は新しいバージョン、新しいコードベースですが、使いやすさとパフォーマンスが大幅に改善されていますが、機能はやや制限されています(高速です)。すべての機能が両方で利用できるわけではないため、一部のユーザーは両方のバージョンが必要になります。 v1の一部の機能はv2では使用できません。その逆も同様です。重要:2つのバージョンは、コードベースが異なるために作成されたコンテンツを共有できません。ビジョンは、両方のバージョンの最も重要な機能を備えた1つのバージョン(v3)のみを使用し、新しいuiを使用することです。ユーザーを混乱させることなく、この目標を達成するためにどのような措置をとることができますか? v3がリリースされるまで同時に使用できる2つの完全に異なるアプリとして2つのバージョンがuiで別々に保持されている場合、v1からv2にそれらを移行するスイッチがありますが、それらを両方で使用できないように制限します同時?他のアイデアはありますか?
回答: v1とv2の両方からユーザーが作成したコンテンツを処理できるv3を作成する必要があります。すべてのコンテンツとユーザーが移植されるまで、ユーザーが予告なしに2つのアプリを切り替えないようにする必要があります。v1でcontentを作成すると、アップグレードされたv2でアクセスできなくなりますか?作成したコンテンツの欠落は、ユーザーの目には、仕事の喪失として経験される可能性があります。ユーザーの入力は神聖であり、決して失われることはありません。ユーザーがアプリのバージョンを切り替えたときに、クロスバージョンのコンテンツがどのように表示されるのかわかりませんが、ユーザーのようにlookさせてください入力が失われました、失敗です。機能の分離について:多くのユーザーは喜んで新しいバージョンにアップグレードしますが、他の方向に進んでいます。多くのユーザーにとって、バージョンの変更は、あなたの仕事をしようとしている間、運ぶのに十分な認知的負荷です。その上、ユーザーが2つのバージョン間を行き来できるように(同時アクセスは、ご指摘のとおり)、ユーザーに公開することはありません。ユーザーが彼女の欠けている機能を見つけようとしている、そしておそらく2つの互換性のないバージョンの2つの機能を同じコンテンツに使用しようとしていると想像してみてください。 oneユーザーにoneバージョンを要求します(両方を要求しない限り)。ユーザーが機能とコンテンツの分離に取り組むのを支援するために、ユーザーアカウントを使用できます。これが私の提案する手順です: v1とv2が異なるドメインであることを明確にします。たとえば、「機能限定ベータ版」などの名前を付け、その欠点について適切に通知します。 ユーザーがv1とv2を同じユーザーアカウントで交互に使用できないようにします。 作成したコンテンツにアクセスできない「もう一方の」アプリの使用を明示的に選択したユーザーは、そのための別のユーザーアカウントを作成できます。 コンテンツをv1とv2からv3に統合し、完了したらユーザーをv1とv2の両方からv3に移植します。