22 de dezembro de 2011

Sony Ericsson esclarece como é o processo de atualização dos aparelhos

A Sony Ericsson explicou de forma detalhada todas as etapas do processo de atualização da linha Xperia, o carro chefe da companhia com sistema operacional Android.


Os bastidores da Atualização de Software Android 

Há algumas semanas, o Google anunciou o Ice Cream Sandwich do Android™ 4.0. Esta publicação deu início a um período intenso para os engenheiros da Sony Ericsson, que precisam começar a trabalhar na certificação da versão de Android Ice Cream Sandwich para os smartphones Xperia™.

Gostaríamos de compartilhar com vocês alguns de nossos conhecimentos sobre o processo de atualização de softwares Android, desde o seu anúncio até a liberação ao consumidor, como forma de  demonstração do nosso comprometimento com esta plataforma.

No Blog Sony Ericsson Preview, temos anunciado as constantes atualizações de software, incluindo a versão Ice Cream Sandwich. Entretanto, antes que possamos lançar as atualizações de software, há uma série de fases e atividades necessárias para que o um novo software funcione e torne-se estável em todos os smartphones Sony Ericsson. Chamamos isso de Fase inicial.

Em segundo lugar, e talvez mais importante, devemos certificar a liberação do novo software com todas as tecnologias, redes, hardware e operadoras diferentes com os quais nossos smartphones devem funcionar. Chamamos isso de Fase de certificação. Em terceiro lugar, a liberação do software precisa obter aprovação das operadoras e do próprio Google. Logo, chamamos isso de Fase de aprovação. Este artigo proporcionará uma visão geral de todas essas atividades e fases para torná-las mais transparentes.



Temos acesso ao código fonte do Android junto com você

Contrariando a crença popular, não temos acesso prévio ao código fonte do Android. Em 14 de novembro, o Google disponibilizou o código fonte do Ice Cream Sandwich. Esse também foi o dia que nossos engenheiros começaram a trabalhar para que o Ice Cream Sandwich funcionasse nos nossos smartphones, ao iniciar a Fase inicial.



A Fase inicial: Fazendo com que o Ice Cream Sandwich funcione em nossos smartphones

Quando o Google anuncia o lançamento do código fonte para um novo software, o mesmo é adaptado para uma plataforma de hardware específica. Neste caso, o Ice Cream Sandwich é adaptado para uma plataforma de hardware feita pela Texas Instruments. Isto significa que precisamos adaptá-lo para o hardware de todos os smartphones que receberão o update, até para que possam funcionar, já que usamos outra plataforma de hardware nesses smartphones. Esse processo geralmente leva cerca de 5 -6 semanas no total, mas coincide com a Fase de certificação.

A primeira coisa que fazemos é integrar o novo código fonte do Google nos aparelhos Sony Ericsson que receberão a atualização, a fim de garantir que eles rodem juntos. Isso é feito por nossas equipes de engenharia, que também confirmam se todos os testes e ferramentas de depuração estão adequados. Já que vamos continuar criando nesse conjunto básico de códigos, a estabilidade do software é muito importante nesta fase.

Agora, como mencionado anteriormente, todas as conexões com o hardware devem ser trabalhadas. No Ice Cream Sandwich, a camada de abstração de hardware (HAL) - a camada de software que fornece aos aplicativos acesso direto aos componentes de hardware - é adaptada para uma plataforma de hardware Texas Instruments. No entanto, para todos os smartphones Xperia™ 2011 usamos uma plataforma de hardware Qualcomm. Isso significa que temos para substituir a HAL padrão que vem com código fonte liberado ao público no Ice Cream Sandwich, com a nossa própria HAL.

As mudanças na HAL têm impacto sobre vários recursos em um telefone, incluindo a câmera, sensores diferentes (tais como a proximidade, luz, acelerômetro e bússola), áudio, Bluetooth™, Wi-Fi™, GPS, assim como em multimídia e componentes gráficos. Isso significa que não só temos que modificar e configurar a HAL de acordo com a plataforma de hardware Qualcomm, mas também todos os outros componentes de hardware usados em um telefone.

Outra etapa que acrescenta mais uma camada de complexidade ao trabalho de adaptação é o fato de existirem diversas variações no tamanho da tela, memória, componentes periféricos (tais como a câmera) e variações de modem. Nesta fase, certifique-se que todos as funcionalidades básicas (tais como chamadas, SMS, MMS, cartão SIM e acesso ao cartão SD) estejam funcionando perfeitamente.



Integração das customizações do Android

Na Fase inicial, outra tarefa é integrar uma série de customizações próprias da Sony Ericsson para melhorar e adaptar o código do Android de acordo com nossas necessidades. São customizações personalizadas importantes para o telefone, tais como a melhoria no tratamento de erros. Para evitar a fragmentação, muitas dessas customizações personalizadas contribuíram para o projeto Android Open Source, de modo que elas são incluídas no código fonte padrão do Android para a próxima versão de software. Este trabalho fez da Sony Ericsson um dos principais contribuintes do Android. Nesta fase, nós também integramos atualizações de recursos, tais como gráficos personalizados.

Em relação a esse trabalho, nós também fazemos uma verificação básica de qualidade para confirmar que todas as mudanças integradas cumpram o nível de qualidade exigido. Aqui também fazemos vários testes, tais como confirmar a funcionalidade do reprodutor de música, streaming de vídeo, USB e DRM. Quando finalmente mesclamos todas as funcionalidades em um único código fonte, executamos mais testes para garantir que as demais funcionalidades não alteradas sejam executadas sem problemas. Isto também inclui a nossa garantia de que os aplicativos instalados do Android Market estejam funcionando corretamente no geral.



Estabilizando o software e adicionando customizações locais

Quando todas as funcionalidades foram integradas em um único código fonte, começamos a fazer vários testes de estabilidade para garantir que o software seja executado de forma estável em todos os tipos de casos de uso. Além de testes de laboratório, também temos vários usuários testando e relatando os defeitos. Além dos testes de estabilidade, também continuamos com os testes de qualidade. Por exemplo, estamos realizando testes de consumo de energia para melhorar o consumo de energia em diferentes cenários.

Outra tarefa importante nesta fase é integrar a customização em nossos aplicativos. Na maioria dos casos, também estamos adicionando mais idiomas ao software Android em si. Por exemplo, na atualização de software que houve para os smartphones Xperia™ 2011, em outubro, adicionamos suporte para idiomas bidirecionais como árabe e hebraico.

Depois que o software estiver estável e devidamente testado, o mesmo está pronto para ser enviado para certificações e aprovações.



A Fase de certificação: Garantindo que o software e o hardware estejam em conformidade

Um telefone vem com peças e software em alinhamento com várias tecnologias como Bluetooth, Wi-Fi, modem e assim por diante. Para usar essas tecnologias, temos que garantir que o novo software é compatível com esses padrões de tecnologia. Precisamos, portanto, certificar uma nova versão de software para todas essas tecnologias diferentes, devido aos requisitos das normas das operadoras (GCF, PTCRB, CCF) e dos Direitos de Propriedade Intelectual (DPI), se tivermos modificado o módulo de software relacionados a essa tecnologia. No entanto, se nada foi alterado em comparação com a versão de software anterior, a certificação não é necessária mais uma vez.

Em grande parte, tentamos obter certificações globais, mas em muitos casos países específicos exigem testes específicos. Para um produto global, precisamos de aprovações de certificações locais entre 60 a 80 países. Para todas essas certificações externas, nós podemos testar internamente e apresentar provas que fomos aprovados, ou podemos contratar empresas externas, tais como Cetecom, para realizar os testes.

Além destes certificados, devemos também estar em conformidade externamente com as exigências regulamentares. Por exemplo, temos de mostrar provas de que estamos em conformidade com as emissões espúrias, SAR, EMC, bem como outras conformidades ambientais e de segurança. Mas quando se trata de atualizações de software para os modelos de telefone existentes, nem todas as certificações regulamentares são necessárias, uma vez que já foram feitas antes.

Em adição a estes certificados, a Sony Ericsson está fazendo outras certificações internas em áreas que identificamos como sensíveis e importantes para oferecer a maior qualidade possível.

Todas as certificações são baseadas em cada modelo de telefone, e mesmo se um modelo de telefone foi certificado com uma versão de software anterior, deve ser certificado novamente se estivermos lançando uma nova versão do software. Então, se nós, por exemplo, tivermos feito alterações para o módulo Wi-Fi em um modelo de telefone existente, precisamos certificá-lo novamente. Quando estamos trabalhando com um lançamento novo do Android, como o Ice Cream Sandwich, todas as áreas afetadas devem ser recertificadas.

Este é também o caso se, por exemplo, o Google fizer mudanças na pilha de Bluetooth. Então nós temos que certificar novamente o Bluetooth em todos os produtos afetados. Existem muitos aplicativos que precisam ser certificamos novamente para cada um de nossos smartphones, se eles forem alterados em uma nova versão do software Android, por exemplo, Bluetooth, MMS, Wi-Fi, HDMI,DLNA e Adobe Flash. Também precisamos sempre executar o Android Compliance Test Suite (CTS), mesmo se ele já estiver em um produto já existente.

Ao contrário do que as pessoas possam pensar, não é na Fase inicial, mas sim na Fase de certificação onde ocorre o processo mais demorado no processo de atualização de software. Esta é uma das principais tarefas que são exigidas de nós como fabricante de smartphones, mas que não é levada em consideração pela comunidade de desenvolvedores independentes de ROM.

No geral, esta fase leva cerca de 7-8 semanas, mas ela coincide com a Fase inicial e com a Fase de aprovação, uma vez que não é um processo isolado. Assim que um módulo específico está pronto, ele é enviado para certificação. Assim, um módulo pode estar na Fase de certificação, enquanto outros ainda estão na Fase inicial.



A Fase de aprovação: Obtendo o sinal verde

Antes de podermos lançar o novo e completo software, temos que obter a aprovação de dois grandes partidos: as operadoras e o Google. Esse processo geralmente leva 2-4 semanas, mas às vezes coincide com a fase de certificação.

Quando se trata de aprovação das operadoras, a maioria delas deseja personalizar o software de acordo com suas necessidades específicas, como por exemplo sua rede, diferenciação em relação aos concorrentes e ao seu modelo de negócios.

Basicamente, cada operadora tem suas próprias necessidades especiais. Nós implementamos todas essas personalizações e criamos uma variedade de pacotes de software e lançamentos para cada uma delas. Todas essas variantes da versão de software devem então ser enviadas para aprovação a fim de garantir seu funcionamento na rede da operadora e implementação de todas as outras funcionalidades de forma correta. Depois que tudo foi testado na operadora, nós recebemos uma aprovação formal para o software. A operadora também pode recusar uma atualização de software, devido à falta de tempo e recursos.

A última etapa é a aprovação do Google, que cada fabricante de celular que modifique o código fonte do Android deve obter. Nós iremos fornecer ao Google todas as nossas variantes de lançamentos de atualizações de software personalizados por modelo de telefone, para que eles façam sua própria verificação. Uma vez obtida a aprovação do Google, estamos prontos para lançar a atualização de software nas diferentes variantes para consumidores em todo o mundo. A atualização do software normalmente pode ser baixada e instalada via ferramenta PC Companion Sony Ericsson, por atualizações over-the-air (FOTA - Firmware Over The Air) ou ainda pelas nossas assistências técnicas.



Esperamos que este resumo ajude você a compreender um pouco mais sobre os prazos envolvidos no processo de Atualização de Software Android e sirva como prova de  demonstração do nosso comprometimento com esta plataforma. Continue consultando o blog Sony Ericsson Preview para informações sobre produtos e atualizações de software.