Propostas Atribuidas

DEI - FCTUC
Gerado a 2024-04-25 16:04:56 (Europe/Lisbon).
Voltar

Titulo Estágio

App Android para Bots Enterprise

Áreas de especialidade

Engenharia de Software

Sistemas Inteligentes

Local do Estágio

Coimbra (Taveiro)

Enquadramento

A WIT desenvolve software para Operadores de Telecomunicações, tais como o Grupo Vodafone (Europa), Deutsche Telekom (Alemanha), Reliance Jio (Índia), Singtel (Singapura), Telstra (Australia), Unitel (Angola), Eir (Irlanda), Telecom Italia (Itália), Orange (França), Telefónica (Espanha), TeliaSonera (Suécia), Belgacom (Bélgica), Post Luxembourg (Luxemburgo), Bell (Canadá), Century Link (USA) e Everything Everywhere (UK). O software desenvolvido pela WIT está presente em 42 países. Tem escritórios em Portugal e Reino Unido. Os centros de desenvolvimentos estão localizados em Coimbra, Porto e Leiria.
Nos últimos anos, temos assistido a uma nova tendência no aumento da comunicação através de chat. As aplicações como WhatsApp, iMessage ou Facebook Messenger, conquistaram a preferências dos utilizadores. Ultimamente alguns destes serviços de messaging começaram a investir em Bots de comunicação para fornecer serviços informativos.

Todos estes serviços de comunicação oferecem funcionalidades de comunicação semelhantes. As interacções com os bots são feitas através de mensagens de texto, mas todos estes sistemas permitem também aos developers mostrar alguns elementos gráficos genéricos, nomeadamente:
- Smart Replies (botões com respostas pré-escritas)
- Imagens em Carrossel (conjunto de imagens com textos associados)
- Links para Páginas Web (links dentro de uma resposta de texto)

A WIT tem investido no desenvolvimento de tecnologias que apoiam a criação de serviços de bot. Muitos desses bots, têm o objectivo de ajudar os utilizadores a automatizar tarefas que poderiam ser demoradas.

Na WIT, desenvolvemos uma App de comunicação, utilizando o sistema GSMA RCS (Rich Communication Services) que é distribuída por operadores de telecomunicação em várias partes do mundo, e que é utilizada diariamente por vários milhões de utilizadores.

Durante este estágio, pretende-se prototipar uma nova App, baseada na App RCS já distribuída pela WIT, e que vai introduzir novos elementos visuais para de interacção com o utilizador. Estes novos elementos visuais vão ser usados pelos utilizadores, para operações que exijam interação com calendário e com a lista de contactos e permite gerir chamadas em conferência.

Objetivo

O objectivo do estágio consiste no desenvolvimento de um protótipo de uma App de comunicação, na qual é possível interagir com bots através de elementos gráficos novos. Esses novos elementos gráficos vão permitir efectuar operações que não são possíveis com outras aplicações semelhantes já existentes no mercado (e.g., Facebook Messenger, Telegram).

Durante o estágio, serão prototipados novos elementos gráficos (cards), que podem ser usados por bots para interagir com os utilizadores. Espera-se que sejam implementados os seguintes casos-de-uso:
• Calendário: O bot utiliza informação do calendário do utilizador, para mostrar os próximos eventos, e para ajudar o utilizador a coordenar a usa disponibilidade para reuniões com outras pessoas. Esse card será implementado como uma vista de calendário, no qual é possível ver a disponibilidade de várias pessoas.
• Informação de Contactos: Em muitos cenários, tal como ao iniciar uma nova chamada, ou para obter informação de uma determinada pessoa/empresa, ou até para obter informação sobre um convidado para uma reunião em conjunto, é interessante descobrir informação detalhada sobre esse contacto. Durante o estágio, será implementada uma vista, que permitirá mostrar informação geral sobre um contacto, mas também navegar por elementos públicos adicionais, tais como experiência da pessoa no LinkedIn, ou dados sobre a função da pessoa na empresa.
• Descoberta de Contacto: Existem cenários, nos quais o utilizador pretende enviar informação de um contacto para um bot. Actualmente, a única forma de o fazer, será escrever o nome, número de telefone e endereço de email em separado, copiando essa informação da lista de contactos. Para facilitar a interacção, será desenvolvido um card que permite ao utilizador visualizar e selecionar um contacto a partir de uma lista de contactos. Essa lista poderá ser a lista de contacto do telemóvel, ou uma lista gerada pelo bot, especifica para a interacção que está a ser gerada na altura.
• Chamadas em Conferência: Durante uma chamada de voz em conferência, existem vários eventos que têm interesse para os intervenientes. Alguns exemplos são os utilizadores entrarem na chamada, um utilizador falar, iniciar uma apresentação visual ou sair da reunião. Como existem muitos eventos, não é produtivo serem enviados como mensagens de texto no âmbito de uma interacção com um bot, pelo que a implementação de um card para mostrar esta informação dinâmica, irá providenciar uma experiência muito mais eficiente ao utilizador.

Esta lista de widgets gráficas para a App Android é apenas o ponto de partida, e existe muito espaço para o desenho e prototipagem de mais widgets gráficos a definir. Para fechar o processo, será desenvolvido um bot de teste, que irá implementar casos-de-uso, que irão tomar partido das novas interacções visuais disponíveis na app.

Espera-se que o aluno tenha a autonomia e capacidade crítica necessárias para recolher, analisar e estruturar toda a informação acerca de soluções existentes no mercado. Esta informação deverá ser depois aplicada no desenvolvimento do protótipo.

Segue-se a análise de requisitos do projeto, a criação de um plano de desenvolvimento e a definição de um “project backlog” com as funcionalidades desejadas. O desenvolvimento do software deverá ser feito de forma iterativa usando um processo ágil, baseado em SCRUM.

No final do estágio, deverá existir um protótipo funcional, que seja facilmente demonstrável e que mostre bem os conceitos explorados durante o estágio.

Plano de Trabalhos - Semestre 1

Para o 1º semestre estão planeadas as seguintes tarefas:
- Estudo das opções para geração de contudo dinâmico em Apps Android;
- Estudo dos API para desenvolvimento de bots usados pelas principais aplicações (Messenger, Telegram e RCS);
- Levantamento do estado da arte em relação a interfaces conversacionais;
- Definição de requisitos concretos, que irão ser dados como input à equipa de designers;
- Elaboração do plano de desenvolvimento;
- Definição dos casos-de-uso que deverão ser implementados
a. Calendário
b. Reuniões
c. Contactos
d. Conferência
- Prototipagem de um card genérico, que contem informação recebida por JSON
- Prototipagem de envio de informação obtidas através de interacção com o card (botões, selecções).
- Integração com sistema de calendário para listagem de compromissos.
- Preparação dos protótipos para demonstrações internas.
- Documentação intermédia do estágio.

Plano de Trabalhos - Semestre 2

Para o 2º semestre estão planeadas as seguintes tarefas:
- Desenvolvimento de sistema para integração com eventos do calendário, com listagem de eventos diários, semanais e mensais.
- Implementação de integração de eventos locais (do utilizador) com eventos remotos com vários utilizadores, com o objectivo de ser fácil identificar conflitos.
- Desenvolvimento de card para listagem e selecção de contactos.
- Integração do card de contactos com informação da lista local de contactos Android.
- Desenvolvimento de card para exibição de informação detalhada de um contacto;
- Implementação de navegação dentro do card de contacto, para exibição de informação detalhada sobre o contacto (funções na empresa e experiência detalhada)
- Desenvolvimento de um card, para exibição de informação sobre chamadas em conferência que estejam a decorrer, incluindo lista de participantes, e informação sobre cada participante (quem está a falar, e quem está a apresentar).
- Acções sobre utilizadores no card de conferência (desligar utilizador e colocar e mute).
- Preparação de um protótipo de um bot, para demonstração das funcionalidades da app.
- Testes funcionais.
- Testes de usabilidade.
- Avaliação de requisitos não funcionais.
- Documentação final de estágio.


Condições

O local de trabalho será no escritório da WIT Software em Taveiro. O aluno terá ao seu dispor os equipamentos necessários para desempenhar as suas tarefas. O estágio é remunerado. Se o desempenho do aluno ao longo do mês for positivo, terá direito a receber uma bolsa mensal.

Além da bolsa, o aluno terá acesso às formações da WIT Academy (que incluir tópicos como: iOS Programming, Android Programming, Arquitecturas de Software, Software Quality, Metodologias de Desenvolvimento de Software).

O aluno será acompanhado não só pelo orientador como por um tutor técnico que lhe dará todo o apoio necessário.

No final do estágio, o aluno terá conhecimento detalhado sobre a plataforma Android bem como de conceitos como usabilidade e escalabilidade no contexto de aplicações móveis.

No final do estágio, será feita uma avaliação do estagiário e dos conhecimentos adquiridos. Se o resultado for positivo o estagiário será convidado para fazer parte da equipa de desenvolvimento.

Observações

- Toda a documentação de projecto será em Inglês.
- Será usado SCRUM, como metodologia de desenvolvimento.
- Existe um Tutor e um Orientador. O Orientador define os requisitos do estágio, define as prioridades do Backlog e acompanha os resultados parciais do projecto. O Tutor garante o cumprimento das tarefas, promove as meetings e acompanha o aluno com mais regularidade

Orientador

Paulo Sousa
paulo.sousa@wit-software.com 📩