なぜUIにバージョン管理を導入しないのか?
Why Don't We Version UIs?
私は日々の生活の中で、頻繁に変更されるUIに苛立ちを感じています。APIはバージョン管理されているのに、なぜUIにはバージョン管理が存在しないのでしょうか?ユーザーがUIのバージョンを切り替えられるようにすれば、長期的なテストも可能になり、ユーザーの不満も軽減されるのではないでしょうか。
私たちは2015年からUIのバージョン管理を行っています。バックエンドの計画と後方互換性のあるデータ処理が必要ですが、解決可能な技術的課題です。フロントエンドからのAPIコールにアクティブなバージョンを含めることで、バックエンドは古いバージョンからの呼び出しを理解し、エンベロープとペイロードのバージョンアップグレードを行うことができます。また、フロントエンドは余分なフィールドを無視するように設計する必要があります。これにより、一貫性のないバグから保護され、A/Bテストなどの実験が可能になり、問題の監視も詳細に行えます。
古いSoftware/SAASのUIでバージョン番号が表示されているのを見たことがあります。しかし、ユーザーにバージョンを切り替えさせることは、通常、バックエンドとフロントエンドの両方で変更が発生するため、切り替えに伴う複雑さからベンダーは提供したがらないでしょう。
大きな変更がある場合、多くのサイトやアプリケーションでは、ユーザーが新しいバージョンを試すためのオプトインや、古いバージョンに戻るためのオプトアウトを許可しています。RedditやOutlookがその例です。しかし、これは大きな変更に限られ、通常は単なる古い|新しいのトグルであり、ユーザーが履歴の任意の時点に戻れる完全なバージョン管理ではありません。完全なバージョン管理はメンテナンスの悪夢になるでしょう。
一つの反例は、Redditのold.reddit.comインターフェースと新しいインターフェースです。
私にとって、アップグレードの絶え間ない流れを避けることは、安定したインターフェース(とワークフロー)を維持するための信頼できる方法です。もちろん、それは無料ではありません。幸運を祈ります。