Roberto Colistete Jr.

Blog sobre computação física, científica e móvel : (Micro)Python, CUDA, smartphones, Linux, etc

Ubuntu Phone OS : ponto de vista de usuário e programador

Posted by robertocolistete em 07/01/2013

Para começar bem 2013, tivemos em 2 de Janeiro o anúncio pela Canonical do Ubuntu for Phones, ou Ubuntu Phone OS ! Que acabou surpreendendo muita gente, pois era esperado algo mais concreto sobre Ubuntu em smartphones lá perto de 2014. Vou analisar o Ubuntu Phone OS do ponto de vista de usuário e depois de programador.

Ubuntu Phone OS para usuários :

  • é um Linux móvel de verdade, tal como Maemo 5 OS (do Nokia N900) e MeeGo Harmattan OS (do Nokia N9);
  • interface sem botão frontal, usando swipe (deslizar de dedo) tal como WebOS, BlackBerry 10, MeeGo Harmattan e Sailfish OS, porém ainda mais : nos 4 cantos da tela com diferentes funções, no meio da tela, etc. Swipe leve do canto esquerdo abre barra vertical de programas favoritos, swipe completo do canto esquerdo mostra ‘Apps’ (com ‘Running apps’, ‘Frequently used’, etc), swipe completo do canto direito mostra último programa aberto, swipe do canto superior mostra “Search” ou dados dos indicadores, swipe leve do canto inferior mostra menu do programa, swipe na ‘home screen’ para esquerda ou direita mostra os conteúdos mais usados;
  • multi-tarefa real, podendo ter N programas abertos e rodando, sem ter o sistema operacional (p.e. Android, iOS e Windows Phone) congelando ou fechando programas no lugar do usuário;
  • (atualizado em 16/02/2013) previsão de smartphones já com Ubuntu Phone OS instalados para final de 2013 (vide texto da FAQ oficial), mas foi anunciado oficialmente que em 21/02/2013 terá imagens do Ubuntu para download para instalar no Galaxy Nexus (lançado em final de 2011, no Brasil se chama Samsung Galaxy X) e Google Nexus 4 (ainda a ser lançado no Brasil), para quem quiser ir experimentado;
  • com o smartphone conectado via monitor/TV e teclado/mouse (via Bluetooth ou dock), a promessa é que o Ubuntu Phone OS permitirá uma experiência de Ubuntu PC. Vide texto da FAQ oficial : “That full desktop is included in every high-end Ubuntu phone, and the phone can be managed just like an Ubuntu desktop or server, using standard Ubuntu management tools”;
  • (atualizado em 08/01/2013) : a versão Ubuntu 14.04 terá uma só imagem (x86, ARM) para rodar em desktop, tablet e smartphone.

Ubuntu Phone OS mostrando ‘Apps / Running apps’, i.e., um gerenciador de tarefas com miniaturas dos softwares abertos e rodando.

Ubuntu Phone OS para programadores :

  • é um Linux móvel de verdade, com várias linguagens e ferramentas de programação do Ubuntu desktop disponíveis para programar para Ubuntu Phone OS;
  • usa o framework Qt 5 (lançado em 19/12/2012) para programas nativos (em C/C++), com UI (User Interface) em QML / Qt Quick 2.0;
  • programas em HTML5 têm quase o status de programas nativos, com ícone, tela inteira (sem precisar de rodar dentro de navegador web) e notificações. E navegadores Chromium e Firefox estarão disponível para rodar web apps, etc;
  • kernel Linux e drivers comuns com Android em smartphones;
  • acesso a CPU e GPU de múltiplos núcleos por parte dos programas;
  • além de OpenGL ES, OpenGL completa é acessível aos programas;
  • usará arquitetura x86 e armhf (ARM com Hard Float Point), que tem melhor desempenho em CPU’s ARM mais recentes (com FPU – Float Point Unit), vide os pacotes do PPA UI-Toolkit;
  • configuração mínima de hardware para smartphone de entrada : CPU dual core, 512MB de RAM, 4-8 GB eMMC e tela de 800 x 480. Configuração recomendada para ‘super-phone’ : CPU quad core, 1 GB de RAM, 32GB eMMC, tela com 720 linhas, com ‘desktop convergence’. Vide foto do site Engadget;
  • (atualizado em 16/02/2013) a imagem para instalar no Samsung Galaxy Nexus e Google Nexus 7, bem como o código-fonte, estarão disponíveis em 21l de Fevereiro de 2013;
  • usando Ubuntu 12.04/12.10 para desktop você já pode começar a programar nativamente para Ubuntu Phone OS, pois desde o anúncio está disponível Qt 5 e Ubuntu QML Toolkit, vide “Ubuntu Go Mobile – Ubuntu App Developer“. O PPA para Qt5 é para Ubuntu 12.04/12.10/13.04, bem como o PPA “UI-Toolkit”;
  • eu instalei Qt 5 e Ubuntu QML Toolkit no meu Ubuntu 12.04 64 bits desktop, testei as demonstrações clicando nos ícones “Qt Components for Ubuntu – Component Showcase”, “Qt Components for Ubuntu – Phone Component Showcase” e “Notepad application for Ubuntu”. Para visualizar os exemplos “converter.qml” e “jokes.qml” em “/usr/lib/qt-components-ubuntu/examples/”, use no X Terminal “$ qmlscene converter.qml”, por exemplo;
  • depois será lançado o Ubuntu Phone SDK completo, com tudo já configurado para programar em C/C++, Qt e Qt Quick para Ubuntu Phone OS;
  • “Qt Components for Ubuntu” permite criar UI com alta produtividade via uso de elementos de interface em QML já prontos. Interessante o recurso “Resolution Independence” 😉 Há também versões semelhantes para outros mobile OS : BlackBerry 10 (Cascades), KDE Plasma, Mer/Sailfish, MeeGo Harmattan, Symbian, vide artigo “Components Growing”. Com isso dá para portar UI de um mobile OS para outro com facilidade.

Minhas dúvidas sobre o Ubuntu Phone OS :

  • (20/07/2013) A tela “Apps / Running apps” mostra miniaturas ‘vivas’ dos programas rodando, tal como no Maemo 5 e MeeGo Harmattan ? Resposta : não, tem imagens congeladas.
  • (20/07/2013) o modo Ubuntu desktop quando conectado a monitor/TV seria o quê ? Unity desktop armhf rodando ao invés da UI do Ubuntu Phone OS, ou a UI do Ubuntu Phone OS se adapta ao modo desktop com maior resolução de tela ? Será que a resposta é a imagem unificada do Ubuntu 14.04 para desktops, tablets e smartphones ? Só alguns smartphones com Ubuntu Phone OS teriam essa capacidade, tal como sugere a configuração ‘super-phone’ ? Resposta : ao que parece XMir rodará no Ubuntu 14.04, que permitirá rodar programas de Ubuntu desktop, usando GTK, Qt 4, X11, etc.
  • (24/01/2013) : confirmado o Terminal, ele é um dos 12 “core apps” que estão sendo desenvolvidos O X Terminal, cadê o X Terminal ? Eu quero, eu quero ! Fica a dúvida, terá X Terminal disponível no Ubuntu Phone OS ? No Maemo e MeeGo temos, no Sailfish OS também dizem que tem;
  • (20/07/2013) qualquer linguagem e ferramenta de programação poderá rodar no smartphone com Ubuntu Phone OS ?  Por exemplo gcc/g++, make, dpkg-*, Python e seus milhares de módulos ? No Maemo e MeeGo temos várias dessas ferramentas que rodam nos smartphones Nokia N900 e N9.  Resposta : C/C++/Qt 5/Qt Quick 2/HTML5 são suportados oficialmente. Python não tem como gerar GUI por enquanto pois PySide e PyQt ainda não suportam Qt 5/Qt Quick 2;
  • (20/07/2013. Atualizado em 16/02/2013) para instalar no Galaxy Nexus e Google Nexus 4, é necessário o quê ? Ter o mesmo rooteado ? Substitui o Android 4 ou é via duplo boot ? Resposta : vide “Ubuntu Touch no Nexus 4 : instalando e testando“, primeiro o Nexus 4 precisa ter o bootloader desbloqueado, aí o Ubuntu Touch substitui o Android usando as ferramentas da Canonical. Via comunidade Android é possível ter Android e Ubuntu Touch via boot duplo.

Minha opinião sobre o Ubuntu Phone OS :

  • finalmente um mobile OS novo que (aparentemente) não é “dumbed-down”, mas sim ambicioso, visando também funcionar como desktop OS;
  • gostei da ênfase de ser mobile OS com programas nativos sem camadas em Java e HTML5, ao contrário de Android, Firefox OS e Tizen;
  • (atualizado em 16/02/2013) ótimo ter um futuro em que Qt / Qt Quick sejam peça-chave do mobile OS : Sailfish OS e Ubuntu Phone OS com Linux, Blackberry 10 com QNX;
  • é um Linux móvel de verdade para disputar em 2013 com o Sailfish OS. Vejo o Sailfish OS com as seguintes vantagens : mais semelhante ao MeeGo Harmattan do Nokia N9 (que foi elogiado mundo afora), melhor desempenho em hardware mais simples (Cortex A8 do N9, p.e.), já tem alianças feitas desde 2o semestre de 2012 com operadoras e fabricantes, previsão de primeiro smartphone à venda antes de meados de 2013;
  • aposto em 2014 para o Ubuntu Phone OS deslanchar;
  • aposto que está usando X11, pois acho que Wayland ainda está muito recente e em desenvolvimento;
  • como Ubuntu desktop usa muito Python, aposto que Python e PySide estarão disponíveis para criar programas nativos usando Qt/Qt Quick, a questão é se tal solução será aceita no Ubuntu Software Center;
  • se não houver contratempos, eu pretendo portar meus softwares feitos em Python/Qt/Qt Quick Components de MeeGo Harmattan para Sailfish OS e Ubuntu Phone OS ao longo de 2013, pois esses 3 mobile OS tem grande portabilidade entre si.

Material oficial e matérias sobre o Ubuntu Phones OS :

Veremos mais novidades na MWC 2013 (25-28/02/2013) em Barcelona.

Uma resposta to “Ubuntu Phone OS : ponto de vista de usuário e programador”

  1. […] Ubuntu Phone OS : ponto de vista de usuário e programador […]

Deixe um comentário