Artigo .net Magazine 55 - Desenvolvendo com padrões
Artigo publicado pela Revista .Net Magazine - Edição 55.
Clique aqui para ler esse artigo em PDF.
Boas Práticas - Web
Desenvolvendo com padrões
Desenvolva com Tableless, WebStandards e acessibilidade
|
Neste artigo veremos |
|
·Usabilidade; ·Webstandars; ·Acessibilidade; ·CSS; ·Tableless. |
|
Qual a finalidade |
|
·Desenvolver dentro dos padrões, dando usabilidade e acessibilidade ao usuário. |
|
Quais situações utilizam esses recursos? |
|
·Em qualquer projeto Web, em qualquer linguagem. |
Resumo do DevMan
Abordando o desenvolvimento dentro de padrões web, neste artigo serão apresentados alguns conceitos de usabilidade e acessibilidade, permitindo que todos os usuários utilizem facilmente o sistema. Serão também introduzidos alguns conceitos de montagem XHTML Tableless. Este conceito será aprofundado através de um exemplo prático.
Criar um sistema para Web, ou um site sem erro e visualmente bonito hoje em dia não está mais satisfazendo os clientes. Ora, mas o que mais é preciso? Estudos mostram que o custo com suporte é muito alto em diversos sistemas, principalmente por causa da má usabilidade oferecida pelos sistemas. Ou seja, o sistema tinha uma funcionalidade, estava sem erro, mas mesmo assim o usuário entrou em contato com o suporte, pois não conseguia fazer a operação desejada. Mas estava no manual... Hum... Quantas pessoas será que ainda lêem manuais hoje em dia?
Além da boa usabilidade, é altamente recomendado que o site esteja dentro dos padrões de desenvolvimento Web da World Wide Web Consortium, a W3C. Fundado por Timothy John Berners-Lee (pai da internet), o W3C é um consórcio de empresas de tecnologia que desenvolve, entre outras atividades, padrões para a criação e a interpretação dos conteúdos para a Web para qualquer tipo de hardware ou software.
Todos estes assuntos são temas para livros e mais livros de análise, neste artigo vamos ter uma visão geral sobre cada um destes assuntos focando como melhorar a performance, usabilidade, acessibilidade e conhecer um pouco sobre os padrões de desenvolvimento Web.
Usabilidade
Liste aleatoriamente 20 pessoas que você conheça que têm celular: colegas de trabalho, família, vizinhos, colegas de academia, entre outros. Agora imagine quem utiliza pelo menos 50% dos recursos que os celulares possuem. Com certeza a lista não será grande. Agora mude para uns 80%. Diminuiu mais ainda, correto? Pense agora no porquê de as pessoas não utilizarem todos os recursos:
·Não desejam utilizar o recurso?
·Sabem que o recurso existe, mas não sabem como localizar ele no celular?
·Nem sabiam que o recurso existia?
Recentemente fui a uma festa de aniversário do meu primo de seis anos. Os pais estavam todos contentes com seus celulares de última geração tirando fotos de seus filhos e filmando-os. Eu fiz o mesmo, saquei meu celular, e comecei a fotografar meu primo brincando.
Uma mãe então me abordou perguntando se eu poderia mandar a foto que eu acabei de tirar do meu primo com o filho dela por e-mail, e sacou uma caneta e papel para anotá-lo. Olhei para o celular dela, vi que tinha Bluetooth e falei: não preciso passar por e-mail, posso te mandar agora por Bluetooth. Ela então respondeu: “É, eu escolhi este celular por que tinha Bluetooth, mas o que é isso? Falam que é bom, não?” Após explicar para ela o que era Bluetooth, passei a foto para ela. Ela então, toda entusiasmada, mostrou a foto para o marido e falou que eu tinha tirado com meu celular. Seu marido então veio me perguntar como havia feito. Após explicar, ele saiu espalhando para diversos outros pais, outros ainda vieram me perguntar como fazia. Em meia hora, mais de trinta pessoas estavam tirando e trocando foto com seus celulares.
Este fato me chamou atenção. As pessoas tinham a tecnologia, provavelmente compraram um celular mais caro, pois o vendedor mencionou a existência de maior número de funcionalidades, e mesmo assim não sabiam utilizar. Será que eles não sabiam por pura falta de interesse? Ou apenas por que a ativação estava escondida atrás de 5 a 8 menus e sub-menus?
Levando este cenário para os sistemas que desenvolvemos, será que o mesmo não ocorre? Ficamos horas e horas desenvolvendo uma funcionalidade, se gasta inúmeros recursos e no final pouquíssimas pessoas a utilizam, pois está escondido no sistema. Não seria melhor nem ter investido na criação desta funcionalidade?
Usabilidade está muito mais do que dar um fácil acesso às funcionalidades ao usuário, está em entender o psicológico dos seus usuários, e fazer um sistema que atenda aos seus anseios. Em outro projeto o cliente reclamava da lentidão do sistema Web. Acostumado a só utilizar sistemas desktop, não compreendia que o sistema Web tem um período de comunicação servidor-cliente, cliente-servidor. E este pode variar por inúmeros fatores, como quantidade de pessoas utilizando o sistema, velocidade da conexão do servidor, velocidade da comunicação no cliente, entre diversos outros. Pois bem, fazendo um teste de performance através de softwares especializados foi constatado que o sistema estava mais rápido do que a média indicada. Mesmo assim o cliente estava insatisfeito. Meu colega de trabalho deu então uma idéia: “Vamos colocar uma imagem mostrando que o sistema está sendo carregado entre cada página e operação do sistema”. Na época isto não era normal na Web, e teoricamente isto só iria piorar a situação, pois ao invés de diminuir o tempo de resposta, ele seria aumentado, pois teria a velocidade de processamento do script de “carregando”, e o envio da animação também iria acarretar em aumento do “peso” do sistema, pois mais informações teriam que ser enviadas ao cliente.
Apesar de teoricamente não funcionar, fizemos esta implementação, enviamos para produção e no dia seguinte o cliente ligou elogiando, pois o sistema agora estava bem mais rápido! Pensamos, apesar de estar na verdade mais lento, o cliente julgava estar bem mais rápido... Isto Sigmund Freud (da psicologia) deve explicar.
Em outro caso um cliente nos pediu para incorporar a nova versão do nosso gerenciador de conteúdo para sites (CMS). Ele utilizava a versão 3, que era toda em ASP 3.0, e desejava utilizar a versão 5, já em ASP.NET. Após entregue, ele alegava lentidão no site. Cronometramos o tempo que a versão antiga carregava, e o da versão nova. A versão nova era 43% mais rápida, mas mesmo assim ele reclamava e não entendia. Após uma análise, verifiquei que a versão antiga tinha uma tag, no header, que funcionava apenas no Internet Explorer. Esta tag habilita uma animação de transição entre as páginas e tinha sido solicitado pelo cliente na primeira versão do site. Antigamente era mais comum um site utilizar para dar um efeito suave na transição das páginas, porém hoje em dia muitos poucos websites a utilizam. Um exemplo desta tag é:
<meta http-equiv="Page-Exit" content="progid:DXImageTransform.Microsoft.Fade(duration=.5)" />
Resolvi então remover esta animação na versão .NET, e republicar o website. Dias depois recebemos elogios do cliente pela melhora de desempenho do site.
Nos dois últimos casos, não fizemos muita coisa em termos de programação, mas o resultado final para o cliente superou as expectativas, o que nos leva a concluir que muitas vezes os usuários querem soluções tecnologicamente simples, mas que psicologicamente possa fazer a diferença de forma positiva."
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo