Pare de construir websites com pergaminho infinito!

TL;DR: While infinite scroll does provide a solution in some cases, it can be less than ideal for users.

o pergaminho infinito pode ser desorientador, incontrolável, e pode causar stress aos seus utilizadores.

neste artigo, vamos explicar por que você precisa parar de construir sites com pergaminho infinito. Mas para começar, vamos olhar para um breve histórico de deslocamento.

a brief history of scrolling

To understand what scroll really is, let’s see where the term scroll comes from.

scroll (N.): C. 1400,”rolo de pergaminho ou papel”

pergaminhos originalmente foram usados para quando a informação se tornou longa (como conteúdos religiosos). Tanto conteúdo tornou-se difícil de gerir, ler e escrever.Quando os computadores entraram nas nossas vidas, ainda precisávamos de uma forma de navegar através de grandes pedaços de conteúdo.

the evolution of scrolls in computers

Lines (and columns)

In the early years of the internet, UX designers invented/explored many ways of paging/scrolling the content. Antes da web ser popular, estávamos a deslizar linhas na nossa tela.

pergaminhos Horizontais fizeram deslocar uma ferramenta não só para ler o conteúdo, mas também uma maneira de navegar na tela do computador.

Windows (não o sistema operacional)

usar pergaminhos para navegar na tela encorajou as pessoas a criar janelas. Usando o windows, você seria capaz de ver várias peças de conteúdo de uma só vez.

O Windows 3.1 “Gerenciador de Programas” tem vários pergaminhos.

páginas web

a rolagem resolve um problema fundamental que temos enquanto navegamos páginas web. No entanto, a rolagem pode causar muitos problemas para os usuários e pode afetar negativamente a experiência do Usuário. Vamos ver mais de perto.

as experiências inventadas para navegar nas páginas web

vou tentar definir como os programadores e designers criaram experiências para navegar pelos utilizadores nas suas páginas web.

vamos começar por aprender alguns sistemas de paginação back-end:

paginação Offset

este é o sistema de paginação mais conhecido. Nesta técnica, primeiro, temos que encontrar quantos itens temos que paginar:

-- All posts countSELECT COUNT(*) AS total FROM posts

depois de contar todos os itens, temos que calcular as páginas. Vamos supor que nós vamos mostrar – 10 itens por página:

-- First page itemsSELECT * FROM posts LIMIT 10

E se queremos avançar para a página 3, precisamos ignorar a primeira 30 itens usando OFFSET:

-- Third page itemsSELECT * FROM posts LIMIT 10 OFFSET 30

E vamos enviar a paginação de informações para o cliente da seguinte forma:

{ "pagination": { "items_count": 100, "current": 3, "total_pages": 10 }, "items": }

Prós e contras de deslocamento baseado paginação

  • 👍 Bom: Fácil de saltar para qualquer página
  • 👍 Boa: A experiência do cliente é mais livre
  • 👎 Ruim: problemas de Desempenho
  • 👎 Ruim: Itens duplicados podem ser mostrados se os dados mudam

paginação baseada em Cursor

grandes dados tornaram difícil calcular a contagem de tabelas, uma vez que está em constante crescimento (pense no Twitter). Então, os desenvolvedores inventaram novas técnicas para paginar os dados: Cursores.

cada linha deve ter um cursor único. Você não tem que contar toda a tabela que torna impossível saber a contagem de páginas reais:

-- Get extra 1 item to get its cursor.SELECT * FROM posts ORDER BY id DESC LIMIT 11

assuma que cada post tem um campo cursor único (ou seu ID neste exemplo) para ajudar a paginação. O cliente terá informações de paginação como segue:

{ "pagination": { "next": 1234 // extra item's ID (cursor), null if end of data. }, "items": }

E você pode pedir para a próxima página usando o cursor:

-- Offsetting records using 1234 cursorSELECT * FROM posts WHERE id >= 1234 ORDER BY id LIMIT 11

Prós e contras do cursor base de paginação

  • 👍 Bom: Mais alto desempenho, sem a tabela de contagens
  • 👍 Bom: mostra itens duplicados não é possível se alguém insere uma linha no centro da tabela
  • 👎 Ruim: Impossível de saltar para qualquer página
  • 👎 Ruim: o Cliente não está livre com a experiência, o total de página e a página atual não são calculados

Vamos dar uma olhada em algumas técnicas de navegação.

a experiência: baseado em click

a técnica: baseado em offset ou baseado em cursor

isto é usado principalmente para navegar em blogs. Esta é a versão mais antiga do deslocamento infinito. Usando esta abordagem, o usuário pode não saber onde o conteúdo termina.

paginação WordPress.

paginação numerada

a experiência: baseado em click

a técnica: baseado em offset

este é o tipo de navegação mais utilizável (de acordo comigo). Ele usa paginação baseada em offset que lhe permite saltar para a página que você quer, ou ir para o fim ou começar com apenas um clique.

Bootstrap styled pagination bar examples.

o Google utiliza este tipo de navegação nos resultados da pesquisa:

paginação do Google.

Carregar mais

experiência: clique em gatilho, com base

A técnica: com o cursor, que também pode ser compensados, mas seria estranho

Este é um dos mais recentes técnicas de paginação, e também utiliza a versão anterior do infinito rola.

Um botão “Carregar mais”.No exemplo acima, o usuário clica no botão “Carregar Mais” para ver mais conteúdo.

Infinito rola

experiência: A deslocar-base

A técnica: com o cursor, que também pode ser compensados, mas seria MUITO estranho

Infinito pergaminhos são a mais recente experiência de cursor com base técnicas de paginação.Hugh E. Williams afirma ter inventado o pergaminho infinito em 2005 na Microsoft.

Metafizzy também criou uma ferramenta para ajudar os desenvolvedores a construir pergaminhos infinitos.

o deslocamento infinito faz com que os usuários desloquem a página para o infinito.

Stop building websites with infinite scroll!Até Esta secção, revimos como chegámos aqui. Agora vamos falar sobre o porquê de aqui ser uma porcaria.

encontrar o rodapé

o rodapé é uma unidade básica de anatomia da página web, assim como um cabeçalho. Sites manter algumas informações detalhadas e links no rodapé, tais como números de telefone, endereços, e links de Ajuda e suporte. Se os usuários estão procurando por esta informação detalhada, eles se deslizam para baixo para encontrar o rodapé.

com pergaminhos infinitos, os usuários podem ter dificuldade em encontrar o rodapé. O pergaminho infinito torna impossível encontrar o fim da página. Não ser capaz de chegar ao fundo de um site pode fazer o usuário estressado (o que não é grande).

os sites com um feed infinito (como o Twitter) resolvem o problema do rodapé colocando esta informação e links necessários na barra lateral. A barra lateral é uma solução para esta questão, mas não uma boa. O Footer deve ficar no footer.

o pé do Twitter na barra lateral direita.

não Utilize Pergaminho infinito se não tiver uma linha temporal ou alimentação

as aplicações das redes sociais funcionam com o tempo. A intenção dos usuários é navegar pelo passado. Neste caso, o pergaminho infinito torna a navegação mais fácil. Aqui, o pergaminho infinito é bom para o desempenho, especialmente no móvel.

mas se você tem um e-commerce, notícias, revista ou um site de blog, e a intenção do Usuário é mover-se em torno dos itens ou artigos, infinite scroll torna-se um pesadelo para eles. Numa lista baseada na linha temporal, as pessoas não procuram uma data ou momento único. Nas listas baseadas em itens, o usuário quer encontrar um item. Os pergaminhos infinitos tornam os seus itens quase impossíveis de encontrar pelos seus utilizadores.

dar aos utilizadores mais controlo

os utilizadores geralmente não gostam dos iu quando sentem que não o conseguem controlar.

um evento de pergaminho não é muito intencional para fazer algo. As pessoas navegam na página, e se querem chamar uma ação, na sua maioria clicam ou tocam (conhecidos como gatilhos). Informam a IU da sua decisão. Mas o pergaminho é accionado sem qualquer decisão.

pergaminhos infinitos tornam as páginas menos controláveis para os usuários. Os usuários também podem encontrar falhas de salto.

em vez de deslocamento infinito, coloque um botão “Carregar Mais”, que é um gatilho. Isto dará o controle ao usuário. (Eu preferiria paginação numerada em estilo antigo,mas nós assumimos que usamos paginação baseada em cursor agora).

permitir que os utilizadores vão para onde quiserem

as pessoas navegam entre páginas, marcam alguns deles, partilham páginas com os seus amigos, etc.

no entanto, pergaminhos infinitos não podem manter o estado por seu projeto. Os usuários não podem compartilhar seu estado atual — o que também significa que você não pode rastrear as ações dos usuários usando ferramentas de análise.

se a sua técnica de paginação de fundo é baseada em cursor, é quase impossível permitir que os seus utilizadores vão para onde quer que seja. Se você tem um site de E-commerce, dê aos usuários controle para navegar para os produtos que eles querem.

adicionalmente, se tiver uma funcionalidade de” ordenação por ” na sua lista, deve mostrar ao Utilizador uma paginação. Em uma lista ordenada alfabeticamente, você não deve forçar os usuários a rolar para baixo para produtos começando com K. Eles vão ficar loucos com esta experiência.

deve permitir que os utilizadores vejam onde estão. Os usuários se deslocam por um tempo, e porque é um design sem estado, eles não sabem quantas vezes a “próxima página” carregada. Quando eles refrescarem a página, eles vão reiniciar todo o caminho de volta para a página original. O usuário terá então que rolar de volta para baixo para descobrir onde eles estavam antes.

Conclusão

Infinito pergaminhos são agradáveis em alguns casos, mas eles geralmente não são solucionadores de problemas, mas o problema fabricantes. As pessoas da UX não devem considerar o deslocamento infinito como uma bala de prata para resolver os seus problemas de paginação. Pare de construir websites com pergaminho infinito.

LogRocket: visibilidade Completa de aplicativos web

LogRocket Painel de Avaliação Gratuita Banner

LogRocket é uma aplicação frontend solução de monitoramento que permite a repetição de problemas como se eles aconteceu no seu próprio navegador. Em vez de adivinhar porque é que os erros acontecem, ou pedir aos utilizadores imagens e dumps de registo, o LogRocket permite-lhe repetir a sessão para compreender rapidamente o que correu mal. Ele funciona perfeitamente com qualquer aplicativo, independentemente do framework, e tem plugins para logar contexto adicional de Redux, Vuex e @ngrx/store.

in addition to logging Redux actions and state, LogRocket records console logs, JavaScript errors, stacktraces, network requests/responses with headers + bodies, browser metadata, and custom logs. Ele também instrumenta o DOM para gravar o HTML e CSS na página, recriando pixel-vídeos perfeitos de até mesmo os aplicativos de Página Única mais complexos.Tente de graça.

Deixe uma resposta

O seu endereço de email não será publicado.