Sexta-feira, Junho 24

Ajax - construindo usabilidade

Já percebi esse termo há algum tempo, mas hoje li um artigo na Adaptive Path que me convenceu de que o Ajax propõe uma nova fronteira para a usabilidade. Quer dizer, todo o esforço do Ajax, que é uma sigla de "Advanced Javascripting and XML" ou "Asynchronous JavaScripting and XML", na construção de páginas, se dá em torno de maior usabilidade da interface através da arquitetura da página, agindo na superestrutura da página com reflexos de usabilidade na interface.

E isso nos interessa muito, pois o que mais queremos é que a navegação de um site torne-se invisível. A tecnologia deve ter sempre como meta, e por conseguinte a arquitetura da informação de um site, ser absolutamente invisível. Não queremos que o usuário sinta-se consciente da interface, queremos que ela seja o mais intuitiva o possível para que o usuário só se preocupe em atingir o seu objetivo face àquele site. É a diferença entre dirigir numa estrada cheia de buracos no meio da Amazônia ou dirigir numa estrada novinha em folha, com asfalto perfeito, balanceamento nas curvas, boa sinalização em altíssima velocidade como numa autobahn alemã.

Não somos programadores nem criticamos código, mas de algumas coisas sabemos: a lentidão de páginas em websites muitas vezes é 100% culpa do modo em que as páginas foram construídas em HTML e a comunicação das páginas com servidores, o que quase sempre é a causa de páginas que não abrem (erros 404), tempo de espera para recarregamento de página excessivo, o que resulta na desistência do usuário, lentidão generalizada.

Parece que com o uso inteligente do Ajax, alguns problemas de usabilidade estão em vias de extinção. Fico feliz de com o uso maior do Ajax não ter mais que criticar o mau-funcionamento de formulários ou porque as páginas nunca parecem estar atualizadas em um site. Com uma tecnologia de programação mais dinâmica e mais gráfica, poderemos focalizar em problemas muito mais conceituais em relação à avaliação da usabilidade de sites, com mais ênfase no aspecto cognitivo da interface do usuário com o site ou software ou qual seja a interface que estejamos avaliando.

Aparentemente, o Ajax resolve em parte essa questão técnica que tem refleos profundos na interface, fazendo com que toda vez que a interface se comunicar com o servidor, como durante o preenchimento de um formulário, por exemplo, a página não demore séculos até refrescar e apresentar a nova informação. O termo "asynchronous" garante que o Ajax (que não é plugin, é só uma maneira de usar javascript e xml) ofereça uma experiência de navegação contínua, fazendo com que não sejam necessários aqueles reloads eternos: o browser responde ao seu comando à medida que você vai executando a tarefa.

Lembro-me de como esse recurso teria facilitado a vida onine de um cliente nosso, uma companhia de seguros, que não conseguia vender seguros onine porque os formulários eram quilométricos, e os usuários, sem paciência, desistiam do processo no meio. Com a garantia de uma experiência contínua na simulação de um seguro, por exempo, o nosso cliente poderia ter dobrado seus rendimentos...

Como parte dessa sensação de continuidade, as aplicações AJax fazem update do conteúdo do browser em tempo real. Por exemplo, sites de jornais redesenham suas páginas em intervalos de X minutos, enquanto que em um browser rodando um aplicativo Ajax faz os updates constantemente sem intervalos pois está em comunicação constante com o servidor. Para sites que têm páginas com muitas áreas de conteúdo dinâmicas em que cada uma tem um ritmo de updates em intervalos diferentes, como por exemplo um site de jornal em que as notícias expressas mudam a cada 5 minutos enquanto o tijolinho do caderno de cultura só muda 1 vez por dia, o Ajax permite que só a área que precisa de update seja redesenhada sem afetar o resto da página. E sem fazer com que a página inteira "pule" diante de nossos olhos.

Um exemplo lindo disso é o Google Maps, que apresenta lindíssimas fotos de satélite com um zoom prodigioso em nano-segundos. É uma delícia navegar por aquelas imagens tão rapidamente, sabendo que o tempo de espera para carregar a imagem é infinitamente menor do que o tempo desguntado-a. Gosto de navegações "seamless", quer dizer, sem costuras.

A interação gráfica deste tipo de aplicativo é das mais interessantes. Dizem que embora o design de alguams páginas sejam lindos de morrer, o modo de interação básica com páginas é mais ou menos parecido com um estilo 70's de entrada de dados (os formulários!). Aparentemente, o Ajax propõe uma transição nesse universo de controles GUI visíveis em desktops (dos anos 80 até agora). Se antes, o hiperlink indicava apenas que havia conteúdo dentro daquele link em azul, e uma vez visitado ficava roxo, com o Ajax há pelo menos 10 novas informações que podem ser incluídas só no hiperlink. Cada vez mais percebo links com indicações visuais para as mais diversas ações: pontilhados para faciitar visualização do link, animações como "fading text" indicando que algo acabou de ser salvo, a possibilidade de arrastar links para outros lugares da página, transformando um texto estático em campo de preenchimento...O Flickr já apresenta uma gama dessa interatividade maior dos hiperlinks. Percebi também em alguns outros sites que existem hiperlinks intermediários, aqueles que atuam entre o link e a página de destino que apenas se parecem com alt-tags mas são realmente pequeninas janelas funcionais, adicionando às tradicionais navegações globais, locais, e suplementares mais um modo de navegação contextual muito mais econômica e mais dinâmica.

Com o Ajax, parece que quanto mais gráfica a interação do usuário com a interface, melhor.

Alguém já usa? Gostaria de dividir sua experiência conosco?

É claro que já existem uma profusão de blogs sobre o assunto, considerando que o Ajax não é algo de tão novo assim. Existe desde 1997 e todos os browsers suportam o aplicativo desde então. (Só que ninguém estava usando. Porquê?)

O Michael Mahimoff do Software as She's Developed propõe uma série de princípios de design para a utilização do Ajax. (Notem que "design" em inglês não se refere sómente ao design gráfico, mas ao conceito de "dar forma" em geral.)

O Google Maps dá uma palhinha do que é uma navegação gostosa.
A Amazon já usa isso há tempos.

Tudo sobre Ajax no Wiki

O ensaio Ajax: A New Approach to Web Applications de Jesse James Garrett (o mesmo que definiu vários padrões visuais para a arquitetura da informação, um de nossos mestres, explica detalhadamente do que se trata. http://www.ajaxmatters.com/

Para quem quer saber mais de aspectos técnicos Ajax Patterns e Ajax Matters.


Envie por Email.