Was ist mit Alan Coopers Unified File Model passiert?

13

Alan Cooper (in den 3 Versionen seines Buches "About Face") hat lange Zeit für ein "einheitliches Dateimodell" geworben, um unter anderem auf das zu verzichten, was er als die idiotischste Nachrichtenbox bezeichnet, die jemals erfunden wurde - die eine Wird angezeigt, wenn Sie in einer App oder einem Formular auf die Schaltfläche "Schließen" klicken und die Meldung "Möchten Sie Ihre Änderungen verwerfen?" Ich mag die Idee und seine Argumente, habe aber auch die ruckelige Reaktion dagegen, die die meisten erfahrenen Programmierer und Benutzer haben.

Obwohl Coopers Buch sehr beliebt und respektiert zu sein scheint, gibt es im Internet bemerkenswert wenig Diskussionen über dieses spezielle Thema, das ich finden kann. Petter Hesselberg, der Autor von "Programming Industrial Strength Windows", erwähnt es, aber das scheint es auch zu sein.

Ich habe die Möglichkeit, dies in dem (Desktop-) Projekt umzusetzen, an dem ich arbeite, stoße jedoch auf Widerstand von Kunden und Mitarbeitern, die natürlich mit der Arbeitsweise von MS Word und Excel vertraut sind. Ich bin in der Lage, ihre Einwände außer Kraft zu setzen, bin mir aber nicht sicher, ob ich sollte.

Meine Fragen sind:

Gibt es gute Diskussionen darüber, die ich nicht gefunden habe? Tut dies jemand in seinen Apps? Ist es eine gute Idee, dass es leider nicht praktikabel ist, es zu implementieren, bis beispielsweise Microsoft es tut?

PAUL Mansour
quelle
2
Google Text & Tabellen verwendet das "einheitliche Dateimodell". Es gibt immer noch eine Schaltfläche zum Speichern, aber in Wirklichkeit handelt es sich um ein Placebo: Jedes Mal, wenn Sie eine Änderung vornehmen, wird die Datei "gespeichert". Natürlich verfügt Google Text & Tabellen auch über ein sehr robustes "Verlaufsmodell", in dem Sie auf eine beliebige frühere Version zurückgreifen können.
Dean Harding
Vielen Dank für die Antworten. Besonders ElGringoGrande und Berin Loritsch. Ich habe nur Berins ausgewählt, weil es ein bisschen vollständiger zu sein schien. Ich überlege immer noch, in welche Richtung ich gehen soll.
PAUL Mansour

Antworten:

5

Die Angemessenheit des Unified File System hängt wirklich von der jeweiligen Anwendung ab. Dinge wie Webanwendungen, Microsoft OneNote und iOS-Anwendungen eignen sich für dieses Modell. Wenn eine Anwendung datenbankgesteuert ist, eignet sie sich auch für dieses Modell. Ich kann mir aber auch Bereiche vorstellen, in denen dies nicht die beste Option ist. Insbesondere wenn eine Anwendung Daten verarbeiten kann, die nicht von dieser Anwendung stammen, benötigen Sie das Konzept eines Dateisystems, um die Informationen zu finden.

Was die Synchronisierung von Speicher und Festplatte angeht, möchte ich das, aber nicht für mein Textverarbeitungsprogramm. Wenn ich mir die Zeit genommen habe, um meine Datei zu speichern, möchte ich möglicherweise sicherstellen, dass keine Informationen verloren gehen. Diesem Bedürfnis wurde durch die automatische Speicherfunktion Rechnung getragen, die wir seit mehreren Jahren haben. Wenn jemand über das Netzkabel stolpert, kann ich zumindest einen Teil davon zurückbekommen. Ich erstelle jedoch eine Reihe von Wegwerfdokumenten, die mein Dateisystem nicht verschmutzen sollen. Ein Zeichen, das nur für einen Tag verwendet wird und mit Schriftproben usw. herumspielt.

Die Antwort lautet "es kommt darauf an". Das UFS von Cooper ist in einigen Fällen nützlich, in anderen weniger. Der technische Sachverstand Ihrer Benutzer kann auch bei Ihrer Entscheidung eine Rolle spielen. Die meisten von uns sind mit dem Status Quo aufgewachsen, und manchmal überwiegen die Vorteile von Veränderungen nicht die Kosten von Veränderungen. Ich würde die Angemessenheit dieses Ansatzes in Ihrer App bewerten.

Berin Loritsch
quelle
7

Microsoft macht es in OneNote.

Ich würde die Benutzerwünsche nicht außer Kraft setzen. Wir haben darüber nachgedacht, dies zu implementieren, haben jedoch herausgefunden, dass viele Benutzer Dinge tun, ohne darüber nachzudenken, und die Schaltfläche zum Schließen des Formulars (oder Strg-Alt-Entf, wenn es keine gibt) verwendet, um zu verhindern, dass ihre Fehler gespeichert werden.

Wenn Sie es so implementieren könnten, dass sie zu einer vorherigen Sitzung zurückkehren können (eine große Art von Rückgängigmachung), könnte es akzeptabel sein. Aber die Menschen sollen die Umwelt um sich herum nutzen. Ändern Sie die Umgebung und Sie riskieren, den entdeckten Vorteil zu zerstören.

ElGringoGrande
quelle
1
Und die Bereitstellung von Undos, die Sitzungslinien überschreiten, würde eigene Probleme verursachen. Wie viele Leute schreiben Briefe, in denen sie sagen, was sie denken, und schließen sie dann diplomatisch ab? Sie benötigen eine separate Exportfunktion.
David Thornley
+1, insbesondere für den letzten Absatz. Überschreiben Sie beim Speichern keine vorherigen Inhalte, sondern fügen Sie eine neue "Version" hinzu, wobei ältere Versionen intakt bleiben. Um Platz zu sparen, können mehrere Versionen (unveränderliche) Daten gemeinsam nutzen.
Joey Adams
1
@David: Das ist ein gutes Beispiel dafür, wie man wirklich einen "Publish" -Befehl wünscht, anstatt einen "Save a new version in this version stream" -Befehl.
Alex Feinman
1
@Alex: Genau - mit der Ausnahme, dass die meisten Leute nicht nach einem Befehl zum Veröffentlichen oder Exportieren suchen. Es gibt schließlich keinen sofort sichtbaren Unterschied, und sie sind es gewohnt, nur die endgültige Version der Datei zu senden.
David Thornley
Ich bin damit einverstanden, dass Sie die Option "Zur vorherigen Version zurückkehren" benötigen, wenn Sie das einheitliche Modell verwenden möchten - dies ist von grundlegender Bedeutung. Tatsächlich befinden sich in meinem Fall alle Daten (dies sind app-spezifische Elemente, nicht wirklich Dateien, aber sie sind alle gleich) in einem DBMS, das keine destruktiven Updates zulässt, sodass ich jede Version jemals gespeichert habe. Dies ist einer der Gründe, warum ich sogar das einheitliche Modell in Betracht ziehe, da es ein Werbegeschenk ist, alte Versionen eines Gegenstands zurückzurufen.
PAUL Mansour
6

Das einheitliche Dateisystem hat bereits gewonnen!

Alle iOS * -Anwendungen funktionieren auf diese Weise. Es gibt keine 'Dateien', kein Dateisystem, keine Speicherung, nur Anwendungen, die Daten enthalten, zu denen Sie immer zurückkehren können, es sei denn, Sie löschen sie. Angesichts der Tatsache, dass MacOS eines Tages auf iOS fallen könnte, würde ich sagen, dass sich das Modell definitiv durchgesetzt hat.

Websites funktionieren auch so: Selten speichern Sie ein Dokument, navigieren durch eine Reihe von Dokumenten und geben Dokumente nur sehr selten zwischen Websites frei. Die Dokumente sind in die Site eingebettet, so wie diese Fragen und Antworten in StackExchange eingebettet sind.

In der Vergangenheit gab es ein paar umständliche Versuche, dies in Windows und Macs umzuwandeln, und es hat die Leute von der Idee abgehalten. Die Umstellung auf eine neue Plattform, auf der niemand einen Dateibrowser erwartet, hat die Unternehmen jedoch zu einer vollständigen Umstellung veranlasst.

(* Ich kenne mich mit Android oder anderen Betriebssystemen nicht aus. Vielleicht auch dort.)

Alex Feinman
quelle
2
Es gibt jedoch (zu einem guten Teil) Dateisysteme, um Daten und Schnittstellen von Programmen und Anwendungen zu trennen. Es gibt Argumente auf beiden Seiten.
Jé Queue
2
@Alex, außer dass Sie keine Informationen zwischen Anwendungen teilen können. Eine gespeicherte Spieldatei kann unter iOS nicht von einem Texteditor geöffnet werden, da diese andere App keinen Zugriff auf die Sandbox hat.
Stephen Furlani
@Stephen, das ist wahr und ein wesentlicher Aspekt bei der Eliminierung eines dateibasierten mentalen Modells. Wenn Sie Daten zwischen Anwendungen verschieben möchten, müssen Sie entweder auf die direkte Freigabe zwischen Apps ("Diese auf Facebook freigeben!") Zurückgreifen oder beide können sprechen (wie die Zwischenablage). Ich bin verwirrt von deinem "Außer".
Alex Feinman
Sie können Informationen zwischen Anwendungen austauschen - iOS unterstützt Dateihandler und die Weitergabe von Informationen über URL-Handler. Dies geschieht nur auf einer Ebene, auf der Benutzer Daten zwischen Anwendungen verbinden und nicht der Mittelsmann beim Übertragungsprozess sind.
Kendall Helmstetter Gelner
1
@Alex, warte, die Verwendung des (temporären) Vermittlers in der Zwischenablage ist akzeptabel, die Verwendung eines gemeinsamen (permanenten) Dateisystems jedoch nicht?
Stephen Furlani
1

Werden Sie ihre Daten in Dateien oder in einer Art Datenbank aufbewahren?

Wenn Sie erwarten, dass sie physischen Zugriff auf die Dateien haben, müssen Sie ihnen beibringen, dass Ihre Dateien "speziell" sind. In ihrem aktuellen mentalen Modell können sie kopieren, einfügen, umbenennen und löschen. Ich bin sicher, dass einige von ihnen bereits Rename verwenden, um ihre Daten zu "versionieren" (z. B. resume2010.doc, SalesDataFromBob2.xls).

Wenn es sich um eine Datenbank handelt, werden sie sicher irgendwann Dateien exportieren / importieren wollen.

rperetti
quelle
0

Ist es schwierig, eine prominent angezeigte Option "Immer speichern" für den Benutzer zu implementieren?

JeffO
quelle
1
Nein, es ist überhaupt nicht schwer zu implementieren. Aber ist es wirklich eine gute Idee, hier eine Option zu erstellen und zwei Modelle zu unterstützen? Ich glaube nicht. Ich denke, ich bin besser darin, einen auszuwählen und dabei zu bleiben.
PAUL Mansour