24 de jul de 2018

Dez anos depois: relembre todas as versões do Android

Udacity Brasil

No dia 8 de maio, durante a Google I/O, a famosa conferência anual da empresa, David Burke, o vice-presidente de engenharia do Android, lembrou do lançamento do primeiro smartphone com esse sistema operacional, o T-Mobile G1, em 2008. Tratava-se de “uma ideia simples mas ambiciosa: criar uma plataforma mobile que fosse livre e aberta a todos”.

Com os iPhones no mercado há mais de um ano, ficou claro que havia uma demanda por dispositivos que cabiam no bolso e eram capazes de acessar a internet – e que essa demanda ia além daqueles que podiam pagar por um celular da Apple.

Em 5 de novembro de 2017, os engenheiros do Google apresentavam seu sistema operacional mobile, o então desconhecido Android

Hoje, dez anos depois, bilhões de dispositivos no mundo usam o Android. De todos os dispositivos móveis conectados à internet, 85,9% funcionavam com esse sistema operacional até o fim do ano passado. É válido considerar, portanto, que ele realmente atingiu seu objetivo.

Ao longo dessa década, o Android passou por uma série de mudanças. No começo, eram tentativas de se equiparar à experiência dos usuários de iPhone. Hoje em dia, com seu espaço conquistado, o sistema da Google já é líder tanto em termos de usabilidade quanto de usuários.

Quer aprender com o Google? Conheça 12 cursos gratuitos feitos em parceria com a Udacity

Android, os doces e a loja

O primeiro Android a ter um nome foi, na verdade, a versão 1.5 do sistema operacional. Chamada de “Cupcake”, ela inaugurou uma tradição que existe até hoje: cada grande atualização do sistema recebe um nome de doce que começa com a letra seguinte do alfabeto. A versão 1.6 do sistema, por exemplo, se chamou “Donut”, e na sequência veio a “Eclair”.

As primeiras versões colocaram os alicerces do que hoje tomamos por garantido em qualquer celular. Foi ao longo dessa evolução do Android que recursos básicos de celulares, como a capacidade de subir vídeos ao YouTube, girar a tela automaticamente e colocar widgets na tela inicial, foram incluídos.

Outro item fundamental, a loja de aplicativos, surgiu com a versão 1.6 (nas versões anteriores, ainda estava em fase beta) com o nome “Android Market”. A chegada da loja deu aos usuários um equivalente à App Store da Apple, e aos desenvolvedores um ecossistema mais aberto e livre no qual comercializar e criar aplicativos. Eventualmente, decidiu-se que o nome seria Play Store.

Mais recursos parecidos com os do iPhone foram chegando com o tempo. Na versão 2.0, tornou-se possível dar toques múltiplos na tela. E na versão 2.1, o sistema passou a permitir o gesto de “beliscar” para dar zoom, até então algo que diferenciava os donos de iPhone.

Você pode conferir a fala de David Burke, vice-presidente de engenharia do Android, na Google I/O 2018 aos 57 minutos de vídeo: ele apresenta a nova versão do Android, a P

Tudo pela tela

A tela, aliás, continuaria a ser o foco das próximas mudanças do sistema operacional. A versão 3.0, que recebeu o nome de “Honeycomb”, foi dedicada a tablets e por isso trouxe uma série de melhorias para dispositivos com telas grandes.

Foi a primeira versão do sistema que tinha Matías Duarte, atualmente vice-presidente de design do Google, no comando dessa área – e ele vai aparecer de novo em breve.

Hoje em dia, quando se pensa em celulares, o que vem à cabeça é uma tela grande com um (ou poucos) botões físicos. Mas nem sempre foi assim: a capacidade de lançar um Android sem nenhum botão físico de navegação só chegou em outubro de 2011, com a versão 4.0, a “Ice Cream Sandwich”. A partir dali, surgiram os botões para voltar, acessar a tela inicial e os apps recentes na tela do aparelho.

Nesse momento, as versões do Android começaram a ir além do que o iOS oferecia – a capacidade de criar pastas de apps na tela inicial e deixar o resto na “gaveta”, por exemplo, data daqui. A “gaveta” (ou “drawer”, em inglês) é como o Google chama a lista completa de apps dos celulares. E no iOS, a divisão entre “gaveta” e “tela inicial” não existia: todos os seus apps apareciam na sua tela inicial, ou em páginas criadas ao lado dela.

Na sequência viriam recursos como o Google Now, que tentava proativamente mostrar informações úteis para o usuário, e um novo foco: não deixar nenhum dispositivo para trás, mesmo em aparelhos com 512 MB ou menos de RAM.

Leia: Como se tornar um desenvolvedor Android

Material Design: a linguagem de design

Com a versão 5.0 (“Lollipop”), o Android começou a ganhar uma cara mais parecida com a que tem hoje. Isso por conta da Material Design, uma linguagem de design lançada em 2014 que a empresa começou a aplicar na interface de seus sistemas e apps para “unir os princípios clássicos do bom design com as inovações da tecnologia e da ciência".

A base visual desta linguagem é baseada na clássica dupla papel e caneta. "Materiais têm superfícies físicas e cantos. Costuras e sombras fornecem significado sobre no que você pode tocar", disse Duarte. O Material Design segue a mesma lógica, cuidadosamente adaptada para o digital.

O que isso significa? Basicamente, que o Android passou a ter uma aparência mais “plana”, focada em elementos bidimensionais, em cards dedicados a informações específicas. Procure por um restaurante conhecido no Google, por exemplo, e provavelmente o primeiro resultado da busca será o “card” daquele restaurante, com nome, telefone, endereço, horário, etc.

Também são características do Material Design o uso de cores sólidas e letras grandes (para criar uma clara hierarquia de informação) e o uso de animações para comunicar mudanças de estado do sistema. Por exemplo: quando uma tela, antes de ser fechada, desliza para a esquerda, você já imagina que se deslizar o dedo para a direita poderá trazê-la de volta.

De certa forma, essa filosofia de design persiste até as versões do Android mais recentes. Elementos dela se fazem presentes, de maneira ainda mais marcante, no Android 8.0 (“Oreo”) e continuarão fortes na versão seguinte (o Android P, lançado em versão beta em maio deste ano).

E ela também acabou indo além do Android e “vazando” para outros produtos da Google. Os “cards” verdes que aparecem quando você pesquisa no Google sintomas de uma doença, por exemplo, são um exemplo da influência dessa filosofia de design sobre toda a empresa. A recente mudança de design do Gmail também deve muito a essas ideias.

Leia: UX e UI: quais são as maiores diferenças entre esses campos?

Inteligência artificial e voz

Depois do Material Design, a transformação seguinte foi na forma como os usuários interagem com seu sistema. A empresa já vinha investindo cada vez mais em trazer recursos de voz a todos os usuários com o comando “OK Google”, que permite comandar o celular pela voz.

A grande mudança nesse aspecto veio com o Android 7.0, "Nougat", e o anúncio da Google Assistant – feito junto com o anúncio do Pixel, o primeiro celular desenhado pela própria empresa. A Google Assistant, uma assistente de voz como Siri e Alexa, era a aplicação concreta de anos de pesquisa quanto ao uso da voz como interface com dispositivos eletrônicos.

A capacidade do sistema de entender o que os usuários falavam e tomar ações com base nisso foi resultado de um investimento pesado em diversas áreas de inteligência artificial. Hoje, a inteligência artificial não é peça central apenas do Android, mas de praticamente todos os produtos da empresa.

Há, por exemplo, o Google Photos, que graças a tecnologias da área permite que você faça buscas por emoji: coloque um emoji de bolo no campo de busca e o app encontrará, entre as suas fotos, aquelas em que aparece um bolo. Usando a inteligência artificial, o Photos também cria vídeos e GIFs automaticamente a partir de suas fotos.

Durante a Google I/O 2018, a companhia foi além e introduziu o Google Duplex, um sistema de AI capaz até mesmo de ligar em seu nome para fazer uma reserva no salão ou em um restaurante – e soar convincentemente humano o tempo inteiro.

A novidade é vista como um grande avanço no processamento de linguagem natural. Saiba mais sobre o Google Duplex aqui.

O anúncio do Google Duplex durante a Google I/O 2018

Assista ao webinar: As novidades do evento Google I/O 2018

Aprendendo novas línguas

Outra mudança importante no Android aconteceu durante outro Google I/O, ainda em 2017. Em meio a uma série de anúncios que já eram, até certo ponto, esperados, a empresa também divulgou que o Android começaria a oferecer suporte a outra linguagem de programação, chamada Kotlin.

Foi a primeira vez que a empresa fez um anúncio desse tipo, e foi um momento notável. Afinal, se o objetivo do Android é ser tão aberto e acessível quanto possível, o suporte a mais linguagens de programação é essencial.

Mas a Kotlin não foi escolhida à toa. A linguagem, criada pela empresa russa JetBrains, foi pensada desde o início como uma espécie de “versão melhorada” do Java - a linguagem na qual o Android está escrito. De fato, segundo a _Gazeta do Povo_, em uma das primeiras demonstrações da linguagem, a empresa por trás dela mostrou que ela faz em sete linhas de código algo que, em Java, exigiria trinta.

Embora a competência técnica da linguagem tenha sido um fator importante na escolha da Kotlin como primeira linguagem externa a ser suportada pelo Android, ela não foi o único fator. É bem provável que, na hora de escolher essa linguagem, o Google estivesse pensando também em outra palavra: processo.

Isso porque a “situação legal” da linguagem Java no Android até hoje é contenciosa. Na hora de criar o Android, o Google optou pela Java graças à comunidade de milhões de desenvolvedores que já usavam essa linguagem, criada pela Sun Microsystems em 1990.

Só que, em 2009, a Sun Microsystems foi comprada pela Oracle, que não demorou para processar o Google pelo suposto uso indevido da linguagem no seu sistema operacional. De maneira resumida, o processo gira em torno do Dalvik, uma ferramenta que o Android usa para rodar aplicativos escritos em Java.

Ainda deve demorar alguns anos para que o caso se encerre. Uma primeira decisão judicial do caso favoreceu o Google, mas foi depois revertida pela Oracle, que tentou levar o processo à Suprema Corte estadunidense. Mas a Suprema Corte se negou a julgar o caso, de maneira que ele voltou ao mesmo juiz da primeira decisão - que provavelmente vai levar algum tempo para dar novo parecer sobre ele.

De qualquer maneira, mesmo que o Google se veja obrigado a pagar à Oracle uma parte dos lucros que teve com todo o sistema operacional até 2016, os danos serão mais limitados. Isso por conta da presença de outra linguagem - tão boa quanto a Java ou até melhor - em parte de seu ecossistema.

Este programador acompanhou o Android desde o começo

Augusto Lemes começou a programar em Java – a linguagem que reinava sozinha no Android até pouco tempo atrás, quando passou a dividir espaço com Kotlin – em setembro de 2005. Ele lembra que, desde 2001, Java era visto como uma das grandes promessas do futuro, e por isso se dedicou a essa área.

“Eu vi o Android praticamente desde o início”, lembra. “Quando o pessoal começou a falar em desenvolvimento para Android, eu e alguns amigos já começamos a olhar. Como estava naquela onda de apps e jogos para celular, foi algo em que todo mundo prestou atenção.”

Augusto nunca chegou a desenvolver um aplicativo por iniciativa própria, mas já publicou vários apps que fez profissionalmente na Play Store. Em sua opinião, o processo de desenvolver aplicativos para Android sempre foi mais fácil do que fazer o mesmo para a loja da Apple.

“Por ser uma plataforma open source, você às vezes nem se guia tanto pelo Google. A própria comunidade te dá muito apoio, muito suporte”, conta. Além disso, o fato de o sistema operacional ser compatível com outras linguagens, como C++ e Kotlin, também é um diferencial importante para torná-lo mais convidativo.

O ciclo de vida da Activity no Android

“Eles [da Google] dão uma abertura muito grande”, continua. Do outro lado está o iOS, bem mais rígido quanto ao desenvolvimento de apps. Segundo Augusto, isso acaba desestimulando alguns desenvolvedores.

O diferencial do iOS costuma ser o fato de que o número de dispositivos diferentes que usam o sistema é bem menor que o do Android, o que tornaria o processo de desenvolvimento mais simples.

É a chamada fragmentação: enquanto menos de vinte tipos de iPhones, iPads e iPods utilizam iOS hoje, aparelhos que utilizam Android são muito mais numerosos em termos de marcas, modelos, tamanhos e componentes. É preciso fazer muitos testes de compatibilidade e ajustes para garantir uma boa experiência de usuário.

No entanto, segundo Augusto, as ferramentas de criação do Android ajudam bastante a superar essa dificuldade. O Android Studio, a plataforma oficial de desenvolvimento de apps da Google, vai mostrando a cada momento do processo qual porcentagem de dispositivos Android é compatível com seu app. “Se você usar o padrão direitinho, bonitinho, você consegue colocar [seu aplicativo] para uma grande gama de dispositivos”, diz.

A inteligência artificial, os desenvolvedores e o futuro

As inovações de inteligência artificial do Android também beneficiaram os desenvolvedores, continua Augusto. Ele conta que já usou a ferramenta Google Cloud Speech-to-Text em uma de suas criações, com bons resultados. A ferramenta permite que os aplicativos convertam áudio em texto automaticamente, de microfones ou arquivos, em mais de 120 línguas.

De forma geral, Augusto acredita que, no futuro, a tendência é que certas áreas dentro do desenvolvimento para Android fiquem mais especializadas. Por exemplo: alguns apps de conversa, como o Telegram, já permitem a criação de chatbots e outros recursos dentro da plataforma. Pode ser que, ao longo dos próximos anos, o WhatsApp receba um recurso semelhante, e nesse caso pode surgir uma demanda por “desenvolvedores WhatsApp”, por exemplo.

“Você não precisa instalar outros aplicativos, configurar, aquela coisa toda”, diz Augusto sobre essa tendência. Com a ampliação das capacidades desses apps populares, o Android pode acabar virando uma “metaplataforma”: um sistema em cima do qual outros sistemas podem surgir e se desenvolver, de maneira paralela.

Mas ainda há espaço para melhorias. Segundo Augusto, as ferramentas de desenvolvimento da Google poderiam ser mais leves para facilitar o uso. E mesmo com os recursos que auxiliam a adaptação de aplicativos para uma grande variedade de smartphones, ele acredita que a empresa ainda podia fazer melhor em termos de padronização.

“Você pega vários aparelhos e parece que cada um deles é muito diferente do outro, mesmo que eles estejam usando a mesma versão do Android”, diz. Embora as fabricantes façam modificações para o sistema, ele acredita que a Google poderia investir mais na área. “O que a Apple tem demais, o Google tem de menos."

Trata-se de um problema que a própria empresa reconhece e vem tentando combater. Uma das medidas nesse sentido é o Project Treble, uma alteração ao framework do Android que tem o objetivo de facilitar a atualização dos aparelhos.

Na prática, isso significa que embora o Android P possa chegar de maneira lenta e para poucos, a expectativa é que o Android T ou U já sejam mais próximos da visão que a Google tem de oferecer uma experiência aberta e unificada para todos.

E quem sabe o que pode acontecer na próxima década?

Leia também:

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.