3 pontos por GN⁺ 2024-07-04 | 1 comentários | Compartilhar no WhatsApp
  • A origem do DS_Store da Apple

  • Se você é usuário de Mac ou já transferiu arquivos de um Mac para o Windows, provavelmente está familiarizado com o arquivo .DS_Store

  • A origem desse nome remonta a 1999

  • Na época, o autor era o líder técnico do Finder do Mac OS X na Apple

  • A base de código do Finder já tinha 8 anos e havia chegado ao fim de sua vida útil

  • Fazer mudanças exigia um enorme esforço de engenharia e, ao alterar algo, duas ou três funcionalidades não relacionadas frequentemente quebravam

  • Foi decidido reescrever o Finder do zero para o Mac OS X

  • Parte do trabalho foi separar a interface do usuário e a funcionalidade central, ou seja, o backend

  • O backend do Finder enumera arquivos, monitora alterações no sistema de arquivos e processa metadados

  • Internamente, esses dois componentes eram conhecidos como Finder_FE e Finder_BE (Frontend e Backend)

  • Perceberam que o backend do Finder também seria útil fora do Finder

  • Foi feito um plano para transformá-lo em uma API pública

  • Como ele já havia sido responsável por nomear o Icon Services e o Navigation Services, escolheu o nome Desktop Services

  • .DS_Store é a abreviação de "Desktop Services Store"

  • Um "." foi adicionado no início para que fosse tratado como um arquivo oculto em sistemas Unix, incluindo o Mac OS

  • Pessoalmente, ele acha que esse nome não é tão bom e acredita que deveria ter escolhido algo mais descritivo

  • O bug que leva à criação excessiva de arquivos .DS_Store ainda não foi corrigido

  • Eles deveriam ser criados apenas quando o usuário ajusta as configurações de visualização ou define manualmente a posição dos ícones em uma pasta

  • Porém, visitar uma pasta praticamente garante que um arquivo .DS_Store será criado

  • O Finder_BE, ou seja, o Desktop Services, também é usado além do Finder

  • O Navigation Services (caixas de diálogo de abrir/salvar) também o utiliza

  • No entanto, a API do Desktop Services ainda não foi totalmente tornada pública


  • Publicado em 1º de outubro de 2006
  • Por Arno Gourdol

Opinião do GN⁺

  • Este texto fornece contexto técnico ao explicar a história do Finder do Mac OS X e a origem do arquivo .DS_Store
  • O problema da criação excessiva de arquivos .DS_Store continua sem solução, o que pode afetar a experiência do usuário
  • A possibilidade de reutilização do backend do Finder mostra a filosofia de design de software da Apple
  • Outras ferramentas de gerenciamento de sistema de arquivos com funções semelhantes incluem o NTFS do Windows e o ext4 do Linux
  • Ao adotar novas tecnologias ou open source, é preciso considerar compatibilidade com sistemas existentes e questões de manutenção

1 comentários

 
GN⁺ 2024-07-04
Opiniões no Hacker News
  • O conceito de "fork" no sistema de arquivos do Mac significa que componentes de recurso e de dados existem em par

    • No Unix, os metadados ficavam no inode do bloco de diretório e precisavam ser representados estruturalmente por tar, cpio, zip etc.
    • Para implementar suporte a arquivos compatíveis com Mac no Unix, era preciso tratar o resource fork como algo de primeira classe
    • Sistemas de arquivos modernos têm estruturas de bloco de diretório maiores e conseguem lidar melhor com dados
  • Havia uma forma de desativar a criação de arquivos .DS_Store, mas ela foi removida

    • Foi escrito um programa que apaga o arquivo .DS_Store assim que ele é criado
    • Link do programa
  • Não entendo por que o arquivo .DS_Store precisa ficar na mesma pasta

    • O sistema operacional não poderia ter seu próprio banco de dados referenciando os caminhos?
  • O arquivo .DS_Store só deveria ser criado quando o usuário ajusta as configurações de visualização da pasta ou define a posição manual dos ícones

    • Ao visitar uma pasta no Finder, o arquivo .DS_Store quase sempre é criado
    • No Finder é possível personalizar a aparência e o tamanho da janela da pasta, mas ao abrir a mesma pasta em uma janela do navegador, a maior parte dessas personalizações desaparece
    • Isso acontece porque não é possível definir uma configuração padrão para a janela do navegador
  • Em 1999, os apps já eram divididos em frontend e backend

    • Eram conhecidos como Finder_FE e Finder_BE
  • Vale mencionar a forma de desativar por padrão a criação de arquivos .DS_Store ao navegar por volumes de rede

    • Caso contrário, o timestamp de modificação do diretório é atualizado ao navegar usando o Finder
    • Link relacionado
  • Sempre que vejo um arquivo .DS_Store, penso no Nintendo DS

  • Para quem não usa Mac, é meio irritante que ao baixar arquivos .tgz do GitHub venham arquivos .DS_Store incluídos

    • Parece que o macOS usa GNU tar
    • Surpreende que isso não tenha sido alterado para ignorar arquivos .DS_Store por padrão
  • Sou um grande fã do macOS, mas o Finder é um dos exploradores de arquivos mais idiotas que existem

  • Os arquivos DS Store são uma existência infeliz

    • Eles têm um propósito, mas para a maioria das pessoas parecem lixo no sistema de arquivos
    • Em termos de UX, isso não parece algo típico da Apple
    • Usando System 7.5/OSX e Windows, o Mac tendia a tentar não mostrar arquivos desnecessários