Por que a fragmentação do Android é o maior ponto positivo da plataforma
Dizem que a fragmentação do Android é "um desastre", "apocalíptica". Não é bem assim.
Dizem que a fragmentação do Android é "um desastre", "apocalíptica". Não é bem assim.
Desde a popularização do Android, a fragmentação da plataforma vem sendo discutida como “um desastre”, “apocalíptica” e que talvez vai arruinar o sistema um dia, pelo menos na questão de segurança. Dizem que nenhum sistema operacional precisa de milhares de dispositivos sendo controlados por centenas de fabricantes. Na verdade, não é bem assim.
A principal campanha que o Google adotou no ano passado para divulgar o Android se chamava “Be together. Not the same” (“Esteja junto. Não seja o mesmo”, em tradução livre). Já podemos inferir, pelo nome, que a própria empresa enxerga a variedade de dispositivos do sistema como seu principal ponto positivo e não pretende abrir mão disso tão cedo.
O Google publicou uma série de vídeos mostrando como é melhor viver junto em vez de se isolar. Um dos vídeos que inaugura a campanha compara a coragem de convidar o aluno novo da sua sala para se sentar com você a inovações e visões de mundo que transformaram a sociedade. Assista-o para entender melhor:
A mensagem que o Google quer passar é: em vez de construir um sistema unificado, é melhor acolher várias fabricantes e ter um sistema “fragmentado” em prol dos avanços tecnológicos. Como o narrador completa: “Porque todo mundo fazendo a mesma coisa não leva ao progresso, mas todos fazendo suas próprias coisas juntos pode levar”. É claro que há uma forte tendência na campanha a cutucar os sistemas concorrentes, mas é interessante ver como o buscador reconhece que não há planos de centralizar a plataforma.
Essa diversidade também ajuda a levar smartphones para áreas que provavelmente não teriam acesso a um iPhone. Não é uma questão de segregação, mas é inegável que o sistema do Google atingiu países em desenvolvimento onde a Apple não planeja chegar. Sua popularidade na Índia, China e até aqui no Brasil é um exemplo disso: segundo a IDC, em 2014, o Android estava presente em 88,73% dos smartphones vendidos no país, contra uma fatia de apenas 6% do Windows Phone e 4,7% do iOS.
Uma das desvantagens desse controle descentralizado é, sim, a fragmentação, que muitas vezes é vista como algo pejorativo. Mas Thomas Claburn, do InformationWeek, aponta uma boa desconstrução do termo “fragmentação”:
“Um termo mais adequado seria ‘diverso’. Nós não dizemos que a humanidade é fragmentada. Nós somos racialmente, etnicamente, ideologicamente, fisicamente e intelectualmente diversos. Isso pode ser um problema para nós, mas também é a nossa força. Não somos uma monocultura. Não devemos esperar que nossos celulares, ou o código que funciona dentro deles, se adaptem dentro de um único padrão.”
O paralelo com a humanidade pode parecer exagerado, mas é uma boa comparação. Há quem diga coisas como “de que adianta o sistema ser aberto ou livre se ele é fragmentado”? O benefício de ser um código, e não um ser humano, é que é possível desenvolver artifícios para adicionar recursos em sistemas antigos, sem eliminar a diversidade. Foi o que o Google fez.
Há alguns anos o Google implementou no Android o Google Play Services, que deixou o sistema mais modular, sendo possível atualizar serviços nativos por meio da Play Store. Essa tática deu ao buscador um controle mais direto sobre novos recursos, uma vez que o Play Services funciona com qualquer Android a partir da versão 2.3 e as atualizações não ficam paradas esperando a boa vontade das fabricantes.
Sabe quando o Google mostra a porcentagem de distribuição do Play Services nos Androids nas conferências, em vez da versão do sistema? Então, não é enrolação. A partir dessa API, desenvolvedores podem fazer os recursos serem compatíveis com versões mais antigas do sistema, em vez de ficarem restritos às mais novas.
O Google Play Services faz intermédio entre a loja de aplicativos e o sistema
Basicamente, o Play Services faz um intermédio entre a loja de aplicativos e o sistema. Assim, os desenvolvedores usam as APIs integradas no serviço em seus aplicativos e garantem que novos recursos vão funcionar em versões mais antigas do Android.
Em vez de se preocupar com cada versão específica, o desenvolvedor usa a biblioteca de serviços do Play Services para unificar a distribuição dos seus recursos. Mapas, Anúncios, Jogos, Drive, Cast, Fitness e vários outros pacotes fazem com que as novidades não se limitem ao sistema mais recente.
Um exemplo é o não tão novo Google Play Games, que cria uma plataforma de jogos integrada e vem com pontuações e conquistas. Na época do lançamento do serviço, o Google simplesmente disponibilizou o aplicativo na Play Store e os usuários precisavam apenas da última versão do Play Services para unificar as informações dos seus games.
Sem essa integração na API, versões mais antigas no sistema teriam de ser atualizadas para ter acesso às novidades. Dessa forma, elementos-chave do sistema podem ser atualizados sem necessidade de uma atualização completa, diferente do que ocorre com o iOS. Essa atualização do Play Services é feita, muitas vezes, sem nenhum aviso e em segundo plano, como no Chrome.
A longo prazo, é possível ver como o serviço foi atualizado com grandes novidades que foram e vão ser distribuídas para a maioria dos dispositivos. A última versão notável do Play Services, por exemplo, trouxe o Smart Lock para as senhas salvas no Chrome, um sistema de convite em aplicativos e outra, mais antiga, desmembrou o componente WebView do navegador e passou a atualizá-lo a partir do Google Play.
Essa estratégia de separar aplicativos nativos do sistema para diminuir a “fragmentação” também foi bem sucedida: quase todos os aplicativos do Google estão no Google Play e fabricantes como a Samsung, Motorola e LG atualizam seus próprios apps pela loja do Google, sem precisar criar lojas próprias, duplicadas ou emitir atualizações pesadas de software.
Outro bom exemplo são os apps que eram feitos pelas próprias fabricantes e agora deram entrada aos desenvolvidos pelo Google. O aplicativo Internet deu espaço para o Chrome em basicamente todas as principais fabricantes, e apps de relógio, calculadora e calendário normalmente são unificados. Todos esses aperfeiçoamentos confundem menos o usuário final e criam uma experiência mais unificada dentro do sistema como um todo.
Há alguns dias, a OpenSignal publicou um relatório anual de fragmentação do Android, que analisa inúmeras fabricantes e milhares de dispositivos para trazer dados como aspectos de hardware, versão do sistema e distribuição das marcas por diferentes países.
É interessante saber que existem 24.093 aparelhos distintos controlados por 1.294 fabricantes, sendo que a Samsung pega 37,8% dessa fatia e continua dominando os dispositivos com Android, ainda que em queda (um ano atrás, a participação dos sul-coreanos era de 43%). A imagem abaixo mostra como estão distribuídos os milhares de aparelhos:
O problema é que há uma certa confusão nos gráficos. A OpenSignal usou os dados do Google para comparar as diferentes versões do sistema, mas propositalmente quebra os pequenos releases como 5.0 e 5.1 para dar a ideia de que as versões são mais fragmentadas (e não faz o mesmo com o iOS).
Compare o relatório da OpenSignal com o relatório de distribuição que o Google divulgou recentemente (os gráficos de pizza se baseiam nos mesmos dados):
Essas versões menores, depois do ponto (5.0, 5.1), são apresentadas de forma associada pelo Google porque fazem pouca diferença na prática para os desenvolvedores e a experiência de uso é basicamente a mesma. A OpenSignal também mostrou como os tamanhos de tela são diversos (analisando os dispositivos que têm seu app instalado):
Tal quantidade absurda de tamanhos de tela deixa o sistema fragmentado e dá um enorme trabalho adicional para os desenvolvedores adaptarem seus aplicativos? Nem tanto. Russell Ivanovic, desenvolvedor do excelente Pocket Casts, explica:
“Nós [desenvolvedores] resumimos tudo a ‘1x’ ou ‘1dp’. Então no iPhone você pode ter um iPhone 3G de resolução 320×480 pixels e um iPhone 4 com resolução de 640×960 pixels, mas a interface em si não muda, ainda é 320×480. Você não precisa realinhar nenhum botão ou fazer uma interface customizada. Tudo o que você faz é fornecer recursos de alta resolução para que as coisas fiquem mais nítidas. O mesmo vale para o Android.”
O desenvolvedor ainda disponibilizou uma comparação com os tamanhos de tela que eles realmente têm de adaptar para desenvolver os aplicativos. É essa que você vê ao seu lado direito. Não é tão difícil, né?
O Google Play Services pode ajudar a desfragmentar a experiência de usuário, mas não consegue modificar elementos-base do sistema para prevenir falhas de segurança como o Stagefright. Ou seja, parte dos arquivos internos do sistema possivelmente vulneráveis não são atualizáveis rapidamente pela Play Store.
Então Ron Amadeo, do Ars Technica, tinha razão em apontar que “em algum ponto, um armagedom de segurança no sistema, estilo o malware Blaster [que afetou meio milhão de computadores com Windows em 2003], parece inevitável”? Nem tanto. Questões avançadas de segurança, que normalmente são superficialmente conhecidas por usuários comuns e nós jornalistas, são mais complicadas que isso.
Quando vulnerabilidades são descobertas (em sua maioria por empresas especializadas em segurança), o protocolo padrão é alertar o Google e algumas, como a própria Zimperium, normalmente já desenvolvem um patch de segurança. Não foi divulgado, no caso do Stagefright, como uma mensagem multimídia poderia ser alterada para afetar os dispositivos. E isso nem deve acontecer.
Só essa omissão já torna muito difícil para hackers explorarem a falha. Caso você não saiba, o Android tem uma série de protocolos de segurança que impedem o sistema de ser invadido daquela forma com pouco conhecimento sobre a vulnerabilidade específica. Adrian Ludwig, principal engenheiro do Google especializado em segurança no Android, explica um protocolo que foi introduzido no Android 4.0 e aperfeiçoado no Jelly Bean:
“O Address Space Layout Randomization (‘ASLR’) […] faz com que seja mais difícil para um invasor adivinhar a localização do código, o que é necessário para explorar uma falha com sucesso. Para os leigos ― ASLR faz com que aproveitar-se de uma falha seja como andar por uma cidade desconhecida sem acesso ao Google Maps, nenhum conhecimento prévio da cidade, nenhum conhecimento dos pontos de referência locais ou até mesmo da linguagem local. Dependendo da cidade em que você está tentando ir pode ser até ser possível, mas é certamente muito mais difícil.”
Não obstante, Ludwig ainda menciona dezenas de outros protocolos e o sistema de recompensas do Android, que paga até US$ 30 mil para quem conseguir invadir remotamente dispositivos Nexus. Ele então completa dizendo que as fabricantes só atualizam o sistema para corrigir grandes vulnerabilidades de segurança como último recurso.
“[Atualizações] não devem ser nem o primeiro nem o último passo em uma pilha de segurança de várias camadas. Estou otimista que o desenvolvimento da tecnologia de exploração [de falhas] avançada no Android vai nos ajudar a ir além da época em que emendar [falhas de segurança] rapidamente era a única solução para manter dispositivos seguros.”
Ou seja, atualizações do sistema, que demorariam muito tempo para chegar nos milhões de dispositivos Android possivelmente afetados por uma falha de segurança, não são o único jeito de mantê-los seguros. Toda versão do sistema é otimizada pelo Google em inúmeros aspectos de segurança. Apesar de nós, usuários comuns, não vermos isso como uma grande novidade, é fundamental para manter a plataforma longe de falhas de segurança críticas que possam ser exploradas facilmente.
Outras plataformas mais unificadas, como o iOS, também não estão livres de vulnerabilidades (assim como qualquer outra coisa no mundo tecnológico). Ainda que menores, como aquele SMS que fazia o iPhone reiniciar ou outras mais sérias, como aquela falha de segurança que havia exposto senhas do iCloud, elas têm potencial de afetar uma base maior de usuários. Como a base é mais consolidada (85% estão na última versão do iOS), é mais fácil consertar possíveis erros: uma atualização de correção chegou em um mês para a maioria dos usuários.
Com uma base consolidada, é mais fácil consertar possíveis falhas
Essa atualização unificada também funciona de forma parecida no Windows: um acordo entre a Microsoft e as fabricantes permite que as atualizações do sistema sejam conduzidas pela própria gigante de Redmond, útil para consertar rapidamente bugs e problemas de segurança. Sem isso, o Windows 10 provavelmente não teria chegado para todo mundo com a velocidade que chegou.
Será que o Google poderia tentar uma abordagem parecida? Particularmente, acho difícil. Só que a fragmentação das versões do Android está muito melhor hoje do que antigamente. Com a adição do Google Play Services, a falta de novos recursos em dispositivos desatualizados foi bastante amenizada. Sem contar que o buscador teria que brigar com as fabricantes em cima de interfaces próprias e o sistema teria de passar por uma grande reformulação.
Apesar de dar maior poder de escolha aos consumidores, a grande variedade de dispositivos Android também tem seu ponto negativo. Principalmente porque, como aponta o Business Insider, elas vêm de uma tentativa de recuperar altos ganhos em receitas.
Olhe para as ações da HTC, por exemplo: nos Estados Unidos, elas estão tão baixas que o valor de mercado da fabricante é menor do que o dinheiro que a HTC tem no banco (!). Na prática, isso significa que ela estaria pagando para quem comprar todas as suas ações. Uma das causas que o Business Insider aponta para esse tombo é a alta competitividade.
Mesmo com 3,4% de distribuição no mercado estadunidense, a fabricante taiwanesa não consegue atrair os consumidores para seus smartphones de boa qualidade porque a concorrência agressiva do mercado mira cada vez mais para mais dispositivos com um preço menor. Nao é à toa que a Apple detém 92% do lucro do mercado de smartphones.
Relatórios financeiros mostram que a LG, que está em 8,3% do mercado americano, lucra cerca de US$ 0,012 por cada smartphone que vende. É uma taxa muito baixa que pouco consegue suprir a demanda por lucro no mercado de smartphones. Isso significa que muitas empresas acreditam que a melhor forma de lucrar é atirar para todos os lados, lançando muitos dispositivos.
Não é uma tática que deu muito certo: a Samsung vem estimando queda nos lucros pelo sétimo trimestre seguido, principalmente porque, segundo analistas, “não teve apelo o suficiente para ganhar os consumidores que preferiram um iPhone”. Essa história não é nova, mas agora começa a se agravar porque o número de dispositivos iOS cresce cada vez mais nos Estados Unidos, enquanto os Androids continuam em queda.
O maior ponto de vendas do Android são os smartphones de médio e baixo custo
No final das contas, o maior ponto de vendas do Android é a sua presença em smartphones de médio e baixo custo, como as fabricantes Motorola, Xiaomi e ASUS perceberam. Logo, não é necessariamente apenas nos Estados Unidos que vamos visualizar como o Android “fragmentado” consegue alcançar nichos de mercado. O Brasil é um ótimo exemplo dessa concorrência, aliás: o crescimento da competitividade nessa faixa de preço fez com que as fabricantes oferecessem smartphones decentes sem cobrar preços absurdos.
Isolados, os aspectos da fragmentação, diversidade ou qualquer termo que lhe convier, parecem alarmantes. Nada mais natural que se preocupar com a possibilidade de uma grande falha de segurança que pode te colocar em risco ou como a plataforma pode parecer quebrada por ter tantos dispositivos e versões. Nos últimos anos, no entanto, um dos maiores aspectos negativos do Android acabou virando um dos seus maiores benefícios.