Interacção Humano-Computador 2012/2013-2º Semestre Trabalho Prático nº2: Projecto e Desenvolvimento de uma Aplicação Interactiva Entrega no Moodle até 27 de Maio às 23h50m: Apresentação final e código Introdução O objectivo deste trabalho é o desenvolvimento de um protótipo funcional para uma aplicação interactiva utilizando preferencialmente a linguagem de programação Visual C# (abordada nas aulas práticas). O protótipo desenvolvido deve funcionar, podendo no entanto ser feitas algumas simplificações na implementação dado que a ênfase do projecto é na interface de utilizador e não no funcionamento da própria aplicação. Fases do projecto O desenvolvimento de uma aplicação interactiva implica uma série de passos; actualmente a filosofia dominante é a utilização de uma metodologia user-centered design. O trabalho deve cobrir todas as fases do projecto de acordo com o seguinte calendário: 1. Escolha do projecto (segunda-feira 8 ou terça-feira 9 de Abril) Cada grupo de dois alunos deverá escolher um projecto. Para além de escolher um dos enunciados que se seguem, os alunos tem ainda as seguintes alternativas: - desenvolver a interface de utilizador para a base de dados que estão a desenvolver nas disciplina de Bases de Dados ou Sistemas de Gestão de Bases de Dados - propor um enunciado com um trabalho do seu interesse. Estas propostas devem ser aprovadas pela Professora responsável pela disciplina. Apesar de preferencialmente o projecto ser desenvolvido em Visual C#, os alunos que apresentarem justificações válidas para tal poderão optar por outras ferramentas de programação. A escolha de outra ferramenta de desenvolvimento terá que ser validada pelo Docente das Práticas logo no início do projecto. A escolha do projecto pelos alunos deve ser comunicada ao Docente das aulas práticas. Seguem algumas ideias de aplicações a desenvolver no âmbito deste trabalho: 1. Aplicação para ser usada por um médico para registar o historial de um doente.
2. Aplicação para auto-avaliação de sintomas por um doente. Deve ser desenhada uma interface que permite a um doente registar sintomas em sua casa e depois enviar essa informação para o seu médico. A aplicação deve permitir registar informação do doente, do médico e dos vários sintomas (por exemplo estado geral, localização de dor, intensidade da dor, etc ). 3. Aplicação para venda de bilhetes numa casa de espectáculos. 4. Aplicação de correio electrónico para pessoas de idade ou com problemas de visão. 5. Aplicação de navegação no campus da Universidade de Aveiro a correr num smartphone para permitir a um visitante externo orientar-se no campus da UA. 6. Aplicação para escrita (tipo notepad) e desenho (tipo paint) para pessoas com deficiência, que só conseguem utilizar um rato com um só botão. 7. Aplicação para gestão de stocks de peças de automóvel num armazém a ser utilizada num smartphone pelo vendedor que faz assim o registo da vendas de peças e necessidade de encomendas adicionais. 8. Aplicação para gestão do parque informática da UA a correr num PDA e ser utilizado pelos trabalhadores do CICUA quando realizam operações de manutenção. 9. Aplicação para lançamento pelos professores das notas das várias disciplinas e envio da pauta para os Serviços Académicos. 10. Aplicação de auxílio a clientes para compras num centro comercial permitindo fazer o upload da lista de compras e auxiliar o cliente a realizar a compra no intervalo de tempo mais curto possível. 11. Aplicação para investimento online. 12. Aplicação de reserva de voos online para voos domésticos em Portugal. 13. Aplicação para gestão da lista de tarefas (To Do List) permitindo definir tarefas, prioridades, vários modos de visualização e facilitando a gestão de tempo do utilizador. 14. Aplicação para correr numa máquina automática de venda de fármacos a colocar à porta de uma farmácia. 15. Aplicação para encorajar hábitos de alimentação saudáveis e a prática de exercício. 16. Aplicação para controlo de uma sala de aula pelo docente. Esta aplicação deve permitir a um docente num laboratório equipado com 13 computadores, controlar a partir da sua máquina a informação em todos os computadores e ainda no projector. Deve ser, por exemplo, possível projectar o display de qualquer computador para o projector, ou para outro computador, assumir ou libertar o controlo de cada computador, etc 17. Sistema para apresentação de um álbum fotográfico (numa televisão ou num ambiente público), controlando o fluxo através do Kinect. Será necessário também pensar na implementação do BackOffice para permitir gerir o álbum/sequência de foto a controlar. 18. Pocket photo Sistema para gestão e visualização de imagens num telemóvel permitindo criar sessões (família, filhos, desporto) e facilmente mostrar a amigos fotos pessoais. O objectivos é de alguma forma criar uma aplicação que substitua as fotos pessoais que muitas pessoas têm na carteira, permitindo facilmente gerir fotos e partilhá-las com amigos. 19. Painel de instrumentos para um carro eléctrico a ser visualizado num pequeno ecrã touch LCD, sendo possível a configuração e organização pelo utilizador.
Está a ser desenvolvida no DETI uma aplicação interactiva (DETI- interact) que utiliza o Kinect para interagir com os ecrãs no hall de entrada do Departamento. Propõe-se uma lista de ideias (não exaustiva) de pequenos projectos que poderão ser desenvolvidos com vista à integração nessa aplicação (DETI-interact). Estes trabalhos devem primeiro ser desenvolvidos para rato e teclado e depois adaptados para o Kinect (sendo disponibilizada informação para esta integração por pessoas ligadas ao projecto). Algumas ideias para integrção no DETI- Interact: Jogos: a- Jogo em que o utilizador deve tocar em determinados objectos (o que se traduz em pontos ganhos) e tentar esquivar-se de outros (que lhe tiram vida). b- "AirPaint" - Os gestos produzidos (no ar), são "traduzidos" para desenhos numa "tela" ou ainda o Controlo de um avatar tri-dimensional. Aplicações: c- Senhas UA - Painel informativo com as senhas dos serviços académicos. d- Ementas UA - Painel com a ementa diária das cantinas que fazem parte do Campus e- Previsão meteorológica - Painel com a previsão meteorológica (semanal), sendo possível realizar a selecção de um dia específico para obter informação mais pormenorizada. f- "DailyYouTube" - Exposição dos 10 vídeos (por exemplo sobre tecnologia) mais vistos diariamente. g- "DailyTechNews" - Exposição das 10 notícias mais relevantes sobre tecnologia (diariamente), facilmente implementado recorrendo a um RSS de sites da área. Outras propostas de aplicações utilizando sensores 3D (Wiimote, Kinnect, Wintracker ou óculos de realidade Virtual) e com uma forte componente interactiva são bem-vindas. O acesso a esses sensores 3D que podem ser utilizados como dispositivos de entrada adicional será permitido caso a caso em função do número de propostas que envolvem estes equipamentos. 2. Análise de requisitos e definição de objectivos de usabilidade Depois da escolha do projecto deve ser realizada uma análise de requisitos de acordo com o capítulo 1 do livro The Usability Engineering Lifecycle (Mayhew, 1999) disponível no Moodle. Nesta fase é necessário definir e classificar os tipos de utilizadores alvo da aplicação a desenvolver. Deve-se ainda contextualizar o tipo de tarefas a realizar para definir as principais linhas directoras de desenvolvimento da interface. Por fim, devem ser definidas tarefas típicas para permitir a sua posterior avaliação e guiar o desenvolvimento (3 no mínimo). Devem-se ainda definir as capacidades e limites da plataforma usada para o desenvolvimento e a partir desta análise definir os principais objectivos de usabilidade (facilidade de aprendizagem, de utilização,...). Cada grupo deve preparar 5 slides para as aulas de 15 ou 16 de Abril. 3. Modelo conceptual e protótipo em papel (aulas de 15 ou 16 de Abril) Baseados na análise de requisitos, devem ser pensados o modelo conceptual da interface de utilizador e a estrutura da aplicação. Devem então ser realizados um ou mais protótipos em papel que devem permitir pelo menos simular/representar as 3 tarefas representativas. Este protótipo em papel deverá estar concluído até as aulas de 15 ou 16 de Abril para se realizarem testes preliminares com utilizadores durante a aula (cada aluno alternando entre utilizador e
observador). O protótipo criado nesta fase deve aparecer na apresentação final (fotos, scan) assim como a justificação da escolha e os resultados dos testes preliminares com utilizadores. Note que esta fase do projecto é óptima para testar e validar várias opções pelo que podem ser testados mais que um protótipo. Durante a aula de testes, podem e devem ser introduzidas alterações aos protótipos de uma forma interactiva de acordo com os resultados dos testes. Nota: a não preparação até esta aula do protótipo de papel, da análise de requisitos ou da definição dos objectivos implicará um desconto na classificação final do trabalho. 4. Desenvolvimento do protótipo funcional usando Visual C# A partir do estudo preliminar e do protótipo em papel deve ser realizado um protótipo funcional da aplicação em Visual C# respeitando os princípios de usabilidade. A ênfase no desenvolvimento não é na funcionalidade mas sim na interface de utilizador pelo que simplificações são aceites desde que justificadas (por exemplo uma aplicação que necessite uma base de dados pode ser simulada com algumas entradas hard coded ). Nalguns casos justificados, será aceite o desenvolvimento com outras ferramentas de programação desde que comunicado atempadamente aos Docentes. 5. Teste com utilizadores (Aulas de 20 ou 21 de Maio) Estas aulas serão utilizadas para fazer um teste com utilizadores das aplicações desenvolvidas, cada grupo desempenhando sucessivamente o papel de utilizador para outro grupo e de observador no teste da sua própria aplicação. O objectivo é detectar erros de implementação ou de usabilidade nesta fase mais avançada do projecto. A preparação da avaliação (definição do teste, escolha das tarefas, medidas e métodos usados, questionários, etc.), assim como os resultados destes testes devem ser mencionados na apresentação final. 6. Apresentação e demo (Aulas de 27, 28 de Maio e 03, 04 de Junho) Cada grupo deverá realizar uma apresentaçãoe demo de 20 minutos do seu trabalho numa das duas últimas aulas práticas. Na segunda-feira, dia 27 de Maio devem ser entregues no Moodle até às 23h50m os slides da apresentação e o código da aplicação desenvolvida. Depois da apresentação os alunos responderão a questões relacionadas com o desenvolvimento do seu projecto e os métodos usados. Será disponibilizada uma lista de perguntas para ajudar a preparar as respostas. Turma Horário Datas de apresentação e demo P1CT 2ª feira 16:00-18:00 27 de Maio; 03 de Junho P3CT 3ª feira 10:00-12:00 28 de Maio; 04 de Junho P2CT 3ª feira 15:00-17:00 28 de Maio; 04 de Junho P4SI 3ª feira 17:00-19:00 28 de Maio; 04 de Junho
Apresentação e demo Deverá durar 20 minutos e incluir obrigatoriamente todos os pontos referidos anteriormente, e em particular os aspectos seguintes: Análise de requisitos (tipo de utilizador, contextualização, outras aplicações existentes, características da plataforma, tarefas escolhidas como típicas); Objectivos de usabilidade e modelo conceptual da interface de utilizador; Protótipo em papel (podem ser incluídas fotos ou scans) e resultados dos testes preliminares (alterações feitas em função destes resultados); Aspectos mais importantes do desenvolvimento; Preparação e avaliação com utilizadores; Resultados: Descrição da Aplicação final; Conclusões; Referências. Resumo do calendário das entregas nas aulas: 8 ou 9 de Abril Escolha do enunciado, ou submissão de proposta 15 ou 16 de Abril Requisitos; objectivos de usabilidade; modelo conceptual protótipo em papel 20 ou 21 de Maio - Teste com utilizadores da aplicação 27, 28 de Maio; 03, 04 de Junho Apresentação final e demo dos trabalhos Entrega no Moodle até 27 de Maio às 23h50m: Apresentação final e código