A velocidade da resposta de websites é um fator fundamental para a usabilidade. Muitos designers e desenvolvedores acreditam que elementos visuais como layout, gráficos ou fontes determinam a usabilidade. Porém a velocidade efetiva de resposta de um site é essencial para determinar a qualidade da experiência do usuário.
Além disso, o mecanismo de busca do Google usa desempenhos de sites para determinar a posição em que ele aparecerá em resultados de pesquisas. Sites mais rápidos terão melhor visibilidade. Portanto, investir em melhorias de desempenho aumentará os benefícios para os proprietários do site.
O que os usuários esperam em termos de desempenho de um site?
Passageiros de um ônibus não se preocupam com a marca do combustível que o veículo usa nem com o tamanho do motor, apesar de estes elementos terem um importante impacto na duração da viagem. Semelhantemente, na web, os internautas não querem saber se o conteúdo da página é originado de um questionário do sistema de gerenciamento de base de dados ralacional dinâmica (RDBMS) que inclui uma intersecção de cinco pontos ou se o conteúdo é resultado de um arquivo plano estático.
As expectativas dos usuários variam de um site a outro, baseadas em fatores como:
• O valor do conteúdo do site e da interação que ele oferece
• O número de concorrentes ou sites alternativos que oferecem conteúdo ou serviços similares
• A etapa no fluxo de trabalho do usuário ou a sequência de interação com múltiplas etapas (algumas sequências tem pontos de pausa naturais conforme o usuário absorve o material, enquanto outras etapas existem para transições rápidas)
Considere o exemplo hipotético de um site que advinha os números sorteados na loteria da próxima semana. Neste cenário, os internautas tranquilamente esperariam uma hora para a página se carregar. Entretanto, em um contexto em que o internauta visa uma transação simples, principalmente no caso de haver alternativas da concorrência (como reservar um quarto de hotel ou comprar um livro), as expectativas em relação à velocidade de resposta do site são muito menos complacentes. É muito mais provável que um usuário abandone o site depois de quatro ou cinco segundos se a página não se carrega completamente ou se o layout é confuso.
Quanto tempo uma página pode demorar para se carregar?
Variantes desta pergunta incluem:
Quão rápida deve ser uma página de login?
Quão rápida deve ser uma tela que carrega dados de um sistema remoto?
Quão rápida deve ser uma página de redirecionamento a base de dados?
Quão rápida deve ser uma página principal (a primeira página que o visitante vê)?
A resposta para todas essas perguntas é “o mais rápido possível”.
Fatores diversos como layout, estrutura do site, fontes e gráficos afetam a usabilidade e a eficácia de um site, mas o único fator essencial é a velocidade de resposta que um site oferece. Com todas as características equitativas, um sistema mais rápido será mais eficaz e oferecerá um maior nível de usabilidade. Isso está baseado em fatores humanos como curtos períodos de atenção e processamento visual de informação. Um atraso de mais de um segundo interromperá a sequência do pensamento, já que a atenção do usuário se deslocará para outros assuntos, como e-mail, café ou conversas paralelas. É possível que isso aconteça sem que o usuário se dê conta da sua distração. Os usuários podem não ser capazes de explicar porque preferem um site a outro, mas o mais provável é que a causa seja a diferença de velocidade de respostas.
Por exemplo, sites bem sucedidos no altamente competitivo mercado de mecanismos de busca são aqueles que carregam páginas mais rapidamente – sites como Yahoo! e Google. No final dos anos 1990, quando havia vários sites de pesquisa, como Lycos, Excite, AltaVista, Magellan e Snap, que evoluíam para portais de consumo, esses sites tentavam se diferenciar usando ferramentas e design extremamente pesados. Contudo, o único que obteve sucesso foi o Yahoo!. Ele era o site mais plano, mas também o mais simples e rápido. Posteriormente, o Google surgiu na liderança, devido em parte ao design, que era ainda mais simples, e aos tempos de resposta mais rápidos.
Mais recentemente, sites de comércio eletrônico confirmaram que quanto mais rápidos são, mais receita geram. Diferenças de velocidade se relacionam com as expectativas e percepções dos usuários. Os usuários avaliam sites comparando as alternativas disponíveis. Gerentes de sites devem identificar concorrentes. Alguns usuários (que usam aplicações corporativas internas, por exemplo), são “cativos, sem opção. Outros usuários gostam de poder escolher e levam em conta características implícitas de baixo custo em termos de tempo e alto valor em termos de conteúdo.
Quais princípios de desempenho são definidos pelos 100 melhores sites?
Mecanismos de busca como o Google, que atua em um setor altamente competitivo, tem princípios de tempo de resposta de 400 milisegundos entre o momento em que uma solicitação chega ao data center e o momento em que os resultados saem do data center. (O que acontece fora do data center, na internet aberta, também é importante para o usuário, mas não pode ser controlado diretamente pelo Google).
O princípio dos 400 milisegundos deriva da época do AltaVista, na década de 1990. O mecanismo de busca ocupou uma posição de liderança no mercado por causa da qualidade dos seus resultados de busca e pela sua rápida resposta. No caso do Google, a página de resultados pode não ser plana, mas por trás disso existe o software e o sistema de “ciência do foguete”. Durante 400 milisegundos, os dados são reunidos a partir de 300 subsistemas diferentes para organizar dinamicamente a página de pesquisa e resposta. Implementar esse nível de resposta rápida exige inovações em arquitetura de sistema, disciplina e rigor de execução.
Em certos contextos, o Gartner chama esta de necessidade de processamento extremo de transação (XTP). Para chegar a este nível de desempenho, aplicações comerciais online, redes sociais e empreendimentos de software como serviço usam amplamente a rede de arquiteturas e tecnologias in-memory, como plataformas de cachês distribuídas (incluindo memcached, ehcache, Terracotta e Oracle Coherence), para melhorar o desempenho de acesso ao sistema de gerenciamento de base de dados (DBMS). Alguns fornecedores, como a IBM e a Virident, oferecem este tipo de tecnologia na forma de aplicações.
Qual é o tempo de latência esperado entre o servidor web e o navegador do usuário final?
O desafio aqui é que o tempo gasto na nuvem da web varia muito e depende de fatores como geografia, topologia da rede e localização do data center. Além do tempo na nuvem, existem outros fatores que afetam a latência de um ponto ao outro, incluindo o hardware do usuário, a conectividade disponível e a escolha do navegador. A maioria desses fatores está fora do controle do operador do site.
A maioria dos sites que oferecem uma resposta rápida foca na parte do canal de processamento de dados entregue pela web que pode ser controlado: o tempo transcorrido entre o momento em que a solicitação chega ao data center e o momento em que a página de resultados deixa o data center para chegar ao usuário. Sites sofisticados usam um princípio interno de 400 milisegundos. Dependendo do usuário e da sua conectividade, isso pode resultar em um tempo de espera pela exibição da página de resultados de dois ou três segundos.
Existem diversas causas de latência, potencialmente em todo estágio do canal de processamento de dados que conecta o navegador do usuário com os servidores no data center. Os culpados mais comuns incluem o DBMS, a conexão para sistemas back-end, o servidor de aplicação e o script. O DBMS pode sofrer o peso dos complexos de dados com pontos de intersecção e índex. O sistema pode também estar acessando uma aplicação back-end como a da SAP ou um sistema de estrutura herdada por meio de uma trança de mensagem ou de um barramento de serviço corporativo, ou até por meio de uma ferramenta de gerenciamento de processo corporativo (BPM).
O tempo de permanência da nuvem contribui majoritariamente com a latência, e o número de solicitações em cada página (relacionado com o número de elementos em cada página) pode aumentar esse intervalo. Muitos sites tentam controlar aspectos do canal de processamento de dados da latência empurrando o processamento e o conteúdo para mais perto do usuário via data centers distribuídos em diversas regiões geográficas ou usando redes de entrega de conteúdo (CDNs) que empurram esse conteúdo ao provedor de serviços de internet local.
Como sites com desempenhos insatisfatórios podem reduzir a latência?
Na ausência de dados objetivos para cada estágio do canal de processamento de dados, a intuição de um desenvolvedor costuma se equivocar ao detectar a causa da lentidão do desempenho. Faça um diagnóstico e elabore um perfil para cada estágio. Uma ferramenta útil para analisar o que acontece no cliente é o Yahoo! YSlow, e seu descendente, o Google Page Speed. Essas ferramentas podem mostrar, por exemplo, que mover uma instrução de JavaScript do topo do arquivo até embaixo permite que o navegador exiba o conteúdo da página conforme surge pelo fluxo de http, em vez de ficar bloqueado enquanto espera que todos os elementos sejam transferidos.
Utilizar eficazmente os dados apresentados por essas ferramentas exige uma certa compreensão de tecnologia web, servidores, protocolos, navegadores e desenvolvimento de aplicações online. Existem alguns fornecedores orientados a corporações, como a Strangeloop, que fazem otimização de desempenho automática por meio de um mecanismo de aceleração colocado na frente do servidor web.
Muitos sites corporativos não dispõem dos recursos (pessoas, ferramentas e conhecimento) para implantar tempo de resposta de subsegundos. Felizmente, sempre há maneiras de compensar a longa latência. Frequentemente, o importante não é a velocidade, mas a percepção da velocidade, combinada com a percepção do valor. Uma técnica simples, como o uso do indicador de progresso, pode reduzir a percepção de latência e aumentar o valor. Por exemplo, no site da Expedia, quando um usuário especifica a data e a destinação, o site exibe uma barra indicadora do progresso (além de uma confirmação visual da solicitação), acompanhada de uma mensagem afirmando que o site está procurando em milhões de registros a melhor oferta para o cliente.
Uma técnica que os desenvolvedores podem usar para reduzir a latência associada com o acesso de bases de dados back-end e aplicações é organizar em camadas uma plataforma de distribuição de cache na frente dos sistemas back-end. Esses são dados que podem ser transferidos de sistemas back-end para a memória central de um servidor intermediário entre a aplicação web e os pontos de origem. Um cliente do Gartner reportou que foi capaz de diminuir o número de transações que chegavam ao ponto de origem em até 65%, dependendo do tipo da transação. Existem várias outras técnicas, fornecedores e produtos que podem auxiliar, mas esses sistemas costumam exigir habilidades técnicas avançadas para uma implantação adequada.
Qual o papel que a Ajax e tecnologias de aplicações de internet sofisticadas desempenham na melhora do tempo de resposta?
Embora técnicas próprias como a Ajax e outros processamentos de ciclo local possam melhorar a receptividade de uma aplicação, em várias situações, o uso extensivo de tecnologias como Flash, Java e ActiveX reduz a latência de interações únicas, com o custo de um tempo de carregamento da página inicial maior.
Por exemplo, o Gmail, do Google, deve começar carregando 200 kilobytes de códigos JavaScript antes de que o usuário veja qualquer conteúdo. Da mesma forma, algumas tecnologias de aplicações online sofisticadas (RIA) começam carregando um enorme arquivo Flash SWF. Esse “carregamento inicial” de latência pode ser aceitável em alguns cenários, mas não em todos. Não faz sentido adicionar cinco segundos ao carregamento da página inicial se haverá apenas um clique de interação com a página antes de o usuário ir para uma seguinte.
Programadores e desenvolvedores podem também tirar vantagem do comportamento humano. Há momentos em que uma pausa é natural na interação do usuário – quando o usuário para analisar o conteúdo e talvez pense nos possíveis resultados. Esses são momentos quando a latência pode ocorrer. Por exemplo, quando um usuário está vendo um álbum de fotos do Facebook, navegando de uma a outra foto, o site já carrega a foto seguinte enquanto o usuário está visualizando a atual.
Como a maioria das respostas para dúvidas de design, há utilidade em diretrizes gerais e melhores práticas, mas a resposta mais eficaz se baseia em informações objetivas sobre o comportamento do internauta no site em questão.
Qual o papel do processo de design centrado no usuário em relação ao desempenho?
Apesar de a velocidade compensar deficiências no design da página, principalmente porque o mantém o usuário entretido, isso só funciona se o site atinge um nível mínimo de usabilidade. Se o usuário tem que parar e pensar, para entender como deve navegar no site, os efeitos benéficos da velocidade são anulados.
Um processo de design centrado no usuário ou orientado à usabilidade é essencial para permitir que o design do site evolua constantemente, baseado em dados sobre o comportamento dos usuários, assim como em testes de usabilidade e avaliações de eficácia.
Desenvolvedores e programadores podem aplicar processos centrados no usuário em técnicas para reduzir a latência inevitável. Programadores devem aplicar essas técnicas no contexto de uma metodologia baseada em constatações empíricas que usam medidas, não opinião, para orientar decisões sobre o tipo de conteúdo intersticial. Testes podem fornecer ajuda significativa nestes casos.
Fonte: Info Abril


Deixe uma resposta