Por: @leonardom
Publicado em: 2019-11-21

Onboarding da aplicação

O onboarding de aplicação tem por objetivo apresentar a aplicação para o usuário, mostrar as principais funcionalidades e permitir que o mesmo entenda o como fazer a interação com o sistema. Normalmente este onboarding é feito através de um “tour” pela aplicação destacando os elementos principais, exibindo uma descrição sucinta do item destacado.

Opções disponíveis

Durante este laboratório, foram feitos alguns protótipos utilizando ferramentas open-source feitas para fazer a criação do onboarding. Entre elas estão:

Intro JS

Vantagens

Desvantagens

  • Essa bilbioteca é paga para uso comercial. (Motivo de não utilização)

Shepherd

Vantagens

  • Gratuíta;
  • Customizável;

Desvantagens

  • Problemas com CSS;
  • Não integrou muito bem com o Vue.

Vuetify - Criação utilizando os componentes

Vantagens

  • Customização própria;
  • Alta integração com a nossa aplicação (API criada por nós mesmos);
  • Gratuíto;
  • Flexibilidade.

Desvantagens

  • Mais trabalhoso.

Esta última alternativa, apesar de mais trabalhosa, pois não há nada pronto, foi a escolhida.

Utilização da solução

A ideia de criar uma solução própria envolve também a criação de uma API, uma maneira de utilizar a solução. A idéia é manter a API o mais simples possível.

Para isso, a ideia é apenas encapsular o componente de target com

web-tour-step(
  title="Conexões"
  description="Nesta tablea são exibidas interfaces de rede do sistema assim como o estado do link e da interface"
  :step-weight="2",
  step-id="conn"
  tour-id="dashboard"
)
  connections(id="conn")

Este componente pode ser adicionado em qualquer componente da árvore de componentes da página. Apenas adicionar o componente, quando o houver uma chamada de startTour(tourName), todos os componentes que possuem um componente web-tour-step serão exibidos, ordenados pelo peso.

Outras definições

  • A informação de que um usuário já “passou” por uma tour terá que ser salva no backend;
  • Se houver 2 “tours” na mesma tela, elas tem que ser exibidas em momentos distintos, para não ficar massante.