アランクーパーの統合ファイルモデルはどうなりましたか?


13

長い間、アラン・クーパー(彼の著書「About Face」の3つのバージョンで)は、とりわけ、彼がこれまでに発明した最もばかげたメッセージボックスと呼ばれるものを省くために「統一ファイルモデル」を推進してきました。アプリまたはフォームの[閉じる]ボタンを押すと、「変更を破棄しますか?」というポップアップが表示されます。私はこのアイデアと彼の議論が好きですが、ほとんどのベテランのプログラマーとユーザーが持っている、それに対するひねくれた反応もあります。

Cooperの本は非常に人気があり尊敬されているように見えますが、この特定の問題に関するWeb上の議論はほとんどありません。「Programming Industrial Strength Windows」の作者であるPetter Hesselbergがそれについて言及していますが、それについては思われます。

私は現在取り組んでいる(デスクトップ)プロジェクトでこれを実装する機会がありますが、MS WordとExcelの方法を熟知している顧客や同僚からの抵抗に直面しています。私は彼らの異議を無効にする立場にありますが、そうすべきかどうかはわかりません。

私の質問は:

これについて、私が見つけられなかった良い議論はありますか?アプリでこれをしている人はいますか?残念ながら、Microsoftがやるまで実装するのは実用的ではないというのは良い考えですか?


2
Googleドキュメントは「統合ファイルモデル」を使用します。保存ボタンはまだありますが、実際にはプラセボです。変更を加えるたびに、ファイルは「保存」されます。もちろん、Google Docsには非常に堅牢な「履歴」モデルもあり、以前のリビジョンに戻すことができます。
ディーンハーディング

回答ありがとうございます。特にElGringoGrandeとBerin Loritsch。ベリンを選んだのは、もう少し完全に見えたからです。私はまだ取る方向を熟考しています。
ポールマンスール

回答:


5

統合ファイルシステムの適切性は、実際のアプリケーションに依存します。Webアプリケーション、Microsoft OneNote、iOSアプリケーションなどは、そのモデルに適しています。アプリケーションがデータベース駆動型である場合、そのモデルにも適しています。しかし、私はそれが最良の選択肢ではない分野を考えることもできます。特に、アプリケーションがそのアプリケーションからではないデータを消費できる場合、情報を見つけるためにファイルシステムの概念が必要です。

メモリとディスクの同期を保つ限り、私はそれを望みますが、ワードプロセッサには向いていません。ファイルを保存するために時間をかけた場合、情報を失っていないことを確認したい場合があります。このニーズは、数年前からあった自動保存機能によって処理されています。誰かが電源コードにつまずいた場合、少なくともその一部を取り戻すことができます。ただし、ファイルシステムに散らばらないようにするために、多数の使い捨てドキュメントを作成します。1日だけ使用され、フォントサンプルなどで遊んでいるサイン。

答えは「依存する」です。CooperのUFSは、ある場合には有用ですが、他の場合にはそれほど有用ではありません。ユーザーの技術に精通していることも、その決定に影響する可能性があります。私たちのほとんどは現状に合わせて成長しており、時には変化の利点が変化のコストを上回ることはありません。アプリでのそのアプローチの適切性を評価します。


7

MicrosoftはOneNoteでそれを行います。

ユーザーの希望を無効にすることはありません。私たちはこれを実装することを考えましたが、多くのユーザーが考えずに物事を行うことを見つけ、フォームを閉じるボタン(またはctrl-alt-delがない場合)を使用して、間違いが保存されないようにしました。

前のセッションに戻ることができるように実装できる場合(ある種の大きなやり直し)、それは受け入れられるかもしれません。しかし、人々は周囲の環境を利用するように設計されています。環境を変えると、彼らが発見した利点を破壊する危険があります。


1
また、セッションの行を超えた取り消しを提供すると、独自の問題が発生します。何人の人が自分の考えを言って手紙を書き始め、外交的にすることで終わりますか 別のエクスポート機能が必要です。
デビッドソーンリー

+1、特に最後の段落。保存時に以前のコンテンツを上書きせず、新しい「バージョン」を追加して、古いバージョンをそのまま保持します。スペースを節約するために、複数のバージョンに(不変の)データを共有させることができます。
ジョーイアダムス

1
@David:これは、「このバージョンストリームに新しいバージョンを保存する」コマンドではなく、「発行する」コマンドが本当に必要な良い例です。
アレックスファインマン

1
@Alex:正確に-ほとんどの人が「公開」または「エクスポート」コマンドを探しに行かないことを除いて。結局のところ、すぐに目に見える違いはなく、ファイルの最終バージョンを送信するだけに使用されます。
デビッドソーンリー

統一されたモデルを使用する場合は、「以前のバージョンに戻す」オプションが必要であることに同意します。これが基本です。実際、私の場合、すべてのデータ(これらはアプリ固有のアイテムであり、実際にはファイルではありませんが、すべて同じです)は破壊的な更新を許可しないDBMSにあるため、すべてのバージョンを保存しています。これは、アイテムの古いバージョンを思い出すのが自由なため、統一モデルを検討している理由の1つです。
ポールマンスール

6

統一されたファイルシステムはすでに勝ちました!

すべてのiOS *アプリケーションはこの方法で動作します。「ファイル」はなく、ファイルシステムも保存もありません。削除しない限り、常に戻ることができるデータを含むアプリケーションのみです。MacOSがいつかiOSに落ちるかもしれないことを考えると、このモデルは間違いなく流行していると思います。

ウェブサイトもこの方法で動作します。ドキュメントを「保存」することはまれであり、ドキュメントのセットをナビゲートすることはめったになく、Webサイト間でドキュメントを共有することはほとんどありません。ドキュメントはサイト内に埋め込まれ、これらの質問と回答はStackExchange内に埋め込まれます。

歴史的に、これをWindowsとMacに寄せ付けようとするいくつかの厄介な試みがありました。しかし、ファイルブラウザの存在を誰も期待していない新しいプラットフォームへの変更により、企業は完全に移行することができました。

(* Androidや他の電話OSからは知りません。おそらくそこにもあります。)


2
ただし、データやインターフェイスをプログラムやアプリケーションから分離するためのファイルシステムが(大部分)存在します。両側に議論があります。
ジェキュー

2
@Alex。ただし、アプリケーション間で情報を共有することはできません。他のアプリはサンドボックスにアクセスできないため、セーブゲームファイルはiOSのテキストエディターで開くことができません。
スティーブンフルラニ

@Stephen、それは真実であり、ファイルベースのメンタルモデルを排除するための重要な側面です。アプリケーション間でデータを移動する場合は、アプリ間で直接共有する(「Facebookでこれを共有する」)か、両方が話すことができる(クリップボードのように)どちらかに頼る必要があります。私はあなたの「例外」に混乱しています。
アレックスファインマン

アプリケーション間で情報を共有できます-iOSはファイルハンドラーをサポートし、URLハンドラーを介して情報を渡します。転送プロセスの仲介者ではなく、ユーザーがアプリケーション間でデータを接続するレベルで行われます。
ケンドールヘルムステッターゲルナー

1
@アレックス、待って、クリップボード(一時的な)仲介を使用することは許容できますが、一般的なファイルシステム(永続的)を使用することはできませんか?
スティーブンフルラニ

1

データをファイルまたは何らかのデータベースに保存しますか?

ファイルに物理的にアクセスできると予想される場合は、ファイルが「特別」であることを教える必要があります。現在のメンタルモデルでは、コピー、貼り付け、名前の変更、削除ができます。データの「バージョン管理」の方法として名前変更を既に使用している人もいると思います(たとえば、resume2010.doc、SalesDataFromBob2.xls)。

データベースであれば、ある時点でファイルをエクスポート/インポートしたいと思うはずです。


0

実装が困難な、ユーザー向けの「常に保存」オプションが目立つように表示されていますか?


1
いいえ、実装するのは難しくありません。しかし、ここでオプションを作成して2つのモデルをサポートすることは本当に良い考えですか?そうは思いません。私は1つを選んでそれに固執する方が良いと思います。
ポールマンスール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.