Skip to content

TikTak: Uma API Java para feedback de usuários

Roberto Rodrigues edited this page Jun 4, 2013 · 1 revision

Bem vindo a wiki do TikTak!

O objetivo desse projeto é criar uma API para coletar e visualizar feedback de usuários do sistema.

Motivação

Quando desenvolvemos software, muito do nosso esforço é em vão. Observe o gráfico abaixo.

Esse gráfico demonstra a porcentagem média de funcionalidades utilizadas em um software de acordo com a pesquisa do Standish Group [2002]. O que faz 45% do nosso esforço ser em vão? Quem em sã consciência desenvolve lixo metade das vezes que desenvolve algo? Uma versão mais atual do ChaosManifesto responde:

“Lack of user involvement is the number one reason for project failure. Conversely, user involvement is the number one contributor to project success. Even when delivered on time and on budget, a project can fail if it does not meet the users’ needs or expectations or if the user community does not embrace the finished product”

[Standish Group, 2011].

Para criarmos uma aplicação que atenda as necessidades do usuário, comunicação e feedback dele é fundamental, o problema é que muitas vezes não temos contato direto com nosso usuário, como é o caso de aplicativos disponibilizados na internet (gmail, facebook, evernote, etc). Normalmente essas empresas desenvolvem um mecanismo proprietário de coleta de feedback, porém isso pode levar tempo e custo. Por isto, uma API para coletar informações do usuário é importante!

Descrição

O ideal do projeto é prover o máximo de informação relevante para os desenvolvedores a partir do ambiente de execução do software. A coleta dessas informações deve ser realizada de forma simples como uma chamada de método.

A API deve ser chamada em eventos como:

  • Um usuário utilizou uma funcionalidade;
  • Um erro ocorreu em uma funcionalidade;
  • O usuário deu nota para uma funcionalidade;
  • O usuário fez um comentário para uma funcionalidade;
  • etc;

Recebendo estes dados, a API deve gravar estes dados localmente ou enviar para algum servidor externo por meio de Exporters customizáveis. Dessa forma a equipe de desenvolvimento terá acesso a esses dados.

Um exemplo de ciclo de feedback que segue essa idéia pode ser visto nesta imagem, da forma que foi proposta para um concurso da Microsoft Research:

Licença

README

validador de JASON

como atualizar a versão da API no repositório MAVEN