Sítio do Piropo

B. Piropo

< Coluna em Fórum PCs >
Volte
04/08/2008

< Vista e WinFS: Mudança de paradigma >


Os que vêm acompanhando esta série de colunas devem ter estranhado a demora na publicação desta. E com razão. Mas razões também tenho eu para justificar o atraso. Razões que nada têm a ver com minhas usuais atribulações, falta de tempo ou excesso de atividades, mas sim com o próprio assunto da coluna. Razões que são, portanto, relevantes para os leitores. Vamos então a elas.

Tenho passado estes últimos dias decidindo sobre como dar prosseguimento a este tema. Para ter condições de decidir com um grau razoável de informações, gastei um bom tempo me familiarizando com o sistema de indexação de Vista, a estrutura proposta para o sistema de arquivos Win FS, o complexo sistema de buscas incorporado ao SO e a forma de usá-lo para criar as chamadas “Pastas virtuais”. No começo achei a coisa demasiadamente complicada. Depois, na medida que me familiarizava com o tema e conhecia mais detalhes, acabei percebendo a razão de minha confusão inicial. Que, tanto quanto me foi dado perceber, é a brutal mudança de paradigma implicada pela adoção do Win FS, o sistema de arquivos “centrado em documentos” proposto inicialmente para Vista.

Vou tentar me explicar.

Eu (como, presumo, a maioria dos membros deste Fórum e dos leitores desta série de colunas) tenho um razoável grau de familiaridade com computadores. Durante anos a fio tenho gerado arquivos – sem exagero, milhares deles – recebido arquivos, copiado arquivos e transferido arquivos para meu computador das formas mais variadas possíveis – de disquetes, nos anos oitenta, até “pen drives” e Internet nos tempos modernos. Durante todos estes anos tenho trocado de máquina – desde meu primeiro XT até minhas máquinas atuais, foram dezenas delas – mas, apesar das faxinas regulares e dos cuidados para não acumular demasiado “lixo”, a maior parte destes arquivos têm me acompanhado, migrando de disco rígido em disco rígido, devorando cada vez mais capacidade de armazenamento e se acumulando de forma quase incontrolável. E, principalmente, se embaralhando.

Mas, de uma forma ou de outra, há que controlá-los. Do contrário, como consultar, por exemplo, uma coluna publicada no início dos anos noventa para citar uma idéia nela contida?

Pois bem: a funcionalidade usada para organizar e controlar arquivos em computadores é o sistema de arquivos adotado pelo sistema operacional da máquina.

Durante mais de vinte anos minha mente acostumou-se a encarar o assunto de forma hierárquica. E assim se acostumou porque é assim que todos os sistemas de arquivos com os quais lidei até hoje organizam arquivos nos meios de armazenamento de massa. Uma hierarquia em cujo topo se localizam as unidades de armazenamento (em geral “unidades de disco”, ou seja, discos rígidos ou partições de discos rígidos, mas o conceito vale igualmente para qualquer outro meio que suporte acesso direto como CDs, DVDs, “pen drives”, disquetes e similares; a quem tem dúvidas sobre o que quero dizer com acesso direto, sugiro consultar a coluna “Computadores XXXV: Métodos de acesso”).

Abaixo deste topo da hierarquia se estende, em uma estrutura tipo árvore invertida (onde raiz e tronco estão no alto e as ramificações embaixo), um emaranhado de pastas (ou diretórios) que contém arquivos e, eventualmente, podem conter outras pastas e assim por diante. Para ilustrar, um pouco de cultura: a reprodução da pintura “Gray Tree” de Piet Mondrian, um exemplo clássico de arte abstrata que não ousei exibir “de cabeça para baixo” por respeito ao artista e sua arte. Mas que, se o tivesse feito, reproduziria uma estrutura em árvore invertida.

Figura 1: “Gray Tree”, de Mondrian.

Tão acostumado estou a este paradigma que a primeira coisa que penso quando desejo consultar um arquivo é: “em que pasta posso encontrá-lo?”. E não creio que com você a coisa seja diferente.

Parece natural pensar assim.

Mas não é. Por mais que estejamos acostumados com isso e achemos uma atitude natural, esta é a forma mais inconveniente de resolver o problema (ou seja, de encontrar o arquivo). E nada tem de natural. Somente somos levados a acreditar que é natural porque nos acostumamos tanto com ela e de tal forma nos adaptamos às suas peculiaridades que não conseguimos perceber o quanto ela é artificial, incômoda e pouco eficaz.

Pense um pouco. Imagine que você queira encontrar em seu computador o arquivo de uma determinada imagem. Digamos, uma foto.

Agora, diga-me lá: quando aquela foto lhe vem à mente, qual a primeira coisa que você lembra? Seria da pasta onde ela foi armazenada? 

Se é assim, você é um caso perdido e já se envolveu tanto com computadores que provavelmente sua mente já funciona em binário e não há mais esperanças de fazê-lo retornar ao mundo dos mortais. Porque a maioria das pessoas, quando pensa na foto, lembra de seu tema ou assunto. Das pessoas ou paisagem que ela mostra. Do local onde foi “tirada”. Pensa na data – ou pelo menos na época aproximada – em que foi produzida. Em tudo ou qualquer coisa que envolva a foto propriamente dita. Talvez na marca da câmara que a gerou. Ou em suas dimensões (“ah, era uma foto bem grandona!!!”). Em quem tirou a foto. Em qualquer coisa.

Menos na pasta onde ela foi armazenada.

É claro que isso não vale só para fotos. Pense em um documento. Qualquer documento de texto que você saiba que está armazenado em seu computador e deseja consultar. O que lhe vem à mente? Provavelmente o assunto de que trata o documento. Ou seu tipo (seria uma carta, um relatório, um texto didático?). Quem sabe o autor? O tamanho? O número de páginas? A época aproximada em que foi criado, ou armazenado, ou alterado, talvez. Ou o programa que o gerou. Certamente algumas palavras de seu conteúdo (é quase impossível pensar em um documento de texto sem que nos venham à mente algumas palavras ou frases marcantes que ele contém). Mas será que a pasta onde ele está armazenado estaria entre estas características das quais nos lembramos?

Isto vale para qualquer tipo de arquivo, inclusive arquivos executáveis (dois quais, em geral, lembra-se primeiro o nome ou parte dele e sua “extensão”).

Se é assim, então por que cada vez que preciso encontrar um documento devo deixar de lado todas as suas características essenciais e das quais me lembro para entrar em uma estrutura hierárquica de pastas e procurar em seus ramos que se espalham por incontáveis níveis aquela que abriga meu documento?

A resposta é simples: porque os computadores nos “ensinaram” a agir assim. E fizeram isso porque, pelo menos até agora, eles – computadores – não “sabem” agir de outra forma.

Mas, que diabos, o computador é uma máquina feita para trabalhar para mim, conforme meus desejos e anseios. Ele deve agir de acordo com meu comando. Não sou eu que preciso me adaptar a ele, ele é que tem que se adaptar a mim.

Ora, se a forma que o computador usa para organizar (e, portanto, encontrar quando necessário) arquivos é seu sistema de arquivos e se quando eu penso em um documento me vem primeiro à mente uma frase que ele contém, o sistema de arquivos de meu computador deve ser capaz de me fornecer o arquivo – ou pelo menos uma lista seleta de arquivos onde eu poderei encontrar com mais facilidade aquele que procuro – baseado apenas naquela frase.

Ou seja: eu não tenho que trabalhar para o computador abrindo um programa “explorador” de arquivos e fuçar, nível a nível, em uma intrincada árvore hierárquica, até chegar à pasta onde está meu arquivo. O computador é que tem que trabalhar para mim e me fornecer o arquivo em troca de uma frase nele contida ou de qualquer outra característica dele que me venha à mente. E este é o ponto importante: qualquer característica da qual eu seja capaz de me lembrar facilmente. Jamais da pasta onde ele foi armazenado.

O que contraria tudo o que sabemos e com o que estamos acostumados no que toca a sistemas de arquivos...

Um sistema de arquivos não hierárquico e que desse mais relevância ao conteúdo e demais características dos documentos do que ao local onde ele foi armazenado traria diversas vantagens. Dentre as quais uma muito prática: não obrigar o usuário a selecionar uma pasta ou local para gravar o arquivo. Porque, se quando desejar encontrá-lo não for preciso saber em que pasta o arquivo está armazenado, não há porque se preocupar com isto também na hora de gravá-lo. Em vez de selecionar uma pasta para gravar o arquivo – cujo nome eu talvez esqueça daqui a alguns anos –, por que não agregar a ele (ou seja, “embutir” no próprio arquivo, porém de forma não aparente) algumas características que me ajudem a encontrá-lo mais tarde? Quem sabe eu possa assinalá-lo com “marcas” (em inglês, “tags”) invisíveis como “carta para fulano”, “coluna para FPCs” ou algo igualmente esclarecedor? Ou classificá-lo em uma categoria criada por mim mesmo. Ou escrever seu título. Ou incluir um comentário.

Note que fazer isso dá exatamente o mesmo trabalho que abrir uma janela e “navegar” até uma pasta qualquer para gravar o arquivo. E note também que nenhuma destas marcas ou propriedades aparecerão no arquivo. Elas permanecerão a ele agregadas em uma “página de características” invisível, porém acessível ao sistema de arquivos não hierárquico. E viajarão juntamente com o arquivo para onde ele for. Quer dizer: se eu copiar ou transferir o arquivo para outra máquina, todos os critérios, marcas e propriedades agregados no momento em que ele foi criado serão mantidos. Menos a pasta onde ele havia sido gravado na máquina de onde veio, que já não apresentará qualquer interesse. Portanto não fará falta.

Estranhou? Então pense. Se eu lhe enviar como um anexo de mensagem de correio eletrônico uma foto “tirada” por mim na qual eu apareça juntamente com o Paulo Couto no IDF de 2003 realizado em San Francisco e você a arquivasse em seu disco rígido, quando você desejasse consultá-la, que informações seria mais interessante que ela guardasse, codificadas, em seu próprio arquivo, para o ajudar a encontrá-la: aquelas citadas no início do parágrafo ou a pasta onde ela estava armazenada na minha máquina?

Então, vamos tentar resumir. Um sistema de arquivos serve para organizar arquivos armazenados em um computador. Esta organização cumpre um único propósito: permitir que o usuário encontre um determinado arquivo quando dele precisar.

Até o momento usamos apenas sistemas de arquivos hierárquicos, baseados em pastas ou diretórios. Mas se o sistema de arquivos oferecer outros meios, mais lógicos e naturais, que permitam encontrar o arquivo, que diferença fará a pasta onde ele foi gravado? Mais ainda: que sentido teria para o usuário o conceito de “pasta”?

Eu sei que alguns de vocês hão de imaginar que o paradigma de armazenamento hierárquico usado pelo computador emula a forma clássica do armazenamento de documentos em um escritório: folhas de papel guardadas em pastas alojadas em diferentes gavetas de arquivos metálicos e assim por diante. E que, portanto, já estamos tão acostumados a ele na vida real que ele acaba se tornando um sistema natural. Mas note que isso somente nos parece assim porque aos arquivos metálicos eu não posso comandar: “abra a gaveta correta e mostre aquela foto do Piropo e do Paulo Couto tirada no IDF de 2003 em San Francisco”.

Mas ao computador eu posso. E se o sistema de arquivos for concebido para atender a este comando, a foto será aberta sem delongas.

Em um dos comentários à coluna anterior, Mestre Flávio Xandó, com a inteligência e pertinência que lhes são peculiares, deu um exemplo absolutamente perfeito. Quando se vai a uma biblioteca, não se procura pelo exemplar armazenado no terceiro andar, sala 3, estante 17, segunda prateleira. Procura-se pelo título e pelo autor. E a bibliotecária lhe entrega a obra. Como ela encontrou o livro não lhe diz respeito: tem a ver com a organização interna da biblioteca. Uma organização que permite ate mesmo que se você solicitar “um livro do João Ubaldo Ribeiro que conta a história do Brasil de um jeito diferente” a bibliotecária lhe apresente uma seleta lista de livros da qual certamente constará a obra prima “Viva o povo brasileiro”, o livro que você deseja.

É claro que o computador ainda precisará manter suas subdivisões internas para agrupar arquivos pertencentes a este ou aquele programa, para controlar os componentes do sistema operacional, para armazenar informações de configuração e para mais um mundo de tarefas internas que dizem respeito apenas a ele, computador, mas que podem perfeitamente passar em branco para o usuário. Para isto ele – o micro – ainda precisará manter seu sistema hierárquico de organização de arquivos. Mas será uma coisa interna, da qual o usuário sequer tomará conhecimento.

Os documentos, porém, que são os arquivos com os quais os usuários lidam em sua faina diária, poderão ser todos atulhados em um único local. Tudo, incluindo imagens, músicas, vídeos, textos e mais qualquer outra coisa que um usuário possa produzir usando um programa poderá ser jogado no mesmo saco. Digamos: uma pasta chamada “Documentos”. É tudo o que é preciso.

Assustou-se? Achou que a pasta “Documentos” em pouco tempo se converterá em um balaio de gatos, em uma tal balbúrdia que nada mais poderá ser encontrado nela?

Pois se engana.

É só uma questão de mudar a forma de pensar. Mudar o paradigma de armazenamento. E, no computador, mudar a forma pela qual se efetua a busca de arquivos.

Em vez de usar um sistema hierárquico de armazenamento cujo fulcro é o local onde o documento é armazenado (que só faz sentido na máquina onde ele está), que tal usar um sistema de arquivos centrado nos próprios documentos, que forneça meios de encontrá-los mais depressa que percorrer uma estrutura de pastas? E, sobretudo, mas consoantes com a forma de pensar dos humanos e não com as limitações das máquinas?

Nos computadores antigos e seus sistemas operacionais, isso era inviável. Os arquivos eram mantidos tão “enxutos” quanto possível, armazenando em seu corpo, além do conteúdo, a menor quantidade possível de informações adicionais, já que o espaço de armazenamento era escasso e caro. O sistema usado para recuperar arquivos tinha que ser o mais direto possível, baseado no local onde o arquivo foi armazenado, já que no próprio arquivo não havia informações adicionais para auxiliar a busca e nas máquinas não havia capacidade de processamento para indexar estas informações e consultar o índice com a rapidez necessária.

Mas os tempos mudaram, discos rígidos com capacidades na faixa das centenas de Gigabytes já se tornaram comuns, seu acesso é cada vez mais rápido e a capacidade de processamento das UCPs modernas é milhares de vezes superior à do velho PC de quase trinta anos, para o qual o sistema hierárquico de armazenamento foi concebido.

Por que não nos aproveitarmos disso para desenvolver um sistema de arquivos mais eficaz e que permita localizar arquivos com base em suas características, não mais no local em que foi armazenado? Ainda usando o exemplo da biblioteca, seria como criar uma bibliotecária virtual que entregaria o arquivo ao usuário – ou uma pequena lista de arquivos onde certamente ele encontraria o desejado, dependendo exclusivamente de quão preciso foi o critério de seleção usado por ele – não importando onde ele se encontrará armazenado no computador. Em suma: seria como agregar um pouco de inteligência ao sistema de arquivos.

Pois é justamente isso que fará (na verdade, já faz) o Win FS.

O problema é que usá-lo exige grande esforço mental por parte dos usuários de computadores para absorver a já mencionada “mudança de paradigma”. E, o que é pior, este esforço é diretamente proporcional à experiência do usuário: quanto mais experiente, mais acostumado estará em “pensar” em pastas e diretórios e maior será o esforço. Em contrapartida, os novos usuários que se habituarem desde o início a usar um sistema baseado neste novo paradigma criando e armazenando seus arquivos já de acordo com ele, encontrarão uma facilidade inimaginável para organizar e encontrar seus arquivos e, quando souberem que “antigamente” se usava sistemas hierárquicos baseados no local onde os arquivos eram armazenados em vez de nas suas propriedades, se não forem informados das razões e das limitações que levaram a isto, acharão a coisa insuportavelmente arcaica e de uma burrice atroz.

Mas, hoje, um sistema baseado no novo paradigma lançado de chofre no mercado dificilmente seria aceito sem uma tempestade de protestos.

Dadas as limitações da inteligência humana e considerada a clássica reação à tudo que é novo, característica dos menos favorecidos intelectualmente, haverá quem reclame das coisas mais absurdas (uma leitura crítica de alguns dos comentários à coluna anterior ilustrará perfeitamente o ponto a que me refiro). E este tipo de reclamação, especialmente sobre uma coisa nova, desconhecida da maioria das pessoas (inclusive e principalmente de quem reclama movido principalmente pelo desejo de reclamar), tende a se propagar. Seria um desastre.

Agora voltemos ao problema de como expor aqui no Fórum o funcionamento do Win FS e revelar a forma de usá-lo (sim, podemos usá-lo desde já) no Vista.

Há duas maneiras possíveis.

A primeira seria começar examinando em detalhes o sistema de indexação e buscas de Vista, as diferentes formas de executá-las, onde clicar e o que fazer para abrir tal e qual janela, como criar “Pastas virtuais” com base nas buscas e seguir, passo a passo, ensinando o “caminho das pedras” até que toda a estrutura de pastas da máquina seja convertida em um conjunto automaticamente atualizável de pastas virtuais, o coração do Win FS.

A segunda seria explicar simplesmente como a coisa funciona em linhas gerais, fornecendo apenas as informações suficientes para que os leitores que desenvolverem algum interesse pelos detalhes possam descobri-los por seus próprios meios.

A primeira forma interessaria sobretudo aos usuários de Vista. Seria detalhada, mencionaria pontos que apenas os que estão familiarizados com o sistema conhecem e descreveria procedimentos. Mas seria chata, sobretudo para os que não usam Vista e, apesar disso, são suficientemente complacentes com este velho escrevinhador para acompanhar esta série de colunas. E, como tenho repetido incansavelmente desde a primeira da série, ninguém é obrigado a usar Vista e não tenho qualquer interesse em aumentar seu número de usuários.

Já a segunda, se eu conseguir criá-la com alguma competência, será esclarecedora para todos. Abordará, sem descer a detalhes, uma forma nova – e a meu ver mais natural – de encarar sistemas de arquivos e poderá despertar mais interesse. E mostrará como é possível mudar de paradigma sem perder o foco do problema. Um assunto que pode interessar mesmo àqueles que jamais pretendam usar o novo sistema.

Por tudo isto esta segunda será a escolhida.

Então vamos a ela. Na próxima coluna, naturalmente.

 

B. Piropo