Flash for Mobile Rocks! HTC Hero is the Future!

As reported by the SFGate: “The HTC Hero opens up a whole world of multimedia content with support for Flash 9, intensifying the spotlight on Apple’s lack of cooperation with Adobe in bringing Flash to the iPhone.”

If I had to hedge my bet on a long term winner for the mobile space, I place my bet on Android. Sorry Apple – you are just pissing off too many developers. Many of the developers in the real world work their behinds off to make awesome apps then they get blacklisted with no explanation. Apple tries to kill open source frameworks like PhoneGap while Android embraces them.

Android now not only challenges iPhone, but blows it away. The newest HTC phone has Flash 9 capability with Flash 10 coming later this year. People can now experience Web content and applications that cannot run on the iPhone. Flash developers can make use of their talent for the Android Mobile O/S. Keeping in mind that about 80 percent of all videos online use Adobe

When I get back to Canada I am going to ditch my 3G and get the HTC Hero.

Outline for MAX: LiveCycle ES for Java Developers

Greg Wilson, Marcel Boucher, and I will be leading a mega lab at Adobe MAX 2009. Special thanks to Scott MacDonald (Adobe) for helping with a ton of preparations on this course too. It was largely his idea.

CAVEAT: This is subject to change–but if so, we would like to change it based on your input here!!

We’d like to post the outline here to get comments back on how we can make this the best course ever for LC ES and Java Developers. Please append any comments or ideas below.

SESSION OUTLINE: LiveCycle ES for Java Developers (3 HOUR MEGA LAB)

Marcel Boucher, Scott MacDonald (Contributor for content), Duane Nickull, Greg Wilson

Audience Assumptions

– This is a lab for Java developers who want to learn how to unlock the full potential of LiveCycle ES.

Note: This is a Bring Your Own Laptop (BYOL)lab. We will prepare a separate set of instructions to provide attendees with prerequisite and instructions to prepare for this lab. It will explain in detail how to install the following software:


o Experience with the Java programming language 1.6 or later.
o Familiarity with XML syntax rules

Software Requirements (needs to be installed – subject to change at last minute but we will tell you)
o Acrobat 9 Pro Extended
o Microsoft .NET 1.1 runtime
o Java JDK 1.6 or later installed with JAVA_HOME and PATH set
o LiveCycle WorkBench must be installed. If Linux/Mac OS X or Unix, VMWare must be installed to run workbench.
o LC ES Server will be addressable via the LAN on a specific IP address.

NOTE: A special virtual session will be scheduled at the MAX facility prior to this BYOL Mega Lab to help attendees ensure they have all the necessary software installed and configured correctly. An instruction video will also be made available a week before the lab.

Session Description

This crash course will enable developers to learn all about Adobe LiveCycle ES. The course is completely hands-on and provides solid insight into how to build, deploy, and aggregate services into automated business processes. At the heart of LiveCycle ES are powerful Java(tm) libraries for manipulating PDF(ISO 32000) documents. These services can also be called remotely from a J2EE environment via EJB or SOAP endpoints. This hands-on lab will show attendees how to consume services to perform operations on documents including how to create and manipulate PDF documents, converting documents, extract XMP metadata, explore PDF/XDP documents, working with forms, SAP system data, and digital signature tasks.


Lab 0: Forward:

Opening – survey audience – learn about them.
– How many have used LC ES before (any version)?
– How many are using current version?
– Find out how much Java experience they have (to adjust mega lab as required on the fly)
LiveCycle ES architecture for those who are not familiar with LC ES (optional – only present if there are those who do not know LC ES or are vague).
What’s new in LC ES (scope to what is relevant to know for this mega lab)
Any housekeeping – launching VMWare images, where to address an instance on network (LAN or WAN).

Lab set up
– location and configuration of *.jars
– Configuration of Eclipse (assuming we use it)
– Importing the Java project with the labs and samples.
– TAs to help anyone with Classpath difficulties or similar

Lab 1: Verifying LC ES is running and logging in.

Objective: Learn how to ensure your LC ES instance is up and running. Log file location, pinging the server, logging in to adminui or workspace.
– Expected duration: 10 minutes

Lab 2: Configuring users via the AdminUI

Objectives: Learn how to ensure a new user has access to programmatically use the LC ES PDFG services. This is done by making the user a PDFG user.
– Expected duration: 10 minutes

Lab 3: Using Java API to make a PDF Document

Objectives: Learn how to make a PDF Document from a Java programming environment by calling up the PDFG Service using SOAP. This is largely hands-on coding. The skeleton of the class will be finished with the connection properties and outline with TODOs. Attendees will code up the solution to this lab, run it, and convert a document to PDF via SOAP.
– Expected duration: 15 minutes

Lab 4: Building, Compiling and Deploying a Server-Side Component

Objectives: Learn how to build a custom server-side component and what it means to deploy it to the server. Attendees will build a new component, compile it, and deploy it to the server.
– Expected duration: 25 minutes

Lab 5: Making a Java Class to call your server side component over EJB

Objectives: Talk to the newly deployed custom component via EJB endpoint. Attendees will code up a new EJB service client class and call their newly deployed component.
– Expected duration: 15 minutes

Lab 6: Adding your custom component to a LiveCycle Process

Objectives: Learn how to include the newly created custom component into a LiveCycle Business Process using workbench. Attendees will also add another service or two to their endpoints and note how the properties dialog align with the Java method signatures (coding without writing code!)
– Expected duration: 15 minutes

Lab 7: Programmatically Starting and stopping your new process

Objectives: Learn how to programmatically start the newly created LC ES process from a Java environment and also query the running processes using the APIs (note – if supported via REST, otherwise, use SOAP).
– Expected duration: 15 minutes

Lab 8: Exporting and re-importing an *.lca Application

Objectives: Learn how to export and re-import a *.lca (note – this is possibly not aligned with the talk title so needs a good thinking).
– Expected duration: 15 minutes

Labs 9-12:

We should prepare 3 more labs that call the LC ES infrastructure in case all attendees get through the first bits before the 3 hour lab is up. Would like to suggest we add the most common calls based on the LC ES quick starts:

– converting a PDF to an XDP (explain what XDP is etc.)
– Importing/Exporting XMP metadata using the Java API
– More Process management (time permitting):
o Searching for/Suspending process instances using the Java API
o Starting suspended process instances using the Java API
o Terminating process instances using the Java API
o Purging process data using the Java API

Relative performance for collision detection techniques in ActionScript 3

If you have read my blog any this week, you have probably noticed that I have been doing some basic research on collision detection within the Flash Player. As part of this, I have put together a simple test suite, showing the performance of a couple of different techniques for checking for collision. This is […]

Strategies for optimizing collision detection with BitmapData.hitTest

Yesterday I blogged about how you can use the BitmapData.hitTest API to do collision detection between the visible parts of multiple DisplayObject instances. This works very well, but as some of the BitmapData APIs can be cpu intensive (particularly new BitmapData and BitmapData.draw) you have to take care to make sure that performance does not […]

Tanki Online

One of my friends told me about some online game called Tanki Online…I’m not a big fan of online multiplayer games but this game is really cool. It’s implemented in Flash with some impressive 3D effects. They released the game for open test and it seems that a lot of people are using it (sometimes […]SHARETHIS.addEntry({ title: “Tanki Online”, url: “http://cornelcreanga.com/2009/06/tanki-online/” });

Using BitmapData.hitTest for Collision Detection

The Flash Player contains a number of APIs for handling collision detection within Flash content. The DisplayObject class contains hitTest and hitTestPoint which can be useful if you need to detect bounding box collisions, or detect collisions between an individual point and bounding boxes or shapes. However, BitmapData also contains a hitTest API, which can check […]

Flash Builder beta serial number extension site is now live

Flash Builder 4 beta extension serial numbers are available for all licensed Flex Builder 3 customers. This includes all commercial and education serial numbers. To request a beta extension serial number, you will need to enter your Flex Builder 3 serial number. Please go to the extension request site to obtain a serial to extend Flash Builder 4 beta.

Using WebORB to connect Flex to .NET and PHP backends

You may have noticed that we’ve been recently adding new samples to Tour de Flex to illustrate various ways to work with backend data from Flex.  I just added some new samples to expand this topic into the worlds of .NET and PHP.   The samples were provided by the guys at MidnightCoders, creators of  […]

BlazeDS and LiveCycle Data Services Samples Galore in Tour de Flex

During the past several weeks, we have been adding new samples in the Flex Data Access category in Tour de Flex.  All of the samples were created by either Christophe Coenraets or Holly Schinsky.  Below is a brief overview of each.
Many of the samples described below utilize BlazeDS or LiveCycle DS.  If you are unfamiliar […]