Apesar do início tímido, o Android logo começou a crescer rapidamente,  saindo da situação incipiente que ocupava em 2008 para o posto de um dos  sistemas dominantes nos smartphones high-end e tablets. Com exceção da  Apple, da Nokia e da Microsoft (que por motivos óbvios têm preferido  alavancar seus próprios sistemas), praticamente todos os outros grandes  fabricantes possuem projetos relacionados ao Android, que vão de  tablets, smartphones e smartbooks a robôs de limpeza. Com tantos  projetos em curso, é de se esperar que o Android continue se  popularizando nos próximos anos, com uma grande chance de se tornar a  plataforma dominante para dispositivos móveis. 
Ao falar no Android é impossível deixar de relacionar o sistema ao  Google, que apesar de ser mais conhecido por causa do mecanismo de  buscas, do Gmail e do AdSense, investe nas mais diversas áreas, de  painéis solares a novos algoritmos de inteligência artificial. Em 2005  decidiram entrar também no ramo dos smartphones, adquirindo a Android  Inc., uma pequena empresa de desenvolvimento de sistemas embarcados,  dando origem aos boatos de que o Google estaria trabalhando no "Google  Phone". 
Quando foi finalmente divulgado, em 2007, o projeto acabou se revelando  bem mais ambicioso que o originalmente previsto. Ao invés de estarem  simplesmente trabalhando em um modelo específico de smartphone,  anunciaram um sistema operacional open-source (
http://code.google.com/android/), baseado em Linux, que pode ser usado também em outros dispositivos. 
Apesar de ter começado como um projeto particular, a partir de novembro  de 2007 o desenvolvimento dos componentes open-source foi transferido  para a Open Handset Alliance, uma fundação sem fins lucrativos, que,  além do Google, inclui algumas dezenas de fabricantes de aparelhos,  empresas de telefonia e desenvolvimento de softwares.
O Android é, sob diversos ângulos, uma antítese do iPhone. Enquanto a  Apple optou por manter um controle estrito sob sua plataforma,  controlando tanto o hardware quanto o software, impondo restrições aos  desenvolvedores e controlando a distribuição dos aplicativos, o Google  optou por seguir o caminho oposto, criando um sistema aberto e  incentivando a criação de aplicativos para a plataforma, inclusive com  prêmios em dinheiro.
Grande parte da estratégia em torno do Android é centrada no  desenvolvimento de aplicativos por parte de outras empresas e  programadores independentes. O Google entendeu que, assim como nos  desktops, as plataformas de smartphones estão se consolidando e o mais  importante passou a ser os aplicativos e não apenas o hardware ou as  funções básicas do sistema. Tendo isso em mente, faz sentido que, sendo o  último a entrar no mercado, o Google tenha investido pesado, montando  uma grande equipe de desenvolvimento, investindo em contatos com  fabricantes e na divulgação do sistema e incentivando a participação  externa. 
Enquanto a Apple tenta restringir os desenvolvedores, com medo de que  aplicativos ruins possam prejudicar a imagem da plataforma, o Google  adotou uma atitude liberal, disponibilizando as ferramentas e deixando  que a coisa flua naturalmente. Você mesmo pode baixar o SDK no 
http://developer.android.com e começar a estudar o sistema usando seu próprio PC, sem nem mesmo precisar de um smartphone baseado na plataforma.
Entra em cena, então, o Android Market, que faz o papel de canal de  distribuição, assumindo a função que no mundo Apple pertence à AppStore.  Ele serve como um repositório central de softwares para a plataforma,  permitindo que eles sejam instalados rapidamente. Em julho de 2010 o  Android Market já atingiu a marca de 100.000 aplicativos, um número que  deve continuar crescendo rapidamente. 
Embora a ideia geral seja que aplicativos sejam compatíveis com todos  os dispositivos baseados no Android, esta é uma ideia impossível de  implementar na prática, já que cada aplicativo exige uma versão mínima  do sistema para rodar, além de casos de aplicativos com requerimentos  específicos (como para telas WXGA, que não rodam nos aparelhos com telas  HVGA). Prevendo isso, o cliente leva em conta as características do  aparelho sobre o qual está rodando, exibindo apenas os aplicativos  compatíveis com ele.
Como de praxe, os aplicativos disponíveis vão desde aplicativos  realmente inovadores e uteis, até mini-aplicativos especializados que se  limitam a mostrar alguma informação específica, passando por todos os  tipos de jogos e inutilidades, que se dividem entre aplicativos  gratuitos e pagos. Infelizmente (agosto de 2010), os aplicativos pagos  ainda não estão disponíveis no Brasil, mas nada impede que os  aplicativos desejados sejam instalados manualmente.
Está disponível também o App Inventor, uma plataforma de  desenvolvimento rápido, baseada na Open Blocks Java library do MIT, que  oferece blocos de código com ações pré-programadas que podem ser  "encaixados" para criar aplicativos funcionais em poucos minutos,  combinando as funções disponíveis. Conforme programa, um demo é  automaticamente mostrado em um aparelho conectado na porta USB, o que  permite que você teste as funções enquanto desenvolve e no final  transfira o aplicativo finalizado automaticamente:
A disponibilidade do App Inventor representa uma democratização da  plataforma, já que permite que usuários com pouco ou quase nenhum  conhecimento de programação possam desenvolver aplicativos simples para  satisfazer as necessidades do dia-a-dia, sem depender unicamente dos  aplicativos do Android Market.
Naturalmente, nem tudo são flores, já que embora os componentes básicos  da plataforma (o kernel, o middleware baseado no Apache e os  componentes da interface com o usuário) sejam abertos, o Google mantém o  controle sobre o acesso ao Android Market e sobre os aplicativos que  permitem acesso aos serviços do Google (Gmail, Maps, etc.). O controle  sobre o Android Market é um aspecto importante da estratégia para evitar  a fragmentação da plataforma (já que permite que o Google pressione os  fabricantes e desenvolvedores em torno do desenvolvimento de softwares  que sigam os padrões e rodem em diversos dispositivos, evitando o  florescimento de aplicativos limitados, que rodam em apenas um ou alguns  poucos modelos), mas por outro lado causa atritos com os fabricantes de  aparelhos e operadoras e deixa muita gente com uma pulga atrás da  orelha. Isso tem levado ao aparecimento de forks do sistema destinados a  mercados específicos.
Um bom exemplo é o "OPhone", desenvolvido por fabricantes Chineses,  onde os aplicativos proprietários do Google são substituídos por  aplicativos que se integram com serviços locais. O OPhone não oferece  acesso ao Android Market, que é substituído por pequenas coleções de  aplicativos oferecidas pelas operadoras locais e por pacotes instados  localmente. Isso faz com que, embora compartilhe dos mesmos componentes  básicos, o "OPhone" seja muito diferente do Android em termos de uso  prático.

Outro aspecto significativo é que embora o uso dos componentes  open-source do sistema seja livre, os fabricantes de aparelhos ainda  precisam pagar licenças pelo uso dos componentes proprietários e  precisem aderir às normas definidas pelo Google para uso do sistema. É  uma situação similar à de muitas distribuições Linux comerciais, onde  você pode usar livremente os pacotes abertos, mas precisa pagar uma  licença de uso pelo pacote completo, devido à presença de alguns  componentes proprietários. O Google ganha também dinheiro com os acessos  aos serviços (e a exibição de anúncios) e com comissões sobre as vendas  de aplicativos através do Android Market.
Além da questão do licenciamento, existem também exigências com relação  a componentes. Com exceção de acordos específicos, todos os  dispositivos devem ter tela touch-screen, câmera, bluetooth e GPS.  Aparelhos sem algum destes componentes não recebem o carimbo de  compatibilidade e consequentemente não podem oferecer acesso ao Android  Market (pelo menos não legalmente), como é o caso de muitos tablets e  celulares de baixo custo made in China.
Do ponto de vista do usuário também existem algumas restrições, já que o  sistema roda em modo user-space, onde você não tem acesso à pastas do  sistema nem permissões para alterar muitas configurações (seguindo o  exemplo, seria como usar o Ubuntu com uma conta regular de usuário, sem  acesso ao sudo), não pode regravar o firmware com imagens que não tenham  sido assinadas pelo fabricante e assim por diante. Na maioria dos  aparelhos é possível obter acesso root usando exploits disponibilizados  pela comunidade, mas já existem casos de aparelhos com proteções de  hardware contra o feito, como o no caso do Motorola Droid X, que embora  tenha sido rapidamente quebrada, indica que a maioria dos fabricantes  não são exatamente simpáticos à ideia.
Em outras palavras, embora o sistema seja predominantemente  open-source, o sistema está longe de ser completamente aberto (sem  contar as proteções incluídas nos aparelhos) por isso é importante  pesquisar sobre a disponibilidade de exploits para obter acesso de root e  de versões modificadas das ROMs antes de se decidir pela compra de um  modelo específico.
Além do Android Market (
http://www.android.com/market/),  existem também lojas menores que oferecem aplicativos para a  plataforma, oferecendo opções para os desenvolvedores que tiveram seus  aplicativos rejeitados, ou querem um canal para vender aplicativos sem o  pagamento de comissões. Dois exemplos são o 
http://andappstore.com e o 
http://slideme.org/. É possível também instalar aplicativos localmente através do comando "adb install", disponível no SDK.
O primeiro aparelho comercial baseado no Android foi o HTC G1, lançado  em outubro de 2008, que foi baseado no Android 1.5 e posteriormente  atualizado para o 1.6 (a mesma versão que é ainda usada em muitos  tablets e em alguns smartphones recentes, como no caso do diminuto Sony  X10 Mini). O G1 não foi um aparelho particularmente bem-recebido, já que  era volumoso e o sistema de deslizamento do teclado era frágil e tendia  a apresentar problemas com o uso, mas ele oferecia uma configuração  bastante sólida para a época, com um processador Qualcomm MSM7201A  (ARM11) de 528 MHz, tela HVGA (480x320) sensível ao toque, teclado  QWERTY deslizante, câmera de 3.2 MP, Wi-Fi, Bluetooth, GPS e suporte a  3G com HSDPA:
Embora oficialmente o G1 tenha ficado estacionado no Android 1.6, é  possível atualizá-lo para o 2.1 (e em breve também para o 2.2) através  do Cyanogen (
http://www.cyanogenmod.com/), permitindo que ele continue prestando bons serviços.
O Android oferece suporte a várias resoluções de tela, o que permite  que aparelhos com telas HVGA ou até mesmo QVGA (320x240) convivam com  aparelhos maiores, com telas WVGA (800x480) ou até mesmo maiores que  isso. Telas de alta resolução são uma grande melhoria com relação ao  acesso web e visualização de e-mails e documentos, já que não apenas  tornam o texto e gráficos muito mais legíveis, mas também permitem que  uma pessoa com boa visão consiga ler diretamente a maioria das páginas,  sem precisar dar zoom no texto:
Para quem está acostumado a navegar em aparelhos com o S60, com suas telas QVGA, a diferença é realmente muito grande.
Embora a navegação possa ser perfeitamente feita unicamente através de  toques sobre a tela (a partir do Android 2.2 está disponível inclusive o  suporte a multitouch, com gestos para zoom e outras funções), quase  todos os aparelhos oferecem também um trackpoint ou direcional, que  permite rolar a página e navegar entre os links sem o risco de clicá-lo.  Ele não é um recurso obrigatório, mas é bastante desejável. Em alguns  modelos (como no HTC Desire), ele é substituído por um sensor óptico ou  por um pequeno touchscreen, que oferecem mais precisão e permitem rolar  páginas longas mais rapidamente:
Embora existam modelos com teclados físicos, como no caso do Motorola  Milestone (Droid), a grande maioria dos modelos sacrificam o teclado em  favor de um design mais fino, como no caso do Samsung Galaxy S, que  combina um processador ARM Cortex A8 de 1.0 GHz, câmera de 5 MP e tela  AMOLED de 800x480 em um aparelho com apenas 9.9 mm de espessura, mais  fino que um Nokia E71:
Vendo a foto é fácil perceber por que os teclados físicos estão se  tornando cada vez mais raros, já que com uma tela de 3.7" ou mais não  existe espaço para adicionar um teclado no painel frontal e o uso de um  teclado deslizante adiciona geralmente pelo menos 4 mm na espessura do  aparelho, além de encarecê-lo e torná-lo mais frágil mecanicamente.
Via de regra, todos os aparelhos com o Android devem oferecer tela  touchscreen, câmera, Bluetooth e receptor GPS, já que estes são  pré-requisitos para o uso dos aplicativos do Google e acesso ao Android  Market. Combinados com o suporte a 3G e Wi-Fi, que são também padrão  atualmente, temos configurações bastante poderosas.
A falta do teclado físico é parcialmente amenizada pela variedade de  teclados via software que estão disponíveis, que incluem versões com  suporte a multitouch (inaugurado pelo Droid X) e também versões "swipe",  onde você pode deslizar os dedos de uma tecla a outra, sem precisar  tirá-los do teclado:
Invariavelmente, os teclados virtuais resultam em mais erros de  digitação, mas eles por outro lado oferecem melhores possibilidades de  personalização (o teclado pode oferecer teclas ".com", smiles, etc. de  acordo com o aplicativo, que não são possíveis em um teclado físico) e  parte dos erros podem ser corrigidos automaticamente com a ajuda do  corretor ortográfico. Com a evolução dos métodos de entrada, já chegamos  a um ponto em que muitos preferem usar os teclados virtuais a usar um  teclado físico mediano, como o do Motorola Milestone, por exemplo.
O grande problema de aparelhos grandes com tela touchscreen é que é  praticamente impossível usá-los com apenas uma mão, como é possível nos  telefones com teclados numéricos e em modelos como o Nokia E71/E63 e os  BlackBerry. Em outras palavras, eles são muito bons para navegar na web,  ver fotos, assistir vídeos, rodar jogos, etc., mas são menos eficientes  na aplicação básica: fazer e receber chamadas.
Isso tem levado ao surgimento de aparelhos que combinam telas QVGA ou  HVGA touchscreen com um teclado e direcional, como no caso do Kogan  Agora Smart, que oferece um design similar ao dos antigos Motorola Q:
Este é um perfil de aparelho que vai agradar apenas a quem usa o  aparelho predominantemente para a troca de mensagens, já que uma tela  tão pequena elimina grande parte das vantagens da plataforma, mas pode  ser que eventualmente este formato se torne comum entre modelos de médio  e baixo custo, já que a tela menor reduz o custo de produção.
Em vez de rodar aplicativos nativos, escritos em C ou outra linguagem, o  Android utiliza predominantemente aplicativos compilados como bytecode,  que são executados dentro de uma máquina virtual Java (a Davilk). Isso  sacrifica parte do desempenho (e reduz a eficiência energética,  resultando em um maior consumo de energia), mas em troca oferece grandes  ganhos em termos de portabilidade, já que permite que a mesma  biblioteca de softwares seja usada em diversas arquiteturas de  processadores. A penalidade de desempenho introduzida pela máquina  virtual explica o grande ganho de desempenho de aplicativos no Android  2.2 em relação às versões anteriores, devido às muitas otimizações na  JVM.
A principal exceção fica por conta dos aplicativos desenvolvidos  através do Google Native Development Kit (NDK), que permite o uso de  componentes escritos em C ou C++. Ele é geralmente utilizado por  aplicativos complexos, que demandam todo o desempenho disponível (como  no caso do port do Firefox para o Android) e precisam atender a um  conjunto de normas bem mais rigorosas, para que seja preservada a  compatibilidade com diversos dispositivos.
A interface do Android é bastante simples, composta por um conjunto de  painéis deslizantes (você pode ajustar o número de painéis usados nas  configurações: 1, 3, 7, etc.), que são alternados rolando a tela para o  lado, similar ao iPhone. Os painéis podem ser usados tanto por atalhos  para aplicativos quanto por widgets, permitindo que você agrupe todas as  funções mais usadas. É possível também criar pastas:
  
O acesso aos demais aplicativos é feito através do menu deslizante, que  seve como uma vala comum para todos os aplicativos instalados. Como um  usuário médio acaba instalando mais de 30 aplicativos, ele logo se  transforma em um lugar bagunçado, em que você não vai querer ir com  muita frequência. Em vez de passar 30 segundos procurando cada vez que  quiser abrir qualquer aplicativo, é mais eficiente arrastar os mais  usados para a área de trabalho.
Como não temos um mouse com três botões, como em um desktop, muitas das  funções ao acessadas através de toques longos, que assumem a função de  segundo botão. Com um toque longo sobre a área de trabalho você acessa o  menu de personalização (adicionar widgets, trocar o papel de parede,  etc.) e com um toque longo sobre o botão home você acessa a lista de  aplicativos abertos, por exemplo.
A grande maioria dos aparelhos baseados no Android utilizam telas  touchscreen capacitivas (como no iPhone), em vez das tradicionais telas  resistivas. Por uma lado isso é muito bom, já que as telas capacitivas  podem ser usadas direto com os dedos, resultando em uma interação muito  mais natural, mas por outro faz com que você não tenha muita precisão ao  clicar nos elementos da interface, já que não é possível usar as unhas  ou uma caneta como nas telas capacitivas.
Isso faz com que a interface e os aplicativos sejam projetados para  mostrar botões e menus de opções desproporcionalmente grandes. Ao usar a  orientação horizontal, a tela WVGA do Motorola Milestone mostra apenas  três ou quatro opções dentro de um menu de seleção, por exemplo. Este é  um fator que causa estranheza para quem vem do Symbian ou do Windows  Mobile, onde a área da tela é melhor aproveitada.
O Android usa um sistema peculiar de gerenciamento de aplicativos, onde  os aplicativos abertos continuam ativos depois de voltar à tela  inicial, e são fechados apenas quando o sistema precisa de recursos. Por  um lado isso melhora o desempenho aparente do sistema, já que com os  aplicativos frequentemente usados acabam ficando o tempo todo carregados  na memória, tornando o chaveamento entre eles muito rápido. O principal  problema é que a ausência de um mecanismo para fechar aplicativos  manualmente abre margem para que aplicativos mal-desenvolvidos continuem  a usar processamento, memória ou tráfego de dados continuamente, sem  que o usuário que outra forma de fechá-los que não seja um reset.
Isso levou ao aparecimento de aplicativos como o "Advanced Task  Killer", que permite matar aplicativos manualmente. Entretanto, a versão  2.2 do Android removeu as chamadas que permitem que um aplicativo  finalize outros, tornando estes aplicativos inoperantes e trazendo de  volta o problema.
Ao usar um clique longo sobre qualquer ícone no desktop, a aba do  painel deslizante se transforma em uma lixeira, permitindo que você o  delete. Entretanto isso apenas remove o ícone na área de trabalho, sem  desinstalar o aplicativo. Para realmente removê-lo, é preciso acessar o  "Configurações > Aplicativos > Gerenciar aplicativos".
Por default, o sistema mantém os dados sincronizados entre os  aplicativos, baixando e-mails automaticamente, mantendo-o conectado aos  clientes de IM configurados e assim por diante. Naturalmente, isso pode  consumir um generoso volume e dados, sem falar no uso da bateria, por  isso muitos preferem desativar a função enquanto estão fora da cobertura  da rede wireless. A forma mais prática de fazer isso é manter o widget  de controle de energia na tela principal, ativando e desativando a  função de sincronismo automático conforme desejado.
Todas as notificações do sistema são agrupadas na barra superior, que  segue um conceito similar à barra do Gnome. O menu de notificações é  aberto ao arrastar a barra para baixo e inclui opções de ações como ler  e-mails, mudar o modo de conexão da porta USB e assim por diante. Ela é  bastante prática, mas em compensação possui a desvantagem de ficar  sempre visível, roubando espaço útil da tela. Apenas alguns aplicativos  (como o OperaMini) oferecem a opção de operar em modo de tela cheia,  escondendo a barra.
Por default, os aparelhos baseados no Android suportam apenas a  instalação de pacotes através do Android Market, mas é perfeitamente  possível instalar pacotes baixados manualmente, bem como aplicativos que  por algum motivo não foram marcados como compatíveis com o seu aparelho  (como o OperaMini no Motorola Milestone).
Para usá-lo, acesse as configurações do aparelho e marque a opção  "Aplicativos > Fontes desconhecidas" e em seguida a opção  "Aplicativos > Desenvolvimento > Depuração USB". Esta segunda  opção é usada também por várias ferramentas do SDK, permitindo que o  aparelho receba comandos pela porta USB.
Por default, ao ser conectado na porta USB o aparelho entra em modo de  transferência de dados, permitindo o acesso aos arquivos no cartão de  memória. Para permitir a instalação de softwares, é necessário clicar no  ícono do USB na barra de notificações e mudar a opção para "Nenhum",  colocando-o em modo de comando:
Feitos estes passos, o uso do Sideload é surpreendentemente simples. No  Windows está disponível uma interface que copia o arquivo selecionado  para a pasta "payload" e em seguida executa o script de instalação,  enquanto no Linux o script é chamado diretamente: