New RTMPe content protection white paper

A new white paper is available on the Adobe Developer Center describing the characteristics and best practices for RTMPe protection for Flash Media. RTMPe is very scalable, popular and easy to deploy protocol-based content protection for Flash streaming. Furthermore the white paper compares RTMPe to file based protection with the Flash Media Rights Management Server (FMRMS).

Flash Builder 4 Tutorial 2: RESTful Services

Many things have changed in Flex 4 and with the new Flash Builder 4 Beta, you can already start trying these out. This little tutorial will walk you through a simple FB4 HTTP Service example to explain the differences. If you want to do this, download the Flash Builder 4 Beta.

First – there are multiple new namespaces in Flash Builder 4. These appear to be confusing at first but you should not be scared by them.

Fx is for the Flash Catalyst packages and contains some new drawing primitives and more. Some of the old namespace qualified elements are now qualified including Script.

Flex defines two other sets of components: Halo and Spark. The Halo component sets were included in previous releases of Flex, and are defined in the mx.* packages. The Spark components are new for Flex 4 and are defined in the spark.* packages. The Spark components use a new architecture for skinning and have other advantages over the Halo components.

The Halo and Spark component sets contain many of the same components. For example, both component sets define a Button control, TextInput control, and List control. However, while you can use Halo components to perform most of the same actions that you can perform by using the Spark components, Adobe recommends that you use the Spark containers when possible.

Another major change is that many non-visual components of an application must be bound by the element. You might notice if you are trying to declare an HTTP service, the will not auto-complete unless bound by the declarations tag. If you want to manually build this project, you can add an HTTPService like this:

A third thing you will see is that the layouts are no longer contained in the header. Instead, they are declared inside a container as shown below:



Here is the Project:

1. Start a new project in Flash Builder 4. Select no server type and either option for the AIR/Flash toggle.

2. Grab a browser and you should be able to validate the servers are up and running by hitting the following URL: http://www.nickull.net/xml/Wines.xml You should see the following XML file:

Note 1: In order for this to work, a small file called crossdomain.xml is in the same directory as the Wines.xml on the server. This file helps Flash Player mitigate cross domain scripting attacks. Describing what this file does is beyond the scope of this tutorial, however more can be read at http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001621.html

Note 2: All the wines on this list are favorites and make great gifts for Adobe Evangelists who post tutorials to help you with your work ;-p

3. Copy the URL (Command -C on Mac or Control-C on PC)

4. At the bottom of the Flash Builder IDE, click on the Connect to Data Services link shown below.

5. This will bring up a dialog box with a number of choices for services. Select the HTTPService option as shown below:

6. Click “Next” and then fill in the next screen by adding the name of the service (“srv” in this case) and add the URL.

7. After completing this operation by clicking “Finish”, you will see the data services in the panel at the bottom.

8. Next we need to add an object to bind our data to. Switch to Design view and drag a DataGrid onto the middle of your application. If you manually add it in Code view, just start typing the angle bracket and “datagrid” and let Flash Builder complete this for you.

9. Highlight the DataGrid, then right-click (Control Click on Mac) the DataGrid object and select Bind To Data from the men
u as shown below:

10. This will bring up the “Bind to Data” dialog box. Click on “Configure Return Type” to configure the datatype for the returned object.

11. The next dialog will prompt you for a datatype. NOTE: on other projects, you might wish to use one of the default data types; however on this one, we are going to create our own object type called “WinesArray” as shown below.

12. Click “Next”

13. The next dialog will invoke the service request to get a sample of the data to inspect. For this lab exercise, select the radio button labeled “Enter complete URL …” and enter the URL of the XML file in the “URL to fetch” box below and click “Next”.

14. Flash Builder will go to the URL, retrieve a sample of data, and break down its structure for you. In this case, it has selected that it may be an array. Rather than accept the first option as is, use the drop down list to select a context root of “Vintage” as shown below.

15. Now you will have the following

16. Click “Finish”

17. Close the last dialog by clicking “OK”

18. Your project should now reflect the DataGrid being bound to the data as shown below:


19. Run the project and you Flex 4/AIR application will build and display the XML from the server.

Free Flex Builder 3 for Unemployed Developers

Even though there are some signs of economic recovery, the job market continues to get worse. With the offer of free Flex Builder 3, we’d like to make it easier for unemployed developers to add Flex skills to their skill set, which even now remains in high demand. For details and to apply for the program, please visit https://freeriatools.adobe.com/learnflex/

New Fireworks CS4-Flash Catalyst Integration

fw_logo_125x125If you’re a Fireworks user you’ll be happy to know that the team has been hard at work improving the FXG export feature so you can more easily take your designs from Fireworks and use them in Flash Catalyst. The new script is available over on Adobe Labs and includes a ton of fixes to the old FXG script as well as some new functionality based on a more finalized FXG specification:

  • lineHeight for Text element was always exported as %, now its exported based on value selected in Fireworks ( % or exact)
  • Tab indention was not correct for elements which were exported as bitmaps
  • Exporting invisible bitmap elements caused script error
  • Updated Rectangle primitive object to export transformation matrix and roundness value.
  • Modified / Added Application Private Data for all elements (d:userLabel , d:type etc)
  • Exporting effects applied on Groups and Symbols

So fear not Fireworks users, Flash Catalyst may not have native file format import for you, but you’ll still be able to use the tool you know and love and bring those designs easily into Flash Catalyst with the “Open from FXG” feature.

LiveCycle DS 3 beta integrates with Flash Builder 4

lc-ds_128.png

The beta version of Adobe LiveCycle Data Services 3 delivers many new features and improvements. One particularly exciting feature is a new technology, code named Fiber, which enables Flex developers to use a model-driven development approach for faster and easier data-driven application development. With Fiber, data management is implicitly supported and does not require developers to create custom assemblers or employ complicated LiveCycle Data Services specific configurations. And as part of Flash Builder 4 beta, Flex developers can easily create a fiber Model to simplify development and enhance productivity of data-driven Flex applications.

For an overview of the features included in the next release, view the Getting Started videos or read Anil Channappa’s What’s New in LiveCycle Data Services 3.

Flash Player to take over “Mobile” gaming?

I just saw an interesting post over on Twitter that talks about how Flash will take over the mobile gaming space.  Paolo Munoz suggests that with our current position for gaming on the web, that Flash on devices should become a natural progression for the platform.

There are some interesting points, some of which are good like the Facebook applications/games strategy.  Yet some points are assumptions and not well understood, and so that’s something that I’ll explain here.  This post is not meant as a criticism in any way of Paolo, but more an exploration of the fact/fiction.

Flash on Smartphones

While the delivery of Flash Player 10 to (high end) smartphones will undoubtedly be a great boon for those working with AS3, but it’s not a panacea for development.  You will absolutely have to purchase hardware for the last mile of development, you will have to deal with new interaction paradigms, and you will be working within performance limits.

Device support will initially be very limited, maybe two or three devices and running only in the browser.  Flash Lite 3 will continue to be the mainstay on shipping devices for around 1 year from my own projections.  The Open Screen Project however enables us to drive the adoption of the latest player, where possible, within a much shorter period of time.

We’ll see betas later in the year by leading OEMs, but it is unlikely that these will be for consumers, it’s a bit of an unknown.

Flash and GPUs

In this section Paolo picks out the fact that performance has always been a key concern for the community.  That’s exactly why Flash Lite has a different memory management model and rendering capabilities, it’s a demonstration of just how different things are on mobile and devices.

In the past year we’ve seen devices with extremely high resolution screens, high end processors to drive them, huge amounts of memory and OpenGL ES/OpenVG hardware.  They are very expensive and typically available in major markets in low/medium volume.  It’s not a huge issue in reality, but to reach users you’ll need to get smart on your targets and markets.

Ok so the use of hardware acceleration for Flash Player is first and foremost to gain “acceptable performance” in line with Flash Lite’s capabilities on these devices.  We’ll be doing our best to ensure that everything is available, but everyone must understand that some devices will just not be capable.

Filters and other high requirement features may not be supported in hardware, in fact the hardware may not be there :-)   In these situations there will be a fallback, but you’ll need to get smart on what they are, how they work, and what to do about it just in case.

We’ll be here to help obviously but to bang the drum again, get working with Flash Lite now to understand the complexities.

Join me in San Jose Aug 19th and explore Adobe LiveCycle and the Flash Platform

If you are near San Jose, CA and are curious about the Adobe Flash Platform and/or Adobe LiveCycle, please join me Wednesday, August 19th at Adobe Corporate Headquarters for a 5 hour demo-filled, action-packed free event. It’s a great opportunity to get introduced to what Adobe has going on in both client-side and server-side [...]

Integrating PayPal Express Checkout with AIR and Flex

This article continues the series about integrating Flex and AIR with payment gateway services. Parts of this article are very similar with the other posts about this subject:
Integrating PayPal Express Checkout with Flex(which I recommend reading before this article),Using Amazon Flexible Payment System with Flex and Using Amazon [...]