Apps também podem ser feitos como comida caseira (2020)
(robinsloan.com)- BoopSnoop é um app de mensagens ultrassimples criado para ser usado por quatro pessoas de uma família; após o lançamento na primeira semana de janeiro de 2020, foi baixado por quatro pessoas em três fusos horários e, desde então, manteve 4 usuários ativos diários e taxa de abandono zero
- Depois do fim do Tapstack, em vez de usar grupos no Instagram ou WhatsApp, foi criado um app só da família, mantendo a estrutura em que mensagens de foto e vídeo aparecem em tela cheia e depois desaparecem
- Ele era composto apenas por uma tela de câmera, um selo de mensagens em espera, AWS S3, AWS Lambda e distribuição via TestFlight; por ser um situated software sem necessidade de login nem gestão de contatos, ficou ainda mais simples
- A criação levou cerca de uma semana, e quase metade desse tempo foi gasta com problemas de assinatura de código e provisionamento no Xcode, mas componentes open source e código de exemplo tornaram a implementação possível
- Mesmo que não seja um software profissional e escalável, um app feito para pessoas próximas pode se tornar um software com cara de casa, que só muda quando seus usuários quiserem, sem redesenhos repentinos, anúncios ou pivôs
O canal familiar deixado pelo Tapstack
- O Tapstack era um app que mostrava uma grade de rostos de pessoas ou grupos abaixo da imagem ao vivo da câmera do celular
- Um toque tirava uma foto; manter pressionado gravava um vídeo
- Assim que o dedo era solto, a mensagem era enviada, sem etapa de edição ou revisão
- As mensagens recebidas se acumulavam em uma “stack” e desapareciam depois que o usuário as folheava
- A grade da família no Tapstack tinha quatro espaços: mãe, pai, irmã mais nova e um grupo reunindo os três
- O ponto forte do app estava menos em contatos práticos ou coordenação de agenda e mais em ambient presence
- Sem threads nem histórico, havia menos pressão de que uma resposta fosse esperada
- Selfies com café, fotos de um lago congelado e vídeos brincalhões dos sobrinhos eram todos formas de transmitir a sensação de “estou pensando em você”
- O Tapstack não parecia ter conquistado uma grande base de usuários, não tinha anúncios e não pedia pagamento aos usuários
- Depois que as atualizações pararam em 2019, o encerramento foi anunciado no outono; o app ofereceu aos usuários uma forma de exportar seus dados e então fechou as portas
BoopSnoop, o app substituto da família
- Depois do encerramento do Tapstack, a família precisava de uma alternativa, mas grupos no Instagram ou WhatsApp davam a sensação de que o canal familiar caloroso ficava cercado por outros elementos
- BoopSnoop é um app feito só para a família, como uma janela mágica
- Captura fotos e vídeos e os entrega à família
- As mensagens ficam em uma fila e desaparecem depois de visualizadas
- A tela de visualização é sempre em tela cheia e não tem elementos que incentivem comentários ou compartilhamentos
- Quase não há interface
- Há um botão de câmera
- Um selo verde discreto no canto mostra a quantidade de mensagens em espera
- Foi lançado na primeira semana de janeiro de 2020 e baixado por quatro pessoas em três fusos horários
- Desde então, manteve 4 usuários ativos diários e taxa de abandono zero, tornando-se um sucesso que superou todas as expectativas de seu criador
A implementação que tornou a simplicidade possível
- BoopSnoop foi projetado para ser ainda mais simples que o Tapstack
- Não precisa de sistema de login
- Não precisa de interface para criar ou gerenciar contatos
- Já se sabe exatamente quem vai usá-lo
- Como no conceito de situated software, de Clay Shirky, ele se aproxima menos de um software que precisa ser personalizado e mais de um software pessoal desde o início
- O núcleo é uma tela de câmera para entrada de fotos e vídeos
- Usa a interação familiar de tocar para tirar foto e manter pressionado para gravar vídeo
- Essa parte usa o componente open source SwiftyCam
- Sem esse componente, o projeto teria sido difícil
- O backend tem uma configuração mínima
- Um bucket no AWS S3 armazena fotos e vídeos
- Algumas funções AWS Lambda executam o processamento necessário quando uma nova mensagem é enviada
- A distribuição para a família é feita pelo TestFlight, e o app continua sendo um “beta eterno e aconchegante”
O que apareceu no desenvolvimento real
- Em um mundo melhor, seria um app que poderia ter sido feito em um dia com alguma ferramenta moderna e flexível para iOS, como um HyperCard
- Na prática, levou cerca de uma semana, e quase metade disso foi gasta lidando com assinatura de código e problemas de provisionamento de IDs
- Ainda assim, componentes open source e código de exemplo tornaram o projeto possível, e o mundo atual não estava completamente quebrado
- A programação no século 21 pode dar uma sensação de montar Lego quando se trabalha dentro das fronteiras da tecnologia moderna
- Abrir o código poderia servir de guia para outras pessoas, mas o código do app mistura muitos valores específicos do app e chaves de autenticação
- Este app não é um framework nem um template, mas o próprio app
- Essa característica não se separa do espírito em que o app foi criado
Programação como “comida caseira”
- O criador se vê mais como um programador equivalente a um cozinheiro doméstico do que como um engenheiro de software profissional
- A frase “aprenda a programar” costuma ser associada a valor de mercado, alavancagem econômica, transição de carreira e currículo
- Já “aprenda a cozinhar” não existe apenas para formar chefs
- Dá para aprender para comer melhor
- Dá para aprender para comer gastando menos
- Dá para aprender para dar continuidade a uma tradição
- Também dá para aprender por tédio ou porque se quer passar tempo com quem está ensinando
- Cozinhar vai além da esfera de compra e venda e se conecta a lar, curiosidade, história, cultura, cuidado e amor
- No século 21, muitas pessoas queridas estão sempre esperando dentro dos computadores de bolso que ficam por perto, então programar também pode se conectar dessa forma
- Quando a programação se afasta das exigências de profissionalismo e escalabilidade, ela se torna outra atividade
- Assim como cozinhar em casa é diferente de cozinhar em uma cozinha comercial, criar um app para a família oferece outro tipo de recompensa
- BoopSnoop não muda a menos que a família queira
- Não há redesenhos repentinos, enxurrada de anúncios nem pivôs em busca de uma base de usuários incompreensível
- Se algum dia ele desaparecer, será por decisão da família
Um app que continuou sendo usado anos depois
- Segundo a atualização de fevereiro de 2022, a família ainda usava o BoopSnoop todos os dias dois anos depois, e um recurso foi adicionado a pedido da mãe
- Em fevereiro de 2023, ele ainda era usado diariamente
- Em fevereiro de 2024, continuava em uso, e a build do TestFlight era a 26
- Em fevereiro de 2025, literalmente nada havia sido mudado no app, e a build do TestFlight era a 30
1 comentários
Comentários do Hacker News
Isso parece poesia. Passei os últimos 10 anos criando projetos pessoais e substituí completamente os apps que usava antes todos os dias, como e-mail e calendário
Sempre que alguém me vê usando, pergunta “uau, incrível, como faço para baixar?”, mas a resposta é sempre a mesma: não dá
Há algo de belo em projetar algo voltado só para si mesmo, e tenho 100% de certeza de que este projeto específico preserva meu bem-estar mental
É uma fonte de esperança e felicidade em relação ao futuro que nenhuma empresa ou salário pode me dar, e meu próprio coringa contra o mundo
É maior do que parece o fato de que, com uma ferramenta feita por você mesmo, você vira desde o primeiro dia o maior especialista do mundo nela. Quantos softwares existem dos quais você pode dizer que conhece 100% de todas as funções, atalhos e funcionamento interno?
Se for uma ferramenta de trabalho ou produtividade, esse “domínio completo” pode torná-la extremamente eficiente, e, com pequenos ajustes e otimizações no uso diário, a ferramenta cresce junto com você
Meu app de notas agora já cuida de base de conhecimento pessoal, gestão de projetos, lista de tarefas, planejamento diário e diário, e é leve e rápido porque só tem os recursos de que preciso
Em resumo, acho que todos nós deveríamos experimentar mais criar nossas próprias ferramentas
É uma forma de deixar claro que outras pessoas podem usar, aprender e criar em cima, mas que feedback e contribuições não são desejados
Mas talvez isso entre em conflito com a última frase sobre ser o seu “próprio coringa”
Imagino que você tenha integrado os apps entre si, tipo criar eventos a partir de mensagens de texto e encaminhar e-mails para contatos do Signal
Eu automatizo tarefas repetitivas rapidamente com scripts, mas não unifiquei todos os scripts em um só. Mantê-los separados reduz a carga de manutenção, então não sei se eu seguiria por esse caminho
Se alguém escrever algo irritante sobre isso, é só ignorar, e isso não afeta a forma como eu mesmo uso
Se você não quiser críticas, patches ou relatórios de bug, também pode simplesmente publicar os arquivos sem issues, pull requests ou espaço de discussão em algo como o GitHub
Quem via ficava impressionado, e algumas pessoas pediram a configuração, mas acho que ninguém chegou a realmente se acostumar
Ótimo texto. Me lembrou de um app para macOS que fiz para minha esposa alguns anos atrás
Ele acompanha os horários de funcionamento das lojas de que ela gosta e, ao clicar no ícone na barra de menu, mostra quanto tempo falta para cada uma fechar hoje
Também informa se está em horário de pico, o que combinava com a preferência dela de ir quando está menos cheio
É um app em Qt simples que usa arquivo de texto para armazenar os dados e, quando perguntei como deveria se chamar, ela disse “Gladiolus, como nome de flor”, então ficou esse nome
Como programador, nunca tive um cliente mais grato do que a única usuária do Gladiolus
Pegou muito em mim a parte sobre ficar brigando com a assinatura de código e o provisionamento de identidade do Xcode, acender incenso e jogar pedras até os deuses do Xcode permitirem a passagem
É um grande atrito que aparece quando você tenta resolver diretamente um incômodo seu no desenvolvimento moderno de software
Em vez de um raciocínio de engenharia baseado em entender os princípios da computação e combinar componentes de forma racional para criar algo novo, vira um processo de ficar repetindo encantamentos achados no Google e batendo a cabeça até que, em algum momento, funcione
Por esse critério, Apple e Microsoft ficam praticamente fora
A Apple melhorou ao permitir que perfis, chaves de assinatura e afins no Xcode sejam gerenciados com um botão de “sim, faça isso de forma fácil”, mas às vezes as configurações são esquecidas aleatoriamente ou quebram, e aí é preciso investigar o problema de novo
Você não precisa da permissão de ninguém para rodar esse serviço. Estou executando um app de tarefas personalizado no Pi sem expor o roteador, e isso dá uma sensação enorme de liberdade
Quando este texto apareceu pela primeira vez no HN, anos atrás, ele teve um grande impacto em mim e me ajudou a colocar em palavras algo que eu já fazia inconscientemente
Alguns anos atrás, como muita gente, comecei um homelab, e isso acabou virando aos poucos um hobby de criar e hospedar eu mesmo apps para 5 a 15 familiares e amigos próximos
Fiz muitos apps pequenos para coisas como marcar noites de cinema e integrar chats em grupo, e por causa disso todo mundo passou a conversar e se encontrar com muito mais frequência
Até grupos de amigos distantes que não se conheciam agora se encontram por conta própria sem mim, indo a chá de bebê e casamentos
Se você tem um grupo de amigos assim, valeria a pena fazer algo para eles
Minha namorada e a irmã dela mantinham um livro-caixa de acertos entre si, mas sempre tinham dificuldade para bater quem devia o quê e quando
Então fiz um “app” na forma de uma planilha inteligente compartilhada no Google Docs, para que, ao inserir as informações mensais, ela calculasse quanto cada uma precisava pagar
Passei mais de um ano sem pensar nisso, e quando perguntei se ainda usavam, me responderam: “usamos sempre, é realmente um salva-vidas”
Na prática, era só uso comum de planilha, mas pessoas competentes e com renda alta estavam tendo dificuldade até com uma conciliação simples
Elas gostaram especialmente quando fiz cada nova aba mensal carregar uma foto do cachorro que criam juntas. Uma ferramenta boba que levou 15 minutos para fazer está sendo adorada há anos
É bom criar ferramentas pequenas para grupos pequenos de pessoas
Há 3 anos fiz um app simples para familiares e amigos compartilharem receitas, e, conforme fui adicionando recursos pedidos, uns 2 anos depois ele começou a crescer no boca a boca
Em outubro, ele ficou grande o suficiente para eu precisar cobrar de novos usuários para cobrir os custos do servidor, e agora estou pensando em um futuro de trabalhar nisso em tempo integral
Ao mesmo tempo, sinto que a distância entre apps como esses e apps profissionais está aumentando.
Ficou mais fácil usar apps, mas ficou mais difícil criar apps “de verdade” para o grande público.
Há mais de 3 anos estou escrevendo o livro https://opinionatedlaunch.com e preciso continuar atualizando o capítulo sobre “mobile”. Não por causa de novos frameworks incríveis, mas porque Apple e Google continuam adicionando exigências.
Restrições mais rígidas de acesso a GPS podem ser uma coisa boa, mas, se você não acompanhar, em algum momento seu app é removido da plataforma. Nesse sentido, não existe “concluído”.
Um programinha pequeno feito em Pascal em 1990 talvez ainda pudesse ser distribuído hoje, mas não sei qual seria o equivalente disso no mundo dos apps móveis. Estou falando de distribuição, não de execução.
Estou cada vez mais inclinado para o lado do HTML.
Não havia nada para mudar e ele funcionava exatamente como eu queria, mas em algum momento o Google decidiu que ele precisava ser removido da loja por não atender aos padrões mais recentes.
Não estou reclamando, e ainda dá para instalar com
adb, mas outras pessoas não conseguem mais baixá-lo. Hoje em dia, provavelmente também seria difícil gerar o binário.Ainda não consegui fazer funcionar, mas a ideia é que, se a UI for limitada a algo simples o bastante, o mesmo código possa ser compilado em Objective C para coisas da Apple, C++ para Android e desktop, e Javascript para a web.
Cada app poderia avaliar nimscript arbitrário de um jeito independente da plataforma.
Faz tempo que esqueci qual app eu queria criar, mas, se eu me lembrar de novo, espero que ninguém possa impedir que ele rode em qualquer lugar.
Dito isso, acho difícil que a maior parte do software também esteja realmente “concluída”.
A menos que pertença a uma categoria totalmente separada da cultura popular, é difícil chamar algo de funcionalmente completo. Talvez GNU units ou grep possam ser considerados “concluídos”, mas a maioria dos apps precisa mudar junto com o mundo ao redor.
Todas as ferramentas de ponta na minha área são usadas por script ou por linha de comando interativa.
Se você criar para esse tipo de interface, é muito mais rápido e fácil do que fazer uma GUI com bibliotecas modernas, e ainda dá para ter usuários suficientes. Só de usuários de conda já são uns 40 milhões.
Este texto mudou minha opinião sobre sideloading no iPhone.
Antes eu era do time “tem que bloquear para a vovó não ser hackeada”, mas agora vejo isso como algo que impede as pessoas de criarem apps caseiros desse tipo.
Também espalha a ideia de que computadores são magia e que só magos deveriam programar. Nenhum desenvolvedor de software que conheci sentia isso, e eu também não sinto.
Esse processo deveria estar cheio de avisos do tipo “daqui para frente há dragões”. A ideia seria torná-lo mais próximo, por padrão, de um Mac ou de um Chromebook comum.
Os celulares Pixel ainda não permitem root?
A vovó tem muito mais chance de perder suas economias em um golpe tradicional de engenharia social por telefone fixo do que por causa do celular.
Se a Apple realmente se importasse com segurança e spam mais do que em ganhar dinheiro com a App Store ou com consertos, já teria mexido pelo menos no spam do iMessage.
Se eu tivesse tido anos atrás uma forma de ser tratado como uma empresa para distribuir algo a amigos e família, eu teria usado, mas o TestFlight é tão fácil e comporta tanta gente que hoje a barreira praticamente não existe.
Existe a barreira de custo de precisar comprar um Mac, mas, considerando o imposto implícito de já precisar ter um Mac, não acho tão alta assim.
É verdade que computadores parecem magia, mas a distribuição não é a causa disso. Acho uma pena que as pessoas não queiram fazer mais coisas com computadores.
Antigamente meus pais usavam no 386 coisas como aplicativos de banco de dados bem básicos, mas em algum momento as máquinas ficaram maiores e mais assustadoras, e as pessoas ficaram menos curiosas.
Pode ser por causa da idade, mas também pode ser porque fizemos máquinas menos acolhedoras para quem quer experimentar com código novo.
É só uma questão de quem está aplicando o golpe. Criminosos podem dar um grande golpe de uma vez, mas as fabricantes de celular operam em uma frente muito mais ampla e com custos bem maiores.
A explicação do texto, a ideia do app e a forma de execução são refrescantes.
A noção de construir para um mercado total endereçável (TAM) de um dígito contrasta muito bem com a maioria das coisas.
Esses apps ficam um nível acima de um projeto de aprendizado e têm uma utilidade enorme para uma pessoa ou para poucas pessoas. Além disso, como essas poucas pessoas são as mais importantes da sua vida, isso é muito mais gratificante.
A comparação com cozinhar em casa para a família é perfeita.
Naquela época, era natural que as pessoas primeiro criassem aplicações para si mesmas.
Ideia excelente. Ultimamente tenho pensado muito na “web de pequena escala”, porque estou ficando cada vez mais cansado da web em escala planetária
Moro numa cidade pequena no Canadá, então só me interesso pela nossa cidade, e seria ótimo ter alguma coisa em escala de cidade que servisse perfeitamente para ela
Como a escala é pequena, dá para rodar em equipamento no armário de casa, e se cair, não há motivo para ficar bravo com uma megacorporação por trás. Sou só eu, e por aqui a maioria das pessoas se conhece ou pelo menos já ouviu falar umas das outras
Se ficar fora do ar por causa de uma queda de energia, isso também será algo local. Especialmente durante nevascas, quando faltas de energia são comuns, e os usuários provavelmente estarão passando pela mesma interrupção
Talvez seja só idealismo e eu provavelmente nunca vá construir isso, mas também acho que no fim das contas a maioria vai continuar usando coisas como grupos do Facebook
Basicamente, você não tem um produto, só um mercado, então talvez isso não tenha muito significado para ninguém além de você
Claro, coçar a própria coceira ou simplesmente fazer por fazer é totalmente legítimo, e isso também é software estilo comida caseira
Gosto do fato de que é um hardware de 25 dólares, sem servidor central, sem necessidade de licença de rádio amador, com controle baseado em celular
Algum dia quero fazer um projeto realmente incrível que vá além das funções básicas, mas ainda não sei o que deveria ser
Ri alto com a frase “queimei incenso e joguei pedras, e os deuses do Xcode permitiram a aprovação”
Eu também já travei muitas batalhas com esses deuses, e eles são monstros
Se você gostou dessa frase, recomendo fortemente ler o primeiro romance dele, Mr Penumbra's 24 Hour Bookstore
Como chegamos ao ponto de aceitar um estado desses? MAGA(Microsoft Apple Google Amazon) agora está sufocando a vida de compartilhar software
Temos um app pequeno para uso interno na empresa. É só um app Rails independente e não toca nos sistemas internos do negócio
Mesmo assim, quando precisamos de um lugar para colocar um código pequeno, ele vai para lá. Tem ferramentas de integração aleatórias, como gráficos de crescimento, um pequeno mecanismo de busca para dados internos, scripts de lembrete para tarefas repetitivas e um script de RSS→Email para o blog
Todo mundo deveria ter um app de “tralhas” separado dos dados de clientes
Quando a barreira para criar algo divertido é baixa, a mente fica mais livre, e nem todo código precisa ser trabalho de negócio de alto risco