Ajax e Usabilidade
Quarta-feira, 6 de Julho de 2005
O AJAX está na moda. Não, não é o clube de futebol nem é o detergente. O AJAX significa “Asynchronous JavaScript + XML” antigamente chamado XMLHttpRequest.
O AJAX não é uma tecnologia, é um conjunto de tecnologias que se juntaram e formaram uma poderosa ferramenta para criação de aplicações web. As tecnologias que o AJAX incorpora são:
- Apresentação de conteúdos baseada nos standards do W3C usando XHTML e CSS;
- Disponibilização dinâmica e interactiva da informação usando DOM;
- Interligação e manipulação de dados usando XML e XSLT;
- Busca assíoncrona de dados usando XMLHttpRequest;
- E JavaScript para juntar tudo isto.
Tudo isto permite criar aplicações web que fornecem a mesma experiência interactiva de um programa normal (software), mudando completamente a forma como as aplicações web funcionam hoje em dia. Exemplos:
- Gravar automaticamente – não é necessário clicar em “Gravar”, os dados são gravados automaticamente depois de os escrevermos num formulário;
- Traduções – seleccionar uma palavra no texto e ter uma tradução instantânea;
- Carrinhos de compras inteligentes – adicionar, remover ou editar produtos instantaneamente;
- Validação de dados – validação de endereços de e-mail, números de telefone, etc em formulários à medida que se vai escrevendo, evitando assim ter de clicar em “Gravar” e depois verificar que existe uma mensagem de erro a indicar que nos enganámos a preencher o nosso endereço de e-mail;
- etc…
Formulários
Todas estas vantagens parecem muito boas, mas estamo-nos a esquecer de uma coisa muito importante: a experiência dos utilizadores. Quem navega na web já sabe como as coisas funcionam. Vou continuar a dar o exemplo dos formulários: preenchemos os campos que nos são pedidos através das caixas existentes para o efeito e no final clicamos num botão para “gravar” ou “enviar”, dependendo do formulário.
Ora, com o AJAX não há caixas para preencher. Simplesmente clicamos por cima do texto e como que por magia ele se transforma numa caixa de texto (experimentem este formulário de exemplo feito pelo Thomas Baekdal). Num formulário normal é fácil ver o que é editável e o que não é. Com o AJAX é preciso passar com o rato por cima dos objectos para saber se são editáveis e a primeira coisa que o utilizador faz é procurar o botão “Editar”.
Uma vez editados os campos num formulário, os mesmos só são gravados após uma acção do utilizador. Como AJAX os dados são gravados automaticamente depois de terem sido preenchidos. A maior parte dos utilizadores não acredita que os dados foram gravados porque o processo foi muito rápido (instantâneo) e não abriu nenhuma página a seguir…
Estas dificuldades podem ser ultrapassadas através de uma melhoria do interface gráfico, indicando claramente quais os campos editávies e fornecer feedback de que os dados foram gravados (tal como no formulário de exemplo indicado mais atrás).
Abusos
No entanto, tal como qualquer nova tecnologia, há quem abuse.
O AJAX está na moda e os programadores gostam de brincar com as novas tecnologias, mas o AJAX é uma ferramenta e não um brinquedo. Há quem desenvolva aplicações em AJAX… só porque é possível. No entanto se as aplicações não tiverem uma verdadeira utilidade não faz sentido serem desenvolvidas em AJAX. Faz-me lembrar o Flash há uns anos atrás…
Quando saiu o Flash havia pessoas (e ainda há) a fazerem sites inteiros em Flash. O Flash é uma ferramenta bastante útil no desenvolvimento de aplicações interactivas, mas não deve ser usada para o desenvolvimento de websites que não têm nada de interactivo. Faziam em Flash… só porque era possível. Os websites devem ser concebidos em HTML e sempre que for necessária alguma zona de maior interactividade, aí sim podemos usar o Flash ou o AJAX.
Bons Exemplos
Um bom exemplo do uso do AJAX são as aplicações do Google: Google Maps (navegação fluida no mapa sem carregamento de uma nova página) e GMail (vários links abrem instantaneamente na mesma página sem esperar pelo tempo de carregamento de uma nova página, ex: pesquisa avançada; preenchimento do nome do destinatário de uma mensagem).
Acessibilidade
Em termos de acessibilidade, o AJAX ainda está pouco desenvolvido. Objectos como telemóveis, PDA’s, leitores de ecrã e motores de busca não conseguem usar o XMLHttpRequest. Como tal, os utilizadores destas plataformas não conseguem aceder a websites concebidos unicamente em AJAX. Tal como já disse anteriormente, só devemos usar estas tecnologias caso seja mesmo necessário fornecer uma experiência interactiva ao utilizador. Caso contrário, deve-se usar o HTML…
Links
Há muito mais para falar sobre o AJAX e muito que já foi dito. Aqui estão alguns links para quem estiver interessado:
- Ajax: A New Approach to Web Applications – uma introdução ao AJAX por Jesse James Garret da Adaptive Path;
- AJAX y Usabilidad – excelente artigo do Juan Gómez no Úsalo;
- AJAX Mistakes – identificação das maiores falhas existentes no AJAX por Alex Bosworth;
- AJAX vai desifentar o Flash? – Comparação entre AJAX e Flash feita pelo Fred do Usabilidoido;
- Usable XMLHttpRequest in Practice – usabilidade dos formulários em AJAX por Thomas Baekdal;
- XMLHttpRequest Usability Guidelines – regras de usabilidade para o AJAX por Thomas Baekdal;
- AJAX – construindo usabilidade – vantagens do AJAX por Isabel Lofgren.
Ivo Gomes tem 32 anos e é licenciado em
salgadation
8 de Julho de 2005, 19:17
USEful
A ter em conta.
Rodrigo Luiz Soares
26 de Julho de 2005, 18:33
gostaria de ler um artigo com exemplos de códigos do AJAX
Ivo Gomes
26 de Julho de 2005, 18:35
Estou a fazer algumas experiências com AJAX e irei disponibilizar tudo aqui no site. Fique atento!
Juan Gómez
27 de Julho de 2005, 13:43
AJAX e Usabilidade VS AJAX y Usabilidad… volta Clara, estás perdoada!
Jorge Laranjo
27 de Julho de 2005, 14:07
Bom artigo. Corrige só a frase “não conceguem aceder ” por “não conSeguem aceder”
Carlos Soler
9 de Agosto de 2005, 16:54
Excelente.
Ricardo Augusto
1 de Setembro de 2005, 01:02
Aqui no Brasil essa moda ainda não pegou… mas já ouvimos falar dela…
para os amigos de plantão: http://alexbosworth.backpackit.com/pub/67688 – sobre os erros comuns possíveis de acontecer quando desenvolvemos um AJAX.
Paulo Rogério
19 de Outubro de 2005, 16:41
Tenho usado o AJAX em um sistema meu de leilão.
Tenho uma função que chamava uma página ASP em 5 em 5 segundos.
Eu chamava a página em um frame escondido e que carregava o meu div no frame principal.
O site funcionou normalmente.
Só que a barrinha do IE vivia carregando.
Depois que apliquei o AJAX no sistema ficou show de bola.
Eu não via mais o refresh acontecer. e ficou muito legal.
Edgar
16 de Março de 2006, 19:36
Alguém pode me ajudar a fazer uma página PHP(“Content-type: image/png”) que gera uma imagem carregar numa TAG “img” utilizando AJAX ?!!
Hoje utilizo assim:
mas o problema tenho que dar “refresh” pra carregar outra imagem !!
Grato pela ajuda…
Envie um email
Taranto
31 de Março de 2006, 01:36
oi, eu estou no ultimo ano de sistemas de informação e vou fazer o meu TCC sobre AJAX gostaria de saber se vc sabe de algum livro ou artigo cientifico que possa nos ajudar no desenvolvimento do mesmo
obrigado
Ps. o artigo esta muito bom e tirou muitas das minhas duvidas.
Ivo Gomes
3 de Abril de 2006, 08:56
Neste memomento não conheço nenhum livro sobre AJAX e penso que o melhor local para obter informação é pesquisar na net. Existem milhares de sites sobre isso e com vários exemplos disponíveis para download e testar…
Maurício
25 de Abril de 2006, 20:55
Convido todos para verificar nossa aplicação AJAX que desenvolvemos…
Entrem em aualquer leilão e na barra de navegação no canto direito, existe as telas de lance, dai é só clicar no link e (por favor), me enviem críticas.. são sempre bem vindas, sejam boas ou ruins…
Valeu pessoal!
Ivo Gomes
25 de Abril de 2006, 21:06
Uma vez que, para experimentar o leilão é preciso criar uma conta no site, removi o endereço do comentário anterior por suspeita de SPAM. Caso esteja errado, por favor informem-me e volto a colocar o link.