Quais são alguns dos melhores exemplos de aplicações livres de bugs no iOS e Android?
WhatsApp (agora propriedade do Facebook) é um exemplo de uma aplicação que para todos os efeitos práticos é livre de bugs - tanto no Android como no iOS.
Além de estar livre de bugs, a abordagem da WhatsApp à engenharia do seu produto é radicalmente diferente do Facebook e do Google e é disso que esta resposta fala. A WhatsApp tinha uma equipa de 62 pessoas quando atingiu 1 bilião de utilizadores. A eficácia da equipa de engenharia do WhatsApp é aquilo de que são feitas as lendas do vale do silício.
Um exemplo da eficácia da equipa de engenharia do WhatsApp: Antes de o Facebook adquirir o WhatsApp, a equipa de engenharia do Facebook tentou durante meses baixar a latência do Facebook Messenger (o que significa tempo para entregar mensagens) para os níveis do WhatsApp ou melhor - e finalmente desistiu - porque não conseguia superar ou melhorar os níveis de latência do WhatsApp. Depois disso, o Facebook dissolveu essa equipa e correm rumores de que as cabeças rolaram devido à sua incapacidade de igualarem ou melhorarem o WhatsApp. Existem respostas anónimas no Quora de pessoas das equipas de engenharia do WhatsApp e do Facebook que partilham as suas experiências e pontos de vista (incluindo algumas das quais tenho ligações abaixo).
Some Background: Escrevo esta resposta e partilho referências - de anos de experiência pessoal a usar, estudar e compreender o WhatsApp desde anos antes do seu lançamento no Android - quando existia apenas no SO Symbian da Nokia - que na altura era a plataforma de SO móvel mais popular do mundo.
Utilizei pela primeira vez o WhatsApp no meu Nokia E61 no Symbian OS quando este tinha acabado de ser lançado em 2009, quando na sua maioria sem bugs - ainda havia pequenas falhas não nas funcionalidades, mas em aspectos subjacentes não funcionais como a gestão da memória - onde se perguntava se por vezes o WhatsApp consumia muita memória e reiniciava o telefone.
Subsequentemente, o I's tem usado o WhatsApp - no Android desde 2012 (na minha Galaxy Note-1); e no iOS desde 2015 - e até agora não encontrei sequer um bug significativo ou perceptível.
O que torna o WhatsApp livre de bugs e tão fantástico com uma equipa tão pequena ?
WhatsApp for iOS
WhatsApp for Android
Eu acredito que a falta de bugs no WhatsApp é o resultado de:
(a) uma cultura de engenharia dedicada à perfeição do produto
(b) assim como uma base de usuários instalada tão grande que os bugs são esmagados muito pouco tempo depois de serem detectados - muito antes de o bug se tornar visível para usuários como eu.
O último também acontece porque com produtos como o whatsapp tipicamente o aplicativo é lançado como um rollout- o que não empurra a atualização para todos os usuários de uma vez - mas primeiro para uma pequena fração de usuários, possivelmente escolhida aleatoriamente e depois para mais usuários - e finalmente a atualização é empurrada para todos os usuários ao redor do mundo, pedindo-lhes para atualizar o produto antes de um prazo específico ou então experimentar um produto bloqueado que não funciona até que uma pessoa atualize.
Aqui está um pouco mais sobre a cultura de engenharia do WhatsApp- e
(1) Como a abordagem do WhatApp ao produto é diferente do Google e do Facebook.
p>Quando o WhatsApp foi adquirido pelo Facebook por 19 mil milhões de dólares, a popular aplicação de mensagens tinha cerca de 35 engenheiros e 450 milhões de utilizadores.
Dois anos mais tarde, o WhatsApp tem mais de 900 milhões de utilizadores, com 42 mil milhões de mensagens enviadas todos os dias - o que resulta em cerca de um milhão de mensagens a cada dois segundos.
Mas ao contrário dos titãs tecnológicos como o Google, Amazon ou mesmo o próprio Facebook, o WhatsApp continua a comportar-se como uma pequena inicialização.
Embora o seu enorme sucesso e o Facebook's bankrolling, o WhatsApp tem agora 57 engenheiros, no total. Esse tamanho pequeno ajuda a organização a manter-se ágil, mas também requer que toda a equipa esteja na mesma página, explicou Rick Reed, engenheiro de software do WhatsApp, na conferência F8 de hoje's F8 conference.
"A cultura tem realmente tudo a ver com a nossa capacidade de escala", disse Reed.
Acima de tudo, disse Reed, o WhatsApp confia no "foco", que ele brincou a chamar "a outra palavra f". Deixe que o Messenger, o Google Hangouts e outras aplicações complexas, diz ele, mas o WhatsApp está concentrado apenas em fazer a mais simples e fiável aplicação de chat.
"A nossa missão é fornecer uma ferramenta de comunicação simples, rápida e fiável sem muitos sinos e apitos extra", diz Reed.
>Reed chama-lhe "Just Enough Engineering" (Basta de engenharia), como se a empresa se esforçasse o suficiente e disponibilizasse recursos para se manter fiel a esse foco, e it's uma filosofia que guia toda a empresa.
'No-meeting culture'
Reed elogia a "cultura no-meeting" interna da WhatsApp&apos, que se esforça (mas não se esforça'nem sempre alcança, ele admite prontamente) para eliminar completamente as reuniões. Em vez disso, os funcionários do WhatsApp preferem utilizar "vários programas de chat" para falarem uns com os outros constantemente, dentro de pequenos grupos de projecto.
"Isto permite-nos realmente manter o foco no que nós're fazemos e contribui realmente para um escritório muito silencioso", diz Reed.
Indeed, quando se tem apenas 57 engenheiros, significa que se pode'e não apenas atirar corpos para um problema como a nave-mãe do Facebook pode, explica Reed. Isso requer planejamento cuidadoso e alocação de recursos e tempo de engenharia, diz ele, mas o resultado final é uma equipe que's se adequa à tarefa em questão.
"Nós trabalhamos muito duro para colocar as pessoas certas nas posições certas", diz Reed.
'I'não estou aqui agora'
Outra troca vem debaixo do capô". Empresas como a Google viram a sua infra-estrutura informática expandir-se ao longo dos anos para acomodar novas funcionalidades e enormes quantidades de dados - ao ponto de'tiveram de investir milhões na automatização de enormes quantidades, apenas para manter o ritmo.
Meanwhile, a WhatsApp prefere manter a sua infra-estrutura tão pequena quanto possível. Com tão poucos engenheiros à mão, uma pegada mais pequena significa simplesmente menos coisas que podem correr mal. Talvez exija mais intervenção humana, mas também significa maior fiabilidade e uma resposta mais rápida para adicionar ou corrigir o seu código.
"Nós não'não investimos muito em automação, excepto nos locais onde ela'é totalmente necessária", diz Reed. "Nós realmente gostamos de ter o humano no loop lá""
Outra grande chave para manter o foco, diz Reed, não é gastar muito tempo em marketing, imprensa, ou falando em conferências de desenvolvedores. O WhatsApp "evitou o máximo de atenção possível" antes e desde a aquisição do Facebook, ele observou.
(2) Aqui está outra peça - de quase 5 anos atrás - sobre como a equipa do WhatsApp conseguiu dimensionar a sua arquitectura para milhões de ligações simultâneas:
(3) A Quora Answer about the strengths of WhatsApp's engineering team.
How strong is the engineering team at WhatsApp?
(4) The WhatsApp Architecture Facebook Bought For $19 Billion - High Scalability -
(5) Facebook for Developers - A Look at WhatsApp: Engineering for Success at Scale
References:
(1) Facebook's WhatsApp faz algo muito diferente do Google