May
01

Adobe anuncia Open Screen Project - Flash Player em TODO o lado

Segundo as estatísticas da Adobe, o Flash Player está hoje em dia em 98% dos computadores ligados à Internet. Sendo o bytecode dos SWFs interpretado da mesma forma pelos diferentes sistemas operativos, browsers e agora também aplicações desktop através do Adobe Air, poderíamos incorrer no erro de dizer que o Flash Player é a melhor forma de construírmos aplicações ubíquas.

Porém, cada vez mais o futuro passa por usarmos outros dispositivos para ligar à Internet, além do nosso PC. Telemóveis, PDAs, a própria televisão, e até o nosso carro. Se pensarmos desta forma a penetração de 98% já não parece tão relevante…

Conscientes desta realidade, a Adobe deu um passo em frente ao anunciar o Open Screen Project. Este projecto consiste essencialmente em remover restrições de várias licenças, a publicação de alguns protocolos, e a consolidação de esforços com entidades como a Cisco, Intel, LG, Motorola, Nokia, Samsung, Ericsson, Toshiba, etc, etc, no desenvolvimento de uma solução verdadeiramente ubíqua a correr nos mais variados dispositivos.

O que se pretende é que o mesmo Rich Content que designers e developers colocam na Internet para correr nos nossos PCs através do Flash Player passe também a poder correr da mesma forma em qualquer dispositivo. Ou seja, os nossos sites, RIAs, e experiências multimédia passam realmente a poder ser acedidas de qualquer local e dispositivo.

Os primeiros passos que a Adobe vai tomar são:

Remoção das restrições na utilização das especificações SWF e FLV/F4V e
publicação das APIs de portabilidade do Flash Player para dispositivos

Com isto, quem quiser instalar o Flash Player num dispositivo pessoal poderá fazê-lo. O objectivo não é fazer com que comecem a surgir uma panóplia de versões do Flash Player incompatíveis entre si (perdendo-se a ubiquidade), mas sim permitir que outros vendedores possam desenvolver a camada necessária que permita integrar e correr o flash player nos seus próprios dispositivos.

Publicação dos protocolos Adobe Flash Cast e AMF

Não só foram publicadas as especificações SWF e FLV/F4V, como as especificações dos formatos de comunicação de dados usados pelo Flash Player. Pretende-se com esta iniciativa em específico que os mais variados dispositivos possam utilizar Flash/Flex Remoting e os protocolos Flash Cast para comunicar com o servidor.

Remoção dos custos de licenciamento do Flash Player e Adobe Air

Passa a tornar-se gratuíto distribuir o Flash Player e o Adobe Air. Quer isto dizer que quem quiser colocar uma versão do Flash Player junto da sua aplicação, ou mesmo equipar um modelo de telemóvel ou outro dispositivo com o Flash Player, poderá fazê-lo gratuitamente.

São no fundo notícias importantes tanto para o utilizador final como para quem desenvolve na plataforma Flash. Caminha-se para a ubiquidade, e cada vez mais teremos acesso às suas aplicações e experiências multimédia a partir de qualquer local e dispositivo.

Mais informações




Apr
17

Adobe eSeminars - Finalmente Online!!

Depois de muito procurar e virar de “ponta-cabeça” o site da Adobe não consegui encontrar os downloads dos seminários que foram aqui notificados coisa que achei bem estranha já que na altura da subscrição desses mesmos seminários era-nos dito que seriam gravados e disponibilizados para download.

Depois de recorrer a vários motores de busca lá consegui começar a colher informações de onde se encontravam estes seminários… ainda não estão propriamente disponíveis para download, mas já podem ser vistos no “centro multimédia” Adobe Acrobat Connect.

Apenas não consegui encontrar 3 destes seminários, mas em contrapartida encontrei alguns também bem interessantes. Então deixo aqui a lista:

Extras:

Bem, já está aqui uma grande lista, mas com certeza que terá muita utilidade.




Apr
01

Sessões do AirTour em Madrid

Para quem infelizmente não pode estar em Madrid para o AirTour pode agora visualizar todas as apresentações do dia.





Keynote (Enrique Duvos)








Building your first Adobe AIR application with Adobe Flex (Mike Chambers)






Building your first AIR application with HTML and JavaScript (Kevin Hoyt)






Leveraging HTML and JavaScript within Adobe AIR (Kevin Hoyt)






Deploying and Updating AIR Applications (Serge Jespers)






Adobe AIR API Overview (Daniel Dura)






Data Intensive Enterprise AIR Applications (Enrique Duvos)






HTML / JavaScript desktop applications on Adobe AIR. (Chris Brichford)






Using JavaScript Frameworks in AIR Applications (Andre Charland)






AIR Conditioning (Lee Brimelow)





Online Videos by Veoh.com




Mar
31

Adobe onAIR Tour Madrid - Parte 2 (Tarde)

O Ricardo Castelhano ficou com os dedos cansados e pediu substituição na tarefa de blogger. Portanto, aqui vai o resumo do que se vai passando durante a tarde.

[13:45] Adobe AIR API Overview (Daniel Dura)

O Daniel Dura está a demonstrar as funcionalidades da API do Adobe Air. Acabou de mostrar o quão simples é criar uma janela normal do sistema operativo (NativeWindow), e definir as suas propriedades. Por exemplo, alterar o chrome.

Explicou que existem vários tipos de NativeWindowType:

  • Normal - janela normal do sistema operativo
  • Lightweight - ideal para usar por exemplo em popups.
  • Utility - ideal para usar por exemplo em paneis dockable, e janelas para complementar a janela “Normal”

Está neste momento a demonstrar a api de File I/O, que obviamente permite a leitura e escrita de dados no disco local. Podemos escrever as nossas próprias janelas de diálogo para interagir com o disco, ou usar as do sistema operativo.

Explicou que existem duas formas de interagir com ficheiros: sincrona e assincrona. Para quem não sabe, a síncrona irá interromper a aplicação enquanto um ficheiro carrega. A assíncrona permite que a aplicação continue a correr como normalmente, e quando o ficheiro termina de carregar é lançado um evento a avisar que o ficheiro está disponível.

Acabou agora de explicar que é possível chamar a janela de dialogo do sistema operativo para “browse” de ficheiros de três diferentes formas:

  • browseForDirectory
  • browseForSave
  • browseForOpen

Está neste momento a mostrar que ao abrir um ficheiro é possível ir buscar praticamente todo o tipo de informação do ficheiro, como por exemplo, a imagem do ícone.

Chegou o momento de demonstrar como fazer ligações SQL a partir do Adobe Air. É realmente muito simples - muito semelhante ao que se faz em PHP.

[Nota: presentes no evento a representar a Adobe, vi o Ryan Stewart, Lee Brimelow, Daniel Dura, Mike Chambers, Enrique Duvos, Serge Jespers, Chris Brichford, Andre Charland, a Sumi Lim e o nosso Paulo Coelho. Também me cruzei com o Carlos Rovira e outros nomes que não me recordo agora]

Estamos agora na API de Drag/Drop e de acesso ao Clipboard. Esta é de longe uma das funcionalidades mais interessantes, visto que não é particularmente fácil criar um sistema de drag&drop multi-plataforma. Está a mostrar uma aplicação que permite arrastar uma “imagem” da aplicação para fora da mesma para outras aplicações no sistema operativo. O Luís da Flag explicou-me que o suporte multi-plataforma é conseguido graças ao facto de que todos os sistemas operativos possuem um clipboard, e foi através disso que foi implementado o suporte de drag&drop.

Chegou a altura de ver o suporte de icones. As aplicações Air recebem ícones no formato PNG, e é possível definir ícones para quase tudo (tray icon, application icon, etc) e em runtime.

O Daniel Dura está neste momento a mostrar como se faz para monitorizar se a aplicação está ligada ou não à Internet. É realmente fácil: basta instanciar um URLMonitor, e adicionar os respectivos eventListeners para escutar as alterações ao estado da ligação.

Outras funcionalidades genéricas são por exemplo: gravar localmente dados encriptados; notificações de dock; e notificações de idle. No blog do Daniel Dura existem/existirão variados exemplos de como usar quase todas as funcionalidades da API do Adobe Air.

[14:30] Data Intensive Enterprise AIR Applications (Enrique Duvos)

Começa a sessão do Enrique Duvos. Em Espanõl… Vai ser um bocado complicado acompanhar esta, mas vamos ver o que se consegue fazer…

O Enrique começa por mostrar o Census feito pelo James Ward, uma aplicação para comparar em termos de performance e largura de banda as diferentes tecnologias/métodos de comunicação com o servidor. Dá obviamente destaque à performance do Flash Remoting, que é de longe a mais eficiente de todas.

Explica que o Flex pode ligar a praticamente qualquer backend, e começa a explicar as vantagens do LCDS - LiveCycle Data Services. Tais como poder “empurrar” dados para os clientes (sim, o servidor toma iniciativa), sincronizar dados entre todos os terminais, etc.

Explica que existe uma solução open-source suportada pela Adobe que possui parte das funcionalidades do LCDS, o BlazeDS. Está a demonstrar uma aplicação “fictícia” que permite que todos os clientes possam ver em real time os dados da bolsa. Sempre que é actualizado o valor de uma acção no servidor, todos os clientes recebem esses dados.

Mostra a versão Air da aplicação, de forma a demonstrar que é possível ter múltiplos clientes tanto web como desktop a consumir mensagens.

[Nota: O Ricardo Castelhano também está a bloggar sobre o evento em real time. ]

O Enrique está agora a demonstrar aplicações que se sincronizam assim que a ligação volta a ficar disponível. Isto é, se tivermos a trabalhar, e a ligação cair, quando a ligação é reposta o data management permite sincronizar os dados sem que se percam. Ou por exemplo, podemos construir uma aplicação que pode correr tanto offline como online usando os mesmos dados. Quando está offline, os dados são gravados localmente. Quando a ligação é reposta, são sincronizados com o servidor (com gestão de conflitos incluída). Chama-se a isto “Offline synchronization using LCDS Data Management”.

Termina a sessão do Enrique. Não consegui acompanhar tudo, mas ficou aqui o principal…

(Ricardo Castelhano here…o PC do João Saleiro está com stresses…falta-lhe o RedBull ! Vamos aguardar para o PC arrefecer um pouco, e o João já voltará ao “live posting”)

[João Saleiro: back to live blogging. Aparentemente o portátil estava excessivamente quente... Uff!!]

A sessão do Chris Brichford já vai quase no fim, e já não consigo perceber bem o que se está a fazer. Basicamente, o tema é:
[15:05] HTML / JavaScript desktop applications on Adobe AIR. (Chris Brichford)


Learn how add desktop functionality to an HTML application running on Adobe AIR on the desktop. Learn about using the drag and drop API, the file system API, and other Adobe AIR APIs from HTML.O Chris está neste momento a mostrar como é possível fazer ligações a um servidor SQL a partir de HTML/Javascript usando a API do Adobe Air.

Começa a sessão seguinte.

[15:35] Using JavaScript Frameworks in AIR Applications (Andre Charland)

O Andre apresenta-se, e apresenta a empresa dele: Nitobi. Explica que trabalham sobretudo com AJAX, e que é uma empresa relativamente pequena. Apesar disso trabalham com empresas com a BMW, Nintendo (e outras que não me lembro do nome, já passou o slide).

Porquê usar AJAX com Air?

  • Reutilização de código
  • Reutilização de skills
  • HTML é realmente bom em algumas coisas
  • Manter alguns padrões de UI
  • O Javascript continua a crescer

As frameworks AJAX compatíveis com AIR:

  • Spry
  • jQuery
  • mochikit
  • nitobi
  • mootools
  • extjs
  • yahoo ui library
  • dojo

São demonstrados alguns exemplos de aplicações AIR feitas com AJAX. Está agora a mostrar um exemplo de um “FishEye Menu” feito em AJAX a correr dentro do AIR. Concorrência ao meu (versão em Flash). A fluídez do menu pareceu-me um bocado “choppy”, mas talvez seja do computador do Andre.

Explica que os clientes muitas vezes exprimem preocupações relativamente à necessidade de se ter que descarregar e instalar um runtime para se instalar uma aplicação, mas que o install badge do Adobe Air vem resolver todos esses problemas, bastando ao utilizador fazer um clique, e o resto é gerido pelo Air.

O Andre falou de algumas experiências pessoais/profissionais com o AJAX e o Adobe Air.

Termina a sessão.
[16:30] AIR Conditioning (Lee Brimelow)


Nesta sessão vão mostradas as funcionalidades da API do Adobe Air usando Flash. É uma sessão direccionada sobretudo aos Flash Designers. A primeira API a apresentar será a Windowing API.

São mais uma vez apresentados os Window Types do Air, Normal, Utility e LightWeight. O Lee explica que a Lightweight window não cria janela nenhuma: somos nós que a temos que desenhar. Relativamente ao “chrome”, existem:

  • System chrome;
  • Custom (opaque);
  • Custom (transparent);

É mostrado o código para criar uma NativeWindow. É extremamente fácil e intuitivo. A classe NativeWindow possui métodos e propriedades como:

  • activate()
  • alwaysInFront=true;
  • close()
  • maximize()
  • minimize()
  • orderInBackOf(otherWin);
  • orderInFrontOf(otherWin);

O Lee explica agora como adicionar essa Window ao nosso Stage. Basta simplesmente definir as propriedades da janela (largura, altura, alinhamento, etc) fazer um addChild ao Stage. Simplicíssimo!

São agora apresentados os eventos:

  • activate
  • deactivate
  • closing
  • close
  • moving
  • move
  • resizing
  • resize
  • display_state_changing
  • display_state_change

O Lee explica que numa aplicação Flash tradicional que corra em Full Screen não é possível ler dados do teclado por motivos de segurança. Com Air é possível contornar isso, visto tratar-se de uma aplicação desktop que o utilizador tem que instalar explicitamente.

Está agora a apresentar uma mini-aplicação que permite criar janelas dinamicamente para mostrar as diferenças entre os tipos de janelas.

Começa a explicar os Native Menu Types que são possíveis de criar no Air:

  • Application menus
  • Window Menus
  • Context Menus
  • Dock and System tray menus
  • Popup menus

O Lee explica que há certos OSes podem não suportar menus. Para verificar isso, pode ser usado uma estrutura condicional if (NativeApplication.supportsMenu).

Entramos outra vez na API de File I/O. Como já se falou muito na File I/O API, o Lee está a passar por cima disso muito rapidamente. É novamente explicado que a API pode ser síncrona e assícrona (ver acima). A API possui ainda algo extremamente útil, um conjunto de métodos que devolve as directorias de sistema independentemente do sistema operativo.

O Lee está agora a falar em Encripted Storage, que permite gravar no local Filesystem dados encriptados, como passwords, e outra informação sensível.

O Lee explica agora como se cria uma base de dados local, como se faz uma ligação e como se acede aos dados.

Surge então a parte de “OS Interaction”. Existe uma propriedade no Air que permite activar o “Launch on Login”, que permite que uma aplicação corra automaticamente quando um utilizador faz login no Windows. É possível também gerir as associações dos ficheiros do sistema operativos.

Outra coisa interessante, é escutar eventos que indicam se o utilizador está ou não a usar a aplicação, nomeadamente detectando se um utilizador está idle ou não. É também possível detectar se o utilizador está a fechar a aplicação, para, por exemplo, gravarmos dados antes que esta feche.

Voltamos à parte da ligação à internet, que permite gerir ligações ocasionalmente ligadas, permitindo detectar tanto o HTTP Status como o estado de uma ligação por sockets.

O Air permite ainda colocar duas aplicações a comunicar entre elas, através do LocalConnection. Para identificar as aplicações é usado o appID.

O Lee diz que é já possível descompilar código Actionscript de aplicações para o Flash 9. Está a mostrar o AOL Music - Top 100 vídeos, uma aplicação AIR muito gira e que uso várias vezes. Pergunto-me o que irá ele fazer… descompilar a aplicação? Ok, e foi mesmo isso. Simplesmente abriu o SWF, e o Sothink SWF Decompiler mostra tudo: imagens, morphs, código, etc. O código não é 100% descompilado, mas sim 95%. Há algumas coisas que não são possíveis recuperar.

Chega a hora da imperial! :P




Mar
31

Adobe onAIR Tour Madrid - Parte 1 (Manhã)

Oraite, o RIAPT está no Adobe onAIR Tour, e a comitiva não se fez rogada…e somos logo 15 (!!)…ah pois é!

Bem, vamos ao que interessa.

As portas abriram as 9h15 e as 10h sem grandes demoras o Enrique Duvós começou a sua palestra sobre o que é o AIR, quais as potencialidades, novidades e o que podemos vir a esperar das novas edições…o João Fernandes já falou numa delas, o AIR para Linux :)

As aplicações AIR que o Enrique mostrou foram muito interessantes, desde o “Google Analytics Reporting” do belga Nicos à aplicação da Disney (esta última com uma “sensação” visual extremamente interessante, pois perdeu-se o “quadrado” das aplicações).

[10:30] Building your first Adobe AIR application with Adobe Flex (Mike Chambers)

Desenvolver AIR com o Flex Builder … começamos por definir as propriedades da nossa aplicação no ficheiro XML: versão, keynotes, aspecto da janela, se a aplicação se mantêm invisível até estar totalmente operacional (o Mike aconselhou esta opção para uma melhor “User Experience”.

E temos a nossa primeiro aplicação AIR do dia - “Hello World”.

Após horas em desenvolvimento, como se distribui a aplicação?

O Mike continua a apresentação a explicar como funciona o AIR Installer, o modo “View Source”, os certificados de segurança (atenção que se o certificado for criado pelo próprio developer, o runtime installer não conseguirá detectar quem é o author e aparecerá “Unkown“) - ou se conhece quem é o autor ou se confia nas “Leis de Murphy” !

Em suma, o Mike menciona “se já és um Flex Developer, então também és um AIR Developer” - do que esperam para começar?

[11:10] Building your first AIR application with HTML and JavaScript (Kevin Hoyt)

Para se fugir um bocado ao Mundo da Flash Platform, o Kevin vem apresentar como se desenvolve uma aplicação AIR com HTML e JavaScript.

Ao se desenvolver em HTML/JavaScript, utiliza-se o browser para se testar se o programa tem bugs ou não…aqui há um problema, não há browser para se testar!!

O Kevin diz que o processo de se criar o installer, instalar, testar, desinstalar, criar o installer, instalar, testar, desinstalar….até se ter o produto final, “it’s not funny at all“.

A extensão para o Dreamweaver permite se testar directamente no AIR sem se correr esse processo todo.

O “Code Hint” para as instruções AIR do JavaScript também é muito interessante:

A apresentação do Kevin continua pela extensão Aptana para o Eclipse. Também muito interessante, pois permite os “users” de Eclipse se manterem no mesmo ambiente de trabalho !

[11:40] Break

[11:55] Leveraging HTML and JavaScript within Adobe AIR (Kevin Hoyt)

Nesta segunda parte o Kevin lança um bom desafio … misturar HTML/JavaScript com Flash/Flex dentro da mesma aplicação AIR.

- através da classe ExternalInterface é possível através do ActionScript executar métodos de JavaScript;

- através do API do AIR para JavaScript, podemos aceder a todos os métodos que estejam dentro do Flash Player

O Kevin irá disponibilizar os slides e mais alguns exemplos no blog pessoal - aqui.

[12:35] Deploying and Updating AIR Applications (Serge Jespers)

“Step1: - Packaging”
“Step2: - Custom made installer’s badge”
“Step3: - Keep it updated”

O Serge está a demonstrar como se podem criar “badges” originais para os “installers” do AIR, e não é que abriu o Photoshop?

Para o “Keep it updated” é que é necessário um pouco de código, mas nada de especial!

Boa apresentação do Serge, com bom humor a terminar a parte da manhã.

[13:00] Lunch

 

 

 

top