domingo, 13 de abril de 2008

Jogo da Velha

Neste fim de semana terminei o tutorial do Notepad e, como tinha prometido, tentei implementar um jogo da velha (bem simples) para Android.

Começei a tentar fazer a interface e percebi que o design de UI em XML é MUITO chato. Precisa de muita paciência pra ficar editando todas aquelas tags...Então eu lembrei que o professor Hans citou em classe um editor gráfico de interfaces para o Android. Ele se chama DroidDraw. Depois de baixá-lo, instalá-lo e ler alguns tutoriais, consegui desenvolver a interface com mais facilidade, apesar de o DroidDraw possuir alguns bugs muito chatos (as vezes os botões saem do lugar sem nenhuma explicação, não há um botão de undo, e outras coisas do tipo).

Em seguida programei a aplicação, seguindo os exemplos do tutorial (utilizei alguns trechos de um outro jogo da velha que eu já tinha feito usando JavaSwing). O resultado final ficou bem simples, mas até que legalzinho: você joga contra o computador (que possui um pouco de inteligência artificial), há um item no menu para iniciar um novo jogo e uma barra de texto que avisa quando alguém ganhou o jogo ou quando "deu velha".

Aqui vão algumas imagens do super jogo-da-velha:




A experiência foi bem proveitosa, deu pra pegar bastante coisa sobre programação no Android. Eu recomendo fortemente que quem quer aprender Android faça algo semelhante, realmente vale à pena! Conforme eu tiver tempo, pretendo incrementar o jogo da velha ou fazer alguma outra coisa, para me familiarizar mais com o ambiente Android.

quinta-feira, 10 de abril de 2008

Plano de Teste de Usabilidade

Este post se refere à publicação sobre Plano de Teste de Usabilidade publicada no blog da equipe (clique aqui para acessá-la).

Com relação à variável que escolhemos medir, "o tempo que o usuário leva para realizar um conjunto fixo de tarefas", considero que isto seja uma boa medida da facilidade (ou não) de uso do sistema. Digo isto pois, após o usuário selecionar uma tarefa a ser feita (por exemplo, dar comida ao bichinho), esta tarefa será executada pela aplicação sem controle do usuário e, por isso, levará o mesmo tempo todas as vezes.

Logo, o que variará no tempo que medirmos será a velocidade do usuário em encontrar onde estão as opções que ele deve realizar e não a velocidade para a ação ser executada. Isto poderá nos dar uma idéia de quão fácil nossa aplicação é de se usar (e de se aprender a usar).

No entanto, se a lista de tarefas for muito longa, será difícil avaliar em quais atividades específicas houve dificuldade por parte dos usuários. Talvez fosse interessante dividir os usuários que farão parte do teste em grupos menores e fornecer a cada grupo um número bem reduzido de tarefas (talvez apenas uma), para que possamos saber com mais clareza quais operações estão com problemas de usabilidade.

PS: postei este comentário aqui, e não no blog da equipe, pois se trata de uma opinião minha, que ainda não discuti com o grupo.

Explorando o Android

Depois de algumas tentativas frustradas, consegui (já faz um tempinho...) instalar e fazer funcionar o Android. Achei muito legal a tecnologia, parece um avanço bem grande com relação ao que temos nos celulares de hoje...

Já fiz o "Hello, World!" para Android e estou quase terminando o tutorial do NotePad. Confesso que o estilo de programação não me agradou muito, de início, com todos aqueles arquivos XML e coisa e tal. Mas imagino que isto seja questão de pegar um pouco mais de prática e costume (assim espero!).

Para este final de semana, pretendo acabar o tutorial do NotePad e desenvolver, do zero, uma aplicaçãozinha bem simples. Pensei num jogo da velha, mas ainda não tenho certeza. Isto deve ser bem útil para pegar mais prática com o ambiente de programação.

Bom fim de semana!

domingo, 16 de março de 2008

Proposta 2 - Jogo Educacional

Estive pensando neste fim de semana e me apareceu uma outra proposta: um jogo educacional, na área de Geografia. Me baseei naquele velho jogo de tabuleiro, o "Perfil", mas a idéia é bem diferente do jogo original.

Tudo começaria com uma imagem do planeta Terra, e uma cidade do globo seria escolhida aleatoriamente do banco de dados do jogo (sem ser revelada ao jogador) . Ele teria que, através de dicas, descobrir qual a cidade escolhida.

As dicas seriam dadas em uma estrutura "hierárquica", ou seja, primeiro o jogador deve descobrir o continente em que se localiza a cidade, depois o país, quem sabe até o estado. Para fazer sua escolha, o jogador deve selecionar a parte correta do mapa. As dicas seriam todas geográficas, com relação à economia, relevo, clima etc do local em questão. Conforme o jogador fosse acertando as dicas, os mapas mostrados na tela iriam se atualizando, "chegando mais próximos" da cidade correta.

Deste modo, o jogador treinaria seus conhecimentos em geografia, tanto por causa das dicas que ele deve relacionar ao local, tanto quanto pela escolha do local através do mapa. Se ele não conseguir acertar após certo número de dicas, o jogo acaba.

Proposta - Social Network

A primeira idéia que tive foi fazer um programa de "rede social", como Orkut, MySpace etc...Acho que a idéia é bem interessante, mas também parece bem complexa. Ainda não entendo muito do funcionamento do Android, e não tenho idéia de como faríamos para "conectar" os celulares, de modo que um usuário pudesse deixar mensagens para outro, ver fotos de outro usuário etc. Pra ser sincero, nem sei se é possível fazer isso...Mas é uma idéia interessante e, ao meu ver, vale a pena estudá-la mais a fundo.

O projeto teria de ser um consórcio entre vários grupos, devido à sua complexidade. No mínimo dois, talvez até três grupos.

Bom, a idéia não está ainda muito definida, mas conforme ela for amadurecendo postarei mais coisas por aqui...