Se você é dono(a) de um par de AirPods, tem um Mac e acompanha o mundo Apple há algum tempo, provavelmente já ouviu falar do AirBuddy — utilitário que torna a integração entre os fones de ouvido da Maçã e o macOS muito mais suave e parecida com a do iOS (e que já está em sua segunda versão).
O que algumas pessoas podem não saber é que esse aplicativo, lançado originalmente em 2019, é feito por um desenvolvedor brasileiro: Guilherme Rambo. Além de trabalhar como desenvolvedor, ele também faz parte da Gigahertz — rede independente de podcasts focada em tecnologia que é conhecida, entre outros programas, pelo Área de Transferência.
Depois de falar conosco em um dos primeiros episódios do quadro “MM Entrevista”, no nosso canal do YouTube — quando explicou um pouco sobre suas origens no mundo Apple e, principalmente, como spelunker —, Rambo topou conversar desta vez sobre a sua rotina como desenvolvedor e os desafios de se manter um dos apps mais populares para o Mac em pleno funcionamento.
Boa leitura! 😊
Qual foi o seu impulso para começar a trabalhar no AirBuddy? Quando exatamente isso aconteceu?
A palavra “impulso” define muito bem mesmo, já que de fato comecei o AirBuddy totalmente por impulso. Eu comecei o desenvolvimento em meados de janeiro de 2019. Já havia um bom tempo que vinha me incomodando o fato de o macOS não ter uma integração com os AirPods tão caprichada quanto aquela do iOS.
Na época, eu trabalhava numa empresa de ecommerce e, de vez em quando, ficava após o horário de trabalho mexendo em protótipos de apps ou testando coisas aleatórias. Foi numa dessas jornadas pós-expediente que decidi criar um protótipo bem simples de como seria a janela de status dos AirPods no Mac. O objetivo naquele dia era conseguir abrir o estojo dos AirPods perto do Mac e ver uma janela mostrando os níveis de bateria, bem como era no iOS (e continua sendo até hoje).
Eu já havia explorado anteriormente o funcionamento dos AirPods e a comunicação deles com outros dispositivos, então essa parte de pesquisa e engenharia reversa já estava feita, restando nesse dia o trabalho de integrar isso em algo que parecesse um app. Em pouco tempo, eu já tinha um protótipo funcional. Mostrei para alguns amigos, publiquei uma demonstração em vídeo no meu Twitter e fui para casa.
No dia seguinte, meu Twitter estava inundado de respostas positivas de pessoas muito interessadas em ter algo do tipo no Mac; foi então que resolvi transformar aquele protótipo em produto. Inicialmente pensei em fazê-lo como um projeto de código aberto, porém percebi que provavelmente seria um projeto comercial de longo prazo, então acabei optando por mantê-lo fechado.
Qual a parte mais complicada de se manter um aplicativo como o AirBuddy?
Todo app requer manutenção — uns mais, outros menos. A maioria dos apps requer uma atenção maior quando há grandes atualizações nos sistemas operacionais, como do macOS no caso do AirBuddy, para garantir que tudo ainda funcione como esperado, já que alterações internas nos sistemas podem provocar bugs nos aplicativos.
No caso do AirBuddy, por se tratar de um app que tem uma integração muito profunda com o sistema, isso se estende não apenas às atualizações mais significativas (como de um macOS 12 pro macOS 13) mas até mesmo em atualizações menores, como do macOS 13.0 para o 13.1.
Além dessa parte das atualizações, tem também a questão do hardware. O funcionamento do app pode ser afetado não só pelo hardware do Mac, como também pelo modelo específico dos AirPods ou outros dispositivos em uso, ou até mesmo pelo ambiente onde o usuário se encontra. Lembro de alguns bugs bem específicos que aconteciam quando se usava o app em algum ambiente onde muita gente tem AirPods, como num escritório de empresa de tecnologia, por exemplo.
Então a parte mais complicada é lidar com essa mudança constante, que no caso do AirBuddy vai desde o sistema operacional até a combinação de hardware do usuário, ou o lançamento de novos modelos de fones pela Apple/Beats.
Considerando a sua experiência, aceitaria um convite da Apple para trabalhar na equipe dos AirPods (caso já não tenha recebido um, é claro)?
Já fui convidado para trabalhar na Apple por alguns times diferentes, inclusive o time responsável pela integração de AirPods e outros dispositivos nos sistemas. Nunca aceitei nenhum convite para trabalhar na empresa porque não tenho interesse de me mudar para os Estados Unidos, além do fato que ser funcionário da Apple exigiria que se abrisse mão de diversas coisas, como a liberdade de participar de podcasts, escrever um blog, ministrar palestras, entre outros.
Por mais interessante que poderia ser trabalhar lá, para mim não vale a pena abrir mão de tanta coisa para trabalhar para uma empresa; estou feliz sendo meu próprio chefe (apesar de ser o pior chefe que já tive). 😛
O seu aplicativo suporta tanto fones de ouvido da Apple quanto da Beats. Considerando isso, em termos de software, existe alguma diferença entre os produtos das duas marcas que torne o processo de adicionar os fones da Beats ao seu app mais fácil ou difícil?
No começo era mais difícil, por dois motivos: eu não tinha tanto conhecimento sobre como esses dispositivos funcionam e também não possuía fones da Beats, então acabava dependendo dos testes de terceiros para saber se estavam funcionando corretamente.
Hoje em dia, como todos os fones da Apple e da Beats seguem um modelo de funcionamento bem parecido, já tenho um processo estabelecido para acrescentar suporte a novos dispositivos, o que muitas vezes nem exige uma atualização do app.
O desafio mais recente relacionado aos fones da Beats foi quando lançaram os Beats Studio Buds, já que eles não funcionam da mesma forma que os AirPods — sendo voltados mais para o mercado Android —, então exigiram um pouco mais de trabalho na implementação.
Felizmente, também hoje em dia, posso adquirir todos os fones, tanto da Beats quanto da Apple, tornando os testes práticos do app muito mais fáceis.
De vez em quando, vemos apps como o AirBuddy — ou seja, que preenchem um vazio deixado pela Apple em um de seus sistemas — perderem espaço ou simplesmente serem descontinuados depois de a empresa implementar uma solução própria, nativa. Como você lida com a possibilidade de isso acontecer com o seu app?
O importante é sempre ir além do que a Apple iria numa implementação nativa de algum recurso. Geralmente, quando a Apple integra algo nos sistemas, faz a versão mais simples e acessível para todos os usuários, sem muitas opções avançadas de configuração.
Já houve diversas mudanças no macOS que tornaram a funcionalidade básica do AirBuddy menos necessária, porém existe um mercado significativo de usuários avançados que querem controlar mais aspectos da experiência, além daqueles que a Apple oferece.
Um exemplo recente disso é o recurso Continuity Camera, que chegou com o macOS Ventura. Inicialmente, parecia uma sentença de morte para o app Camo, que permite usar a câmera do iPhone como webcam no Mac. Porém não foi isso que aconteceu na prática, já que o recurso Continuity Camera é muito básico, enquanto o Camo oferece inúmeras opções de controle das lentes do iPhone, ajustes de imagem, entre outros. Eu mesmo continuo utilizando o Camo, apesar de o Continuity Camera estar sempre disponível.
Procuro seguir uma linha parecida com o AirBuddy, sempre acrescentando recursos que vão além de algo que a Apple faria nativamente. Não quer dizer que não existam mudanças que a empresa poderia fazer que reduziriam o tamanho do mercado do AirBuddy, mas procuro sempre expandir as funcionalidades do app para que o impacto desse tipo de mudança seja o menor possível.
Qual plataforma você considera mais amigável para novos desenvolvedores que querem entrar no mundo Apple, o iOS/iPadOS ou o macOS?
Isso vai depender muito do(a) desenvolvedor(a). Considero todas as plataformas da Apple como excelentes oportunidades para desenvolvimento de apps. Talvez daria um pontinho a mais para o macOS nesse quesito por permitir a distribuição de apps fora da App Store, o que pode ser mais fácil para quem está começando, já que não precisa passar pelas regras rígidas da loja.
Para qual plataforma você mais gosta de desenvolver apps, o iOS/iPadOS ou o macOS?
Eu gosto do macOS pela liberdade que a plataforma proporciona. Eu gosto de criar apps que expandem a funcionalidade do sistema, mas infelizmente nos sistemas móveis da Apple isso é praticamente impossível.
Pensando como um desenvolvedor, qual recurso ou serviço é o seu sonho de consumo nos sistemas da Apple?
Para a surpresa de ninguém, considerando as duas respostas anteriores, eu gostaria muito que a Apple abrisse mais seus sistemas móveis (iOS e/ou iPadOS) para permitir a distribuição de apps fora da App Store. Isso não significa abrir mão da segurança dos sistemas, já que a segurança deles vai muito além da revisão da App Store, que é um processo muito mais comercial/político do que técnico.
Quais recursos você mais gostaria de ver em uma futura geração dos AirPods (seja o modelo padrão, Pro ou Max)?
Eu gostaria de um recurso de modo Ambiente Adaptativo mais sensível, ou configurável. Gosto bastante do recurso, que veio com os AirPods Pro de segunda geração, porém ele só entra em ação para ruídos muito altos e abruptos, como uma buzina, um latido de cachorro, ou uma batida. Gostaria de um modo que me permitisse caminhar na rua com o modo ambiente ligado, mas sem precisar usar o volume dos fones muito alto por conta do ruído de carros/caminhões passando na rua ao lado.
Entendo que talvez a Apple tenha feito dessa forma por questões de segurança, mas nada impede o usuário de andar por aí com o Cancelamento Ativo de Ruído, o que acaba sendo bem pior.
Bem, parece que o Rambo, de certa forma, previu o novo Áudio Adaptativo dos AirPods Pro de 2ª geração, hein?! Observação importante: esta entrevista foi feita antes da WWDC23.
Poderia compartilhar conosco alguns dos seus projetos para o futuro, sejam eles relacionados ao AirBuddy ou não?
Atualmente estou trabalhando na versão 3.0 do AirBuddy, que será uma atualização bem grande e cheia de novidades. Fora do AirBuddy, tenho trabalhado também na ferramenta de virtualização com foco em desenvolvedores, o VirtualBuddy, além de outros apps novos que pretendo lançar no futuro.
Seja você um aspirante a desenvolvedor, um entusiasta de tecnologia ou apenas um fã do mundo Apple, esperamos que esta entrevista tenha lhe ajudado a entender um pouco mais sobre como os apps que usamos todos os dias funcionam, e esclarecido os desafios de se criar aplicativo para os sistemas da Maçã.
Nós do MacMagazine, é claro, agradecemos ao Rambo por topar conversar conosco mais uma vez! 😊