Este estudo foi realizado com o intuito de verificar se um usuário final, jogador de World of Warcraft, consegue construir Add-ons utilizando a ferramenta EUPAT for WoW e seu tutorial, e se ela auxilia este usuário a ter um melhor desempenho na construção de seus Add-ons.
O foco deste estudo considerou apenas os usuários que já possuíam domínio sobre a lógica de funcionamento da interface do jogo World of
Warcraft, uma vez que alguns conceitos específicos do jogo são necessários
para construir um Add-on. Entendemos que na programação por usuário final, usuários que já conhecem o domínio da aplicação têm uma menor dificuldade na construção dos seus programas. Assim, todos os participantes das avaliações tinham conhecimento do jogo World of Warcraft. O grau de conhecimento dos jogadores foi avaliado por eles mesmos e classificado entre Iniciante, Intermediário e Experiente. Esta classificação foi utilizada apenas para caráter informativo, e não foi utilizada nem para análise dos resultados e nem para diferenciar os participantes na realização das avaliações.
Para realizar o estudo, a ferramenta EUPAT for WoW foi instalada em um computador pessoal portátil, juntamente com o jogo World of Warcraft em sua versão mais atual até a data de realização do estudo. O único periférico utilizado foi um mouse, pois não é necessário outro periférico para jogar World of Warcraft ou para utilizar a ferramenta EUPAT for WoW. Os participantes foram avaliados individualmente, sem interferência de terceiros, e em um ambiente calmo e silencioso.
5.1.1 Metodologia
Os estudos consistiram de testes aplicados a usuários de computador, familiarizados com o jogo World of Warcraft, que foram divididos em duas partes. Na primeira, foi realizado o uso exploratório com o objetivo de avaliar se o usuário consegue interpretar os significados da Interface de Usuário da ferramenta. Na segunda parte, o objetivo foi avaliar se o usuário consegue utilizar a ferramenta com eficácia e eficiência.
A justificativa para essa metodologia é que, para avaliar a eficácia e eficiência, é importante que os participantes tenham conhecimento da ferramenta. Para adquirir este conhecimento, utilizamos a ferramenta e seu tutorial para realizar um uso exploratório.
1. Uso exploratório: O objetivo desta etapa foi verificar se usuários finais, jogadores de World of Warcraft, conseguem interpretar e entender os elementos da interface de usuário da ferramenta EUPAT
for WoW.
Esta avaliação tem ainda como intuito funcionar como uma introdução exploratória à ferramenta EUPAT for WoW, visto que é importante que os participantes tenham conhecimento do aplicativo utilizado antes de avaliar sua eficácia e/ou eficiência.
2. Construção de Add-ons: O objetivo desta etapa foi avaliar se os participantes (programadores e não-programadores) com conhecimento da ferramenta EUPAT for WoW conseguiriam construir
um Add-on com os recursos oferecidos pela mesma (Eficácia), e avaliar o desempenho (tempo, tentativas, erros cometidos) do usuário na construção desse Add-on (Eficiência).
5.1.1.1 Perfil dos Participantes
Para a realização do estudo, foram selecionados 15 (quinze) participantes, na faixa entre 15 e 27 anos de idade. Estes participantes foram divididos em 3 (três) grupos de 5 (cinco) pessoas, sendo eles: dois grupos de participantes que possuíam conhecimento em programação e um grupo de participantes sem conhecimento (não-programadores).
Dentre os participantes programadores, o conhecimento de programação (não-Lua) e de programação em Lua foi um fator importante na avaliação, separando os participantes em:
Grupo 1: 5 (cinco) participantes com conhecimento de programação em alguma linguagem de programação (que não a linguagem Lua); Grupo 2: 5 (cinco) participantes com conhecimento na linguagem de
programação Lua;
Grupo 3: 5 (cinco) participantes não-programadores, sem qualquer conhecimento de programação.
Consideramos um participante possuir conhecimento em programação se ele tiver sido aprovado em pelo menos 2 (duas) cadeiras (disciplinas) de programação em um curso de nível superior.
5.1.1.2 Tarefas dos participantes
Na primeira etapa, de uso exploratório, os participantes dos grupos 1, 2 e 3 foram convidados a realizar a construção de um Add-on, sem nenhuma explicação da ferramenta. Neste processo, eles foram instruídos a
desenvolver os exemplos 1 e 2 do tutorial da ferramenta EUPAT for WoW. Os exemplos 1 e 2 do Tutorial correspondiam, respectivamente, ao uso de variáveis e exibição de informações na tela de jogo, através de Frames.
Os participantes tiveram 15 (quinze) minutos para realizarem sua tarefa. Esse tempo foi estipulado levando em conta a natureza do processo avaliativo: para não sobrecarregar os avaliadores e participantes foi determinado que se o usuário levasse mais de 15 (quinze) minutos realizando sua tarefa o mesmo seria considerado como não apto a concluir.
Durante esta etapa, os participantes realizaram o pensamento-em-voz-
alta enquanto observados por um especialista, indicando a sua interpretação
sobre os elementos da ferramenta.
Já na segunda etapa, de construção de Add-ons, foram atribuídas tarefas distintas aos grupos, com o objetivo de realizar avaliações específicas de acordo com os perfis dos participantes: para os grupos 1 e 2, o objetivo foi avaliar o papel que a EUPAT exerce em facilitar a construção de Add-ons entre os que tem conhecimento de programação; para o grupo 3, o objetivo foi avaliar se usuários sem conhecimento em programação conseguem construir Add-ons utilizando o tutorial da ferramenta.
Os participantes do Grupo 1 utilizaram a ferramenta EUPAT for WoW para construir seus Add-ons enquanto os participantes do Grupo 2 utilizaram apenas um editor de texto comum para construir suas extensões utilizando diretamente a linguagem Lua. Os participantes do Grupo 2 receberam um texto informativo (Anexo 1), onde foram fornecidas as funções da API que seriam utilizadas, a sintaxe dos comandos básicos e as estruturas específicas em Lua.
Ambos os grupos foram instruídos a realizarem a seguinte tarefa:
Criar Add-ons usando EUPAT for WoW [ou Lua] para exibir as seguintes mensagens na tela do jogo:
1. Os Pontos de Vida atuais do seu personagem, os Pontos de Vida totais e a proporção entre os dois.
2. Uma mensagem que informe ao usuário sempre que a Energia do seu personagem estiver abaixo de 10%.
Testar os Add-ons criados um por um.
Escolhemos essa tarefa por considerarmos Add-ons simples que poderiam ser construídos com folga dentro do tempo estabelecido e que utilizariam os construtos de programação que desejávamos abordar (variáveis, uso de frames, condicionais IF e ELSE).
Os participantes do Grupo 3 utilizaram a ferramenta EUPAT for WoW e foram instruídos a realizarem a seguinte tarefa:
Criar um Add-on usando EUPAT for WoW:
1. Desenvolver o exemplo 3 do Tutorial da ferramenta EUPAT for
WoW.
Testar o Add-on criado durante o exemplo.
O exemplo 3 do Tutorial corresponde ao uso do condicional IF (Se .. então).
Nesta etapa, todos os grupos tiveram o limite de 15 (quinze) minutos para realizarem suas tarefas, seguindo as mesmas justificativas da etapa anterior.
Durante a realização das tarefas, os participantes foram avaliados de acordo com:
1. Desempenho: Tempo decorrido (medição quantitativa).
2. Facilidade de uso: Erros cometidos percebidos e quantidade de tentativas (medição quantitativa) e comentários que o usuário fez durante e após o estudo (qualitativa).
1- Coletar informações acerca do perfil do participante;
2- Coletar informações e opinião do participante sobre programação, aprendizado de programação, e sobre a ferramenta EUPAT for WoW; 3- Relacionar o desempenho do participante de acordo com as tarefas
propostas no estudo.
Os Questionários coletavam os seguintes dados pessoais do participante: Nome, Escolaridade (Ano e Curso), Sexo, Idade, Experiência em
World of Warcraft e Conhecimento de Programação.
O questionário aplicado aos Grupos 1 e 2, apresentava as seguintes questões:
1. Em sua opinião, quais os principais obstáculos no aprendizado de
programação?
O objetivo desta pergunta é que o participante (que já é programador) aponte quais os principais obstáculos que encontrou (antigamente) enquanto tentava aprender a programar (seja de forma autodidata ou através de cursos).
2. Quais são as maiores dificuldades que você encontra ao programar? O objetivo desta pergunta é que o participante aponte quais as suas principais dificuldades (atualmente) ao programar (seja no trabalho ou para realizar alguma tarefa no seu curso de programação).
3. Você conhece as ferramentas Scratch ou Alice?
O objetivo desta pergunta é verificar se ferramentas gráficas são bem divulgadas/difundidas no meio em que os participantes se encontram.
4. Você acredita que ferramentas gráficas podem facilitar ou auxiliar a
programação? Dê sua opinião sobre métodos que poderiam ser utilizados para facilitar ou auxiliar o ensino de programação.
O objetivo desta pergunta é obter a opinião do participante sobre ferramentas gráficas (como o Scratch, o Alice e o EUPAT for WoW) e seu uso no ensino de programação.
5. Você acredita que o uso de Jogos pode ser um fator estimulante para
o ensino de programação?
O objetivo desta pergunta é obter a opinião do participante sobre o uso de Jogos no ensino de programação, seja através da programação de Jogos ou programação através de Jogos (Jogos Educativos).
O questionário aplicado ao Grupo 3, apresentava as seguintes perguntas de opinião:
1- O que você achou da sua primeira experiência criando programas? O objetivo desta pergunta é obter a opinião do participante (que não é programador) sobre como foi sua primeira experiência programando.
2- Quais são as principais dificuldades que você encontrou?
O objetivo desta pergunta é identificar as principais dificuldades que o participante encontrou utilizando a ferramenta EUPAT for
WoW para desenvolver seus primeiros programas.
3- Você imaginava que programação fosse assim?
O objetivo desta pergunta é identificar como o participante esperava que fosse sua primeira experiência em programação.
4- Como você esperava que fosse?
Em caso negativo para a pergunta 3, o participante deveria explicar como ele esperava que fosse sua primeira experiência em programação.
5- Em relação ao que você esperava, sua experiência foi melhor ou pior? O objetivo desta pergunta é identificar se a experiência que o participante teve divergiu positivamente da experiência que ele esperava ter.
6- Você acredita que ferramentas gráficas podem ajudar na
O objetivo desta pergunta é obter a opinião do participante sobre o uso de ferramentas gráficas (como o EUPAT for WoW) no ensino de programação.
7- Você considera o fato da ferramenta estar associada ao jogo World of
Warcraft um fator estimulante?
O objetivo desta pergunta é obter a opinião do participante se o fato da ferramenta estar associada ao jogo World of Warcraft é um fator estimulante ou não.
8- Quais sugestões você daria para melhorar a ferramenta EUPAT for
WoW? Comentários.
Espaço aberto para o participante dar sugestões e realizar comentários sobre o estudo e sobre o uso da ferramenta EUPAT for
WoW.
Os questionários completos podem ser encontrados no Anexo 2 (questionário dos Grupos 1 e 2), no Anexo 3 (questionário do Grupo 3).
5.1.2 Resultados do Uso exploratório
Após a avaliação, a partir das observações do uso e dos comentários dos participantes durante o processo, o avaliador pôde realizar anotações sobre os problemas de interpretação da IU e o grau de satisfação dos participantes com a ferramenta EUPAT for WoW.
Durante a avaliação dos grupos 1, 2 e 3, foram apontadas várias sugestões e melhorias a serem feitas na ferramenta. Dentre elas:
1. Algumas sugestões relacionadas ao Tutorial:
a. O tutorial não detalha quais os nomes possíveis para uma variável, i.e. não usar numérico, sem nomes compostos, etc. b. O tutorial não especifica que Strings devem ser criadas entre
c. O tutorial não especifica (explicitamente) qual a área onde devem ser criados os Frames.
d. O tutorial não explica que o sistema executa em Thread (que os comandos adicionados a lista são executados enquanto o jogo permanecer em execução e o Add-on estiver ativo).
e. Melhorar as explicações com passo-a-passo mais detalhado e exemplos mais práticos. Por exemplo: explicar melhor conceitos “básicos”, como a criação de variáveis, e conceitos “intuitivos”, como a remoção de variáveis do Frame.
2. Algumas sugestões ao uso da ferramenta:
a. Aumentar o tamanho dos comandos e das entradas de comando nos operadores e estruturas.
b. Adicionar um botão para apagar Frame.
c. Não diferenciar ponto ou vírgula nos numéricos.
d. Fazer com que os Frames sejam mais interativos, possibilitando a sua manipulação depois de criados.
e. Um dos participantes sugeriu adicionar uma opção que possibilite ao usuário ao invés de utilizar drag and drop, apenas clicar e adicionar o comando selecionado no final da lista de comandos.
3. Algumas sugestões à interface:
a. Adicionar uma lixeira na tela para informar que o usuário precisa arrastar os comandos para lá para poder apagá-los. b. Alterar o nome das Abas para nomes mais sugestivos,
principalmente o da Aba EXTRAS (alterar para OPERADORES). c. Adicionar tooltip (uma “dica de contexto”) ao ícone de criação
d. Adicionar tooltip também para as Abas do aplicativo, explicando sucintamente o que o usuário pode encontrar em cada uma.
e. Colorir os operadores por tipo.
f. Exibir uma mensagem de confirmação caso o usuário tente apagar um trecho muito grande de comandos (para evitar acidentes).
g. Uma das sugestões mais interessantes: fazer uma sequência lógica de aparição dos comandos, de modo que algumas estruturas (como o WHILE) ou operadores só apareçam à medida que forem sendo utilizados no Tutorial. Entretanto, para aplicar esta sugestão, deveria também ser acrescida uma opção para usuários que desejassem exibir todos os comandos sem que fosse necessário terminar o tutorial.
h. Colorir o operador de Igualdade de forma que fique mais explícito que a atribuição é feita colocando uma variável (comando de cor vermelha) do lado esquerdo e uma função da API (comando de cor verde) do lado direito da igualdade. Em outras palavras, alterar as cores dos operadores de forma que fique mais intuitivo como eles se encaixam (o aplicativo
EUPAT for WoW já distingue os encaixes por formato,
Variáveis são retângulos retos e funções são retângulos com pontas curvas, porém alguns usuários não perceberam ou apontaram que era pouco intuitivo).
Também foram encontrados alguns problemas durante o estudo: 1. Relacionados ao Tutorial:
a. Três participantes (não-programadores) não entenderam o conceito de variáveis como armazenadoras de valores.
b. Dois participantes (não-programadores) não entenderam o conceito de funções da API.
2. Usabilidade:
a. Dois participantes não entenderam como remover variáveis do frame na primeira tentativa, mas confirmaram, após acertarem, que realmente era intuitivo.
b. Um dos participantes tentou criar uma variável digitando no campo vazio do operador de Igualdade ao invés do jeito convencional (arrastando a instrução de criação de variável a partir da lista de comandos da ferramenta).
c. Durante os testes foi notado pelo avaliador que usar funções da API direto como variáveis é mais intuitivo, prático e menos cansativo do que armazená-las dentro de uma variável através da operação de Igualdade. Mais de uma vez os usuários tentaram usá-las de tal forma.
d. Um dos participantes pensou que os comandos eram executados em paralelo (atribuindo valores as variáveis após as mesmas terem sido utilizadas).
Alguns problemas de implementação encontrados durante os testes: 1. O aplicativo estava apresentando problema quando algumas
variáveis eram adicionadas na última posição da lista de comandos quando a mesma não estava vazia. Entretanto, com ajuda do avaliador este fato foi contornado e não influenciou no resultado dos estudos.
5.1.3 Resultados da Construção de Add-ons
Abaixo, serão transcritos os resultados da avaliação dos grupos e respostas dadas aos questionários.
5.1.3.1 Grupo 1 - Programadores (Não-Lua)
Nesta seção, iremos listar os resultados obtidos relacionados ao desempenho dos participantes do grupo 1 durante a resolução da tarefa proposta na avaliação.
Na Tabela 3, estão listadas as informações pessoais dos participantes. As respostas completas para as questões subjetivas do questionário que foi aplicado ao Grupo 1 podem ser encontradas no Anexo 4.
Tabela 3. Relação dos participantes do Grupo 1.
Participante Experiência em
World of Warcraft
Sexo Idade Escolaridade Conhecimento em
Programação 1 Intermediário M 20 Superior 3º Ano de CC 2 Intermediário M 23 Superior 4º Ano de CC 3 Intermediário M 19 Superior 3º Ano de CC
4 Iniciante M 23 Superior 3º Ano de CC
5 Iniciante M 25 Superior Formado em
CC
Na primeira parte da tarefa, foi solicitado que o participante desenvolvesse um Add-on utilizando EUPAT for WoW para exibir a seguinte mensagem na tela do jogo: os Pontos de Vida atuais, os Pontos de Vida totais e a proporção entre os dois.
A Tabela 4 descreve o tempo decorrido para desenvolver um Add-on correto que realizasse tal tarefa, e a quantidade de tentativas necessárias para construir o mesmo com sucesso. Consideramos por quantidades de tentativas todas as vezes que o usuário tentou executar o Add-on até encontrar o resultado esperado, incluindo testes mal sucedidos.
Tabela 4. Desempenho dos participantes do Grupo 1 para a primeira parte da Tarefa. Participante Tempo Decorrido Qntd. de Tentativas 1 8 min 3 2 3 min 2
3 5 min 2
4 3min 40s 1
5 5min 20s 2
Durante a avaliação, foram coletados através das técnicas de observação e pensamento-em-voz-alta alguns dados referentes aos Erros Cometidos pelo participante.
Dentre os erros mais comuns estavam o uso errado do operador de igualdade e a declaração de nomes inválidos para variáveis (usando “%” ou nomes compostos, por exemplo). Esses erros eram verificados ao executar os
Add-ons no jogo e anotados pelo avaliador. Nenhum dos erros, entretanto,
persistiu por mais de uma tentativa fracassada.
Em apenas um dos casos, o participante não entendeu o problema, colocando apenas um dos valores para ser exibido em tela ao invés dos três. Neste caso, o participante colocou apenas a Proporção, não colocando os valores Atual e Total.
Durante uma das avaliações, foi realizada a sugestão de adicionar uma opção para disponibilizar um editor de código na ferramenta, para que usuários avançados possam digitar ao invés de arrastar os comandos.
Na segunda parte da tarefa, foi solicitado que o usuário desenvolve-se um Add-on utilizando EUPAT for WoW para exibir a seguinte mensagem na tela do jogo: uma mensagem de texto que informe ao usuário sempre que sua Energia estiver abaixo de 10%.
A Tabela 5 descreve o tempo decorrido para desenvolver um Add-on correto que realizasse tal tarefa, e a quantidade de tentativas necessárias para construir o mesmo com sucesso, incluindo testes mal-sucedidos.
Tabela 5. Desempenho dos participantes do Grupo 1 para a segunda parte da Tarefa. Participante Tempo Decorrido Qntd. de Tentativas 1 12 min 6
2 5 min 2
3 4 min 1
4 7 min 3
5 4min 15s 1
Durante a avaliação, foram coletados através das técnicas de observação e pensamento-em-voz-alta alguns dados referentes aos Erros Cometidos pelos participantes (numerados de acordo com o participante de 1 a 5), são eles:
1- Criação de uma variável com nome composto e uma com numérico; Faltaram as aspas na String; Não atribuiu valor à variável antes de usá-la (atribuiu após o uso); Usou a função da API na comparação; Não desenvolveu a lógica corretamente (a mensagem exibida não sumia após o IF ficar falso).
2- Uso de Vida (Health) ao invés de Energia (Power); Não usou thread; Dificuldade em entender que é necessário usar a Igualdade para operações matemáticas (tentava colocar direto o operador matemático ao invés de colocá-lo dentro de um Igual).
3- Dúvida em relação à tarefa no que seria Energia (não associou a Power, pois no teste estava escrito em português).
4- Faltaram as aspas na String; Vírgula em numérico ao invés de ponto. Teve problemas arrastando os operadores e variáveis, colocando variáveis dentro da Igualdade, e colocando operadores no IF.
5- Faltaram as aspas na String; Precisou de ajuda com a lógica do problema (como fazer a proporção entre os valores). Clicou e arrastou o botão de criar Frames.
Nesta seção, iremos listar os resultados obtidos relacionados ao desempenho dos participantes do Grupo 2 durante a resolução da tarefa proposta na avaliação.
Na Tabela 6, estão listadas as informações pessoais dos participantes. As respostas completas para as questões subjetivas do questionário que foi aplicado ao Grupo 2 podem ser encontradas no Anexo 5.
Tabela 6. Relação dos participantes do Grupo 2.
Participante Experiência em World of
Warcraft
Sexo Idade Escolaridade Conhecimento em
Programação
1 Iniciante M 19 Superior 3º Ano de CC
2 Iniciante M 20 Superior 3º Ano de CC
3 Intermediário F 20 Superior 3º Ano de CC
4 Avançado M 21 Superior 4º Ano de CC
5 Iniciante M 23 Superior 5º Ano de CC
Na primeira parte da tarefa, foi solicitado que o participante desenvolvesse um Add-on utilizando Lua para exibir a seguinte mensagem na tela do jogo: os Pontos de Vida atuais, os Pontos de Vida totais e a proporção entre os dois.
Na segunda parte da tarefa, foi solicitado que o participante desenvolvesse um Add-on utilizando Lua para exibir a seguinte mensagem na tela do jogo: uma mensagem de texto para informar ao usuário sempre que sua Energia estiver abaixo de 10%.
Nenhum dos participantes do Grupo 2 conseguiu desenvolver – usando
Lua - a primeira parte da tarefa em menos de 15 minutos (tempo estimado).
Durante a avaliação, foram coletados alguns dados referentes aos Erros Cometidos pelos participantes (numerados de acordo com o