seo

Texto em retângulos: o Desideratum UI

Eu penso sobre interfaces de usuário freqüentemente, geralmente por algumas centenas a alguns milhares de milissegundos de cada vez. E meu pensamento é: isso é muito bonito e não é o que eu quero.

Um monitor de computador é um retângulo, e tudo o que um computador faz mapeia para uns e zeros que podem ser representados de forma mais compacta para humanos por meio de seqüências de texto. A raiz de todas as interfaces do usuário é a exibição de texto em alguma forma retangular. E isso tem sido um problema resolvido desde os anos 70. (Era um pequeno retângulo, no começo.)

Existem coisas que computadores não envolvem texto em retângulos. Filmes, música, videogames que não sejam o Dwarf Fortress e o Nethack, etc. Mas todos eles evoluíram de coisas não-computadorizadas; eles são eficientes para implementar com um computador tradicional de uso geral, mas são mais bem entendidos como um ambiente virtual; computadores simulando televisores, rádios ou jogos de tabuleiro, não computadores sendo computadores.

Toda frustração que tenho com as interfaces modernas decorre desse problema. Eu quero interagir com um fluxo de texto. Um caractere ou uma linha de cada vez é ineficiente, mas os humanos têm olhado páginas de texto há milhares de anos. Estamos bastante acostumados a páginas de texto como meio de representação compacta de informações. Qualquer coisa que atrapalhe isso tem um alto ônus de prova.

Eu não sou contra gráficos ou mesmo efeitos visuais extravagantes em princípio. Uma pintura, ou mesmo um gráfico, obviamente não é algo que deve ser representado como um fluxo de caracteres ASCII. O que eu sou contra é qualquer gráfico decorativo ou animação que de alguma forma impeça o modelo de interação de computador fundamentalmente orientado a leitura e digitação.

Por exemplo…

Sempre entradas de cache
Quando abro um navegador, provavelmente vou digitar um URL. quando eu abro um editor de texto, quase certamente vou abrir um arquivo e começar a digitar. Em um mundo ideal, assim que o programa for iniciado, ele deve estar atento às interações e executá-las quando estiver pronto.

Iniciar um programa e interagir com ele geralmente é atômico: você abre um navegador porque deseja exibir uma página ou inicia um player de música para procurar uma música. Ao atrasar as entradas até o lançamento do programa, você é forçado a dividi-las em duas ações. Este é um pequeno problema, mas é repetido; adicionar etapas a um processo introduz uma sobrecarga mental e a sobrecarga mental é a principal causa de fantasias sobre jogar meu laptop pela janela.

Animações de virar páginas são uma abominação
O iBooks traduz um livro para um formato de tablet, que tem o mesmo formato de um livro. Por isso, deve usar elementos de design skeumorphic como animações de virar páginas, certo?

Errado! Não! Animações de virar páginas são terríveis.

Quando você lê um livro físico, percebe o feedback físico e visual em tempo real. (Não é realmente em tempo real, já que há uma lacuna entre quando você vê / sente algo e quando você o processa, mas seu cérebro está sincronizando informações sensoriais para você desde que você nasceu, então você provavelmente não percebe.)

O ato de virar a página tem feedback visual e tátil, o que significa que você pode sincronizar perfeitamente a virada de página com sua velocidade de leitura; é sobre uma interrupção como vírgula.

Sem o feedback tátil, não é possível sincronizá-lo. Você chega ao final de uma página, toca para virar, pensa “eu aposto que isso parecia legal como uma demonstração se você não tivesse que assistir se dezenas de vezes por hora”, e depois voltar para o seu livro.

Enquanto as animações de virada de páginas literalmente imitam a interface de um livro, o giro instantâneo de páginas o imita em um sentido mais platônico. Quando você está lendo, não pensa em virar as páginas.

Apenas roube o foco uma vez
Um fluxo de trabalho comum: estou enviando um e-mail e quero modelar uma suposição que estou fazendo, então inicio o Excel. Eu alterno de volta para o meu e-mail e continuo escrevendo. Então, de repente, o texto pára de aparecer, porque a animação de inicialização do Excel capturou o foco, então alterno novamente, retrocesso e continuo digitando. Isso acontece mais algumas vezes.

Isso é apenas rude. É como estar em um restaurante onde, em intervalos de alguns minutos, o garçom interrompe sua conversa para dizer que ele ainda não está pronto para receber seu pedido.

Faz sentido para um programa capturar o foco na primeira vez em que ele é iniciado. Faz um pouco de sentido limitar o foco quando ele é iniciado, embora não seja tão comum alguém estar tão desesperado para usar o Excel que interromperia uma palavra-chave de e-mail para iniciar o Excel.

Repetidamente roubar o foco é apenas sal na ferida de início lento do programa. Alguns programas são pesados ​​e demoram a ir, mas levar quinze segundos do tempo do computador não significa tirar quinze segundos do meu.

Manter compatibilidade com versões anteriores de atalhos de teclado para sempre
Reclamei sobre o Excel, mas há algo que o Excel faz muito bem (além de sustentar o sistema financeiro global e fornecer uma língua franca para os negócios): o Excel tem um compromisso louco com a compatibilidade retroativa.

Quando o Excel mudou sua interface em 2010, ele manteve vários atalhos baseados em menu. Estes são os atalhos em que você clicou em alt, selecionou um menu, selecionou um submenu e assim por diante. Os menus sumiram, mas os atalhos permanecem. Sempre que uso um desses atalhos arcaicos, sinto que estou em contato com uma longa tradição de jóqueis do Excel, e que estamos sendo atendidos por alguns gerentes de programa extraordinariamente astutos de Redmond. A Microsoft poderia ter dito que a nova versão do Excel era estritamente melhor e que todos teriam que mudar. Em vez disso, eles fizeram da nova versão um superconjunto da versão antiga.

Isso é especialmente importante para usuários avançados, ou seja, pessoas que trabalham em finanças. Pensamos muito no Excel, e muitas interações do Excel são compiladas em seqüências complicadas de atalhos de teclado. Perder a memória muscular é um desperdício, especialmente se a memória muscular se desenvolveu durante os primeiros anos do trote na indústria financeira. (Eu não sei o quanto a equipe do Excel pensou sobre isso, mas mesmo que não seja uma decisão brilhante no nível do usuário, é uma decisão sociológica inteligente para a Microsoft permitir que ex-i-bankers exibam suas cicatrizes de batalha compatíveis com o Excel 2003. )

Capacidade de resposta temporal com o sistema numérico Pirahã
A tribo Pirahã tem um sistema numérico famoso: Um. Dois. Muitos [1] Penso nas interações com computadores da mesma forma: existem instantâneas, há aquelas que demoram o suficiente para você pensar antes de apertar a tecla enter, e depois há o território lamacento intermediário: tempo suficiente para distrair, não tanto como para promover distrações dignas.

Basicamente, a pior quantidade de tempo possível para que algo seja feito é “tempo suficiente para checar o Twitter”.

E, no entanto, esse é o tamanho padrão de um número crescente de coisas que eu faço! Abra um arquivo do Excel – aguarde. Abra Slack e – l… o… a… d… i… n… g. É um retângulo. Com texto. Como isso pode ser tão difícil? Isso me faz desejar que você possa imprimir arquivos .gif; Eu queimaria alguns.

Não é trivial fazer um programa de computador zippy. Acredito que foi um sério desafio se eu não estivesse vivo no final dos anos 90 e início, quando os computadores tinham menos memória RAM e processadores mais lentos, mas as coisas começaram bem próximas instantaneamente.

Um bom sistema que ilustra o tradeoff instantâneo versus lento o suficiente para obter uma xícara de café é o modo org do Emacs. Desde 2007, no meu primeiro dia em um novo emprego, abri um arquivo chamado “todo.org” e anotei tudo o que eu gostaria de saber. A versão no meu trabalho atual é de cerca de 350.000 palavras. O Org é um sistema incrível para manter os projetos organizados de forma hierárquica e temporal. Você pode mesclar projetos, subprojetos, bloqueadores, dependências e prazos, e tudo isso em um único arquivo simples.

O formato de arquivo simples significa que eu posso pesquisar tudo – notas de chamadas com clientes, notas de minha própria pesquisa, trechos de código exploratório, resumos de prazos – com a busca orientada por expressões regulares do Emacs, instantaneamente. É como poder rebobinar seu cérebro e tudo em tempo real.

Bem, não todos. Uma coisa que o modo organizacional permite que você faça é construir uma agenda; analise todos os itens pendentes, procure prazos e mostre o que deve acontecer quando. Isso, por qualquer motivo, leva um tempo. Eu não esperaria que o Emacs Lisp fosse otimizado para esse tipo de coisa, e minhas práticas orgânicas são francamente loucas – uma pessoa normal teria diferentes arquivos organizacionais para diferentes tópicos.

Independentemente disso, o processo de criação da minha agenda organizacional leva um ou dois minutos. Mas tudo bem! Meus prazos para a semana não mudam com frequência, e tenho o hábito de dizer à Org para reconstruir essa agenda toda vez que eu saio do trabalho por um dia. [2] Embora isso seja lento, não é demoradamente lento. Ele tem a sensação de algo que ainda não foi otimizado, em vez de algo especificamente não otimizado por razões estéticas pouco profundas.

Alguém deveria se importar?
Uma pessoa reclama para si uma dúzia de vezes por dia quando os programas que usa são mais lentos do que deveriam ser. Isso realmente importa?

Sim.

Todas as tendências tecnológicas estão a jusante de dois tipos de usuários: usuários avançados e adolescentes. Cite um produto de sucesso que não tenha apelado para um desses dois grupos. Se você está fazendo algo em vídeos ou mídias sociais, precisa de adolescentes. Como foi explicado muito bem em outro lugar, eles têm uma combinação de meios, motivos e oportunidades para fornecer um fluxo interminável de UGC barato e atraente.

Mas se você pode balançá-lo, você deve apelar para usuários avançados. Usuários avançados permanecem usuários avançados por um tempo muito longo. Se eles encontrarem algo de que gostem, ficarão com ela. Eu serei usuário do Emacs até morrer, provavelmente; Eu uso apenas 1% da funcionalidade, mas 80% disso está faltando em todo o resto.

As pessoas copiam usuários avançados; os usuários avançados fazem pesquisa e desenvolvimento para você, mostrando onde estão os gargalos nos seus produtos; e se eles são produtivos, eles podem definir o padrão por padrão. Se eles estão obtendo valor de um produto, eles provavelmente estão dispostos a pagar por isso, de modo que os usuários avançados podem discriminar preços com facilidade. (Eles não são tão bons para sua avaliação quanto os usuários adolescentes, mas veremos se essa lacuna persiste em uma recessão.)

Toda vez que você está pensando em alterar um programa para torná-lo um pouco mais visualmente atraente, mas um pouco menos ágil, você provavelmente está fazendo um cálculo como este: 90% das pessoas não se importam; 9% acharão um pouco mais atraente; 1% vai achar que vale a pena usar menos. Mas eu diria que esse último 1% é o 1% que você mais precisa manter – se os únicos usuários que você perder são aqueles que priorizam a realização das tarefas com o máximo de eficiência, você está condenado.

[1] Isso está errado em um. Para uma primeira aproximação, para qualquer coisa que você possa nomear, existem zero, um ou infinitamente muitos deles.

[2] Isso faz parte de um fluxo de trabalho de fim de dia que inclui escrever um breve resumo do que realizei naquele dia, o que planejo fazer no dia seguinte e um ranking subjetivo de produtividade. Isso é, obviamente, arquivado no meu arquivo de modo de organização. Se eu estiver entediado, provavelmente poderei incrementar as métricas de produtividade com meus check-ins do Foursquare e descobrir qual cozinha é ideal para a produtividade ou a cadência ideal de visitas à academia.