Como criar aplicativos de videochamada e videoconferência do zero

Tags:    

Receba atualizações semanais no e-mail

Como já bastante dito por aí, estamos encarando um novo padrão de normalidade após o início da pandemia de Covid-19, vírus que foi motivo de aceleração digital em muitas empresas. Assim, o escritório migrou pra dentro de casa, e as reuniões para os softwares de videochamada e videoconferência. Empresas que detêm essas tecnologias viram seus lucros subirem muito, assim como o Zoom, cujo crescimento o colocou na lista dos aplicativos mais baixados.

Afinal, o que é preciso para desenvolvê-los? Contarei todos os requisitos básicos e funcionalidades incrementais para tornar as ligações por vídeo ainda mais eficientes. Vamos conferir?

Videochamada e videoconferência: qual a diferença?

O ponto em comum entre a videoconferência e a videochamada é que se tratam de bate-papo através de vídeo em tempo real. O que as diferenciam é o propósito. Podemos dizer que a videochamada tem um caráter mais pessoal e privado, pois aplicativos de videochamada suportam poucos participantes simultâneos. Portanto, o Messenger, Whatsapp, Facetime e Viber são exemplos de apps para videochamada.

Outro detalhe sobre esses aplicativos é que o foco principal deles não é o chat por vídeo. Se voltarmos um pouco na história do Whatsapp, iremos lembrar que a videochamada foi um recurso que surgiu depois de anos de existência do app. Isso implica, portanto, que existem aplicativos com videochamada que não são exclusivamente para esse fim. Dessa forma, essa implementação posterior é feita através de APIs.

Os apps de telemedicina são exemplos de videochamada como funcionalidade adicional.

Do outro lado nos resta os aplicativos que suportam muitos participantes simultaneamente, os apps de videoconferência. Até porque quando exaltamos a palavra “conferência” já fica subentendido que se trata de algo majestoso e de grande valor. Não que apps de videochamada não possuam valor, mas as conferências tem objetivos diferentes, muitas vezes se tratando de grandes eventos corporativos. Geralmente apps de videoconferência são exclusivamente para esse fim, não se tratando de uma funcionalidade incremental e sim principal. 

Podemos citar o Zoom, Skype, Whereby e Google Meet como excelentes nomes que cumprem com o papel de aplicativos de videoconferência.

Veja também: app para videoconferência: Conheça os 6 melhores

Requisitos para apps de chamada por vídeo

O famoso ditado “de grão em grão a galinha enche o papo” também se aplica aqui. Até que possamos criar aplicativos cheios de funcionalidades, é preciso primeiro de uma versão MVP, isto é, um produto mínimo viável.

Pra isso, o escopo do aplicativo deve conter todo o básico necessário para funcionar adequadamente. Estes requisitos são:

  • streaming ao vivo;
  • vídeo e áudio em alta qualidade;
  • integração entre diferentes plataformas (iOS, Android, Web, etc);
  • suportar múltiplos participantes por chamada;
  • privacidade e criptografia;
  • compartilhamento de conteúdo de galerias (fotos, vídeos e documentos);
  • suporte para diferentes idiomas;
  • login e perfil;
  • chat por texto;
  • lista de contatos para convidá-los pra chamada;
  • notificações push;
  • interface amigável e fácil de navegar.

Equipe necessária para o desenvolvimento

O desenvolvimento pode ser terceirizado ou através com equipe interna, cada um oferecendo seus benefícios e desvantagens. Os profissionais necessários são:

Analista de negócios (Product Owner)

Este será o responsável por levantar os processos de negócios e requisitos, acompanhar o cliente e as atividades das equipes. Grosso modo, o analista de negócios ou product owner será o representante da marca e do projeto dentro da equipe de desenvolvimento.

Desenvolvedores iOS e Android

Para que o aplicativo de videochamada e videoconferência cheguem até os usuários, é importante que eles sejam desenvolvidos nas plataformas que eles usam. 

No escopo do projeto deve ser definido exatamente em quais dos OS seu app vai estar presente, decisão fortemente influenciada pelo seu público. É importante também que os desenvolvedores tenham experiência com publicações nas lojas de aplicativos. Mais tarde te contarei o porquê.

Designers UI/UX

Todo aplicativo requer uma aparência e ela é desenvolvida pelos designers. Está no plural porque, como acabamos de ver, o projeto pode estar nas plataformas Android e iOS. Ainda que se tratem da mesma solução, a experiência do usuário e interfaces são diferentes para cada plataforma, então é importante que as telas estejam adaptadas e coerentes com o que elas oferecem aos seus usuários.

É fácil notar essa diferença quando observamos o Whatsapp, por exemplo. A versão para Android usa o verde da marca para as telas do aplicativo, enquanto que a versão iOS tem o branco como cor majoritária. Ambos aplicativos são a mesma solução, mas foram adaptados para diferentes usuários.

Analistas de qualidade

Ninguém gosta de bugs. Este é um fato. Eles trazem más experiências para os usuários, o que compromete as taxas de retenção e de download do aplicativo — isso sem contar os reviews negativos que influenciam diretamente nessas taxas e no ASO. Portanto, tenha sempre uma pessoa especializada em qualidade para testar o aplicativo e vasculhar o código para garantir que tudo esteja ocorrendo bem antes de chegar aos usuários finais. 

Gerente de projetos 

Toda equipe precisa de um líder, e essa será a função da gestão de projetos. A principal responsabilidade é fazer com que as exigências do PO sejam atendidas, organizando e gerenciando o backlog dos desenvolvedores, designers e analistas de qualidade. A gestão estará também concentrada em amparar e fornecer todos os subsídios necessários para as atividades da equipe — os bugs posteriores ficam por conta da equipe de suporte.

Passo a passo para criar app de videochamada e videoconferência

Tenha um público

Seja qual produto que for, não tem como fugir do assunto “público-alvo” e “consumidor ideal”. Afinal, todo serviço ou produto sempre será voltado para a solução de problemas, e somente pessoas possuem esses obstáculos no dia a dia. E são elas também quem detém o poder aquisitivo para tal.

Isso é importantíssimo de ser levado em consideração, especialmente quando estamos em busca de um negócio inovador. E como bons entendedores, inovação só é possível quando é a novidade tem valor para o mercado.

Com isso, podemos refletir sobre a Twitch e o Discord como plataformas de chat por vídeo e voz inovadores. Em que eles inovaram? Ambos os softwares foram desenvolvidos para o nicho dos gamers, cujos problemas ainda exigiam (e exigem) soluções. Basta utilizá-las por poucos minutos para perceber como que os produtos atendem à uma comunidade específica, e o alto valor que isso representa para o público.

Então, faça-se a pergunta: o que meu app de videochamada ou videoconferência vai trazer de novo e resolver de problema? Com isso definido, pule para a próxima etapa. Mas não se esqueça que a segmentação de público não é permanente. Então mude quando fizer sentido para a sua proposta!

Conte com o business model canvas para facilitar a estruturação do escopo, pois essa metodologia torna fácil a visualização do projeto como um todo, contemplando outros elementos do planejamento como geração de receita, recursos-chave, parcerias-chave, dentre outros.

Contrua um UI/UX design

A etapa inicial da criação dos apps de videochamada e videoconferência é com os designers. Não tem como começar a montagem das telas em forma de código sem ter definida a aparência do aplicativo. Alinhado aos interesses do cliente, representados pelo PO, a equipe de design se debruça na experiência do usuário para projetar wireframes e mockups de telas que melhor se adaptem ao público, atentando a deixar tudo o mais intuitivo e agradável possível.

Com os esboços aprovados e telas produzidas, chega a hora do próximo passo: o desenvolvimento.

Planeje bem o back-end

Quando falamos de back-end pensamos em servidores, infraestrutura, armazenamento, banco de dados, funcionalidades e Interface de Programação de Aplicativos, as APIs. Existem muitas formas de desenvolver essa parte, seja construindo toda a base do zero ou através de serviços de terceiros. 

O importante é ter em mente que apps de videochamada e videoconferência precisam de servidores capazes de suportar uma grande quantidade de informação sendo transmitida, pois a falta de desempenho vai gerar impactos negativos na usabilidade dos apps.

Em suma, esse momento do back-end é para planejar todas as necessidades, funcionalidades, SDKs, APIs e bancos de dados (quando convier) a serem utilizadas para que o app de videochamada e videoconferência funcione 100%. Essas tecnologias serão as responsáveis por implementar as funcionalidades básicas para o MVP, assim como as extras que podem ser adicionadas incrementalmente, como veremos mais à frente.

Teste, teste e teste!

Como já comentei acima, os analistas de qualidade são essenciais para participar da equipe. A etapa final para arrematar todo o desenvolvimento vem com os testes, vasculhando todas as possíveis falhas e resolvendo elas, quando houver.

Ter uma equipe para testes não elimina a importância de ter uma equipe de suporte posteriormente, pois ainda podem surgir problemas futuros eventualmente, o que é normal. O incomum é deixar que esses problemas se acumulem e comprometam o uso do app.

Para aprimorar ainda mais os testes, peça para que pessoas que não estejam envolvidas no desenvolvimento do aplicativo experimente. Assim será possível avaliar se o storytelling planejado está funcionando, e as funcionalidades também. Tente entender se houve dificuldades de compreender o uso da aplicação ou quaisquer outras problemáticas que possam haver.

Lance o aplicativo

Com tudo pronto, chega o momento mais esperado que é o lançamento do aplicativo. Aqui é importante ter a equipe de desenvolvedores junto, pois eles quem terão acesso aos arquivos .apk para submetê-los na Play Store e App Store.

Porém, antes de realmente chegar aos canais de distribuição, os aplicativos (Android e iOS) passarão por uma avaliação da Apple e do Google para ponderar se os códigos estão dentro das diretrizes. Por isso é importante ter devs para realizar essa etapa. Caso os apps sejam recusados, basta consertar conforme as orientações das empresas e realizar a submissão novamente até que finalmente possa estar nas mãos do público.

Porém, não só de códigos se tratam as lojas de aplicativos, o que cabe também competências de marketing para impulsionar o alcance do seu app de videochamada ou videoconferência e incentivar downloads.

Recursos extras, funcionalidades e tecnologias

Streaming de vídeo e compartilhamento de tela

A funcionalidade principal para aplicativos de videoconferência e videochamada é a comunicação simultânea e integrada. Afinal, a proposta é várias pessoas se conectarem de forma ao vivo independente da plataforma que estejam utilizando — web, iOS, Android, etc.

Um aplicativo de chat por vídeo não faz sentido sem a tecnologia de streaming. Para isso, os desenvolvedores podem se debruçar no protocolo WebRTC. Este se trata de um framework de código aberto responsável pela integração dos usuários independente da plataforma que estejam conectados.

Além da transmissão ao vivo, este protocolo também possibilita o compartilhamento de tela, recurso avançado que é essencial principalmente para os apps de videoconferência. Meetings, webinares, aulas e reuniões podem ficar prejudicadas sem o compartilhamento da tela e com as clássicas apresentações em slide.

Existem outras alternativas como o Wire e Temasys.

Cadastro e autenticação

Ainda que o login possa ser dispensável, como no caso do Whereby, o uso de APIs de autenticação é importante para facilitar o acesso à sua ferramenta, evitando formulários de cadastro — além de também servir como um dos fatores que melhoram o engajamento no aplicativo. A ideia é simples: usuários poderem logar por contas já existentes do Gmail, Twitter, Facebook etc.

A resposta para “quais chaves de API usar para o login?” vai ser respondido a partir do seu público. Se a maioria são usuários de iOS, sincronizar com a ID da Apple faz todo sentido; caso o Facebook seja a principal rede social, então também vale a pena inserir essa API e assim por diante.

Os meios de login comuns nos aplicativos são:

Cancelamento de ruído

Ruídos são bem desagradáveis. Afinal, queremos o máximo de qualidade de vídeo e áudio possível para a finalidade da chamada ou conferência. Seja para palestrantes ou podcasters, o cancelamento de ruído é muito bem-vindo.

Este recurso avançado também será implementado através de chaves de API. Existem algumas soluções já prontas como:

Chat por texto

Seja para fins de acessibilidade, problemas no microfone e câmera, internet lenta ou precisar compartilhar um link, o chat por texto tem muito o que contribuir para os aplicativos de videochamada e videoconferência. Neste caso, as CPaas (Plataformas de Comunicação como Serviço) são excelentes opções para implementar esta funcionalidade.

Alguns possíveis nomes são:

Áudio transcrição

Sempre acontece de ter uma queda na internet ou se distrair com algum outro detalhe quando estamos numa videoconferência. Afinal, o home office exige nos coloca em pontos de distrações. Então, uma áudio transcrição é bastante bem-vinda para solucionar esse problema, além de transformar as conferências mais acessíveis. Afinal, PcD (pessoa com deficiência) também se comunica e tem o direito de participar.

Para a áudio transcrição, procure por serviços como das empresas:

Emojis, figurinhas e filtros

A expressão “uma imagem fala mais que mil palavras” pode ser aplicada até mesmo nos aplicativos de videochamada e videoconferência. Além dos já clássicos emojis, os apps podem apresentar outros formatos personalizados para expressar os sentimentos ou mensagens.

Para agregar ainda mais, os filtros são excelentes opções. Não tem como negar isso, visto que eles fazem sucesso em aplicativos como Snapchat, Instagram, Facebook e o Faceapp.

A ferramenta utilizada para os filtros é a Spark AR. Já as figurinhas e emojis podem ser feitos nos softwares de design como os do pacote Adobe.

Encontrando os desenvolvedores

Tudo irá depender do tipo de contrato a ser estabelecido com os desenvolvedores, podendo ser um escopo aberto, fechado ou um contrato de horas mensais de desenvolvimento, caracterizando como um time dedicado.

Precisa ser levado em consideração também a geografia dos desenvolvedores, pois a terceirização abre janela para contratos offshore e nearshore, isto é, em outros países. O Brasil foi considerado o 9º melhor país para offshore de acordo com a consultora Kearney. Os critérios para o ranking pautam na qualidade dos produtos e também no preço.

A escolha do desenvolvedor também pode tomar esses mesmos pontos como referência, avaliando também as barreiras monetárias (diferentes moedas), fusos horários e de idioma.

Conheça excelentes nomes para desenvolvimento de aplicativos ou solicite já seu orçamento com a Usemobile. É de graça!

Tópicos

2 respostas

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts relacionados

Estamos contratando, venha conferir nossas vagas