Roberto Colistete Jr.

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

Escolhendo smartphone ou tablet com Sailfish OS no final de 2015

Posted by robertocolistete em 14/11/2015

O Sailfish 2.0 está disponível oficialmente desde 3 Novembro de 2015, é aproximadamente a 15a atualização do Saifish OS, cuja versão 1.0 foi lançada em 27/11/2013. Realmente é um mobile OS bem diferente da maioria atual (Android, iOS, etc) que vale à pena ao menos experimentar.

De final 2013 para cá tivemos à venda com Sailfish OS :
* smartphone Jolla, inicialmente a EUR399 em Novembro de 2013. Teve algumas promoções, ultimamente custava EUR249 na loja da Jolla, ainda à venda;
* tablet Jolla, lançado em 19/11/2014 via campanha Indiegogo, custava a partir de US$189 até US$269 (dependendo do lote e de ter 32/64GB de armazenamento). Foram vendidos uns 10 mil, estão sendo entregues entre Outubro e final de 2015. Não está mais à venda.

De imediato, o melhor hardware atual à venda e em pronta entrega é o smartphone Jolla, que está em promoção por EUR169 (R$700 hoje, 14/11/2015) via loja oficial da Jolla. Não vende diretamente no Brasil, mas há voluntários na comunidade Maemo.org que recebem na Europa e enviam para o Brasil, basta postar nessa seção do Talk.Maemo.org. Obviamente há as taxas de importação para o Brasil, bem como custo de transporte. Já comprei e importei um smartphone Jolla assim, em final de 2014.

Para o futuro, temos promessas de novos smartphones com Sailfish OS :
* Intex a partir de início de 2016, fabricante indiano que venderá na Índia e depois em outros países, porém ainda sem especificar em quais países;
* FairPhone 2, smartphone modular a partir de 01/2016, terá suporte a Sailfish OS 2.0 pela comunidade, e talvez o Sailfish vire opção oficial.
* PuzzlePhone, outro smartphone modular a partir de 09/2016, que terá colaboração entre a Jolla e a fabricante para que o Sailfish OS seja disponível no PuzzlePhone em 2016;

Além disso, há adaptações do Sailfish OS feitas pela comunidade para vários smartphones e tablets, normalmente nem todos recursos funcionam, além de não ter suporte a programas Android (Alien Dalvik) e software Here Maps (mapas e navegação GPS). Por exemplo, para Nexus 4 e 5 o Sailfish funciona muito bem.

Posted in Mer Nemo Sailfish, Smartphones, Tablets | Leave a Comment »

Novidades do Sailfish OS e smartphone Jolla

Posted by robertocolistete em 07/10/2013

Novos detalhes de especificações do smartphone Jolla foram anunciados oficialmente no site da Jolla no final de Setembro :

Especificações do smartphone Jolla

Especificações do smartphone Jolla

A CPU é um processador Qualcomm Snapdragon com dois núcleos @ 1,4 GHz com suporte a 4G/LTE, ainda não determinado pois há alguns modelos diferentes que se encaixam nessa configuração. Comparado ao Nokia N9/N950 onde foi testado o Sailfish desde 2012 com boa velocidade, tal processador do smartphone Jolla eu estimo como 3x a 6x a velocidade do Cortex A8 com 1 núcleo @ 1.0 GHz.

A memória RAM é de 1GB, sendo um ponto de críticas de parte da comunidade, principalmente usuários Android acostumados com smartphones topo-de-linha com 2 ou mesmo 3 GB de RAM. Deve-se lembrar que o Nokia N9 tem os mesmos 1 GB de RAM e tem ótima multitarefa (inclusive com miniaturas animadas) e mesmo o iPhone 5S recentemente lançado tem 1 GB de RAM, e iPhone 4/4S têm somente 512 MB de RAM. Sendo o Sailfish OS um sistema operacional móvel optimizado então não precisa de tanta RAM quanto o Android que é pesado com a máquina virtual Java/Dalvik, porém a Jolla cita que aplicativos Android rodarão dentro do Sailfish OS, então a questão é se a multitarefa de aplicativos Sailfish + softwares Android funcionará bem com 1 GB de RAM, mas a Jolla afirma que sim.

Em termos de memória para arquivos, são 16 GB internos mais expansão via cartão MicroSD (possivelmente até 32 ou 64 GB), algo louvável pois muitos smartphones atuais não tem capacidade de expansão.

A tela de 4,5″ LCD IPS com resolução qHD (quarter HD) de 960 x 540 pixels é também alvo de algumas críticas da comunidade, muitos queriam resolução HD (1280 x 720). Tal resolução qHD em 4,5″ implica em 245 PPI (pontos por polegada), pouco abaixo do Nokia N9 (251 PPI, 854×480 pixels em 3,9″) e do Motorola Razr / Samsung Galaxy S4 Mini (256 PPI, mesmos 960 x 540 só que em 4,3″), melhor que o Samsung Galaxy S2 (217 PPI, 800×480 pixels em 4,3″) e igual a algumas dezenas de smartphones com tela idêntica (HTC Desire, etc). Outro aspecto é que a tela de 3,9″ do Nokia N9 é AMOLED (que aparenta menor resolução devido a sub-pixels maiores) e a do Jolla smartphone não é. É bom valorizar que a jolla ousou mais que a Apple que têm todos os iPhone com telas de 3,5″-4,0″. Esse tamanho de 4,5″ se encaixa na faixa mais popular de tamanhos de tela (4,3″-4,7″).

1a foto vazada de um usuário do smartphone Jolla

1a foto vazada de um usuário do smartphone Jolla (mercado negro ?), mostrando a tela “About” com 1,5GB usados dentre 14,2GB de memória flash, identidade Bluetooth, WiFi, IMEI e versão 0.98 do Sailfish OS.

Sailfish OS com Qt 5 e Wayland

Quanto ao Sailfish OS, em 01/08/2013 foi anunciada uma grande mudança principalmente no ponto de vista de programação : uso de servidor gráfico Wayland no lugar de X11 e Qt5 & Qt Quick 2 no lugar de Qt 4 & Qt Quick 1.

Posted in Linux, Mer Nemo Sailfish, Smartphones | Leave a Comment »

Ubuntu Touch 13.10 : instalando e usando

Posted by robertocolistete em 06/10/2013

(19/10/13) Ubuntu Touch 13.10 estável foi lançado em 17/10/13 como esperado. Estamos a 11 dias do lançamento da versão Ubuntu Touch 13.10 estável, Com quase tudo já funcionando (WiFi, 3G, chamadas, etc), até lá nos últimos dias teve muitas correções de bugs e adição de alguns recursos (servidor gráfico Mir entrando no lugar de SurfaceFlinger em 7 ou 8 de Outubro, por exemplo). Veja nas notas de lançamento do Ubuntu 13.10 que certos recursos não estão disponíveis ou ainda temos bugs : sem vibração em chamadas e SMS, eventos no “Calendar” não podem ser editados, “Camera” não faz vídeos, “Clock” não tem alarmes totalmente funcionais, teclado virtual não funciona em modo horizontal no lado esquerdo, etc.

Como o artigo anterior “Ubuntu Touch no Nexus 4 : instalando e testando” ficou muito grande e com algumas informações desatualizadas devido à evolução do Ubuntu Touch, então vejamos o que mudou na instalação do Ubuntu Touch.

Instalação do Ubuntu Touch no Nexus 4

Os ítens (1) e (2) de “Instalação do Ubuntu Touch no Nexus 4” são mantidos. Mas a instalação do Ubuntu Touch mudou pois o comando “phablet-flash” agora tem mais opções, onde a flipped image agora se chama CDimage flipped image, logo para instalar devemos usar (PC com Ubuntu conectado ao Nexus 4 via cabo USB) :

$ sudo phablet-flash cdimage-touch -b

O “-b” é só na 1a vez para instalar o bootstrap no Nexus 4,, depois para atualizar o Ubuntu Touch usa-se o mesmo comando sem o “-b”. Tem um novo padrão de imagem Ubuntu Touch chamado Ubuntu System image, que torna mais fácil atualizar (via o próprio Ubuntu Touch), porém o sistema de arquivos para tanto fica só no modo leitura, impedindo de instalar programas via “apt-get”, “dpkg -i”, etc. Logo, se você quer experimentar bastante o Ubuntu Touch, eu recomendo a instalação de imagem “cdimage-touch”.

Usando o Ubuntu Touch no Nexus 4

Além de acesso ao terminal via conexão USB :

$ sudo adb root
$ sudo adb shell

em Setembro o ssh (openssh-server) passou a ser já instalado, porém desabilitado. Para habilitar a conexão via ssh, basta :

$ sudo rm /etc/init/ssh.override

Por enquanto, o ajuste de tempo para entrada no modo de economia de energia (com tela em branco e pausando até comandos via ssh !) está desabilitado em “System Settings -> Battery” e temos que digitar manualmente o comando :

$ sudo powerd-cli display on &

Ao final temos Ubuntu Touch 13.10 (quase final), as Core Apps já instaladas, 3G para dados funcionado, instalação de programas extras (formato click), etc.

Reinstalação do Android no Nexus 4

Siga os passos : fazer download da imagem do Android do Nexus 4, usar um PC com Ubuntu para extrair a imagem em um diretório, pressionar os 3 botões do Nexus 4 para entrar no modo bootloader e então digitar no PC com Ubuntu (dentro do diretório descompactado) :

$ sudo run adb reboot-bootloader
$ sudo ./flash-all.sh

Isso gasta uns 80-90s. Atenção que tudo é apagado no Ubuntu Touch.

Posted in Linux, Smartphones, Tablets | 5 Comments »

Ubuntu Touch no Nexus 4 : instalando e testando

Posted by robertocolistete em 26/05/2013

Vamos ver nessa matéria o Ubuntu Touch 13.04 na prática, com instalação, testes e usos no smartphone Google (LG) Nexus 4. Focando em mostrar o que não é visto em outras matérias.

(06/10/2013) Para instalação do Ubuntu Touch 13.10 recente,  vide novo artigo.

Ubuntu Touch roda no smartphone Nexus 4 com suporte oficial da Canonical, que chegou no mercado brasileiro no final de Março por R$1.699, mas em Maio tem tido uma ou outra promoção por aprox. R$1,3 mil. Segundo algumas matérias, o Nexus 4 é o melhor smartphone para rodar Ubuntu Touch, inclusive supera o Nexus 7 que tem problemas de desempenho e instabilidade.

No início de 2013 foi anunciado o Ubuntu for Phone / Ubuntu Touch para smartphones e tablets, vide matéria anterior Ubuntu Phone OS : ponto de vista de usuário e programador.

Instalação do Ubuntu Touch no Nexus 4

É muito simples instalar o Ubuntu Touch no Nexus 4, basicamente se segue o guia “Ubuntu Touch – Install” da Canonical. Vide também essa matéria “How To Install The Ubuntu Touch Preview On Your Nexus Android Device” com fotos dos passos abaixo.  Há 3 etapas :

1) Instalar o software “Touch Developer Preview Tools” em um computador com Ubuntu 12.04/12.10/13.04 via comandos (no X Terminal, em conta de usuário com permissão administrativa) :

$ sudo add-apt-repository ppa:phablet-team/tools
$ sudo apt-get update
$ sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

2) Desbloquear o bootloader do Nexus 4. Isso apaga todo o conteúdo prévio do Nexus 4, zerando o Android 4.2.2 que vem nele, logo faça backup. Ligue o Nexus 4 com os 3 botões físicos pressionados ao mesmo tempo, aí entra na tela de bootloader (com um robozinho verde deitado). Conecte o cabo microUSB-USB entre o computador e o Nexus 4, digite no computador :

$ sudo fastboot oem unlock

e confirme no Nexus 4 que quer desbloquear (unlock). Então aperte o botão direito de desligar. Habilite então no Android do Nexus 4 o modo de depuração USB (USB debugging) via “Settings (Configurações) > About (Sobre)”, tocando 7 vezes no número da versão de build number (último ítem, abaixo da versão do kernel) tal que aparece um aviso de que entrou no modo “developer” (desenvolvedor). Vá em “Settings (Configurações) > Developer options (Opções do  desenvolvedor)” e habilite a opção “USB debugging / Depuração USB”. Por fim, digite no computador :

$ sudo adb kill-server
$ sudo adb start-server

Após tal comando, conecte novamente o cabo USB entre o computador e o Nexus 4, e confirme no Nexus 4 que aceita a chave de segurança (host key).

3) (06/10/13, ultrapassado, vide novo artigo) Instalar o Ubuntu Touch no Nexus 4. Digite no computador, com o cabo USB conectado entre com o Nexus 4 :

$ sudo phablet-flash -b

Android 4.2.2 do Nexus 4 se despedindo enquanto que o Ubuntu Touch está sendo gravado


Android 4.2.2 do Nexus 4 se despedindo enquanto que o Ubuntu Touch está sendo gravado

Tela de entrada (boas-vindas) do Ubuntu Touch no Nexus 4


Tela de entrada (boas-vindas) do Ubuntu Touch no Nexus 4

Essa fase é mais demorada, com downloads de alguns arquivos (de aprox. uns 500 MB), descompactação em “~/Downloads/phablet-flash/” no computador, cópia para o Nexus 4 e por fim instalação no Nexus 4. Comigo gastou uns 20 minutos.

Pronto, agora o Nexus reinicializará e mostrará em uns 30s a tela de entrada do Ubuntu Touch.

Usando o Ubuntu Touch no Nexus 4

Deslize da direita para esquerda para destravar a tela de entrada, embora o círculo mostrando eventos sugira fazer um movimento circular, etc. Não vou abordar aqui como usar a GUI (Graphical User Interface) do Ubuntu Touch, várias matérias falam sobre isso, por exemplo essa da ArsTechnica.

Até agora (26/05/2013), a GUI está bem limitada, com poucos softwares funcionando, várias partes da GUI ainda estão sem interação, etc. Tal que na prática atualmente é necessário acessar a interface de comando-de-linha (CLI – Command Line Interface) para por exemplo  instalar mais programas, via acesso (USB ou rede WiFi) a partir de um computador ou Terminal instalado no Ubuntu Touch.

Os softwares abertos no Ubuntu Touch são mostrados em miniaturas, porém sem animação


Os softwares abertos no Ubuntu Touch são mostrados em miniaturas, porém sem animação.

Um toque demorado sobre uma miniatura mostra o X para fechar os softwares abertos


Um toque demorado sobre uma miniatura mostra o X para fechar os softwares abertos.

Conectando o Ubuntu Touch do Nexus 4 a um computador

O 1o passo é conectar o computador ao Nexus 4 via USB e fazer a comunicação via adb (Android Debug Bridge). No computador digite :

$ sudo adb root
$ sudo adb shell

(13/07/2013) Para ‘flipped images’, agora “adb shell” cai diretamente no Ubuntu, não sendo mais necessário rodar chroot. Se quiser usar “legacy” images, com Android e chroot, então o último comando mostra o prompt dentro do Android do Nexus 4, “root@android:/ #”. Para entrar no Ubuntu Touch (que é um chroot em cima de um Android simplificado, sem Dalvik, etc), digite então no Nexus 4 :

$ ubuntu_chroot shell

Pronto, agora você tem o prompt de root no Ubuntu Touch : “root@ubuntu-phablet:/#” ! Caso queira mudar para o usuário default “phablet”, digite “su – phablet”, a senha também é “phablet”.

(06/10/13, ssh já vem instalado, vide novo artigo) Agora sim podemos instalar o servidor ssh no Nexus 4 para termos acesso via WiFi (sem precisar de conexão USB). Em “Networks” (deslize de cima para baixo no símbolo de sinal de antena), escolha a rede WiFi a que você tem acesso. Digite como usuário ‘root’ ou ‘phablet’ no Nexus 4 :

$ sudo apt-get install openssh-server

Eu recomendo configurar o roteador WiFi para atribuir um IP fixo ao Nexus 4, facilitando colocar atalhos nas conexões ssh/sftp no computador para o Nexus 4. Mas caso não tenha IP fixo, obtenha o IP do Nexus 4 via comando “$ ip addr show wlan0”. Então no computador, basta digitar o  comando “ssh phablet@<número IP>” para conectar via WiFi com o número IP obtido antes.

Testando o Ubuntu Touch

Para tirar a dúvida se é Ubuntu 12.10 ou 13.04 após o instalar o Ubuntu Touch em 25/05/2013, nada melhor que o comando ‘lsb_release’ :

phablet@ubuntu-phablet:~$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 13.04
Release:    13.04
Codename:    raring

Ou seja, já é a versão 13.04 Raring Ringtail em versão ARM (armhf) com kernel Linux v3.4.0 :

phablet@ubuntu-phablet:~$ uname -a
Linux ubuntu-phablet 3.4.0-1-mako #7-Ubuntu SMP PREEMPT Wed May 15 19:53:54 UTC 2013 armv7l armv7l armv7l GNU/Linux

Ubuntu Touch versão 13.04 armhf (ARM hard-float)


Ubuntu Touch versão 13.04 armhf (ARM hard-float).


Python 2.7.4 já vem instalado e IPython 0.13.2 é disponível no Ubuntu Touch 13.04.

O Ubuntu Touch não usa servidor gráfico X11, mas sim SurfaceFlinger do Android (e futuramente Mir). E toda a GUI tem que ser feita em Qt5 ou HTML5. Por isso há poucos softwares com GUI até agora. Alguns que comporão o conjunto básico de softwares do Ubuntu Touch estão sendo desenvolvidos, são as Core Apps, com previsão para versão estável em Outubro de 2013 (Ubuntu Touch 13.10).

(06/10/13, Core Apps já vem instaladas, vide novo artigo) Para instalar Core Apps que ainda não estão inclusas no Ubuntu Touch atual :

$ sudo apt-get install ubuntu-terminal-app ubuntu-filemanager-app ubuntu-docviewer-app
$ sudo apt-get install ubuntu-clock-app ubuntu-emailclient-app ubuntu-rssreader-app
$ sudo apt-get install ubuntu-youtube-app ubuntu-facebook-app ubuntu-music-app

Use o “Search” (topo esquerdo superior da tela) para encontrá-las e rodá-las. Recomendo o Terminal e File Manager, tal que se possa usar sozinho o Nexus 4 com Ubuntu Touch, quando necessário.

Porém é nos softwares que não precisam de GUI que o Ubuntu é hoje muito forte, com dezenas de milhares de pacotes de instalação disponíveis, muitos são softwares de PC desktop e que usualmente não estão disponíveis (completos) para sistema operacionais móveis (Android, BlackBerry OS, iOS, Symbian, etc). Por exemplo linguagens de programação e softwares científicos : gcc/g++/gfortran (4.7.3), compilador TeX/LaTeX, CAS Maxima (5.29.1), módulos e ferramentas Python como IPython (0.13.2), MPMath, NumPy (1.7.1), MatPlotLib (1.2.1), SciPy (0.11.0), SymPy (0.7.2), etc. Basta instalar via “sudo apt-get install <nome-do-pacote>”.

IPython Notebook 0.13.2 rodando SymPy 0.7.2


IPython Notebook 0.13.2 rodando SymPy 0.7.2 com renderização MathJax/TeX das expressões matemáticas.

IPython Notebook 0.13.2 rodando os novos gráficos do SymPy 0.7.2


IPython Notebook 0.13.2 mostrando os novos gráficos do SymPy 0.7.2, embutidos no Notebook.

O IPython 0.13.2 roda inclusive com a interface de Notebook, vide fotos acima. No modo servidor e parcialmente no modo cliente. Parcialmente devido ao estágio de desenvolvimento atual do navegador web do Ubuntu Touch. IPython Notebook cliente funciona com DashBoard, abertura de IPython Notebooks já existentes, renderização MathJax e gráficos PyLab embutidos, cálculos, etc. Mas IPython Notebook não permite criar “New Notebook” (acho que falta poder criar aba ou nova janela no navegador web atual), longos Notebooks não são exibidos totalmente (o rolamento pára) e alguns botões não têm o toque preciso.

Atualização de 01/06/2013 do Ubuntu Touch

Em 1o de Junho foi lançada uma atualização relevante para o Ubuntu Touch, com novos recursos facilitando o uso do smartphone (Google Nexus e Nexus 4) para voz, SMS, 3G com dados, mais estabilidade, etc. O 3G para dados por enquanto tem configuração manual, mas para Junho está prometido que isso será feito via uma interface gráfica.

Para atualizar para essa nova versão do Ubuntu Touch é muito simples, via cabo USB ligando o PC com Ubuntu ao Nexus 4, digite no terminal do PC com Ubuntu :

$ sudo phablet-flash

Veja que é o mesmo comando para instalar o Ubuntu Touch na 1a vez, porém sem o “-b”. Depois o Nexus 4 reinicializa e pronto, temos o Ubuntu Touch atualizado. O diretório home (“/home/phablet/”) é preservado, mas todo o Ubuntu Touch é reinstalado, logo se você tinha instalado programas extras, então tem que reinstalar, vide exemplos mais acima.

Ainda usando a versão de 01/06/2013, testei fazer e receber chamadas de voz e enviar SMS, tudo funcionou 100%, sem ressalvas.

Flipped Ubuntu Touch images (03/07/2013)

Em 03/07/2013 foi anunciado que o Ubuntu Touch usaria a partir de então imagens ‘flipped’ (vide matérias de  ILoveUbuntu e Liliputing) como padrão, i.e., em que o Android está dentro do Ubuntu (via LXC container), ao contrário de antes em que o Ubuntu estava dentro do Android (via chroot). Logo, para abrir um terminal dentro do Ubuntu Touch via cabo USB de um PC,  só é necessário “sudo adb root” e depois “sudo adb shell”.

A atualização para tal Flipped Ubuntu Touch images é como antes (vide acima), via “sudo phablet-flash”. Caso queira usar a versão com chroot, então atualize via “sudo phablet-flash –legacy” (com 2 ‘-‘), mas não vi razões práticas para manter a versão legacy.

Principais novidades encontradas na versão de 06/07/2013 (versão diária que eu instalei) em relação a versão de Junho de 2013 : Ubuntu Touch 13.10 (ao invés de 13.04), Linux kernel 3.4.0-3 (no lugar de 3.4.0-1), vários softwares já vem incluídos (File Manager, Terminal, System Settings, etc), softwares em versões mais completas e com menos bugs (Terminal, File Manager, System Settings, Music, etc), screenshot disponível (vide abaixo), Python 2.7.5 (versus 2.7.4), gcc/g++ 4.8.1 (ao invés de 4.7.3), etc.

No Ubuntu Touch de Julho de 2013 há mais softwares pré-instalados


No Ubuntu Touch de Julho de 2013 há mais softwares pré-instalados, incluindo File Manager, System Settins e Terminal.

System Settings é uma novidade do Ubuntu Touch de Julho de 2013


System Settings é uma novidade do Ubuntu Touch de Julho de 2013.

Para fazer screenshot agora tem uma forma oficial, vide “Getting a screenshot” em “Ubuntu Touch Dogfooding”, aqui criando uma imagem ‘screenshot.png’ no diretório ‘/tmp/’ e copiando para o PC via cabo USB :

$ sudo adb root
$ sudo adb shell /system/bin/screencap -p /tmp/screenshot.png
$ sudo adb pull /tmp/screenshot.png ./screenshot.png

A forma mais completa para atualizar o Ubuntu Touch é  via “sudo phablet-flash” em um PC (com Ubuntu) com USB conectado ao Nexus 4. Atualizações via “sudo apt-get upgrade” (no Nexus 4) não atualizam todos os softwares do Ubuntu Software, p.e., System Settings, etc.

Opinião sobre Ubuntu Touch no Nexus 4

Pontos positivos atuais, na minha opinião :

  • instalação muito fácil no Nexus 4;
  • a interface do Ubuntu Touch roda suavemente no Nexus 4, tendo controles swipe (deslizar do dedo) para tudo, sem precisar de botões, à la MeeGo Harmattan 1.2 do Nokia N9;
  • Ubuntu Touch tem multi-tarefa de verdade, em que o usuário controla realmente se e quando o software é mantido aberto ou fechado, ao contrário de Android, iOS, Windows Phone, etc. As miniaturas não são animadas que nem no Maemo 5 (Nokia N900), MeeGo Harmattan 1.2 (Nokia N9) e BlackBerry OS, sendo semelhantes às do Symbian;
  • toda herança de milhares de pacotes Linux de desktop desenvolvidos nas últimas décadas à disposição de smartphones e tablets, desde que não tenham GUI. Assim temos servidores Internet, ferramentas diversas, dezenas de linguagens de programação, softwares científicos avançados, etc. Vários desses softwares não tem equivalentes em sistemas operacionais móveis (exceto Maemo, MeeGo e Mer/Nemo/Sailfish que são Linux móveis) ou somente têm versões simplificadas;
  • via testes de desempenho que eu fiz com alguns programas de cálculos (assunto de futura matéria) que mostram que o Ubuntu Touch é bem mais eficiente em uso de CPU que o Android no mesmo hardware (Nexus 4, etc) em termos de cálculos em C/C++ e Python, inclusive permitindo o uso fácil de múltiplos núcleos nos cálculos (OpenMP, etc).

Pontos negativos e/ou que precisam ser resolvidos :

  • a interface do Ubuntu Touch ainda está preliminar, com algumas funcionalidades sendo por enquanto decorativas, sem funcionar realmente. Mas até Outubro de 2013 o Ubuntu Touch deverá estar completo e estável, segundo a Canonical;
  • ícones grandes na interface desperdiçam a tela HD do Nexus, com poucos ícones visíveis por vez, o ideal seria o tamanho dos ícones, espaçamento, etc, serem configuráveis;
  • o teclado virtual não tem tecla “Ctrl”, isso poderia ser resolvido com diferentes opções de teclado virtual;
  • (12/06/2013, 13/07/2013 : como fazer screenshot sem X11 no Ubuntu ? Como aumentar o tempo de economia de energia que apaga a tela ? RESOLVIDO, via Ubuntu Touch Manager para Ubuntu de PC, porém meio instável, ou via ‘adb shell /system/bin/screencap’ disponível na atualização de 07/2013 (vide abaixo);
  • (12/06/2013 : a estabilidade melhorou com a versão de 01/06/2013) em algumas horas de uso, experimentei o editor de notas fechando sozinho e forçando fechamento de outros 3 softwares que estavam abertos, bem como o navegador web ficar instável, fechando outros softwares e provocando reboot no Nexus 4;
  • (12/06/2013, 13/07/2013) Terminal não suporta rolamento via toque, modo paisagem (landscape) não funciona bem (gestos continuam em modo vertical, portrait), não consigo abrir 2 terminais, alguns botões dos painel tem texto abreviado (…) tamanho default do texto não mostra os caracteres direito enquanto digita logo é preciso aumentar;
  • navegador web não pode ser aberto mais de uma vez e não permite abas. Não tem por enquanto opções de configuração, bookmaks, etc;
  • a falta de interface gráfica X11 impede milhares de softwares Linux de funcionarem no Ubuntu Touch. O novo Qt5 (de 12/2012) é um pouco diferente do Qt4, logo há poucos softwares em Qt5 disponíveis atualmente, isso mudará somente a médio e longo prazos;
  • centenas de programas em Python com GUI precisam de PyQt e/ou PySide (feitos para Maemo 5, MeeGo, Mer/Nemo/Sailfish), mas ambos ainda não estão compatíveis para Qt5 (somente para Qt4). PyQt5 “development snapshots” foram lançados em início de Maio de 2013, logo em poucos meses PyQt5 deve estar disponível estável nos repositórios Ubuntu. Mas o projeto PySide ainda está atrasado em Qt5 por falta de colaboradores.

O que o Ubuntu Touch promete até lançamento oficial da v13.10 ? Bem : 3G de dados via interface gráfica, uso de Click como formato simplificado de arquivos de instalação (no lugar dos .deb, sem suporte a dependências, etc, vide artigos do site ILoveUbuntu, 1 e 2), servidor gráfico Mir (no lugar do SurfaceFlinger do Android), vários softwares funcionais ou com mais recursos (navegador web, etc), etc. Enfim, eu aposto no Ubuntu Touch e Sailfish OS em final de 2013 em diante, podendo mudar o panorama de sistemas operacionais móveis para algo bem diferente das limitações de Android, iOS, etc.

Futuras matérias abordarão benchmarks no Nexus 4, etc.

Posted in Linux, Python, Smartphones, SymPy, Tablets | 26 Comments »

Smartphone Jolla lançado : sua outra metade

Posted by robertocolistete em 20/05/2013

Hoje (20/05/2013) foi o “Jolla Love Day” com o tão esperado lançamento do smartphone da Jolla rodando o Sailfish OS. A Jolla já tinha lançado o Sailfish OS em 11/2012, depois teve o Sailfish SDK em Fevereiro (para Linux) e Abril (para Mac OS e Windows) desse ano, então só faltava o hardware próprio (ao invés de Nokia N9/N950 para testes do Sailfish OS) para tudo ficar completo e a comunidade Sailfish ficar confiante.

Jolla smartphone mostrando as duas metades com cores diferentes.

Encomende o smartphone Jolla, agora !

Antes dos detalhes, o que mais interessa e é importante : você já pode encomendar o smartphone Jolla, vá no site Join.Jolla.com e escolha uma das 3 opções de pré-compra/encomenda que você quer, direto da Finlândia. A 1a opção com camisa e bônus de EUR 100 é por enquanto limitada a 8 países europeus, mas a 2a de EUR 40 e a 3a sem pré-pagamento são abertas para uns 100 países. O interesse nessa pré-encomenda será um dos critérios usados pela Jolla para determinar quais mercados/países serão atendidos com disponibilidade (local ?) do smartphone Jolla. Sobre dúvidas de encomenda/compra do smartphone Jolla, vide as FAQ’s.

Quanto ao smartphone Jolla ele tem parte do seu hardware anunciado, mas sem todos os detalhes : CPU dual-core, tela de 4,5″ aprox. HD, 4G em alguns países, 16GB internos + micro-SD (não vi a entrada), câmera de 8 MPixels com alto-foco, bateria removível, Sailfish OS, bem como o Myriad Alien Dalvik para rodar softwares Android. Custará EUR 399 e estará sendo entregue no mercado no 4o trimestre de 2013 (em certos países), com distribuição local em alguns países e para outros com venda e envio internacional via a loja online da Jolla.

Há vários detalhes do smartphone que serão definidos e respondidos pela Jolla até final de 2013 : CPU & GPU usada, tipo e resolução da tela, detalhes da câmera, capacidade da bateria, suporte a USB On-The-Go e/ou host, NFC, se a saída de áudio de 3,5mm é também de vídeo (analógico), como funciona física a conexão do “Other Half” (vide abaixo), disponibilidade em vários países, como publicar softwares na Jolla Store, etc.

Other Half –  expansão de hardware em smartphone !

Um aspecto mal entendido por boa parte da mídia e usuários no 1o dia de lançamento é o revolucionário conceito “Other Half” do smartphone Jolla. Mesmo dias após a Jolla ter lançado esse vídeo-provocativo (“teaser video”) sobre o termo “Other Half” como destaque, logo que o smartphone Jolla é lançado quase toda a mídia entendeu errado ou menosprezou esse conceito de hardware e software. Basicamente a parte de trás do smarpthone Jolla pode ser trocada, que não tem somente a “capa”, mas também hardware inteligente que se comunica com a parte da frente e principal do smartphone. Na demonstração da Jolla, mostraram capas coloridas inteligentes que avisam (via NFC ?) o Sailfish OS sobre a cor e o tema do Sailfish é alterado de acordo. Mas há várias possibilidades para a parte “Other Half” (Outra Metade) do smartphone Jolla : brindes artísticos (de grupos musicais, etc, que adicionariam links e outros conteúdos), módulo com flash de câmera melhor, módulo com bateria extendida, módulo com teclado físico, etc. Isso está citado em duas matérias/entrevistas :

Entrevista da PocketNow com Marc Dillon da Jolla : “… if you’re going to a club you might want to snap on a back that has a big flash and maybe a big camera button or something. You might also want additional battery capacity, and you may also use a cover with at thin battery to bring that functionality.”

“P: I’m sure you’re aware that one of the biggest other-half possibilities we’ve heard, on Twitter and in comments, is one that supports a physical QWERTY keyboard. Is that a possibility?

MD: I have a big smile on my face! The sky is the limit, and the imagination is the limit for what can be done with the other-half.”

Entrevista da TechCrunch com o mesmo Marc Dillon da Jolla : “Jolla’s Other Half isn’t just decoration but links to the software on the handset — using an unconfirmed bridging technology that sounds to my ear like NFC — allowing content on the phone to be tied to the addition of a new shell, or even for new physical features to be incorporated and supported.”

(21/05/2013) Matéria da PocketNow – Jolla’s ‘Other Half’ is the Type of Innovation the Stale Smartphone Market Needs : a metade final dessa matéria aborda o conceito “Other Half” e suas possibilidades.

(22/05/2013) Matéria do Jolla Users –  My Lost Other Half : discute o conceito “Other Half”.

(23/05/2013) Matéria da Jolla Tides – Share Your Ideas: Your Dream Other Half : várias sugestões the “Other Half” por parte da comunidade.

Jolla smartphone tem multi-tarefa real com miniaturas vivas dos softwares rodando.

Minha opinião sobre o primeiro smartphone Jolla :

  • o processador dual core pode ser desde ARM Cortex A9 (de 1a a 3a geração) até Cortex A15, ou outras famílias, variando de 1,2 a 3,0 GHz. Eu acho improvável ter processador Intel. Comparado ao processador com 1 núcleo Cortex A8 @ 1 GHz do Nokia N9, é de se esperar um desempenho de CPU entre 4x a 12x. Isso e as demonstrações em vídeo mostram que o Sailfish OS roda bem fluido no smartphone Jolla;
  • a tela de 4,5″ foi possivelmente escolhida pois é um tamanho popular em 2012/2013 (entre 4″ e 5″). É impossível agradar a todos, uns queriam o mesmo tamanho de 3,9″ do Nokia N9, outros queriam 5,0″ (um “phablet”). Uma crítica após o anúncio é a borda superior e inferior à tela, o que aumenta o tamanho do smartphone, na verdade essa área não é tão grande mas em outros smartphones o formato é mais arredondado o que diminui tal impressão. (24/05/2013) A Jolla já esclareceu que o smartphone Jolla terá bordas menores que a do protótipo exibido em 20/05;
  • ter cartão Micro-SD e bateria removível são pedidos comuns de usuários avançados Maemo e MeeGo, que a Jolla satisfez (p.e., o Nokia N9 não tem esses recursos);
  • o grande destaque do hardware será a medida que forem lançadas opções “Other Half”, algo inédito no mundo de smartphones, permitindo algo análogo à personalização de PC’s desktops. Milhares de usuários estão esperando por um teclado físico (HKB – Hardware KeyBoard) como “Other Half” e há várias sugestões interessantes de usuários (módulo com carregador solar, etc);
  • no sistema operacional, o destaque para usuários não-iniciantes é a multi-tarefa real com miniaturas animadas dos softwares, que é algo raro, só vista no Maemo, MeeGo Harmattan e BlackBerry OS. Android, iOS e Windows Phone não tem nada semelhante, Symbian e Ubuntu Touch tem miniaturas porém sem animação;
  • o recurso de rodar softwares Android via Myriad Alien Dalvik será um grande trunfo da Jolla, algo semelhante ao que a BlackBerry fez para já começar com dezenas de milhares de softwares disponíveis nos primeiros dias. Resta saber como ocorrerá a instalação dos softwares Android no Sailfish OS, i.e., se usará Google Play Store ou loja da Jolla, se poderá instalar .apk diretamente em arquivos, etc;
  • para usuários de Linux, ainda mais Linux mobile prévios (Maemo e/ou MeeGo Harmattan), a Jolla com seu smartphone rodando Sailfish OS é o caminho natural de continuidade, adicionando novos recursos (citados acima) ao que o Maemo e MeeGo já faziam. O principal é que o Sailfish OS é baseado no Mer / Nemo, sendo quase uma distribuição Linux de PC desktop, com kernel Linux, X11, glibc normal, terminal, gcc, Python, Qt, etc. Tal conjunto de ítens está ausente não só no Android (usa bionic no lugar de glibc, não tem X11, etc) mas também no Ubuntu Touch (não tem X11 e o Linux roda via chroot dentro de um Android simplificado).

Nesse primeiro dia eu pré-encomendei o smartphone Jolla por EUR 40 (obviamente depois serão cobrados os EUR399 quando for entregue), opção válida para o Brasil, com direito a camisa Jolla. Tem chance de nunca chegar no Brasil, mas se a comunidade brasileira demonstrar interesse encomendando então  a Jolla verá que o mercado brasileiro vale à pena (fazer certificação na Anatel, etc) e o smartphone Jolla será lançado no Brasil. Até final de 2013 eu pretendo lançar uns softwares para o Sailfish OS com interface gráfica (herdados do Maemo & MeeGo, em Python e Qt), bem como manter (empacotar, etc) vários outros softwares (módulos Python SymPy, IPython, etc).

Matérias sobre o smartphone Jolla :
TechCrunch – Jolla’s Software Chief Says Co-Creation Is What Makes The MeeGo Startup’s Phone Hardware So Special : boa matéria sobre o conceito “Other Half”.
PocketNow – “We are offering something brand new.” An interview with Jolla co-founder Marc Dillon e (21/05/2013) PcketNow – Jolla’s ‘Other Half’ is the Type of Innovation the Stale Smartphone Market Needs : boas matérias sobre o conceito “Other Half”.
TechCrunch – Finnish MeeGo Startup Jolla Reveals First Phone: 4.5″ Display, Customisable Shells, $513 Price-Tag, Shipping At Year’s End
Engadget – The first Jolla phone: 4.5-inch display, Android app compliant, 399 euros.
Engadget – A tour of the Jolla phone with company co-founder Marc Dillon (video) : bom vídeo de 2min18s mostra bem as miniaturas animadas da multi-tarefa dos softwares rodando.
Liliputing – Jolla’s first Sailfish smartphone coming this year for about $500.
The Verge – Jolla prices first Sailfish OS smartphone at €399 for a 2013 launch  The spiritual successor to the Nokia N9?
TheNextWeb – Jolla unveils its first Sailfish OS smartphone, launching in Europe before end of 2013 for €399.99.
BBC New Technology – Ex-Nokia team makes rival smartphone Jolla.
NBC News Technology – Ex-Nokia team creates two-part ‘Jolla’ mobile phone.
(21/05/2013) sfietkonstantin blog – Announcement of Jolla phone, joy and sadness : muito boa análise da superficialidade de parte da mídia e usuários sobre o lançamento do smartphone Jolla.
(22/05/2013) sfietkonstantin blog – Announcement of Jolla phone, between professionalism and failure.
(22/05/2013) Nokia Gadgets – Chinese investor sees Jolla’s possibilities in China.
(22/05/2013) Smart Gadgets Central – Interview with Head of Software Development Marc Dillon
(22/05/2013) Jolla Users –  My Lost Other Half.
(23/05/2013) Jolla Tides – Chief Designer: Confirms Final Bezel Will Be Smaller.
(22/05/2013) Jolla Users – Nokia N9 and Jolla Phone with Other Half: Comparison, Similarities, Advantages over Nokia N9 and Vice Versa. : boa comparação entre o Nokia N9 e o smartphone Jolla.
(23/05/2013) Trusted Reviews – Jolla Sailfish OS smartphone : review do smartphone Jolla e do Sailfish OS.
(12/06/2013) IBTimes – Jolla Smartphone Attracts Interest From Around the Globe : a pré-venda do smartphone da Jolla atraiu pessoas de 118 países, um 2o smartphone já está sendo projetado pela Jolla, e a produção do 1o smartphone deve começar no final de Junho.

Vídeos :
Jolla revelead : oficial, 48s.
Participate. Contribute. Join the Tribe! : oficial, 39s.
Jolla Love Day : apresentação oficial (mas com direito a cervejas !), 10min27s.
Hands-on preview Jolla phone : da KickNetwork, 6min43s, muito bom. Entre 30s-39s compara o tamanho com Nokia N9 e iPhone 4. Entre 3min30s e 4min15s mostra a multi-tarefa real atualizando a miniatura do software de vídeo.
Jolla Launch Interview, “We Have No Direct Competitors, This Is a Different Ball Game…” : da KickNetwork, 3min48s, com Antti Saarnio, CEO da Jolla.
(15/08/2013) Jolla Sailfish OS UI Hands-On Demo Review : da CrystalTechHD, 2min22s.

Posted in Linux, Maemo, MeeGo, Mer Nemo Sailfish, Nokia N9, Smartphones | 2 Comments »

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.

Posted in Linux, Smartphones | 1 Comment »

Computação simbólica CAS (Computer Algebra System) em smartphones e tablets

Posted by robertocolistete em 27/12/2012

CAS (Computer Algebra System) são softwares que permitem computação simbólica, i.e., com símbolos literais que não tem valores atribuídos. Essa é a forma comum de se calcular boa parte dos problemas da área de exatas no ensino superior. Um CAS pode ser usado para se calcular quase tudo o que é pedido nas disciplinas de “Cálculo” (limite, derivadas, integrais, etc), por exemplo. Porém usualmente o CAS não fornece os passos intermediários do cálculo, só o resultado final do cálculo. CAS normalmente também têm recursos de computação numéricas e gráfica.

Devido à grande evolução de hardware e sistema operacional dos celulares, smartphones (celulares inteligentes) e tablets, hoje temos diversos CAS disponíveis. Esse artigo visa então listar a maioria dos CAS para celulares, smartphones e tablets, e assim motivar o uso de tais equipamentos no ensino superior e pesquisa.

Softwares de cálculos somente numéricos e gráficos foram excluídos, bem como calculadoras científicas, gráficas, tabelas de fórmulas matemáticas, etc. Embora esses softwares sejam maioria nas “lojas” de softwares para smartphones e tablets, eles não são CAS.

CAS online (via Internet e navegador web)

Temos CAS completos ou com alguns recursos disponíveis via Internet, funcionando dependendo do navegador web do celular/tablet. Ou seja, um celular de R$100 que tenha um navegador web bom (com JavaScript habilitado, etc) pode acessar alguns dos sites abaixo !

CAS completos, permitindo comandos em sequência, uso de variáveis, etc :

  • SymPy Live : escrito totalmente em Python, SymPy é um CAS que tem se desenvolvido muito via uma comunidade bem ativa, e SymPy Live tem uma interface com vários tipos de saída, documentação acessível, exemplos, ‘Tab’ completa comandos, histórico de comandos, etc. Tem versão SymPy Live Mobile para telas pequenas de celulares. Foi citado em artigo anterior do blog;
  • Mathics : é um CAS recente e muito completo, com interface de notebook online, documentação acessível, exemplos, gráficos 2D e 3D (que giram se WebGL funcionar no navegador web), notebooks que podem ser salvos e lidos (precisa criar uma conta/login gratuito), etc. Mathics é um CAS baseado em SymPy e Sage, porém com sintaxe do Mathematica da Wolfram Research. Não funciona em qualquer navegador web pois precisa de suporte a MathJax, sendo recomendado Firefox (para Android, Maemo, MeeGo), Chrome (Android, iOS) e Safari (iOS), sendo que o navegador web do Android também funciona. Em meus testes, a melhor experiência é usando Firefox (no MeeGo Harmattan e Android).

Mais comum é encontrar funções específicas de CAS acessíveis via Internet :

  • Wolfram Alpha : é uma mistura de Google com CAS (comercial Mathematica da Wolfram Research), permitindo fazer pesquisas com texto em inglês bem como cálculos usando sintaxe “solta”. Tem ampla documentação, saída em vários formatos, etc.
  • Wolfram Mathematica Online Integrator : calcula integrais indefinidas de uma variável (x) usando o CAS comercial Mathematica da Wolfram Research, um dos mais completos e melhores CAS;
  • SymPy Gamma : faz cálculos diversos, bem simples de usar, com vários exemplos, usa o SymPy (CAS em Python). Foi citado em artigo anterior do blog;
  • Integral Calculator : calcula integrais indefinidas ou definidas de uma variável, com entrada com sintaxe “solta” e saída em MathJax (clique com o botão direito do mouse sobre o resultado e veja a expressão em TeX ou MathML, podendo copiar), exemplos, opção de simplificar o resultado, etc. Usa o CAS gratuito e de código-fonte aberto Maxima, que é um dos mais completos dentre os gratuitos;
  • Derivative Calculator : calcula derivadas de 1a até 3a ordem de uma variável, com entrada com sintaxe “solta”, saída em MathJax (clique com o botão direito do mouse sobre o resultado e veja a expressão em TeX ou MathML, podendo copiar), exemplos, opção de simplificar o resultado, opção de mostrar os passos intermediários do cálculo, etc. Usa o CAS gratuito e de código-fonte aberto Maxima, que é um dos mais completos dentre os gratuitos.

CAS instalados localmente

Para celulares não-smartphones que rodam Java (J2ME) :

  • JaSymCA 2 (gratuito e de código-fonte aberto) : é um CAS leve e com recursos razoáveis, tendo documentação, programação (com variáveis, funções, if/else, while/for, etc), cálculos númericos (à la Octave/MatLab/SciLab, de vetores e matrizes, resolução de equações, etc), cálculos simbólicos à la Maxima (derivada ordinária, integral indefinida/definida em relação a uma variável, série de Taylor de uma variável, EDO (equação diferencial ordinária) simples, etc), gráficos 2D (de uma variável, paramétricos, coloridos, logarítmicos, etc). Vide mais detalhes em artigo “Usando softwares científicos em celulares (quase) smartphones”.

Listando agora os sistemas operacionais móveis (de tablets e smartphones) :

Para Android há várias opções de CAS, inclusive algumas que apareceram em 2012 :

  • Maxima on Android (gratuito e de código-fonte aberto) : lançado em 10/2012 para Android, o CAS gratuito e de código-fonte aberto Maxima é um dos mais completos dentre os gratuitos. A versão para Android tem saída tipografada, documentação completa, gráficos 2D/3D, salvar/restaurar sessão, etc. Vide site do projeto “Maxima on Android” para maiores detalhes;
  • MathScript Scientific Calc Trial (gratuito) : usa o CAS SymPy para os cálculos, com interface de fácil uso, saída tipografada, gráficos 2D, documentação, exemplos, salvar/abrir sessão (em arquivo), etc. Versão de final de 2012 corrigiu problemas anteriores de saída tipografada. Na versão gratuita aos poucos vai aparecendo mensagens de espera importunando;
  • MathScript Scientific Calc (US$5) : idem acima, porém sem mensagens de espera;
  • MathStudio (US$9,99) : é um CAS leve com cálculos numéricos, simbólicos (integrais em relação a uma variável, etc), saída tipografada, gráficos 2D e 3D com animações, documentação, salvar/abrir sessão (em arquivo), etc. Vide site do software para documentação, exemplos de sessões, galeria de gráficos, etc. Tem versão para iOS;
  • JaSymCa 3 para Android (gratuito) : semelhante ao JaSymCA 2 citado acima para celulares nã0-smartphones, porém com interface melhorada na versão para Android;
  • Python SL4A + SymPy (gratuito e de código-fonte aberto) : no Android a instalação é manual, não tem saída tipografada nem gráficos, com uso via execução de arquivos .py. SymPy é um CAS escrito totalmente em Python;
  • Sage Math beta (gratuito e de código-fonte aberto) : versão lançada em 2012, é cliente do Sage com cálculo remoto em servidor web (logo precisa de conexão Internet), tem saída tipografada, gráficos, notebooks, etc. É versão beta com parte dos recursos do Sage para PC desktop implementados. Sage é um CAS baseado em Python / SymPy com muitos recursos avançados;
  • MathSys Calculator Shell alpha (gratuito) : lançada no 2o semestre de 2012, é uma nova interface continuando o trabalho da equipe do MathScript Scientific Calc citado acima. Tem interface touch fácil de usar, saída tipografada, gráficos 2D e 3D. Está em testes ainda (versão alfa), só funcionando em alguns tablets e smartphones Android com bom desempenho e tela de alta resolução. Internamente usa Python e os módulos SymPy, NumPy e MatPlotLib, infelizmente NumPy e MatPlotLib não são acessíveis de fora do MathSys, p.e., no Python SL4A;
  • wxMaxima e Maxima (gratuitos e de código-fonte aberto) : (wx)Maxima é a melhor interface gráfica para o CAS Maxima, ambos podem ser instalados em Linux dentro do Android (desde que se possa “rootear”), vide artigo de blog “Usando Linux dentro do Android no Asus Transformer“, onde vemos que o wxMaxima gasta 1-4 s para abrir em um tablet típico de 2 núcleos Cortex A9. Para instalar no Ubuntu (dentro do Android) é simples, via comando “$ sudo apt-get install –no-install-recommends maxima wxmaxima maxima-share”;
  • SymPy & IPython Notebook (gratuitos e de código-fonte aberto) : a maior parte do ambiente Python científico de PC funciona no Linux dentro do Android (instalável se for possível “rootear” o Android) : IPython 0.12 com interface Notebook, NumPy & MatPlotLib, SymPy, etc. Mas PyGlet e gráficos via Plot no SymPy dificilmente funcionam. Para instalar no Ubuntu (dentro do Android) basta o comando “$ sudo apt-get install –no-install-recommends python-mpmath python-sympy python-numpy python-matplotlib ipython ipython-notebook”.

Para iOS, em 2012 tivemos basicamente atualizações dos softwares já existentes de CAS :

  • MathStudio (US$9,99) : é um CAS leve com cálculos numéricos, simbólicos (integrais em relação a uma variável, etc), saída tipografada, gráficos 2D e 3D com animações, documentação, etc. Vide site do MathStudio para documentação, exemplos de sessões, galeria de gráficos, etc. Tem versão para Android;
  • iCAS (US$14,99) : versão iOS do REDUCE (CAS que começou na década de 60), bem complexo, tem saída tipografada, gráficos 2D e 3D, arquivos com comandos, etc. Vide site do iCAS para mais exemplos, documentação, etc;
  • PocketCAS Pro (US$4,99): outro CAS leve com cálculos numéricos, simbólicos, saída tipografada, gráficos 2D e 3D, teclado matemático, editor de arquivos de comandos, documentação, etc. Vide site do PocketCAS for iOS para maiores detalhes, documentação, etc.
  • PocketCAS lite (gratuito): vide PocketCAS Pro acima, porém com algumas funções desabilitadas;
  • Python Math (gratuito) : basicamente Python que inclui o CAS SymPy, não tem saída tipografada nem gráficos, tem editor de arquivos de comandos (US$0,99), teclado optimizado para Python (US$0,99), documentação, etc. Vide site do software para maiores detalhes, assim como o artigo “SymPy for smartphones & tablets” com análise detalhada desse software;
  • Python for iOS (US$2,99) : basicamente Python que inclui o CAS SymPy, não tem saída tipografada nem gráficos, tem editor de arquivos de comandos, documentação, etc. Vide site do software para maiores detalhes, bem como o artigo “SymPy for smartphones & tablets” com análise detalhada desse software;
  • Calcul (US$1,99) : CAS bem simples para computação simbólica, com saída tipografada.

Para Maemo 5 (Nokia N900, um smartphone lançado em no final de 2009 e vendidas 1-2 milhões de unidades mundo afora), há algumas opções, todas gratuitas :

  • SymPy Interactive Shell (gratuito e de código-fonte aberto) : CAS SymPy de fácil instalação e completo, incluindo IPython 0.10.2, SymPy 0.7.1/0.7.2, ícone, saída bidimensional, gráficos 2D e 3D interativos (via instalação de PyGlet), uso interativo completo do IPython 0.10.2, etc. SymPy para Maemo 5 é o mais completo dentre todos smartphones e tablets, vide análise comparativa no artigo “SymPy for smartphones & tablets”. Para mais recursos em cálculos numéricos e gráficos, temos NumPy 1.4.0 e MatPlotLib 1.0.0 também facilmente instaláveis no Maemo 5, via “$apt-get install python-numpy python-matplotlib” com repositório extras-devel habilitado. O artigo “Python científico em computadores, tablets e smartphones” mostra que o Maemo 5 é um dos dois melhores sistemas operacionais móvel para uso de Python. “SymPy Interactive Shell” foi empacotado pelo autor desse blog, desde 10/2011 até hoje (28/12/2012) tem mais de 66 mil downloads (uns 40 mil downloads únicos excluindo atualizações) para Nokia N900;
  • Integral (gratuito e de código-fonte aberto) : interface de fácil uso para calcular integrais com muitos recursos : definidas ou definidas ou numéricas (precisão arbitrária), em relação a 1 a 3 variáveis, resultados em vários formatos (simples, bidimensional, LaTeX, MathML, C, Fortran), opções de simplificação do resultado, com recurso de histórico e completar linhas de entrada, etc. Usa Python e o CAS SymPy v0.7.1/0.7.2. Vide também o tópico sobre “Integral” no fórum Talk Maemo.org. Foi criado pelo autor desse blog, desde 08/2011 até hoje (28/12/2012) tem mais de 82 mil downloads (uns 65 mil downloads únicos excluindo atualizações) para Nokia N900;
  • Derivative (gratuito e de código-fonte aberto) : interface de fácil uso para calcular derivadas ordinárias ou parciais (até 3 variavéis), gradiente, divergente, rotacional e laplaciano em 3 dimensões (coordenadas cartesianas, cilíndricas e esféricas), solução numérica com precisão arbitrária, resultados em vários formatos (simples, bidimensional, LaTeX, MathML, C, Fortran), opções de simplificação do resultado, com recurso de histórico e completar linhas de entrada, etc. Usa Python e o CAS SymPy v0.7.1/0.7.2. Vide também o tópico sobre “Derivative” no fórum Talk Maemo.org. Foi criado pelo autor desse blog, desde 10/2011 até hoje (28/12/2012) tem mais de 64 mil downloads únicos para Nokia N900;
  • Limit (gratuito e de código-fonte aberto) : interface de fácil uso para calcular limites simbólicos ou numéricos (com precisão arbitrária), resultados em vários formatos (simples, bidimensional, LaTeX, MathML, C, Fortran), opções de simplificação do resultado, com recurso de histórico e completar linhas de entrada, etc. Usa Python e o CAS SymPy v0.7.1/0.7.2. Vide também o tópico sobre “Limit” no fórum Talk Maemo.org. Foi criado pelo autor desse blog, desde 11/2011 até hoje (28/12/2012) tem mais de 57 mil downloads únicos para Nokia N900;
  • wxMaxima e Maxima (gratuitos e de código-fonte aberto) : (wx)Maxima é um dos CAS mais completos e maduros, disponível no Maemo 5 via Easy Debian. É muito fácil instalar o Easy Debian dentro do Maemo 5, i.e., um Debian ARM via chroot, permitindo instalar quase 30 mil pacotes ARM. Dentro do Easy Debian, basta habilitar o repositório sid e instalar via “$ apt-get install –no-install-recommends maxima wxmaxima maxima-share”.

SymPy rodando dentro do IPython Notebook no Nokia N9


SymPy 0.7.2 rodando dentro do IPython Notebook 0.13.1 no Nokia N9

Para MeeGo Harmattan (Nokia N9, vendidas algumas poucas milhões de unidades desde meados de 2011), além de somente um software (SymPy) CAS nativo do MeeGo Harmattan, temos softwares CAS do Debian (via chroot de imagem) que funcionam muito bem no Nokia N9, vide artigo “Easy Debian Harmattan para Nokia N9 com teclado virtual transparente“. As imagens científicas do Debian acumularam quase 7 mil downloads entre Agosto e Dezembro de 2012, atestando a popularidade e facilidade de uso do Easy Debian Harmattan (do qual o autor desse blog é mantenedor).

Para Symbian, há poucos soluções CAS :

  • JaSymCA 2 (gratuito e de código-fonte aberto) : tal como citado acima para celulares não-smartphones, funciona também no Symbian;
  • Python + SymPy (gratuito e de código-fonte aberto) : no Symbian a instalação é manual, não tem saída tipografada nem gráficos, com uso interativo bem limitado ou via execução de arquivos de comandos Python. SymPy é um CAS escrito totalmente em Python.

Os sistemas operacionais BlackBerry OS e Windows Phone não têm CAS disponíveis atualmente.

Conclusões

Sobre considerações entre vantagens x desvantagens entre computadores, tablets e smartphones, bem como opções de compras de smartphones e tablets, vide final do artigo “Python científico em computadores, tablets e smartphones”.

Enfim, minha opinião :

  • mesmo celulares não-smartphones podem rodar CAS, instalado localmente ou acessando CAS online via navegador web;
  • há várias opções de CAS online completos ou só com funções específicas, acessíveis via navegador web;
  • a maioria dos sistemas operacionais móveis (de smartphones e tablets) pode rodar CAS instalado localmente;
  • SymPy (CAS totalmente escrito em Python) está em todos os sistemas operacionais móveis que rodam CAS e em alguns CAS online, atestando a portabilidade da linguagem Python;
  • os melhores CAS gratuitos, Maxima e SymPy, ambos rodam em Android, Maemo 5 e MeeGo Harmattan, tendo bom desempenho e boa funcionalidade;
  • o Nokia N9 com MeeGo Harmattan é o melhor smartphone atual para rodar CAS, pois tem versões de 2012 dos melhores CAS gratuitos : SymPy 0.7.2 + IPython Notebook 0.13.1 com gráficos embutidos e wxMaxima/Maxima (via Easy Debian Harmattan);
  • Android atualmente é o sistema operacional móvel que tem a maior variedade de hardware (i.e, smartphones, tablets e Mini-PC’s de diversos tamanhos, formatos, preços e fabricantes) combinada com um bom leque de softwares CAS.

(Atualização em 12/02/2013) : adicionada citações a SymPy 0.7.2 para Maemo 5/MeeGo Harmattan (07/01/2013), IPython 0.13.1 terminal, Notebook e Qt console para MeeGo Harmattan (22/01/2013), MatPlotLib 1.2.0 para MeeGo Harmattan (09/02/2013) e NumPy 1.7.0 para MeeGo Harmattan (11/02/2013).

(Atualização em 13/02/2013) : adicionadas screenshots do SymPy 0.7.2 rodando no IPython Notebook 0.13.1 no Nokia N9.

Posted in Android, CAS, iOS, Maemo, Maemo 5 Fremantle, Mathematica, MeeGo, Mini-PC, Nokia N9, Python, Smartphones, Symbian, SymPy, Tablets | 4 Comments »

Python científico em computadores, tablets e smartphones

Posted by robertocolistete em 26/12/2012

Python é hoje uma das melhores linguagens para computação científica, não só pelas qualidades dela mesma, mas por causa das várias ferramentas e módulos (há mais de 26 mil hoje !) para uso de/em Python. As ferramentas e módulos Python científicos mais populares são : IPython (Python interativo, principalmente a interface Notebook lançada em 12/2012), NumPy (cálculos numéricos), MatPlotLib (gráficos 2D e 3D), SymPy (CAS – Computer Algebra System, com cálculos simbólicos como derivadas, integrais, etc). O impacto de Python e esses módulos científicos está sendo tão grande mundo afora que vários cursos de universidades de referência mundial (Harvard, MIT,  etc) estão adotando ou adotaram no lugar de softwares comerciais.

Gráfico paramétrico 3D calculado em 51s usando SymPy no Nokia N900

Gráfico paramétrico 3D calculado em 51s / 9s (1a vez / repetição) usando SymPy no Nokia N900

Gráfico de superfície 3D calculado em 36s usando SymPy no Nokia N900

Gráfico de superfície 3D, com 100×100 pontos, calculado em 36s / 30s (1a vez / repetição) usando SymPy no Nokia N900

Gráfico de densidade de f(x,y) com 150x150 pontos, usando NumPy e MatPlotLib após 10,3s no Nokia N9

Gráfico de densidade de f(x,y), com 150×150 pontos, calculado usando NumPy e MatPlotLib após 10,3s no Nokia N9

SymPy rodando dentro do IPython Notebook no Nokia N9


SymPy 0.7.2 rodando dentro do IPython Notebook 0.13.1 no Nokia N9

E uma vantagem adicional de Python é a sua portabilidade, estando disponível em grande número de sistemas operacionais, tanto de computadores pessoais (PC’s) como de tablets e smartphones. Mas e Python científico, com as citadas ferramentas e módulos ? A tabela abaixo analisa em quais sistema operacionais tais ferramentas e módulos estão disponíveis, com que facilidade de instalação e uso, etc. Foram excluídos o BlackBerry OS (para smartphones e tablets) e Windows Phone (para smartphones), pois ambos não rodam Python acessível diretamente no tablet/smartphone pelo usuário.

Características \ Sistema Operacional Linux / MacOS / Windows Android iOS Maemo 5 MeeGo Harmattan  Symbian
Equipamentos PC’s de mesa, net/notebooks, tablets (Windows 8), Linux em poucos Mini-PC’s.
Tablets, smartphones e Mini-PC’s. Vários fabricantes Tablets (iPad e iPod Touch) e smartphones (iPhone). Só da Apple Smartphone, só Nokia N900 Smartphone, só Nokia N9 Smartphones (principalmente Nokia)
Equipamento de teste Linux 64 bits no notebook Asus 1215B, AMD C-50 @ 1.0 GHz Tablet Asus Transformer, NVidia Tegra 2 Cortex A9 @ 1.0 GHz Tablet iPad 2, Apple A5 Cortex A9 @ 1.0 GHz Nokia N900, TI OMAP 3430 Cortex A8 @ 600 MHz Nokia N9, TI OMAP 3630 Cortex A8 @ 1.0 GHz Nokia E71, Freescale MXC300 ARM 11 @ 369 MHz
Facilidade de instalação do Python Simples, via repositório ou um arquivo de instalação.
Python 2.x/3.x
Complexa, com vários passos para instalar SL4A da comunidade, depois Python.
Python 2.x/3.x
Simples, instalando ‘Python Math’ (gratuito) ou ‘Python for iOS’ (US$2.99) via App Store.
Python 2.x-3.x
Simples, usando repositório.
Python 2.5.4.
Simples, usando repositório.
Python 2.6.6 (e 2.5-3.1)
Complexa, com vários passos para instalar PyS60 2.0. Python 2.5.4
Facilidade de uso de Python interativo : completa comandos, histórico, ajuda contextual, etc. Sim Shell muito limitado Shell limitado, com histórico de comandos, informação de objetos (no “Python for iOS”) Sim Sim Shell muito limitado
Facilidade de edição de código Python : editores com sintaxe colorida, completa comandos, ajuda contextual, etc. Sim Poucos editores com alguns recursos Poucos editores com alguns recursos Poucos editores com alguns recursos Poucos editores com alguns recursos Editor ”PED’ (somente no PyS60 1.4.5)
IPython IPython 0.13.1 (com Qt Console e Notebook) Não disponível Não disponível IPython 0.10.2. I.e., sem Qt Console, sem Notebook IPython 0.13.1 (com Qt Console e Notebook) Não disponível
NumPy NumPy 1.6-1.7 Não disponível Não disponível NumPy 1.4.0 NumPy 1.4.1/1.7.0 Não disponível
MatPlotLib MatPlotLib 1.1-1.2 Não disponível Não disponível MatPlotLib 1.0.0 MatPlotLib 1.2.0
Não disponível
SymPy SymPy 0.7.1-0.7.2 SymPy 0.7.x com instalação manual SymPy 0.6.7 (‘Python Math’) ou 0.7.1 (‘Python for iOS’, US$2.99) via App Store SymPy 0.7.1-0.7.2
SymPy 0.7.1-0.7.2
SymPy 0.7.x com instalação manual
SymPy com gráficos (PyGlet/MatPlotLib) Sim/Sim Não/Não Não/Não Sim/Sim Não/Sim Não/Não
Carregar SymPy 0.7.1 / calcular “integrate (x**5 / (alpha*x**2+beta)**2,x)” 0.58 / 1.83 s 2.22 s / 2.79 s 6.33 s / 3.16 s 2.3s / 10 s0.7.2 : 3.5s / 6.6s 1.7s / 5.6s0.7.2 : 2.0s / 3.1s
52.6 s / 22.8 s

Tabela 1 sobre Python científico versus sistemas operacionais, onde as cores representam : azul (bom), verde (razoável), vermelho (ruim). Ou seja, quanto mais azul melhor, quando mais vermelho pior.

No artigo “SymPy for smartphones & tablets” tem outra análise mais detalhada de Python/SymPy para smartphones e tablets, onde há inclusive instruções de como instalar Python e SymPy em todos os sistemas operacionais móveis citados acima.

Minha análise da tabela 1 quanto ao uso de Python científico :

  • os sistemas operacionais Linux, MacOS e Windows são os mais completos, com grande diversidade de hardware, quer seja PC de mesa, notebook e netbook;
  • excetuando tablets com Windows 8 que estão chegando no mercado brasileiro em 2013, os tablets com Android e iOS são limitados em termos de Python científico : instalação e disponibilidade, interatividade, sem nenhum tipo de gráficoPequena vantagem para os tablets iPad por causa de instalação e uso mais fácil de Python científico;
  • entre smartphones, os mais completos são o Nokia N900 com Maemo 5 OS (Linux móvel), que inclusive tem teclado qwerty completo, e o Nokia N9 com MeeGo Harmattan (Linux móvel) com versões bem recentes dos módulos científicos. Depois o iPhone com iOS e smartphones Android. Em último, smartphones Symbian.

Considerações entre vantagens x desvantagens entre computadores, tablets e smartphones :

  • smartphones, tablets e net/notebooks são para usos diferentes, não substituindo o outro;
  • a vantagem de um smartphone é estar sempre com o usuário, desvantagem que não é confortável digitar nele durante vários minutos por causa do tamanho da tela e teclado (físico ou virtual);
  • tablets são optimizados para ler (consumir conteúdo) e tipicamente têm bateria com autonomia entre 6-10h, mais que um notebook/netbook típico;
  • para digitação de expressões matemáticas é bem mais fácil digitar com teclado físico. Tem smartphones com teclado qwerty (mini ou completo). E há alguns tablets com opções de dock/teclado (R$100-400).

Opções de compra para se usar Python científico, em ordem de preço (parcelado) dentro de cada categoria, sendo que não vi promoções excepcionais antes e depois do Natal de 2012 :

  1. PC’s de mesa, notebooks e netbooks custam aprox. R$700 em diante, com tamanho mínimo de tela de 10″;
  2. tablets com Android são os mais baratos, sendo que recomendo que tenha Android 4 e tela capacitiva. Modelos de 7″ de tela, processador de 1 núcleo, por R$349 em diante : Smart DL HD 7 e Microboard Ellite 7. Modelos de tela de 7″ ou mais, com processadores de 2 núcleos, a partir de R$699 : Samsung Galaxy Tab 2 8GB (R$699), Motorola Xoom2 Media Edition 32GB (R$799) com tela de 8,2″, etc;
  3. tablets iPad custam a partir de R$1.349 (iPad 2) na loja da Apple;
  4. basicamente um iPhone sem função de celular, i.e., um tablet multimídia, o iPod Touch custa a partir de R$799 (4a geração);
  5. smartphones mais baratos são os com Android e Symbian, a partir de R$300-400. Recomendo Android 2.2 e Symbian Belle em diante. Alguns : Samsung Galaxy Y Pro (R$349) e LG Optimus Pro C660 (R$349) com Android 2.3 e teclado qwerty, Samsung Galaxy Ch@t B5330 (R$399) com Android 4.0 e teclado qwerty, Nokia E5 (R$399) com Symbian S60v3 e teclado qwerty, Motorola Milestone 3 (R$799) com Android 2.3, tela de 4″, processador com 2 núcleos, teclado qwerty completo;
  6. Nokia N900 parou de vender novo em meados de 2011 no Brasil (hoje só disponível usado custando perto de R$500);
  7. Nokia N9 estava vendendo novo no final de Novembro de 2012 a R$999 em promoção, porém depois ficou raro de encontrar sem ser usado (entre R$700-1000);
  8. smartphones iPhone custam de R$1.499 (iPhone 4) em diante.

Há ainda mais alternativas, porém caso a caso :

No mais, vide outros artigos desse blog sobre : Nokia N9, Nokia N900 e Maemo 5, tablets, smartphones, Python.

(Atualização em 06/01/2013) : adicionada na tabela 1 citação a IPython 0.13.1 para MeeGo Harmattan.

(Atualização em 01/02/2013) : adicionada na tabela 1 e textos citação a IPython 0.13.1 com IPython Qt console e Notebook para MeeGo Harmattan (22/01/2013)  e SymPy 0.7.2 para Maemo 5 e MeeGo Harmattan (07/01/2013).

(Atualização em 11/02/2013) : adicionada citação a MatPlotLib 1.2.0 para MeeGo Harmattan (09/02/2013) e NumPy 1.7.0 para MeeGo Harmattan (11/02/2013).

(Atualização em 13/02/2013) : atualizadas duas screenshots do Nokia N9, mostrando SymPy 0.7.2 rodando no IPython Notebook 0.13.1.

Posted in Android, CAS, iOS, Linux, Maemo, Maemo 5 Fremantle, MeeGo, Mini-PC, Nokia N9, Python, Smartphones, Symbian, SymPy | 2 Comments »

Tablet Motorola Xoom Media Edition de 32GB por R$799

Posted by robertocolistete em 20/12/2012

Promoção bem interessante por R$799 em 12x para o tablet Motorola Xoom 2 Media Edition (tela de 8,2″ com 1280 x 800 pixels) com 32GB. Tem processador TI OMAP 4430 2 de dois núcleos Cortex A9 a 1,2 GHz, 1GB de RAM, WiFi, GPS, câmeras de 5 e 1.3 MPixels, microUSB, microHDMI, Bluetooth, 388 g, etc. Vem de fábrica com Android 3.2 porém desde Novembro começou no Brasil a atualização para Android 4.0 ICS.

Acho esse modelo interessante pelo tamanho de tela intermediário entre 7″ e 10″, mesmo assim é leve, tem 32GB (ao invés dos 16GB típicos para tablets abaixo de R$1 mil) e saída HDMI (via conector micro-HDMI) o que é meio raro em tablets. Tudo por por um preço que julgo bom para tablets.

Vide meu artigo anterior, Samsung Galaxy Tab 2 7″ com Android 4 a R$699 & programas científicos no Android, com dicas de softwares educacionais e científicos para Android.

Posted in Android, Tablets | Leave a Comment »

Jolla Sailfish OS : para smartphones, tablets, etc

Posted by robertocolistete em 23/11/2012

Ontem e hoje a Jolla apresentou oficialmente seu novo sistema operacional Sailfish (peixe-espada em inglês), destinado não só para smartphones como tablets, TV’s inteligentes, computadores automotivos, etc.

O que é fato até agora sobre a empresa Jolla e o Sailfish OS, com informações oficiais ? Vejamos :

  • Sailfish OS é um Linux móvel ! Mer + Qt + UI (User Interface) da Jolla;
  • Mer é continuação 100% código-livre do MeeGo do Nokia N9, que por sua vez é um Linux móvel completo : kernel Linux, glibc 100% compatível (ao contrário da Bionic do Android), X Windows, multi-tarefa real, dependências e pacotes, etc;
  • Qt é uma biblioteca gigantesca de programação multi-plataforma (Linux, Mac OS, Windows, Maemo, MeeGo, etc) para criar aplicativos e interfaces gráficas (UI), que permite programação em C/C++, QML, Python, etc. Qt também é um projeto gratuito e de código-livre (Free and Open Source Software – FOSS);
  • Jolla firmou parceria com a ST-Ericsson para a família de processadores NovaThor, que no mínimo têm 2 núcleos Cortex A9, GPU, etc;
  • foi divulgado que o primeiro smartphone da Jolla começará a vender antes de meados de 2013, possivelmente com processador ST-Ericsson NovaThor;
  • a UI do Sailfish OS ressalta controles com “swipe” (deslizar do dedo, i.e., sem botões, semelhante ao Nokia N9) na tela e a multi-tarefa (com vários programas rodando e controláveis mesmo que em miniatura), vide vídeos da matéria do “The Verge” e esse outro rodando em um Nokia N950.
  • terá compatibilidade com vários softwares Android via emulação fornecida pelo software Myriad Alien Dalvik, sendo a empresa Myriad parceira da Jolla;
  • nos vídeos aparece ícone do X Terminal no Sailfish OS, e no twitter a Jolla diz “The terminal is beautiful, the most beutiful terminal app in the world :)”;
  • no vídeo mostrando a equipe Jolla, aparecem vários aparelhos em que rodam Sailfish, alguns foram identificados : Nokia N9, Nokia N950, Raspiberry Pi, HP Touchpad, etc. São para uso interno da Jolla a fim de testar o Sailfish OS, mesmo que não sejam para o público usuário, mostram a versatilidade do Sailfish OS;
  • vídeo de 23/11/2012 explicita que : para fechar um software basta pressionar longamente e depois “X” de fechar, até 9 softwares abertos visíveis na UI, o swipe para voltar para a home screen pode ser feito de qualquer um dos 4 cantos da tela, por enquanto não há modo horizontal (landscape) mas isso será abordado pela Jolla.
  • mais um vídeo novo, de 23/11/2012, longo, só que em finlandês : mostra aos 4min20s como se fecha um software, bem como outros detalhes.
  • em 27/11/2012 : no Facebook oficial a Jolla afirma que não fornecerá imagens oficiais do Sailfish OS para Nokia N9/N950, mas que a comunidade poderá compilar código do Sailfish OS para esses e outros smartphones e tablets (vide final dessa matéria e resposta via twitter);
  • (19/01/2013) : interessante compilação de respostas da Jolla, “FAQ about Jolla & Sailfish OS”, confirmando Python/PySide com Qt 4.8, nada de sistema de segurança atrapalhando usuário e programador (tal como o Aegis no MeeGo Harmattan), suporte nativo a chroot (à la Maemo 5, permitindo Easy Debian, etc);
  • (17/02/2013) entrevista da PocketNow com a Jolla, bem interessante, indicando que o primeiro smartphone da Jolla deve ser exibido em breve (aposto até Março);
  • (26/02/2013) na MWC 2013 (25-27/02) em Barcelona, a Jolla apresentou o Sailfish SDK alpha, mas ainda não será mostrado o 1o smartphone Jolla mas que não deve demorar;
  • (26/02/2013) Site SailfishOS.org relançado em 25/02/2013 com tudo que você precisa para programar, incluindo Sailfish OS SDK Alpha fácil de instalar e usar.

O que eu acho interessante na Jolla e no SailFish OS ?

  • Linux de verdade, só que móvel, sendo descendente do Maemo e MeeGo Harmattan;
  • multi-tarefa de verdade, tal como no Maemo e MeeGo Harmattan, onde o usuário se quiser pode deixar dezenas de softwares rodando durante dias, tendo total controle sobre que softwares deixa rodando, fecha, etc, bem diferente de Android, iOS e Windows Phone;
  • X Terminal já nativo, com ferramentas padrão Linux (shell, ssh, etc);
  • softwares feitos em Qt para MeeGo (incluindo Nokia N9) serão facilmente adaptáveis para o Sailfish OS (muda de pacote .deb para .rpm e eventual uso de poucas API’s diferentes no código-fonte);
  • (17/02/2013) Mer + Nemo Mobile está disponível para Nokia N900 e N9/N950 há mais de ano, e seus softwares vão rodar no Sailfish OS. Por exemplo, vide o tópico “Python (modules) on Mer/Nemo” com lista de softwares Python disponíveis, alguns com interface gráfica (KhtSimpleText, ModRana, etc);
  • (19/01/2013) confirmada a linguagem de programação Python inclusive com PySide (suporte a Qt 4.8), tal como no MeeeGo Harmattan (que usa Qt 4.7);
  • expectativa de smartphones, tablets, etc, rodando o SailFish OS, a partir de 2013;
  • grande chance de (parte do) Sailfish OS ser mais uma opção de sistema operacional no Nokia N9 via múltiplo boot (além do Android 4 e Mer/Nemo), segundo a Jolla via twitter/Facebook, basta alguém da comunidade ter a iniciativa.

Como e onde eu pretendo colaborar no Sailfish OS ? Continuando a programar em Python e Qt/Qt Quick (sou autor ou mantenedor de alguns softwares) para MeeGo 1.2 Harmattan do Nokia N9, pois tudo ou quase tudo poderá ser portado facilmente para Sailfish OS. Tentando instalar o Nokia N9 para testar o Sailfish OS, se e quando ficar disponível para o mesmo. Colaborando com eventual “Easy Debian” para Sailfish OS. E outros projetos que só a cultura FOSS permite criar.

No mais, algumas matérias recomendadas sobre Jolla e Sailfish OS :

Posted in Linux, MeeGo, Nokia N9, Smartphones, Tablets | 4 Comments »