Lançada competição de aplicativos para o N900 no Maemo.org!

Olá pessoal,

O pessoal da comunidade Maemo.org arregaçou as mangas e desistiu de esperar por aplicativos para o N900 na Ovi Store. Eles se juntaram e lançaram uma competição de aplicativos no Maemo.org!





Como assim ?!  A chamada começou no fórum da comunidade por meio de uma simples brincadeira, mas acabou se tornando algo mais sério. A idéia é construir uma aplicação funcional para o N900, entretanto ele deve se encaixar em uma das seguintes categorias:
  • Desktop
  • Sistema e Utilitários
  • Jogos
  • Gráficos e Multimídia
  • Localização e Navegação
  • Outros
Hehe, acredito que é tudo! O mais legal que o autor do post lá no fórum tomou a iniciativa e já colocou como prêmio o valor de $50 dólares para a melhor aplicação no geral. E também deixou disponível para quem quiser colaborar, poderá doar do seu bolso para aumentar o valor do prêmio.
Se você achou bom, imagina que a Nokia já ficou sabendo da competição e decidiu colaborar com prêmio. Os vencedores de cada categoria ganharão passagem e estadias pagas para o MeeGo Conference 2010, que ocorrerá na Irlanda no mês de novembro.

O período de inscrição para os aplicativos começou em 21 de maio, e extenderam o prazo até 21 de julho.  A escolha será feita por meio de uma votação popular, no próprio Maemo.org

Não é proibido que programas já existentes sejam inscritos, desde que possuam novas funcionalidades que os diferenciem da atual. E o programa pode ser em qualquer linguagem (Apenas a documentação básica deve ser em inglês).

Para se inscrever basta alterar a página da wiki do Maemo.org incluindo seu programa.

É isso aê pessoal!!  Agora é só pensar em uma aplicação, codificar e torcer pela sua aplicação!

Estou pensando em participar, vamos ver o que dá para ser feito com Python! ;D

Atenciosamente,

Marcel
Olá pessoal,

Há algumas semanas adquiri o recém lançado aparelho da Nokia Tablet N900 embarcado com sistema operacional Maemo 5. Para aqueles que não conhecem, este dispositivo pode ser considerado um tablet  e também um telefone (na verdade são ambos).  Ele foi um dos aparelhos mais comentados na mídia especialmente pelo seu poder de processamento  que chega aos 600 MHZ e 256 mb de RAM.  Sem contar o seu sistema operacional que é baseado na distribuição Debian e sua placa aceleradora gráfica 3D com suporte ao OpenGL. Mais informações sobre ele no site oficial.



Mas o motivo deste post não é somente falar sobre este aparelho. O que me atrai nele é o ambiente de desenvolvimento para construção de aplicativos, inclusive a comunidade de desenvolvedores que está por trás dela. Quem não conhece o maemo.org e quiser participar é muito bem vindo! Uma das coisas mais legais que eu vi é que você pode compartilhar seus aplicativos por meio de repositórios específicos que quaisquer usuários, habilitando-os,  poderão ter acesso à sua aplicação.

Além de ter uma forte cultura open-source por trás do Maemo, visto que todos os aplicativos são gratuitos, pelo menos nos repositórios, você ainda poderá explorar bem as funcionalidades do aparelho já que o mesmo fornece todo um SDK com suporte ao Qt, Python, Perl, C++, etc. Mas qual linguagem escolher para desenvolver ?

Eu escolhi Python por 2 fatores. Além do total suporte do Maemo para esta linguagem, visto que é uma distribuição GNU/Linux, ele possui muitos programas essenciais do sistema escritos em Python. O outro fator é o simples fato de Python ser uma linguagem fácil de aprender e simples de programar. Com qualquer editor de texto, você pode escrever algum código!  Para aqueles que não conhecem python, recomendo dar uma olhada no site oficial que tem muito material disponível!

A partir de agora começarei uma série de posts sobre dicas e informações de como começar a desenvolver no Maemo N900 por meio da linguagem Python. Este material pretende ser referência em língua portuguesa, visto que há muito material em inglês, e às vezes um desenvolvedor não entende como fazer, pois não detém o conhecimento da língua inglesa.

Espero que possa ajudar a desenvolvedores e entusiastas de programação que desejam a construir seus aplicativos na plataforma Maemo. Vale salientar que neste post é necessário que você tenha um aparelho N900  mãos. Irei demonstrar passo a passo como colocar uma primeira aplicação Hello World rodando no mesmo.  Em outro post irei demonstrar como instalar o emulador do aparelho para aqueles que não tem o N900 em mãos.

Estou executando todos os passos através do sistema operacional Mac OS 10.5, porém pode ser adaptado facilmente para o sistema operacional baseado no Linux (Ubuntu, Debian, Fedora, etc.)

Este artigo cobrirá os seguintes passos:
  • Instalação dos pacotes necessários para conectividade entre N900 e o Mac.
  • Algumas sugestões de editores de código em Python
  • Como construir seu Primeiro "Hello World" em PyGTK
  • Como transferir a aplicação para o N900
  • Como executar a aplicação
1 - Instalação dos pacotes no N900 e no Mac OS



O primeiro passo é ter seu N900 com acesso à internet (mediante GPRS ou Wi-FI). Você precisará instalar os seguintes aplicativos no N900.
OpenSSH é um aplicativo que permite enviar comandos remotamente no seu N900. Este aplicativo é extremamente importante para enviar os arquivos/comandos ao aparelho.
O rootsh é um aplicativo que permite você enviar comandos como root no X Terminal (pode-se usar sudo gainroot ou root). Você pode ver mais informações sobre acesso root aqui.

Para instalar os aplicativos, seguem os passos:
  1. Ative o repositório extras.
  2. Procure pelos aplicativos rootsh e OpenSSH no search no seu App Manager.
  3. A instalação irá requisitar uma nova senha de root para acesso SSH. Escolha uma.
  4. Aguarde até a instalação estar completa.

Já no seu Mac/Linux/Windows:
  • Um cliente SSH. Para o linux, existe já o OpenSSH (via comando ssh) assim como o Mac que já possui o cliente o qual pode ser acessado mediante comando 'ssh' no terminal. No Windows tem o Tera Term
  • Um cliente SCP/SFTP.  Tanto para o Mac como o Linux, pode ser utilizado o OpenSSH (mediante comando "scp").  Já o Windows você pode usar os programas WinSCP ou FileZilla. .
** Neste artigo não instalaremos o Scratchbox. Ele será comentado em outro post, quando falarei sobre instalação de emuladores.

2 - Acessando seu N900 pelo terminal.
Agora vamos acessar o terminal do N900 via root remotamente.  Para isso existem 2 opções: Você pode usar a própria rede sem fio o qual seu PC/Mac e o N900 estão conectados. Este é o método mais rápido ou você pode acessar via conexão USB. Este exige algumas configurações prévias. Este método é mais complicado exige um post especial à parte.

2.1 - Conexão sem fio

1 - Digite os comandos abaixo no terminal do N900 (Para abri-lo va no menu Principal -> Terminal)

$ root
$ ifconfig wlan0 | grep inet



 

Você verá wlan0 - que refere-se a wireless network interface (Wlan) e o inet addr: que é o IP alocado ao N900. Ver figura acima. Anote este IP pois você utilizará para acesso remoto na sua máquina.


2.2 - Conexão Remota no seu terminal.

 Agora vamos estabelecer a comunicação remota entre sua máquina e o N900. Para isso digite os seguintes comandos (Substitua o ip_do_n900 pelo ip obtido pelo passo acima).

$ ssh root@ip_do_n900
$ root@ip_do_n900's password: 
$ BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso26+0m5)
?:~# 
 

 Parabéns! Você já pode acessar seu N900 remotamente! Agora vamos ao seu primeiro programa python no N900!

3- Escrevendo código

Agora você deve começar a digitar seu código Python.  Você pode utilizar qualquer editor de texto. Isto é o mais legal de Python! A escolha do ambiente é sua! Abaixo deixo alguns exemplos de editores famosos:
  • gedit: Famoso editor para o GNOME
  • VIM and Emacs:Editores populares para terminais.
  • NetBeans + Python plugin: Netbeans, famosa IDE para aplicativos java também com suporte à Python
  • PyGTKEditor: Há até um pequeno editor de Python que roda nativamente no Maemo.
  • TextMate:  Meu favorito que utilizo no Mac OS. 
 Agora vamos ao código. Escreva o código abaixo em um arquivo de texto e salve como pyMaemo.py
    import gtk
    from gtk import Window, Button, Widget
    if __name__ == "__main__":
        window = Window(gtk.WINDOW_TOPLEVEL)
        window.connect("destroy", gtk.main_quit)
        button = Button("Hello World")
        button.connect_object("clicked", Widget.destroy, window)
        window.add(button)
        window.show_all()
        gtk.main()

    O que este código acima faz? Ele utiliza o framework de componentes gráficos disponível no Maemo chamado GTK. Com ele você pode construir aplicativos com suporte a janelas, botões, campos de texto, etc.  Ele já vem instalado nativamente no Maemo e muitos aplicativos no mesmo utilizam o  GTK para a construção de suas telas. O aplicativo acima apenas cria uma nova janela e coloca um botão no meio com o rótulo "Hello World" e adiciona o mesmo a ela. Posteriormente, o comando show_all() manda exibir a tela no N900. Para saber mais informações sobre o GTK você pode saber aqui.

    4- Transferindo sua aplicação

    Estamos quase lá. Agora vamos transferir sua aplicação para o telefone. Para isto vamos copiar os arquivos da sua aplicação (que neste caso é o pyMaemo.py) para o telefone por meio do cliente SFTP ou SCP. Abra outra instância do seu terminal (NO PC/MAC) e digite o seguinte comando:

    $ scp -pr minha_aplicacao/ root@ip_do_n900:/root/minha_aplicacao

    Substitua minha_aplicacao/  pelo caminho do diretório o qual contêm os arquivos da sua aplicação. Este comando copia os arquivos da sua aplicação para o diretório correspondente no seu telefone.


    5- Executando a aplicação

    Finalmente, execute a sua aplicação. Você pode digitar os comandos abaixo ou no seu terminal (mediante a conexão estabelecida com seu PC e o N900. Ver o passo 2.1.) ou no X Termina do seu N900.

    $ cd /root/my_application
    $ python py_maemo.py

     Finalmente, este comando python minha_aplicacao.py fará executar a sua aplicação no telefone. Você verá uma tela similar a essa!



    Parabéns! Sua primeira aplicação em Python foi executada com sucesso!

    Pronto pessoal, você tem uma aplicação simples em Python funcional no seu N900! Logicamente, há muito mais que pode ser feito e isto será coberto por mim em outros posts. Pode-se observar que é fácil você montar um ambiente de desenvolvimento em Python para  o N900 com poucos minutos e já ter uma aplicação rodando.  O  N900 é uma plataforma realmente poderosa para construir suas aplicações, especialmente com Python!

    Dica: Se você quiser tirar screenshots das telas do teu N900, você só precisa em qualquer tela pressionar os seguintes botões:


    Ctrl + Shift + P
     


    As imagens ficarão salvas na pasta:




    • ~/MyDocs/.images/Screenshots ou Nokia N900/Images/Screenshots


    Pessoal,  tem um vídeo também disponível com os passos comentados acima pelo wiki do PyMaemo. Quem quiser,  pode vê-lo pelo vídeo abaixo.








    Valeu pessoal e até a próxima! Dúvidas ou sugestões estou à disposição!

    Referências

     http://wiki.maemo.org/PyMaemo/QuickStartGuide 
    http://www.techiecorner.com/1611/how-to-print-screen-in-nokia-n900/

    Depoimento sobre IV Encontro do PUG-PE com Codingo Dojo, TDD e Python!

    Pessoal,

    O nosso IV Encontro do PUG-PE (Grupo de Usuários de Python de Pernambuco) foi um sucesso, considero como um dos melhores encontros! Tivemos uma palestra muito legal sobre TDD com Python (Testing Driven Development) e para por em prática os conhecimentos de TDD, finalizamos com um Codingo Dojo com Python! A interação entre os presentes foi constante, envolvendo iniciantes e já desenvolvedores experientes. Mais informações e inclusive com o material utilizado no nosso encontro, vocês podem ver no blog do PUG-PE pelo link abaixo.


    PS: Vale lembrar que os depoimento sobre o encontro, foi eu que postei! 

    Atenciosamente,

    Marcel Caraciolo
    Olá pessoal,

    Estamos convidando a todos para participarem do IV Encontro do Grupo de Usuários de Python de Pernambuco (PUG-PE). Para quem não conhece, o grupo em seu encontros discute sobre tecnologia, open-source e claro sobre a plataforma de programação Python.



    Para os que não conhecem Python, ela se tornou uma das linguagens mais populares no mercado e devido à sua flexibilidade e facilidade para construção de aplicativo. Ela se tornou uma ferramenta atrativa para desenvolvedores, entusiastas e até educadores. Utilizada desde servidores, web, e até dispositivos móveis. É extremamente recomendada para ensino também de linguagem de programação utilizado em cursos em universidades como MIT e UFRPE.

    Mais informações podem ser obtidas a partir deste link [1].

    Para esta edição nosso encontro pretende trazer a seguinte programação:

          1 - Palestra sobre Test Driven Development, por Rodrigo Vieira [2]

         2 - Coding Dojo com algum problema na área de programação [3]

         3 - Espaço aberto para alguma palestra de última hora ou para nossa
         tradicional troca de idéias.

    O local será o Centro de Informática (CIN) situado na UFPE em Recife. O horário é a partir das 08:00 neste sábado (22/05).

    Mais informações sobre o grupo, podem ser encontradas neste links [4] [5]

    Não conhece Python e gostaria de saber o que é e como começar? Compareça!! Todos são bem vindos!!

    Se você quiser adicionar na sua agenda, o nosso evento!



    [1] http://www.python.org/
    [2] http://pugpe.wordpress.com/banco-de-palestras/#JPY
    [3] http://codingdojo.org/
    [4] http://pugpe.wordpress.com/
    [5] http://groups.google.com/group/pug-pe?hl=pt-BR
    top