O que aconteceu com o Unified File Model de Alan Cooper?


13

Durante muito tempo, Alan Cooper (nas três versões de seu livro "About Face") promove um "modelo de arquivo unificado" para, entre outras coisas, dispensar o que ele chama de caixa de mensagens mais idiota já inventada - aquela que o aparece quando pressiona o botão Fechar em um aplicativo ou formulário dizendo "Deseja descartar suas alterações?" Gosto da idéia e de seus argumentos, mas também tenho a reação instintiva contra ela que muitos programadores e usuários experientes têm.

Embora o livro de Cooper pareça bastante popular e respeitado, há muito pouca discussão sobre esse assunto em particular na Web que posso encontrar. Petter Hesselberg, o autor de "Programming Industrial Strength Windows", menciona isso, mas parece que sim.

Tenho a oportunidade de implementar isso no projeto (desktop) em que estou trabalhando, mas enfrento resistência de clientes e colegas de trabalho, que estão familiarizados com a maneira de fazer o MS Word e Excel. Estou em posição de anular as objeções deles, mas não tenho certeza se devo.

Minhas perguntas são:

Existem boas discussões sobre isso que não consegui encontrar? Alguém está fazendo isso em seus aplicativos? É uma boa idéia que, infelizmente, não seja prático implementá-lo até que, digamos, a Microsoft faça isso?


2
O Google Docs usa o "modelo de arquivo unificado". Ainda existe um botão Salvar, mas, na realidade, é um placebo: toda vez que você faz uma alteração, o arquivo é "salvo". Obviamente, o Google Docs também possui um modelo de "histórico" muito robusto, no qual você pode reverter para qualquer revisão anterior que desejar.
Dean Harding

Obrigado a todos pelas respostas. Particularmente ElGringoGrande e Berin Loritsch. Escolhi o Berin's apenas porque parecia um pouco mais completo. Ainda estou pensando na direção a seguir.
PAUL Mansour

Respostas:


5

A adequação do sistema de arquivos unificado realmente depende do aplicativo em questão. Coisas como aplicativos da Web, Microsoft OneNote e iOS se prestam a esse modelo. Quando um aplicativo é orientado por banco de dados, ele também se presta a esse modelo. No entanto, também posso pensar em áreas em que não é a melhor opção. Em particular, quando um aplicativo pode consumir dados que não vieram desse aplicativo, você precisa do conceito de um sistema de arquivos para localizar as informações.

Quanto a manter a memória e o disco sincronizados, eu quero, mas não o faço para o meu processador de texto. Se tiver guardado um tempo para salvar meu arquivo, convém garantir que não estou perdendo nenhuma informação. Essa necessidade foi atendida pelo recurso de salvamento automático que temos há vários anos. Se alguém tropeçar no cabo de alimentação, posso recuperá-lo. No entanto, crio vários documentos descartáveis ​​que não quero desarrumar no meu sistema de arquivos. Um sinal que será usado apenas por um dia, brincando com amostras de fontes etc.

A resposta é "depende". O UFS de Cooper é útil em alguns casos e menos em outros. O conhecimento técnico de seus usuários também pode influenciar sua decisão. Muitos de nós crescemos com o status quo e, às vezes, os benefícios da mudança não superam o custo da mudança. Eu avaliaria a adequação dessa abordagem no seu aplicativo.


7

A Microsoft faz isso no OneNote.

Eu não substituiria os desejos do usuário. Pensamos em implementar isso, mas descobrimos que muitos usuários fazem coisas sem pensar e usam o botão Fechar formulário (ou ctrl-alt-del, se não houver um) para impedir que seus erros sejam salvos.

Se você puder implementá-lo de uma maneira que permita que eles voltem para uma sessão anterior (uma grande espécie de desfazer), pode ser aceitável. Mas as pessoas são projetadas para tirar proveito do ambiente ao seu redor. Mude o ambiente e corre o risco de destruir a vantagem que eles descobriram.


1
E desfazer o fornecimento que ultrapassasse as linhas de sessão causaria seus próprios problemas. Quantas pessoas começam as cartas dizendo o que pensam e depois terminam tornando-as diplomáticas? Você precisaria de uma função de exportação separada.
David Thornley

+1, especialmente para o último parágrafo. Não substitua o conteúdo anterior ao salvar, mas adicione uma nova "versão", mantendo as versões antigas intactas. Para economizar espaço, é possível que várias versões compartilhem dados (imutáveis).
Joey Adams

1
@ David: esse é um bom exemplo de querer realmente um comando "publicar" em vez de um comando "salvar uma nova versão neste fluxo de versão".
Alex Feinman

1
@ Alex: Precisamente - exceto que a maioria das pessoas não procura um comando "publicar" ou "exportar". Afinal, não há diferença imediatamente visível, e eles estão acostumados a enviar a versão final do arquivo.
David Thornley

Concordo que você precisa ter uma opção "reverter para a versão anterior" se alguém quiser usar o modelo unificado - é fundamental para ele. De fato, no meu caso, todos os dados (esses são itens específicos do aplicativo, não são realmente arquivos, mas são todos iguais) estão em um DBMS que não permite atualizações destrutivas, por isso tenho todas as versões salvas. Essa é uma das razões pelas quais eu estou considerando o modelo unificado, já que é algo gratuito lembrar versões antigas de um item.
PAUL Mansour

6

O sistema de arquivos unificado já venceu!

Todos os aplicativos iOS * funcionam dessa maneira. Não há 'arquivos', não há sistema de arquivos, não há salvamento, apenas aplicativos que contêm dados aos quais você sempre pode retornar, a menos que seja excluído. Dado que o MacOS pode cair no iOS algum dia, eu diria que o modelo definitivamente pegou.

Os sites funcionam da mesma maneira - raramente você salva um documento, raramente navega em um conjunto de documentos e muito raramente compartilha documentos entre sites. Os documentos são incorporados no site, da maneira como essas perguntas e respostas são incorporadas no StackExchange.

Historicamente, houve algumas tentativas incômodas de esconder isso em Windows e Macs, e isso afastou as pessoas da ideia. Mas a mudança para uma nova plataforma em que ninguém espera que exista um navegador de arquivos liberou as empresas para a transição completa.

(* Não conheço sistemas operacionais Android ou outros telefones; talvez também esteja lá.)


2
No entanto, existem sistemas de arquivos (em boa parte) para separar dados e interfaces de programas e aplicativos. Existem argumentos de ambos os lados.
Jé Queue

2
@Alex, exceto que você não pode compartilhar informações entre aplicativos. Um arquivo de jogo salvo não pode ser aberto por um editor de texto no iOS, porque esse outro aplicativo não tem acesso à sandbox.
Stephen Furlani

@ Stephen, isso é verdade, e um aspecto essencial da eliminação de um modelo mental baseado em arquivo. Se você deseja mover dados entre aplicativos, deve recorrer ao compartilhamento direto entre aplicativos ("compartilhe no Facebook!") Ou um intermediário que ambos possam falar (como a área de transferência). Estou confuso com o seu "exceto".
Alex Feinman

Você pode compartilhar informações entre aplicativos - o iOS suporta manipuladores de arquivos e também passa informações por meio de manipuladores de URL. É feito apenas em um nível em que os usuários estão conectando dados entre aplicativos, não sendo o intermediário no processo de transferência.
Kendall Helmstetter Gelner

1
@ Alex, espere, então usar o intermediário da área de transferência (temporário) é aceitável, mas usar um sistema de arquivos comum (permanente) não é?
Stephen Furlani

1

Você vai manter os dados deles em arquivos ou em algum tipo de banco de dados?

Se você espera que eles tenham acesso físico aos arquivos, precisará ensiná-los que seus arquivos são 'especiais'. Em seu modelo mental atual, eles podem copiar, colar, renomear e excluir. Tenho certeza de que alguns deles já usam renomear como forma de 'versionar' seus dados (por exemplo, resume2010.doc, SalesDataFromBob2.xls).

Se for um banco de dados, tenho certeza de que eles desejam exportar / importar arquivos em algum momento.


0

Ter uma opção proeminentemente exibida "salvar sempre" para o usuário é tão difícil de implementar?


1
Não, não é difícil de implementar. Mas é realmente uma boa ideia criar uma opção e dar suporte a dois modelos aqui? Acho que não. Acho melhor escolher um e continuar com ele.
PAUL Mansour
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.