Recently in Flex Category

Where's the LCDS Love?

| 6 Comments
Why do you think that many enterprise Flex developers don't use LiveCycle Data Services?

LCDS.jpg
Someone recently asked me why I thought the take-up of LiveCycle Data Services among developers isn't more, um enthusiastic. Unlike almost any other development tool I've used, I don't recall hearing anyone complaining about the level of functionality offered by LCDS. That's certainly to the credit of the product managers and development team at Adobe, but exactly why isn't such a powerful tool more popular in the developer community?

It's certainly a difficult question and I wouldn't dare profess to have a definitive answer. I've therefore decided to share my thoughts while humbly asking for yours. You never know, maybe someone at Adobe will read this and take note.

Keep in mind that all I have to go on are conversations with developers and from reading blogs, so definitely consider these musings "non-scientific" and loaded with lots of hyperbole (the spice that makes blogging fun).

Flex, Flash and Spock... What's Not To Love at MAX 2010?

| No Comments
Whether you're a waiter who dreams of being an actor, a trekker on a lifelong pilgrimage to meet your Vulcan mentor or are an avid Flash or Flex developer, there's only one place to be next week: Adobe MAX 2010 in sunny Los Angeles, California.

I will be attending  Adobe MAX for the first time, this year. Needless to say, I'm very excited and grateful to my employer, 4Point, for sending me on their dime (I surely could never afford it). I've registered for the most interesting sessions I can though my sense is that I'll be missing more than I'll be taking in. Hopefully they'll be recording all of the sessions so that I can catch up on what I missed later. One thing I won't miss will be the MAX Awards, since  Leonard Nemoy (heard of him?) is presenting. The geeks will be swooning in ecstasy, no doubt.

To maximize the amount of information I can jam into my sleep-deprived brain, I intend to squeeze in as many 360Flex and FITC "Un-Conference" sessions as possible. Hopefully the rooms will be close enough together to skip quickly from one session to another so I can miss as little as possible.

Since I'll most likely be on my own most of the time, feel free to drop me a line so we can meet up. I'm getting there near noon on Sunday and will have most of the afternoon free. I'm flying back out on Thursday morning.

Hope to see you there! (Cross-posted at riagrande.com)

See You In The Re-Runs: Adobe Dev. Week Sessions Now Online

| No Comments
Once Burned, Twice Shy. If you missed Adobe Developer Week (I did), not all is lost.

If you wanted to get a second chance at attending one of the many free sessions given by Flash Platform experts during Adobe Developer week, you're in luck. Adobe has posted all 19 sessions online, for free. Since they all run at roughly one hour each, you'd better get cracking, my friend.

The available sessions are:

    • Welcome and introduction to the Adobe Flash Platform
    • Building multi-screen applications with the Adobe Flash Platform and Adobe Creative Suite 5
    • New features in Adobe Flex 4 framework
    • New features in Adobe Flash Builder 4
    • Adobe Flash Catalyst CS5 for developers
    • Building mobile applications: Create a game
    • What's new in Adobe Flash Builder for Java developers
    • New features in Adobe Flash Player 10.1
    • Creating sexy applications with the Adobe Flash Platform: Designer-developer workflow
    • A basic CRUD application with Zend AMF and Adobe Flex 4
    • Adobe Flash Builder 4 and Adobe ColdFusion 9
    • Advanced features in Adobe Flex
    • ActionScript 3 for Java developers
    • Adobe Flash Platform and Salesforce.com
    • What's new in Adobe Flash Builder for PHP developers
    • Using advanced features with Adobe Flex and PHP
    • Adobe ColdFusion 9 and Adobe Flash Catalyst CS5
    • Adobe Flex and BlazeDS integration with SpringSource
    • Building desktop applications with Adobe AIR 2

What the heck are you waiting for? Click here and go straight to the videos. Sheesh!

Tilde Console Gets Free Plug on The Flex Show

| No Comments
Thumbnail image for Tilde.png
When you get mentioned on the premiere Flex-related podcast, you know you've finally arrived.

Episode 115 of The Flex Show podcast is primarily an interview with Nate Beck and Ben Garney, key members of the pure Actionscript (but wholly Flex friendlyPushButton games engine project. When asked how PushButton can be used in non-gaming Flex applications, among other things, Nate mentioned how I forked off the Console part of the engine for use in any Flex application. It was a very kind thing to do, even though he almost forgot my name ;)

Much thanks to Nate for giving Tilde a mention and to Ben for coding up a clever, elegant and blazingly fast text rendering solution for the console as only an experienced über low-level C++/Actionscript games developer could.

So now that the word about Tilde is finally getting out, I'd love to hear from someone out there who's tried it, is using it, loves it or hates it. I use the console extensively in my own development and it has proven itself invaluable... hopefully someone else out there will agree.

Related links:
    • You can listen to the podcast here.
    • If you haven't checked it out yet, the source code for the Tilde Developer Console can be found here.
    • To see what it all looks like, check out the Tilde demo app here. (Hint: after you've clicked the button to start up logging, hit the tilde key (i.e. "~") to display the console.)

Try It Out: Tilde Developer Console Demo

| No Comments
Seeing is believing so try out the Tilde Console with this simple demo application.

The Tilde Developer Console was launched very late (my time) on Friday. After a weekend spent catching up on my sleep, it's Monday and I'm happy to release the Console testing tool I promised in my original launch post.

Built using the latest version of the library (I checked in a few tweaks to the Console this weekend and tagged v1.1), the tool provides the following functionality:
  • Buttons for submitting log entries at the different severity levels
  • The ability to generate random log message text (in case you don't much like typing)
  • A button for manually starting up the Logger. If you submit log entries before clicking on this button, you will be able to see how deferred log entries are handled.
  • I wired in a custom callback command ("dog") almost identical to the example I provided in the original Tilde launch post.
  • For good measure, I've thrown in the Tilde logo in order to demonstrate the semi-transparent nature of the console.

Click on the image below to launch the demo in a new window. Once you've tried it out, please let me know what you think and check out the source code at the Google code project.

Flex Open Source Project Launch: The Tilde Developer Console

| No Comments
Tilde.png
Flex developers rejoice! Once only reserved for advanced games engines, the tilde-activated developer console has finally arrived to empower Flex coders everywhere.

I am proud to announce the long-delayed release of the Tilde Developer Console open source project into the wild. This Flex library makes powerful development tools from the PushButton Games Engine available to all Flex developers.

[June 21, 2010 - Update: Check out the Tilde Console demo application here.]

I do enterprise Flex RIA development for a living and extracted this powerful tool set for my own use a few months ago after attending Nate Beck's presentation on the aforementioned games engine at 360|Flex 2010 in San Jose, California. The console quickly became one of my most important tools, in particular when saving my bacon multiple times during user acceptance testing for a large, complex project. Because I wrote so little of it myself, I intended to release the source code to the public from the outset but have been altogether too busy to even think about it.

This week, things have started quieting down again (I know, I know... it won't last) so I fetched and merged in the latest code from the PushButton Engine (which contains some very cool new optimizations to the console display) and polished it all up for public consumption. Given how much I've personally benefited from using the console, I'm excited to finally be able to share this with my fellow Flex developers. If I wasn't confident that many of you will appreciate these tools every bit as much as I have, I wouldn't have bothered to create a logo. (Using Inkscape, I might add... a fine, free, open source SVG tool.)

The key tools in this package are:

Developer Console

  • A versatile "tilde-activated" console similar to that found in many 3D games engines (e.g. Unreal, Source, etc.)
  • Tab-based command auto-completion, command history and built-in help
  • Powerful ability to register custom call-back commands at run-time. These are treated identically to the built-in commands.
  • Utility functions for serializing object information to the console
  • Integrated "Hi-ReS! Stats" graph from Mr.doob

Client-Side Trace Logging

  • Statements are logged to both the console and the Flash Player debugging trace.
  • Multiple logging-levels are supported and entries are color-coded by severity in the console. (e.g. DEBUGINFOWARNERROR)
  • Logging verbosity can be set using a simple console command.
  • Deferred logging: even if log statements are sent before a Logger instance is created, they will be stored until one does exist, allowing log entries to be submitted from the moment the application starts.
  • Explicitly turning off logging causes all logging calls to be disregarded so they don't impede application performance. (All pending deferred log calls are also discarded.)

Have Android? Got Froyo? Grab Flash 10.1 Pronto!

| No Comments
Beta Mobile Flash Player 10.1 for Android is finally available in the Android Market. What are you waiting for?

In news that's certain to please my Nexus One-owning younger brother, you can finally download the first public beta of Flash Player 10.1 from the Android Market. The caveats are that you must be running Android OS 2.2 (a.k.a. "Froyo") and have an ARM-8 or better CPU, which currently limits you to one of the Nexus One, Motorola Droid, HTC Incredible and Sprint EVO (this, according to PCMag).

Wait, There's More

If you haven't heard of "Froyo", well it's the next generation of the Android OS. Thanks to the improved Dalvik virtual machine (VM) core and its brand-new support for "just in time" (JIT) compilation, Froyo has been clocked by the good folks at Android Police at 450% faster than its predecessor, Android 2.1 (a.k.a. "Éclair").

(Interestingly enough, "Éclair" isn't just a delicious pastry, it's also the French word for lightning... which now seems like a misnomer. But I digress.)

There are a whole lot of other improvements baked into Froyo, including support for WiFi tethering and the ability to save apps to a miniSD card. Not bad for an OS named after a sweet, delicious frozen dessert.

Grab It Now, If You Can

According to techie-buzz.com, Froyo is available "over-the-air" to Nexus One owners right now and will be coming to Motorola Droid owners in the very near future. Over at the Android developers' blog, Xavier Durochet has just posted the details of what's included in Froyo, some links to new developer tools and the official Android 2.2 "trailer" video. Very cool stuff.

Now you may or may not know this, but 4Point (my employer) is a Google Enterprise partner. In our case, that means that we're authorized to resell and service Google search appliances. I just have to figure out some angle whereby it also entitles me to get my hands on some of this slightly more mobile Google kit.

I'm open to suggestions ;)

Live A Little: Try A Flash Dynamic Desktop Background

| No Comments
Flash, Javascript, an iFrame and a little imagination make for cheap and easy desktop fun.

You know those good ideas you have but put off trying, saying "I'll get to that later"? Well, Windows has long allowed an HTML file to be used as a desktop background and I've been hoping to experiment with this for a few years now. I finally got around to trying it out yesterday and can say that thanks to that thing of beauty we call the "iFrame", I was able to embed any site I cared to, including Flash apps, as my Windows background. It worked so well that I pushed the idea a little further and made a Javascript-driven HTML page that anyone can download and easily use to experiment with this little-known trick.

How It Works

The trick to it all is pretty low-tech and leverages Javascript, a cookie (to save user preferences) and an iFrame. When the HTML page is done loading, I call a Javascript function that injects an iFrame into an empty DIV that fills the screen.

The resulting (run-time) HTML looks a little like this:

[code]
<div id="myFrame">
  <iframe name="dynDesktopFrame" src="http://www.fwaphoto.com"
    width="100%" height="100%" frameborder="0"></iframe>
  </div>
[/code]

The iFrame and CSS style code embedded in the document do the rest: your screen is filled with the page found at whatever URL is set into the iFrame's "src" attribute. This URL isn't hard-coded, but it set using a configurable cookie, so you can dynamically change your Windows wallpaper at will.

Attend A Seminar In Your PJs: Free Adobe Dev. Week "Webinars"

| No Comments
Adobe shows some love to the folks who actually make their technologies relevant: developers.

Admit it: without good "3rd party" developers to make it dance and sing, no platform or technology would ever succeed. That's why Adobe is holding its annual "Developer Week" from May 10-14, 2010, to encourage existing developers to delve deeper into their offerings and to entice novices into the fold. The key part of this event are 20 free web training seminars Adobe is running to cover a gamut of Adobe-related development technologies, from Flash and Flex to Coldfusion.

Yes, they are "Web Seminars" and all you need is a browser, the Flash plug-in and an internet connection to participate. Of course Adobe calls them "Webinars". How very "2.0" of them. <cough>

Bonus: anyone who registers and attends a session is eligible to win a copy of Flash Builder 4 Professional or Creative Suite 5 Web Premium, with one copy of FB4 Pro being awarded per session and 3 copies of CS5 Web Premium being drawn among all attendees.

You can register online right here. Enjoy!

Got Training?

If you missed 360|Flex but would like to get some Flex/Flash developer training for free, you definitely should check this out. All sorts of topics will be covered, from introductory level to  überflashalicious. Besides, admit it: you've never been trained by industry-leading experts while eating munchies in your pajamas before, have you? Now's your chance, so get on it already.

Seminars I think people (by "people" I of course mean "myself") will find particularly interesting are:


Don't Wait, Educate

If you are a student or are currently unemployed/employed outside of the software development field, this is by far your best chance to start building some salable skills for free. Go fetch  a free, legal license to Flash Builder from Adobe and get yourself trained up. I'll see you in the trenches. Kudos to Adobe for making their development tools and experienced trainers available to the next generation of Flash/Flex developers.

Paging Dr. Livecycle

Finally, looking at the seminars on tap, my only real disappointment is that I don't see any Livecycle-related training on tap. As my colleague and friend Kevin would say: "What up?" If Adobe doesn't promote their own flagship enterprise technology to developers, then who the heck will? They should get one of their gurus ( Christophe or Greg, for instance) and spread the word.

As always, I invite your comments. Ciao!

Cross-Compile This: Apple Crosses Street to Kick Adobe

| 6 Comments
Not content to just block the Flash Player, Apple leaves the safe confines of its previous excuses to ban cross-compiled Actionscript from iPhones.

As reported all over the Flash platform blogosphere, Apple has just changed their iPhone Developer Program License Agreement which applies to all iDevices (i.e. iPhone/iPod/iPad). This change, which targets any code not originally written in an Apple-approved language has effectively killed the idea of cross-compiled Actionscript making it onto the App Store... smothering Flash CS5's flagship feature in the crib mere days before its release.

That's not what we generally call "playing well with others".

The Smoking Gun

Here is the offending text:

3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++ or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++ and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

(Possibly in case some might try to argue that by being an ECMAScript variant, Actionscript is a form of Javascript, Apple explicitly states that for any Javascript to be acceptable, it has to run in the "iPhone OS WebKit engine". Just goes to prove that when it comes to lawyers, Apple can afford the best, as the Beatles have learned.)

It's My Party (And I'll License You If I Want To)

Here, to add to the many other voices out there, are my thoughts on this whole unfortunate dust-up:

  1. Apple's official defense of blocking Flash on iDevices has been that they are looking out for their consumers by attempting to guarantee a minimal level of consistent performance on what are not very powerful devices. I call this the "It's for the children" defense: as long as the ends are all sunshine and roses, it doesn't matter what underhanded things you are actually doing.
  2. Adobe knew all along that in developing their cross-compiler and threatening Apple's development monopoly, the folks at Apple could easily pants them like this. They were obviously out on a limb, so I assume that the smart folks at Adobe was banking on the idea that Apple wouldn't step outside the safe confines of their previous excuses for blocking Flash. Like the ruthlessly territorial animal that it is, however, Apple chose to bite, not bark. Thus comes to an end the short and tumultuous life of cross-compiled Flash on iPhone. Johnny, we hardly knew ye.
  3. With this malicious licensing change, Apple has gone well beyond the safe confines of their original (arguably) defensible position. They no longer have the cover of saying that the license is meant to protect users. Au contraire. It is very clearly meant to protect Apple's interests. That's fine. I'll gladly defend the profit motive. I just don't think this is a guaranteed long-term win for Apple.
  4. With a ream of powerful Android phones and Tegra II tablets on the way anytime now, Apple is about to face a lot of competition in the smart phone and "iPad" or "touch screen, internet-enabled, not quite a laptop" space. At the vanguard of this assault is Adobe with Flash 10.1 (on Palm, Android and Blackberry) and AIR on Android (surely to be followed by AIR on other mobile OSes).
  5. Granted, Adobe loses this first battle. They invested a lot of money in developing this (open-source-based) iPhone cross-compiler and selling the idea to developers. However, these new non-Apple smartphones and impending tablets are all much more powerful and most likely less expensive than the iPhone and iPad. If both Adobe and we Flash platform developers play our cards right, the technical and functional superiority of this new wave will overcome the iDevices' strengths (i.e. the app store, latte-drinking fanboy base, casual users whose nephew told them that Apple products are always better) and win the war.
  6. The smart thing to do is not for Adobe to kick back at Apple (as some less temperate souls have suggested), but to continue eroding its monopoly. First, stay the course. Second, make a cross-platform, cross-vendor App Store killer. Enough with the multiplicity of App Store clones (e.g. Android Market, Adobe AIR Marketplace, individual carriers' app stores). Come up with a licensing and profit-sharing scheme and band together for the good of you all. Just make sure you give developers a fair shake because they are the key to your success.

The Big Picture On Small Devices

In the end, as developers, ours isn't a battle to get Flash on iPhone, it's to get our code on the most devices possible, making our non-objective-C skills more valuable. If Flash and AIR-enabled devices eventually get the lion's share of the market over iDevices, then we will have won, no matter what Steve "I'm geniuser than you" Jobs and his many lawyers decide.

I always say that no movie really starts until you know who the bad guy is. In this case, Jobs and his buddies have put their money where their mouths are: the iPhone/iPod/iPad space is closed and they own the keys. Frankly, it's nice to get some clarity here rather than second-hand quotes of The Steve Jobs calling Adobe "lazy" or some such other silly thing. 

Now we really know exactly where Jobs and Apple stand: alone. The exact same place you'll find every other kid on the playground who waves his finger at his peers and says "It's my ball and you can't play with it."

That's ok, Stevie. We have our own.


About this Archive

This page is an archive of recent entries in the Flex category.

Flash is the previous category.

Java is the next category.

Find recent content on the main index or look in the archives to find all content.