Este artigo serve como um guia para o processo de atualização do aplicativo no Firefox OS.
Visão Geral da Implementação
Categorias de App
Existem três categorias básicas de aplicativos que são atualizadas utilizando esse mecanismo:
- Aplicativos principais
- Os aplicativos básicos (aqueles que são enviados como parte da base do Firefox OS, como o Dialer) são empacotados, certificados, pré-instalados, e não removíveis. Estes só são atualizados durante uma atualização completa do sistema ou uma atualização dos níveis Gonk e Gaia.
- Aplicativos instalados pelo usuário
- Os aplicativos instalados pelo usuário são hospedados ou empacotados. A política de atualização deles é o tema principal deste artigo.
- Aplicativos pré-instalados de terceiros
- Aplicativos que são pré-instalados pelo transportador ou pelo fornecedor, mas não fazem parte da plataforma de núcleo do sistema operacional, são atualizados e estão sujeitos às mesmas regras e diretrizes dos aplicativos instalados pelo usuário.
Suposições sobre os usuários
Para pelo menos as versões iniciais do Firefox OS, as seguintes suposições são feitas sobre os usuários:
- A transferência de dados é lenta, cara, e intencionalmente restrita; em outras palavras, assumimos que o usuário tenha uma conexão de dados lenta e uma quantidade limitada de tráfego permitida mensalmente.
- Assumimos que o usuário tenha pouco ou nenhum acesso ao WiFi; a maioria das atualizações será realizada utilizando sua conexão de dados do celular.
- Os dispositivos estão raramente em roaming.
- Usuários mantêm seu serviço de dados desativado por padrão, permitindo-o apenas a concluir determinadas transações.
- Usuários possuem e usam múltiplos cartões SIM.
Estas são as condições de uso comuns em muitos países, por isso é importante considerar estas suposições. Nosso objetivo é tentar otimizar a experiência de atualização para as pessoas nas quais ela se aplica. Estes pressupostos em geral não irão impactar negativamente os usuários que têm acesso barato a um WiFi rápido.
Parâmetros técnicos de design
Esta seção aborda alguns princípios de design para a implementação de atualizações de aplicativos do Firefox OS:
- Por enquanto o dispositivo irá pesquisar periodicamente o mercado para atualizações; mais tarde iremos avaliar a possibilidade de atualizações automáticas.
- O mercado vai saber a versão atual de cada app.
- As atualizações podem ser baixadas e instaladas enquanto a versão atual do aplicativo é aberta com um risco baixo de que isto quebrará o aplicativo em execução no momento.
Considerações aos desenvolvedores
Existem algumas considerações importantes para os desenvolvedores, no que diz respeito ao modelo de atualização do aplicativo:
- Os desenvolvedores da Web estão acostumados com usuários que estão sempre utilizando a última versão de seus sites; a manutenção de aplicativos atualizados emula este modelo.
- A segurança também é melhorada quando o máximo possível de usuários são mantidos atualizados.
Experiência do usuário
Princípios de design
Afim de oferecer a melhor experiência de usuário possível durante a atualização do aplicativo, alguns princípios fundamentais serão mantidos em mente:
- As atualizações devem minimizar o impacto para o usuário; não interrompa o usuário além do necessário, não afete negativamente a sua velocidade de conexão, e assim por diante.
- Não cobre nenhuma taxa do usuário para atualizar seus apps.
- Minimize as consequências de atualizações que falharam.
- Apoie a compatibilidade para os usuários que não podem atualizar seus apps, ou não são capazes de atualizá-los com freqüência.
- Evite apresentar detalhes técnicos desnecessários aos usuários.
Tipos de atualizações
Existem três tipos básicos de atualizações:
- Manual: individual
- Uma única atualização de aplicativo iniciada pelo usuário.
- Manual: batch
- Múltiplas atualizações de aplicativos iniciadas pelo usuário de uma única vez.
- Silent
- Atualização automática de fundo.