Archive for March, 2008
Adobe onAIR Tour Madrid
Mar 31st
9:15 – Doors Open
10:00 – Enrique Duvós
Enrique Duvos, a Senior Platform Evangelist at Adobe, provides an introduction to Adobe AIR and how it fits into the Adobe technology platform, and the larger RIA landscape. This session will be presented in Spanish.
Enrique começou por explicar o conceito de RIA disponibilizada no Desktop com o AIR, e quais os modos de construção – HTML, JavaScript, Flash, Flex.
O AIR funciona sobre plataformas Windows e MAC e hoje mesmo foi anunciado no Adobe Labs a versão Beta do AIR para Linux.
Um dos exemplos que o Enrique está a utilizar é o “Google Analytics Reporting – Beta2″ desenvolvido pelo belga Nico.
Outro exemplo é a aplicação da Disney, que ainda está em fase de desenvolvimento, e que irá permitir que os “parceiros” da Disney (leia-se Agencias de Viagens) obtenham toda a informação actualizada de uma forma mais rápida, mais rica, com acesso a conteúdo Media sempre actualizado. Uma das caracteristica interessantíssimas desta aplicação é o aspecto visual, finito às aplicações “quadradas”.
10:30 – Mike Chambers
Learn how to setup your development environment and build your first AIR application using Flex 3 and Flex Builder 3.
E temos a nossa primeira aplicação AIR do dia. um “Hello World” pronto para distribuição !
E é mesmo muito fácil desenvolver uma aplicação AIR … caso se seja um Flash/Flex Developer … a seguir temos o Kevin Hoyt a demonstrar como se faz com HTML/JavaScript.
11:10 – Kevin Hoyt
After this session you will know how to setup the Adobe AIR SDK to allow you to develop and package AIR applications from the command line. You will also be able to leverage the Adobe AIR command line tools to enable development of HTML and JavaScript based applications. Finally, the session will demonstrate built in support for AIR development from Adobe Dreamweaver and the Eclipse based Aptana.
Wow … brutal !!
Programar HTML e JavaScript para o AIR torna-se tão fácil com a extensão do Dreamweaver…desde se poder testar sem se fazer a compilação do installer até se ter acesso a um “Code Hint” para o JavaScript … é muito bom !!
Fantástico, podemos com JavaScript criar ficheiros e mandar guardar o binário … ou seja, podemos criar funcionalidades de “Save” e ter mesmo ficheiros fisicos com a informação “salva”.
Grande apresentação do Kevin … clap clap clap!!
11:40 – Coffee Break
11:55 – Kevin Hoyt
Gain a better understanding of the HTML and JavaScript environments within Adobe AIR, and explore how these technologies can be leveraged in both Flash / Flex and HTML / JavaScript-based applications. JavaScript and ActionScript script bridging will be covered, as well as how to use AIR, Flash Player and ActionScript Library APIs directly from JavaScript.
Na segunda parte da apresentação, o Kevin está a debater o tema – “O que é melhor para desenvolvimento AIR – Flash/Flex ou HTML/JavaScript ?”
Eis a resposta…vamos misturar ambas tecnologias dentro da mesma aplicação AIR.
Através da Classe ExternalInterface é possível executar métodos JavaScript através do ActionScript; e através da API do AIR para JavaScript é possível aceder em runtime aos métodos que estão disponíveis dentro do FlashPlayer.
“Fantabulástico”
12:35 – Serge Jespers
Packaging, deploying and updating your application are probably the most important basics you’ll need to know about. Serge will show you how to use Flex Builder 3 and the command line tools to sign and package your application, how to use the install badge, create custom install badges and how to keep your application up to date.
O Serge está a demonstrar como se poderão criar “badges” para os ficheiros de instalação de uma aplicação AIR…e abriu o Photoshop. A “maltinha” do código ficou logo em pânico! Ahahah…
E voltamos ao código para a parte do “Keep it updated”…aceder a versão da aplicação que está instalada, comparar com a versão que está no servidor, e actualizar…confuso? Nahh…até é bastante simples…um misto de XML com E4X com a Classe Updater e mais umas quantas linhas de “code” e voilá!!
13:00 – Lunch
13:45 – Daniel Dura
Receive an overview of the new APIs that Adobe AIR makes available to applications. Both ActionScript and JavaScript examples will be shown.
Daniel esta a demonstrar alguns API’s do AIR:
- Window API
Controlar as janelas da aplicação AIR – “Normal”, “Utility”, “Lightweight” e “Transparent”
- File I/O
Criar, controlar e apagar ficheiros…que curtido, o Daniel demonstrou como se consegue ir buscar o icone de um tipo de ficheiro para se utilizar no “nosso” icone.
- Database Support
SQLite embedded na aplicação AIR…ou seja, temos automaticamente acesso a uma BD sem termos de instalar qualquer “Database Server”. Muito interessante…
- Drag and Drop / Clipboard
Arrastar objectos entre aplicações AIR, OS e AIR, AIR e OS, e Desktop e AIR.
- Application Icons
Alterar icones em runtime, entre outras coisas.
- Service Monitoring (Online/Offline)
Detectar se estamos “online” ou “offline”. De acordo com o estado, a aplicação pode proceder de acordo…muito bom, trabalhar assincronamente !
- Encrypted Local Store
Guardar informação encriptada localmente.
- Dock Notifications
- Idle Notification
Detectar se o utilizador está “idle”, ou seja, se está a algum tempo sem mexer no rato e no teclado.
Todos os exemplos estarão disponíveis no blog do Daniel – aqui.
14:15 – Enrique Duvós
The need to optimize data handling and transfers in RIAs has become increasingly important in Enterprise applications. During this session Enrique will take a look at how the combination of Adobe AIR’s offline local caches via SQLite, and its native connectivity to Adobe Livecycle Data Services data management services, gives developers a powerful framework to deliver data intensive RIAs outside the browser. This session will be presented in Spanish.
Wow….BlazeDS e LiveCycle… Enrique está a falar para os “geeks” mais “geeks” !!
Muito giro, muito potente….muito dificil !
Podem ver os slides do Enrique no blog – aqui.
14:45 – Coffee Break
15:05 – 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.
Ui…mas o que é isto? O Chris é um Software Engineer da equipa que desenvolve o AIR…ou seja, não o conhece por o usar, mas porque o fez !
O objectivo da apresentação é se conseguir aceder às propriedades dos Menus, criar novos Menus, SubMenus, sempre recorrendo a JavaScript.
Bem, consegue-se perceber a diferença de um “Evangelist” para um “Software Engineer”… a malta está um bocado para baixo…
15:35 – Andre Charland
Learn how to leverage JavaScript libraries and Frameworks to build HTML and JavaScript-based AIR applications.
Co-founder da empresa canadiana Nitobi, estão especializados em desenvolvimento de aplicações em AJAX…e o gajo faz ski como o raio !!
O Andre começo por questionar “Why AJAX in AIR?”:
- Code Reuse
- Skills Reuse
- HTML is Really good at some things
- Maintain UI patterns
- JavaScript is growing
Wow…existem imensos frameworks de AJAX para Air…e já existem algumas RIA’s interessantes por ai fora, como o “MooTools”, e a aplicação “Snitter” também é toda feita em AJAX. (“Snitter” é uma aplicação AIR para o “Twitter”).
A apresentação do Andre é tudo menos técnica…mais virada para o potencial da utilização do AJAX em AIR, o que já se faz, qual o caminho do futuro … muito inspirador!
Boa apresentação para “convencer malta”
16:10 – Coffee Break
16:30 – Lee Brimelow
Join Lee Brimelow as he shares his experiences developing a wide range of AIR projects, from simple widgets to larger applications that enable users to interact with software on a more intimate level on the desktop. Lots of prototypes and code will be shown to help get you up to speed with AIR development.
Ok, vou confessar…vim de propósito a Madrid para ouvir e conhecer este tipo.
O Lee começa por dizer que ainda é dos poucos resistentes que utiliza o Flash IDE para programar ActionScript. (Yeah dude, já somos 3 – Lee, eu e o João Gonçalves!!)
“AIR Conditioning” é o nome da apresentação do Lee – igual à apresentação do FITC em Amesterdão.
Começa por falar nas “Native Windows”: tipos de janelas, como manipula-las, como adicionar informação e trabalhar com eventos. Em suma, dentro de uma “Native Window” funciona como se fosse um “Stage” do Flash.
E segue para os “Native Menus”…é interessante saber que o “context menu” do Flash Player não existe nas aplicações AIR, ou seja, só se se programar um menu contextual é que surgirá qualquer coisa após o click com o botão direito do rato. É interessante saber que é necessário fazer um pouco de “Cross Platform” para o Windows e o Mac.
O mesmo acontece com o “System Menu Tasks”, que só se encontra no Windows.
Para demonstrar o modo como controlar os eventos dos menus, o Lee brinca com a questão “Quando é que o Flash Player corre no iPhone?” … eheheh, risada geral na plateia.
Já tinha conhecimento da apresentação, mas mesmo assim é muito interessante.
Podem aceder aos ficheiros da apresentação aqui.
17:15 – Networking / Gaming / Q & A / Food and Drinks
Grab a drink and a bite to eat, and chat with speakers and other developers interested in developing with Adobe AIR.
E chegámos ao final do “onAIR Tour – Madrid”…o saldo para já é excelente…vou necessitar de saborear e meditar um pouco mais sobre o que vi e ouvi … mas não agora, porque vou à procura do Ryan Stewart para uma “beer”.
Hasta luego em Portugal (apartir das 23h30 hora ‘tuga).
É oficial, sou um ACE …
Mar 29th
Na passada 5feira fui fazer os exames de certificação de Flash CS3 e Dreamweaver CS3 … foi um dia longo, com o exame de Flash de manha e depois de almoço o de Dreamweaver.
Digamos que o de Flash correu melhor com 2/3 das questões focadas em ActionScript3 e OOP…o de Dreamweaver, bem…sem muitos comentários… (em surdina posso dizer que ainda andam por lá questões do tempo da carochinha e que profissionalmente já não se utilizam aquelas técnicas…hello? Alguém manda um mail a Adobe?)
Eis os resultados:

LINQ para PHP
Mar 21st
A linguagem C# no FrameWork .NET 3.5 contem um componente designado por LINQ – Language INtegrated Query.
Esse componente permite efectuar queries (pesquisas) num grande leque de Dados: SQL Server, Arrays, XML, Strings, …
Em Antuérpia, um jovem Software Engineer com 21 anos especializado em .NET(C#) e PHP, de seu nome Maarten Balliauw , lembrou-se que seria porreiro criar um Package em PHP que permitisse o mesmo efeito…e nasce o PHPLinq.
Segundo o próprio, existem alguns “perigos” na utilização do PHPLinq:
-
Viciação na simplicidade da coisa;
-
Nunca mais se efectuar queries “tradicionalmente”
Um pequeno exemplo de uma query a uma array por nomes com tamanho inferior a 5 caracteres:
// Create data source
$names = array(“John”, “Peter”, “Joe”, “Patrick”, “Donald”, “Eric”);
// Query
$result = from(‘$name’)->in($names)
->where(‘$name => strlen($name) < 5′)
->select(‘$name’);
Podem efectuar o download do Package aqui, local onde poderão também encontrar um variado número de exemplos.
De facto nunca mais irei programar um ciclo para procurar algo em PHP !!
João Garcia no MAKALU (8463m)
Mar 21st
O nosso alpinista mais famoso continua no seu projecto de vida – “À conquista dos Picos do Mundo”, com a expedição ao Makalu (8463m) a decorrer de 25 de Março a 6 de Junho.
A montanha Makalu situa-se na fronteira do Tibete com o Nepal e é a quinta montanha mais alta do Mundo. Com uma forma piramidal de quatro faces, Makalu é uma montanha isolada, considerada uma das mais difíceis de escalar devido as suas arestas altamente afiadas e expostas aos elementos, e à secção de escalada técnica em rocha durante a fase de “ataque ao cume”.

A primeira ascensão realizou-se em 1955 por dois franceses – Lionel Terray e Jean Couzy, e mantem-se a única montanha do Tibete/Nepal que ainda não foi escalada em Invernal.
Será o 10º “oito mil” do João Garcia…boa sorte e bom regresso!
“Vaporware”
Mar 21st
Em mais uma ronda pelos blogs, desta feita em temas centrados em “Flash Gaming” (criação de jogos com Flash), e deparei-me com um post interessantíssimo do Emanuele Feronato, sobre “Vaporware”.
“O quê ?”
“Vaporware” é a designação de um qualquer projecto que foi anunciado ao público muito antes da sua publicação…e depois nunca chega a ver a luz do dia.
Também eu tenho alguns “Vaporwares”:
“Ragnar’s Revenge” – jogo de acção passado no periodo Viking
“Haunted Mansion” – RPG passado dentro de uma mansão assombrada
…e mais alguns projectos “literários”…
O Emanuele lança as questões:
- Como se pode tentar eliminar esse “mal”?
- Quais as razões para um projecto se transformar em “Vaporware”?
Haverá por ai mais alguém afectado por este mal?
Adobe eSeminars – Web Developer Week 2008
Mar 20th
A Adobe costuma realizar alguns seminários online divididos pelas 3 áreas – Creative Professionals, Web Professionals, Digital Imaging.
Para aceder e participar só terá de ter o Flash Player instalado e inscrever-se nas sessões pretendidas. Caso falhe, não há qualquer problema pois a Adobe providencia gravações desses mesmos seminários.
O destaque centra-se na semana de 24 a 28 de Março, dedicada ao Desenvolvimento Web:
Segunda
Extending Web to the Desktop with AIR
Segunda, 24 de Março – 16:00 às 17:00
Getting Started with Flash Lite 3 and CS3
Segunda, 24 de Março – 18:00 às 19:00
What’s New in ColdFusion 8
Segunda, 24 de Março – 20:00 às 21:00
Building Rich Internet Applications with Flex 3
Segunda, 24 de Março – 23:00 às 00:00
Terça
Introduction to Adobe Blaze DS
Terça, 25 de Março – 16:00 às 17:00
Integrating Salesforce.com and Flex
Terça, 25 de Março – 18:00 às 19:00
Building AIR Applications with Flash CS3
Terça, 25 de Março – 20:00 às 21:00
Dreamweaver: Effective Standards-based Workflows for Ajax
Terça, 25 de Março – 23:00 às 00:00
Quarta
Adobe AIR Local Data Storage Options With Emphasis on Using Embedded SQL Databases
Quarta, 26 de Março – 16:00 às 17:00
Flash Lite and Flex for Tourism
Quarta, 26 de Março – 18:00 às 19:00
ColdFusion Powered Rich Applications for the Internet and Desktop
Quarta, 26 de Março – 20:00 às 21:00
Flex and Java – Tying the Knot!
Quarta, 26 de Março – 23:00 às 00:00
Quinta
Flex Data Services
Quinta, 27 de Março – 16:00 às 17:00
Adding Live Chat with ColdFusion & Adobe Blaze DS
Quinta, 27 de Março – 18:00 às 19:00
Blood from a Stone: Flash Game Optimization on Low-end mobile devices
Quinta, 27 de Março – 20:00 às 21:00
Flex Visual Data & Charting
Quinta, 27 de Março – 23:00 às 00:00
Sexta
The Essential Guide to Dreamweaver CS3 with CSS, Ajax, and PHP
Sexta, 28 de Março – 16:00 às 17:00
ILOG Elixir: Your Remedy for Vibrant Data Visualization
Sexta, 28 de Março – 18:00 às 19:00
AIR Native Drag and Drop
Sexta, 28 de Março – 20:00 às 21:00
Flex Architecture
Sexta, 28 de Março – 23:00 às 00:00
Para se inscreverem deverão de aceder ao site da Adobe.
Os horários foram convertidos de US/Pacific para GMT pelo João Saleiro do RIAPT.
Seminário de Usabilidade 2008: 25 de Março às 15h
Mar 20th
Encontrei um anúncio no RIAPT, “postado” pelo João Saleiro sobre um evento que me parece interessante – Usabilidade !!
Passo a transcrever o post do João:
”Realiza-se no próximo dia 25 de Março às 15h o Seminário de Usabilidade 2008, o evento anual da Associação Portuguesa de Profissionais de Usabilidade (APPU).
Programa:
- Desenvolvimento de Aplicações Educativas para Jovens (Francisco Rebelo)
- Usabilidade e Acessibilidade dos Museus Online (Ivo Gomes)
- Implementação da Usabilidade num Processo de Qualidade (Pedro Custódio)
- Usabilidade de Aplicações Móveis (Bruno Figueiredo)
- Métodos de Desenvolvimento Ágil (João Martins)
- Painel: Aplicações em Mobilidade
O Seminário realizar-se à no Auditório da Microsoft, no TagusPark, em Oeiras e é de entrada livre . No entanto, a sala tem uma capacidade limitada, pelo que será necessário efectuar uma inscrição enviando um e-mail com nome e contacto para info@usabilidade.org.
Local e Transportes:
Auditório da Microsoft
Edifício Qualidade, C1 – C2
Av. Prof. Doutor Aníbal Cavaco Silva
Tagus Park, Porto Salvo, Oeiras
Para quem tenha dificuldades em deslocar-se para o local do evento, a APPU vai mediar uma lista de procura e oferta de transporte individual. Basta enviar uma mensagem para info@usabilidade.org e indicar se se trata de procura ou oferta e o local de partida.
Mais informações: www.usabilidade.org”
Silverlight2.0 Beta – apresentado no MIX 2008
Mar 15th
Na semana passada durante o Microsoft MIX 2008 em Las Vegas foi anunciado a nova versão do Silverlight, que está disponível em versão BETA.
Uma pequena comparação nos “features” das duas versões:
| Features | Silverlight 1.0 | Silverlight 2 Beta 1 |
| 2D Vector Animation/Graphics | ![]() |
![]() |
| AJAX Support | ![]() |
![]() |
| Cross-Browser (Firefox, IE, Safari) | ![]() |
![]() |
| Cross-Platform (Windows, Mac) | ![]() |
![]() |
| Framework Languages (Visual Basic, Visual C#, IronRuby, Ironpython) |
- | ![]() |
| HTML DOM Integration | ![]() |
![]() |
| HTTP Networking | ![]() |
![]() |
| Isolated Storage | - | ![]() |
| JavaScript Support | ![]() |
![]() |
| JSON, REST, SOAP/WS-*, POX, and RSS Web Services (as well as support for Sockets) | - | ![]() |
| Cross Domain Network Access | - | ![]() |
| LINQ to Objects | - | ![]() |
| Canvas Layout Support | ![]() |
![]() |
| StackPanel, Grid and Panel Layout Support | - | ![]() |
| Managed Control Framework | - | ![]() |
| Full suite of Controls (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox, and others) | - | ![]() |
| Deep Zoom Technology | - | ![]() |
| Managed HTML Bridge | - | ![]() |
| Managed Exception Handling | - | ![]() |
| Media – Content Protection | - | ![]() |
| Media – 720P High Definition (HD) Video | ![]() |
![]() |
| Media – Audio/Video Support (VC-1, WMV, WMA, MP3) |
![]() |
![]() |
| Media – Image Support (JPG, PNG) | ![]() |
![]() |
| Media Markers | ![]() |
![]() |
| Rich Core Framework (e.g. Generics, collections) |
- | ![]() |
| Security Enforcement | - | ![]() |
| Silverlight ASP.NET Controls (asp:media, asp:xaml) |
![]() |
![]() |
| Type Safety Verification | - | ![]() |
| Windows Meda Server Support | ![]() |
![]() |
| XAML Parser (based on WPF) | ![]() |
![]() |
| XMLReader/Writer | - | ![]() |
from http://www.silverlight.net
De todas as novas “features”, o que chama mais a atenção:
- Inclusão de uma versão “cross-browser” e “cross-platform” do framework .NET, o que permitirá programar em todo o leque .NET (VisualBasic, C#, JavaScript, IronPython e IronRuby) ;
- “Rich Networking Support” para interligação com WebServices, Sockets, HTTP e RSS;
- “Rich Controls” (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox …) para que se possam criar ambientes de aplicações sem ter de se desenhar todos os controlos;
- “Rich Base Class Library” (collections, IO, generics, threading, globalization, XML, local storage …)
A tecnologia “Deep Zoom” que apresentaram suscitou-me alguma curiosidade, pois permite efectuarmos zoom contínuo a uma imagem visualizando sempre com qualidade superior, permitindo a montagem de imagens dentro de imagens…
No TechDays tive hipótese de ver o Robertjan Tuit a demonstrar como se compõem essas imagens, utilizando o software “Microsoft SeaDragon”, e qual não foi o meu espanto quando esse software faz uma “corte e costura” da imagem em múltiplas pequenas imagens. Segundo o Robertjan, o acrescimo de tamanho será sensivelmente de 30%, ou seja, uma imagem com 1Mb ficará disponivel para a tecnologia DeepZoom com cerca de 1.3Mb.
E aqui surgiu-me alguma desilusão pois esperava algo mais “sofisticado”, como o servidor processar a área de Zoom e “on the Fly” enviar um JPG compilado desses pixeis…enfim, não se pode ter tudo.
Estas inclusões não exigem que o framework .NET esteja instalado nos PC’s de “deployment”, pois o próprio plug-in do Silverlight irá trazer um “core” .NET só com o necessário, assim o plug-in está com cerca de 4.3Mb de tamanho.
A aposta da Microsoft centra-se claramente no número de programadores .NET que existem pelo Mundo fora, e em relação à penetração do plug-in, fala-se pela Web que poderá ser disponibilizado num qualquer update do Internet Explorer automaticamente.
Vamos aguardar !
3º dia do Microsoft Techdays … dedicado ao Silverlight
Mar 1st
Irá decorrer nos dias 11 a 14 de Março o Microsoft Techdays. Local escolhido para o evento, Centro de Congressos de Lisboa (antiga FIL).
O 3º dia do evento (dia 13) será dedicado ao Microsoft Expression e ao Microsoft Silverlight:
11:15 – “Design@Microsoft” (Carrie Longson,UK)
“Junte-se a Carrie Longson numa sessão onde serão apresentadas vários demos de WPF e Silverlight que ilustram muitas das capacidades destas novas tecnologias. Para além de falarmos acerca do ciclo de vida associado a cada um destes tipos de aplicações, serão ainda apresentadas as razões que justificam o investimento nestas tecnologias.”
13:30 – “Designers Chalk-Talk” (Carrie Longson,UK; Nuno Costa, PT)
“Sessão ‘Mesa Redonda’ com Carrie Longson e Nuno Costa.”
15:15 – “Silverlight 2.0: Part 1/2 – The introduction” (Robertjan Tuit, NL)
“This session will introduce Silverlight 2.0. Everything fresh from Mix.“
17:00 – “Silverlight 2.0: Part 2/2 – Putting it to work” (Robertjan Tuit, NL)
“Using a demos like a Vegas style multiplayer poker game we will dig a little deeper into all the new features Silverlight 2.0 has to offer.“
Espero vos encontrar por lá…


