Como hackeamos travesseiros inteligentes e lançamos o aplicativo Ascona para quartos inteligentes

Olá! Meu nome é Sergey Soldatov, sou diretor de produto da 65apps. Desenvolvemos aplicativos móveis, usamos uma abordagem de produto em nosso trabalho. Gostaria de compartilhar com vocês nosso caso recente, onde exatamente a abordagem do produto ajudou a mergulhar em uma área de assunto incomum e criar um serviço com valor único. Este é o nosso projeto conjunto com o Ascona, um aplicativo de controle de quartos inteligentes.



Para começar, uma curiosidade: antes de começar a trabalhar, todo o grupo de projeto, e este: diretor de produto, diretor de arte, gerente de projeto, analista, designer, desenvolvedores iOS, Android e especialista em QA, a Ascona doou seus dispositivos inteligentes - aparentemente, para que possamos dormir melhor e trabalhar de forma mais produtiva. Direto da fábrica, travesseiros, rastreadores de sono, a base da cama chegavam ao nosso escritório em Izhevsk - tudo isso tinha que ser conectado. Na verdade, dormimos sobre esses travesseiros - e esta é a hora em que estou pronto para recomendá-los apaixonadamente. Não pude mais voltar ao meu antigo inverno sintético e, depois de concluído o projeto, comprei travesseiros inteligentes para toda a família (a Ascona não me paga por publicidade, o que é uma pena).



É o caso quando o cliente cuida de seus desenvolvedores e, como resultado, criamos um aplicativo bacana. Mas as primeiras coisas primeiro.



Abordagem do produto



A Ascona desenvolve soluções para um sono confortável e saudável há mais de 30 anos. Ao aliar a experiência acumulada e tecnologias modernas, a empresa partiu para a criação de um produto que ajudasse a tornar o sono mais eficaz - com esta ideia o cliente nos procurou.



O que é Smart Bedroom? É um ecossistema de dispositivos que vão desde bases de cama controláveis ​​a luzes e cortinas inteligentes. Com sua ajuda, você pode criar um ambiente individual no quarto que é mais adequado para um sono confortável.



Tendo estudado a ideia do serviço, convidamos nossos colegas a atuar em etapas e utilizar uma abordagem de produto no desenvolvimento. Ele era muito adequado para a implementação de tal tarefa. Não confiamos no TK ou FT, mas na visão do produto, seu objetivo final. E qual funcionalidade seria necessária para isso foi decidida no processo.



Para começar, planejamos criar um aplicativo MVP. Após o primeiro lançamento, avaliaremos o feedback dos usuários e suas solicitações e, gradualmente, expandiremos a funcionalidade e conectaremos novos dispositivos.



Organizamos o trabalho no Scrum, em sprints de duas semanas, e não separamos o design, o desenvolvimento e os testes em estágios separados. Como toda a equipe estava totalmente imersa no projeto desde o início, trabalhamos de acordo com o esquema: primeiro, coordenamos todas as soluções, ideias, recursos internos e só depois os entregamos ao cliente para aprovação.



A cada duas semanas fazíamos uma demonstração para o cliente: eles mostravam soluções prontas, discutiam planos para os próximos sprints. Graças a esta abordagem, sempre tivemos a oportunidade de avaliar os resultados intermediários e adicionar muitos detalhes úteis ao projeto.



Como transformamos uma ideia em um produto



No primeiro encontro com o cliente, definimos os principais cenários de interação com o aplicativo e o procedimento de conexão dos dispositivos.



O MVP inclui três dispositivos:



Travesseiro inteligente - um travesseiro inteligente que monitora a frequência cardíaca e respiratória de uma pessoa;



Sleep-dot é um pequeno sensor que monitora o nível de umidade e a temperatura do ar na sala, além de registrar a hora em que a pessoa adormece;



Base da cama Ergomotion, que consiste em várias secções com um ângulo variável e pode fazer massagem.



Coletaremos dados do travesseiro e do slip-on, com base nos quais podemos avaliar a qualidade do sono e as razões de sua deterioração. Os dados desses dispositivos nos ajudarão a traçar as fases do sono no aplicativo. E para a base da cama, implementamos um painel de controle conveniente na aplicação.



Na mesma reunião, traçamos um Mapa aproximado da Jornada do Cliente, mas no início dos trabalhos havia a sensação de que ainda não estava fechado, pois muito não estava visível no início. No início, nossa imaginação se limitou àquelas soluções que já estavam disponíveis, tantas ideias bacanas já vinham no processo. Por exemplo, enquanto trabalhava no MVP, vi um recurso que distingue nosso aplicativo de soluções semelhantes. Dispositivos plugáveis ​​transmitem muitos dados diferentes para o aplicativo, mas em si seu valor não é tão grande para o usuário e não é fácil de entendê-los. Decidimos que nosso aplicativo deveria fornecer ao usuário não apenas uma pontuação, mas também conselhos personalizados sobre como melhorar seu sono. Essa ideia se encaixa perfeitamente nos objetivos e visão do produto da Ascona,para que o cliente envolvesse seus especialistas em sono - especialistas que lidam com a prevenção e tratamento de distúrbios do sono - para trabalhar nas recomendações.



Em três sprints, implementamos a primeira versão funcional do aplicativo, que se conectava a uma almofada inteligente e coletava dados em tempo real. Depois de mais um mês e meio, fechamos completamente este cenário implementando conexão, integração do usuário, configuração, monitoramento de status, geração de relatórios e recomendações individuais.



Para mais três sprints, desenvolvemos um cenário semelhante para conectar um ponto deslizante e alternar entre dispositivos.



Demoramos um pouco mais para conectar a base. Primeiro, a pandemia fez seus próprios ajustes - a equipe teve que viajar para o escritório em uma programação rígida para testar os dispositivos. E em segundo lugar, para conectar, tivemos que escrever nossas próprias bibliotecas.



Desenvolvimento: o que fazer se não houver SDK



Esta não é nossa primeira experiência com dispositivos, mas neste projeto tivemos que conectar dispositivos que não puderam ser reprogramados. A fim de tornar a operação conveniente e uma interface intuitiva do aplicativo, estudamos exaustivamente o funcionamento de cada dispositivo. Toda a equipe, sem exceção, testou almofadas e pontos, aprendeu a manusear a base. Foi importante para nós entender como os usuários interagem com os dispositivos, o que pode causar dificuldades, como resolver situações de emergência, por exemplo, quando a bateria de um gadget acaba e ele para de responder aos comandos do aplicativo.



Tínhamos até memes próprios: “manda o comando para a base” e “zera o travesseiro”.





Talvez a parte mais difícil tenha sido para os desenvolvedores.



No início do trabalho, eles não possuíam SDK para dispositivos. A tentativa de descompilar o aplicativo nativo nos deu 16 mil linhas de código com comentários em chinês.



Aqui, a habilidade de pesquisar no Github foi útil - os caras encontraram o SDK para o travesseiro e o ponto corrediço lá, mas o SDK para a fundação teve que ser escrito por nós mesmos.



A documentação continha uma série de erros, ao escrever o código houve dificuldades para conectar via Bluetooth. Eu até tive que farejar o tráfego para encontrar discrepâncias com a documentação. Eles eram pequenos, mas afetaram o funcionamento do aplicativo.



Empacotamos todos os desenvolvimentos em bibliotecas, que então usamos com sucesso para trabalhar no aplicativo. Se você quiser testá-los e compreender de forma independente o trabalho da fundação, escreva nos comentários. Iremos publicá-los em acesso aberto se houver muitos que o desejem.



Escrevemos aplicativos usando a arquitetura Clean, era importante para nós fornecer um escalonamento adicional do produto.



Redesenho de meio do projeto



Os designers foram um dos primeiros a aderir ao projeto. Desde o início, escolhemos as cores escuras familiares a muitos rastreadores de sono. A tela escura não força seus olhos quando as luzes estão apagadas e não diminui a produção de melatonina.



imagem



Tudo parecia convincente e o cliente concordou com os layouts.



Mas depois de alguns sprints, quando já era possível trabalhar com o aplicativo e o travesseiro, ficou claro que faltava expressividade ao design e que o que queríamos construir dos concorrentes não "pegava" visualmente.



Nossos designers repensaram completamente toda a operação do aplicativo e alguns scripts personalizados.



Em primeiro lugar, adicionamos mais animações: batimentos cardíacos, respiração, indicadores de pontuação e gráficos. Destacamos os acentos nas reportagens, tornando a navegação mais compreensível. Na nova versão, o esquema de cores permaneceu escuro, mas tornou-se mais contrastante e havia mais ar entre os elementos. O design ficou mais claro e compreensível, expressivo.



Esta é uma das vantagens indiscutíveis da abordagem do produto. Se a equipe entender que as decisões atuais não trarão o resultado desejado, elas podem ser alteradas.



imagem



Graças a essa imersão da equipe no projeto, muitas ideias de sucesso nasceram. Por exemplo, ao testar o funcionamento da base, nosso designer decidiu que o controle de inclinação usual das seções na forma dos botões + e -, como em um controle remoto de TV, não é muito conveniente em uma tela de smartphone. E ele sugeriu substituí-los por controles deslizantes. Concordamos com essa opção com o cliente, tendo decidido que tal elemento se tornaria outro recurso de nosso aplicativo.



imagem



No aplicativo, adicionamos a capacidade de salvar predefinições - configurações de base individuais. Essa funcionalidade não existe no controle remoto de fábrica.



Procuramos várias soluções fora do aplicativo. Por exemplo, e se o dispositivo estiver morto? E como você pode ajudar o usuário a prevenir tais situações? Nosso aplicativo pergunta periodicamente aos dispositivos o nível de carga. Se estiver baixo, o indicador correspondente será exibido no cartão do dispositivo. Assim, o usuário terá tempo de carregar seu dispositivo a tempo.



Teste: leve trabalho para casa



O aplicativo foi testado continuamente, desde o primeiro sprint.



Primeiro testamos o design. Nosso designer coletou os protótipos mais clicáveis ​​para questões polêmicas, nós os testamos em nossa equipe.



Assim que apareceu a primeira versão do aplicativo com um script para conectar um travesseiro, eles começaram a testá-lo em dispositivos reais, acompanhando cada passo do aplicativo. Todos participaram desse processo - desenvolvedores, designers e especialistas em QA.



Os testadores tiveram que se tornar literalmente parecidos com dispositivos inteligentes. Dados reais eram necessários para verificar as recomendações e só podem ser obtidos durante o sono. Os caras tinham que levar travesseiros e caixas de remédios para casa, conectar aparelhos à noite e fazer testes, e verificar tudo pela manhã. Se algo desse errado e o teste não funcionasse, a próxima oportunidade de teste só apareceria à noite.



Depois de conectar todos os dispositivos ao aplicativo, expandimos o grupo de usuários incluindo os funcionários da Ascona que tinham os dispositivos necessários nos salões. Colegas usaram o aplicativo e nos deram feedback.



Deles, quase não recebemos comentários sobre o funcionamento do aplicativo. Isso sugere que o trabalho em equipe da nossa parte foi produtivo - fizemos um produto de alta qualidade, conveniente e compreensível.



Qual é o próximo?



Agora o aplicativo já está nas lojas. Ele se conecta a três dispositivos inteligentes, coleta informações de um travesseiro e um ponto deslizante. Ao analisar as leituras dos aparelhos, o aplicativo explica ao usuário as possíveis causas da má qualidade do sono ou do adormecimento tardio e dá recomendações individuais. No futuro, vamos melhorar as recomendações, levando em consideração o histórico de leituras das últimas semanas - elas se tornarão ainda mais precisas e personalizadas.



No aplicativo, coletamos automaticamente o feedback dos usuários: o sistema analítico integrado rastreia uma série de métricas, a partir das quais aprendemos quais recursos são usados ​​com mais frequência, o que não despertou o interesse dos usuários, onde as dificuldades costumam surgir. Portanto, nos próximos estágios de desenvolvimento de produto, contaremos não apenas com nossa própria visão, mas também com big data que demonstra as solicitações e requisitos do usuário.



All Articles