Canadian Cybertech assists with Clean Technology adoption ranging from software systems architecture, system design and advancement of user experiences/security. We have over 25 years of experience helping companies gather the full and auditable requirements for IT projects to ensure success.
Friday, May 21, 2010
Flash Player 10.1 on Google TV
Read the rest here
Video:
Thursday, May 20, 2010
AIR 2 for Android Public Beta!
By joining this Public Prerelease program, you will have access to a beta version of the AIR SDK with support for Android. Before signing up for this program, there are currently limitations that you should be aware of:
- In this early stage of development, you should be comfortable with using command line tools.
- Flash Professional CS5 now has a new extension that allows developers to publish directly to Android-powered devices. The extension adds a new AIR for Android publish setting that works in the shipping and 30-trial versions of Flash Professional CS5.
- The Flex 4 framework has not yet been optimized for mobile devices; for this prerelease, we recommend building applications using ActionScript only. We're currently working on creating a highly productive, cross-platform solution for mobile development using Flash Builder and Flex, which we expect to be available in public preview by the end of this year.
- You will be able to build and test AIR applications on Android devices, but you will not be able to deploy on the Android Market or share them with end users
- You will be subject to terms of an NDA which allows you to display your application publicly, but you will not be permitted to disclose anything outside of Licensee’s own personal development experiences of a beta Android application(s) using this beta AIR SDK.
If you are interested in joining our Prerelease program, just go here:
http://labs.adobe.com/technologies/air2/android/
I'm going there now!
Wednesday, May 19, 2010
Some more Adobe HTML5 love!
In parallel, Adobe is now offering a new Dreamweaver CS5 HTML5 Extension. This pack brings enhanced capabilities for HTML5 and CSS3 to web designers and developers using Dreamweaver CS5. The update and more information is now available on Adobe at http://bit.ly/DWHTML5.
HTML5 is going to be huge for everyone!
Saturday, May 15, 2010
Seaport Cafe, NYC - a place that really sucks
This place has the worst food you can imagine and a fixed gratuity even though my wife and I waited over 30 minutes to be given menus and another 30 minutes to get our food. But hey - why hurry when the tip is already built into the bill? When the food arrived it was cold and stale. The tomatoes were white (unripe), lettuce wasn't washed and the buns old and frightful. I wish I had check out the Google reviews first as it seems everyone else agrees this is the worst restaurant ever - http://maps.google.com/maps?oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a&um=1&ie=UTF-8&q=seaport+cafe+new+york&fb=1&gl=us&hq=seaport+cafe&hnear=new+york&cid=0,0,12350209958079735554&ei=HuPuS4yhLormswP6gd28Dw&sa=X&oi=local_result&ct=image&resnum=1&ved=0CBMQnwIwAA
The worst part is the complete lack of understanding of the process of waste. Everything came in plastic containers. Here is a photo:

The plates = all plastic, all condiments individually wrapped or in more plastic
Cutlery = all plastic, wrapped in more plastic
Orange juice = served in plastic, plastic lid, straw and wrapper on the straw
The servers are indicative of a society where they are only the second generation in their bloodline to walk upright, some of them probably still have relative who live in caves and trees.
The list goes on an on. Shame on you Seaport Cafe!!!
YOU HAVE BEEN WARNED! STAY AWAY!
Monday, May 03, 2010
Technoracle’s Top-10 reasons for using Flash Builder 4 for Flex 3 Projects.

The top ten reasons are presented in random order (I’m a pretty random guy). Also note that this article does not get in to the compelling reasons why someone would want to use Flex 4 instead of Flex 3. The reality is that many of the developers I have spoken to work on large scale, long term enterprise Flex projects and rewriting them in Flex 4 is not something up for negotiation. If you are one of those, this article caters to you. I could write another ten pages on the beauty of Flex 4 and the new Spark component architecture but I am a lazy Adobe employee and this is probably the only blog post I will write this week. Here is my list.
1. Enhancements to ASDoc integration. By far, my most favorite feature of Flash Builder 4 is the tighter integration with the ASDocs and the enhanced information available during the development process. Any time you hover the cursor over a reference to a component, ASDoc information is available as both a popup menu (can be disabled) or via the ASDocs tab.

This is so powerful for developers for a number of reasons. One is that you instantly have access to the information about that component/class without having to migrate to another screen or window. This includes full inheritance and a plain text description of what it does (brief version). The second is that there are embedded hyperlinks to the documentation of related classes so you can get a feel for whether or not you are using the right component or class. The new addition of information about which language version of the Flex SDK the functionality appeared in as well as which Flash Player and AIR runtimes is also very useful.
2. The ability to use multiple SDKs. As mentioned above, Flash Builder 4 lets you start new projects in Flex 4 but also finish up existing projects in Flex 3 with the aide of all the enhanced developer tooling. Even if you’re just going to do Flex 3 for the short term future, this is the IDE you want to be on.
3. Pair code highlighting. Whenever you hover over a component declaration or named object, Flash Builder highlights all instances of it. This even works across both MXML and AS as shown below.

This one feature alone has saved my sorry developer behind so many times when I’ve made typos.
4. The Network Monitor. This is another one of my favorites and, if you will indulge me, a totally kickass addition to the IDE. As an SOA guy, I spend a lot of my coding time working on remote calls to services. The Flex Builder 3 IDE hid most of the details from the developer making it difficult to debug an application when something went wrong. The Network Monitor gives you the raw messages in both a logical and raw data view. You can easily spot malformed headers, get direct access to SOAP fault messages, and see HTTP, AMF, and raw text results in real time. Below is a typical HTTP request.

And here is the accompanying response.

This tool makes it so easy to debug both simple and complex message exchanges in a variety of protocols.
5. Enhanced Data Centric Development features. My record for setting up a new project, using the Web Service wizard to inspect a WSDL instance, generate the stub code, generate a form for the service call, optimize it, save it, compile and run it is 26 seconds! Do I need to say more? Not really but I will. The Flash Builder team also answered the biggest developer request which was access to the generated code to inspect and modify. For example, here is the generated code for the service call above. Note that the parameters for all the details of the call are clearly spelled out in plain ActionScript for you to inspect.

But wait! That is not all you get. This code is from the super-class. If you want to modify this, there is a sub-class stubbed out with the starter code, which allows you to override permissible operations or functions without messing up the generated code! IMO this is a very cool feature.

6. Fix Code Indentation. OK – this blows the SAP “pretty printer” away. If you are like me, code is art. I see beauty in well written and properly indented code. If you are fine with code that is indented like a drunken lemur had access to a random number generator that controlled lead in spaces on each character, you might not use this feature. If you want to create code that can be displayed in the Louvre, check this feature out. Here is the art-less heathen coding style that multiple quick fixes can create just before the “Correct Indentation” is used.

and here is the work of art that results:

Beauty is in the eye of the developer (since it all gets compiled into a SWF anyways).
7. Fiber Plugin. The Fiber (a code name for a data model driven methodology for development) is one of the coolest client and server-side technologies ever made. When you use the Data Model plugin with Flash Builder 4 and a supported application server like LiveCycle Data Services 3.1 running on JBoss, there is simply nothing better for developing a client with full CRUD capabilities with the Flash Builder 4 IDE. This one feature alone should be the holy grail for many J2EE developers looking to cap a great enterprise application with an awesome GUI written in Flex. Flash Builder 4 gives the developer a “view” into the servers’ data capabilities via HSQLDB running on port 9002 (default).

What is awesome is that these tables can be simply dragged directly into an existing project, which then creates service calls for all major CRUD operations. Generating a graphical user interface is as easy as dragging and dropping a service call onto a datagrid or right-clicking and selecting “Generate Form”. Rather than repeat everything in this blog post, I would direct you to the tutorial posted at
8. Easier FlexPMD Integration. If you are a Flex Developer and have not tried FlexPMD yet, do yourself a huge favor and try it out. FlexPMD is an open source tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices, such as:
* Unused code (functions, variables, constants, etc.)
* Inefficient code (misuse of dynamic filters, heavy constructors, etc.)
* Over-complex code (nested loops, too many conditionals, etc.)
* Over-long code (classes, methods, etc.)
* Incorrect use of the Flex component lifecycle (commit Properties, etc.)
Flex PMD can be easily installed and run on any Flex project to find out how well ( or not ) your coding practices align with industry conventions. Of course my own code generates very few exceptions (if you believe the last sentence I have a bridge to sell you).

9. Automatic Event Handler Generation. One of the top things I get errors with is catching an event and passing an event object to the event handler. Flash Builder 4 has a very cool feature whereby in the code complete, the IDE offers to create an event handler for you automatically.

This now makes me also want a new feature in the future. I would love to have the ability to have this generate the click handler as an ActionScript class inside of one of my packages in my project.
10. Automatic Getter/Setter code generation. This is a feature I haven’t personally used but am looking forward to trying on larger projects. When following enterprise Flex coding practices and conventions related to OO methodologies, developers often find themselves performing the same basic patterns over and over. By automating some of these patterns, developers can free their time from the more mundane programming tasks. When you create a variable in Flash Builder 4, you can right click and select “generate getter/setter” and Flash Builder will build the code for you. Below is the result from such an operation.

Thursday, April 29, 2010
Flash Player Gala preview release!
From the release:
"Gala allows developers to preview Flash Player with hardware acceleration of H.264 video on supported Mac computers equipped with the following GPUs: NVIDIA GeForce 9400M, GeForce 320M or GeForce GT 330M. The hardware acceleration functionality in the Gala preview release of Flash Player is expected to be included in an update following the release of Flash Player 10.1."
Read more or sign up here.
Friday, April 23, 2010
Tutorial: Dynamically Changing PDF form labels
How to add a 2D bar code to your LiveCycle Forms
Thursday, April 22, 2010
Using LiveCycle ES2 on the Cloud
1. Download and install the LiveCycle ES2 trial. You will need the libraries in the SDK folder to complete this exercise - https://www.adobe.com/products/eula/livecycle/es/trial/
2. Get access to a cloud account via the Adobe Enterprise Developer Program - http://www.adobe.com/devnet/aedp/dev_exp/.
Here is the video tutorial:
LiveCycle Services Discovery Plug-in for Flash Builder 4 is another component you may wish to download. Tutorials on using this will be forthcoming shortly. With this plug-in you can quickly build Flex and AIR applications that invoke a LiveCycle service through remoting endpoints. You must have an installation of Flash Builder 4 before installing the Modeler.
Some great LiveCycle ES2 links
1- Adobe TV: Introduction to LCES2: http://tv.adobe.com/watch/getting-to-know-livecycle-es2/adobe-livecycle-es2-introduction-for-developers/
2- LCES Overview: http://help.adobe.com/en_US/livecycle/9.0/overview.pdf
3- Preparing to Install LCES2: http://help.adobe.com/en_US/livecycle/9.0/prepareinstallsingle.pdf
4- Tutorial on installing the LCES2 Turnkey Solution http://help.adobe.com/en_US/livecycle/9.0/tutorial_turnkey.pdf
5- Installing your LC development environment: http://help.adobe.com/en_US/livecycle/9.0/install_dev_enviro.pdf
6- Creating your first LC application: http://help.adobe.com/en_US/livecycle/9.0/createfirstapp.pdf
7- LCES2 full documentation set: http://help.adobe.com/en_US/livecycle/9.0/lc_doclist.html
Wednesday, April 21, 2010
Flash on Mobile: An exciting future!
The Adobe AIR team has already posted some pre-release snapshots of AIR running on Google Android devices here - http://www.adobe.com/devnet/devices/demos/
If you are interested in developing AIR and Flash Applications for the Android operating system, there is a pre-sign up you can access here:
As OSP moves forward, expect to see more news about Flash over multiple screens.
Flash and Standards:
Some people have asked in the past that the Flash file format specification be placed into the hands of a Standards Development Organization (SDO), similar to what has happened with PDF going to ISO. This is something I believe Adobe would do if they could, however in the unique case of SWF and the manner in which it became what it is today, it is unlikely to happen.
A further clarification is also worthy of noting. When people say "make Flash a(n open) standard", they really are speaking of the SWF file format. "Flash" is really an entire platform since it includes development tools, runtime plugins and environments, server side tools, side channel communications methodologies for dynamic bandwidth compensation, several servers (Flash Media Server, BlazeDS for example), binary encodings (AMF) and more. The SWF file format is a standard as it sits today. The SWF file format is published here. AMF is also published as an open specification as reported by Slashdot.
I would assert that the SWF file format is a de facto standard. Adobe cannot change it radically based on the fact they care about their community. Flash has to always be backwards compatible to play older versions. It is a pure illusion that Adobe controls Flash and can do with it what they want. The community would rebel.
I would see that the OSP project becomes a collective where more than just Adobe has input into the future of Flash. It will be good to see Google, RIM, Intel and others working directly with Adobe to build improvements into the SWF specification and beyond.
Mobile also brings some unique challenges for developers. Over the next few months I plan to bring some of these to light on this blog.
Tuesday, April 20, 2010
My Open Letter to Apple
Before I comment on this, there are a few things I want to say. First, I have used Mac computers as my main machines for the last few years and find them generally good machines. I also own an iPhone but recently switched to the Android powered Nexus One. This was not to view porn but because I truly believe the Android devices are going to be the best. I am not one to nitpick and bitch that a new SDK agreement apparently bans Flash development tools for the iPhone. I won't dwell on the fact someone at Apple is also apparently using the company's strength to bully developers into following Apple's business plan blindly. I am focused on the future of our industry, society in general and what I personally believe is best.
So what is happening here????
In my opinion, a line has been crossed. On top of the porn statement above, a ban of a cartoon application based on what a small group of people believe is the moral direction YOU should follow. As reported by top10.com:
"Apple believes that allowing an app which contains images that mock celebrities and politicians to go on sale on the App Store would be in violation of the terms and conditions of the platform.
Fiore had proposed launching his NewToons app, but was rejected in December for the perceived vulgarity of his work."
UPDATE: An anonymous user below (in comments) suggest that Fiore's application has now been added back to the App Store. I have been unable to actually find it in the App Store however I did find a credible source which states that Apple is going to "Fix the Mistake". http://www.poynter.org/column.asp?id=134&aid=181700
I guess we have to wait and see.END_UPDATE
My own company, Adobe, does not tell me what to think and what to write or not write on this blog. They understand that my thoughts are my own and on blog posts like this I am clearly speaking for myself, not the company. This is why I am proud to work for Adobe.
I am drawing my line in the sand today. Why? Because, if you allow tyranny to breathe and prosper, there will be no one left to hear you when you scream for help. I don't know what their agenda is but these latest moves are completely unacceptable to me. Here is my public letter to Apple:
Dear Apple:
It has been fun, but you are no longer "cool". You have made some great gadgets and computers in the past, but others are open and you are not. While you have brought society some great things like the iPod and iPhone, this was in the past and your current antic of censorship is unacceptable to me. You see, in Canada, we have rights. We have the right to a free and open society. I will not subject myself to censorship. The result of your actions is that I will not develop for your mobile platform, nor support it. I will also be returning to a combination of Ubuntu Linux and Windows 7 for my main work machine. You see, I have the faith that people can decide for themselves what is appropriate for them and what is not. I do not believe that any one group has the right to make decisions on morality for the rest of us. I do not wish to live in such a society.
As far as applications go, you should allow developers to develop with any tools they want and judge all application submissions fairly based on the quality and performance of the applications. These should be done using clearly published rules and be consistently enforced. Would this not achieve the end result of a rich, robust app store filled with quality applications? At any rate, I do not see how it could be worse than having a plethora of fart noise generator applications, of which only 3 really work. Do you really think the quality of applications is based only on what development tools are used? I disagree.
Respect developers! I think it is not too late to change your mantra. I write this letter in an honest appeal that you hear how your actions are being taken. Developers are usually at the top of the technology adoption curve and several developers are beginning to have issues with you. What you really need to hear is that these same developers are the reason for your success. We are the ones who are asked "what computer should we buy" by our family and friends. When you piss off developers, there is a cascade effect that will eventually affect sales.
Respect individual rights! I have never looked at porn on my iPhone, but I don't want someone else deciding what is and what is not appropriate for me. I do not want Apple employees deciding whether or not a public figure can be questioned. Accordingly, my iPhone now rests harmlessly in it's box while my Google Nexus One is being used. I get tons of people asking me about this phone (read here) and I will keep promoting it while making sure my circle of friends understands the censorship and control issues.
It has been nice, but now it is time for me to move on. Ubuntu 10.4 is out and looks pretty damn nice. Microsoft seems to have learned from Vista and Windows 7 appeals. The Google Android phone is already better than the iPhone and I am excited to started developing Android apps. I can use Java, Flash, AJAX and any toolset I want.
I am committed to standards such as Flash, HTML5 and XML. Not gonna look back. PDF, Java, Silverlight, Android, Linux, Flash are all here to stay.
Please consider the reason I am writing this letter. I do believe you are capable of making some great stuff and doing some great things. I want to encourage you to reconsider your recent actions and hear what we, the developers and computer users of the world, are saying.
Respectfully,
Duane Nickull
Wednesday, April 14, 2010
Adobe MAX 2010
Wednesday, March 31, 2010
AR/Copter RC helicopter at Where 2.0
Monday, March 22, 2010
Duane's World - tutorial on LiveCycle cloud, SAP TechEd
Sunday, March 21, 2010
Flash Builder 4 Released!
So what is Flash Builder 4? Easy--it is the next product in the Flex Builder line. For those of you not familiar with Flex Builder, it is simply the best way to build enterprise Flash applications. I personally tried the Flash professional authoring tools and had a tough time. The first time I tried Flex Builder, it spoke to me. Events, objects, bindings and a host of other standard OO programming concepts.
Flash Builder 4 works with Flex 4, the successor to the Flex 3 SDK. Flex 4 has the new Spark skinning and component architecture. This offers substantial improvements over the previous component architecture and reflects the top asks from many developers who wanted Adobe to push the framework to a new level.
There are over 90 new features in this release. You can also use multiple SDKs so your Flex 3 projects will drop right in. Rather than repeat all the text, read about it here.
So what are you waiting for? Download the trial now!
http://www.adobe.com/go/try_flashbuilder
I also want to personally thank the entire Flash Builder team for this release. This sets the new standard for Flex.
Have a drink on me all!
Monday, March 15, 2010
Running BlazeDS on 32 bit Ubuntu Linux 9.04

There really isn't that much to get BlazeDS up and running on either of these systems, largely thanks to the ease of use built into Ubuntu. Here are the instructions to get it up and running.
1. Grab the Vancouver build of BlazeDS from here.
2. Unzip it to your desktop. Ubuntu 9.04 makes this simple as all you have to do is double click on the *.zip package, the same as OS X or Windows.
3. Check to see if you have a JDK configured and installed. To do this, grab a terminal and type in "javac" and see what comes back. If you have not installed a JDK before, you will get a message similar to this one:

4. This means you have to use a great feature of Ubuntu. The apt-get command is a powerful command-line tool used to work with Ubuntu's Advanced Packaging Tool (APT) performing such functions as installation of new software packages, upgrade of existing software packages and more. It can even update the O/S. apt-get has numerous advantages over other package management tools available in Ubuntu for server administrators. Some of these advantages include ease of use over simple terminal connections (SSH) and the ability to be used in system administration scripts, which can, in turn, be automated by the cron scheduling utility.
5. Run the command "sudo apt-get install sun-java6-jdk". This will install the Sun Java JDK. I chose this one over the others as I consider it the reference implementation for a JDK. Once you hit enter, you will be asked for your admin password and then the magic begins. I swear this was the easiest Java install I have ever done in my life. Thank you whoever created this tool at Ubuntu!!!

6. At some point during the install, you will be hit with the Sun license agreement. There will be a little (yes)

7. When this completes, you should be able to type "javac" into the command line and see the proper output (basically a prompt asking you for options).
8. Navigate to the folder where you saved the BlazeDS build from step 1. Using the terminal, chmod it to make it executable ( chmod -R 755 BlazeDS/ ). Chmod makes the file persist in a mode of "executable" if given the 755 argument. You may have to change to su to do this. This can be accomplished by typing in "sudo" in front of the command.

12. Navigating to /etc/alternatives/java also revealed that this too was a symbolic link. The real target was /usr/lib/jvm/java-6-sun/jre/bin/java. This means that the real value for $JAVA_HOME will be /usr/lib/jvm/java-6-sun/.

16. With your terminal, navigate to the BlazeDS root folder, then change directory to the "sampledb" folder. Type in the following: "sh startdb.sh". The sample database should start up.
Tuesday, March 09, 2010
New Tutorial - How to set up your Model Driven Development
LiveCycle Data Services ES2 is an important component for many companies migrating to a three-tier architecture for enterprise RIA development. The advanced Message Exchange Patterns (MEPs) it enables are unparalleled and very robust. This article is aimed at developers and distills the essential steps needed to set up model-driven development with LiveCycle Data Services ES2 and Flash Builder 4 beta 2.
In this tutorial, we'll share these steps to help you get started quickly and walk through building a simple application using a new technology that brings model-driven development to Flex developers. The model-driven development process is really cool. We were able to write a basic CRUD data grid and form to work against a back-end database with minimal lines of code. Below is a screenshot of the finished project.
Monday, March 08, 2010
What does my race/ethnicity have to do with Olympics?
Ethnicity: (it is on this web page)
Two immediate thoughts came out of this. First I wondered how to classify myself. Although I have relatively white skin, I do read books from other cultures and try to live some of their ideals. Buddhism is a particularly large influence on my private thoughts although most of you would never guess it. As I pondered this though the bigger picture entered my head and I asked the first question I should have.I guess I am missing something here. Can anyone shed some light on this?
Monday, March 01, 2010
Duane's World - Interview with David RR Webber
Musical guest Matt MacKenzie lays down some 1980's flavour house groove with a great backbeat and ambiance. Code and Tunes gets into how to set up LiveCycle ES for Java Developers plus some tips on how the OASIS EML might be implemented using Adobe LiveCycle ES2 and PDF.

