Archive

Archive for the ‘ColdFusion’ Category

Adobe MAX 2011 “Sneak Peek” Sessions Now Online in HD!

October 17th, 2011 8 comments

At the end of the second day of sessions at the Adobe MAX 2011 conference in Los Angeles, Adobe holds their annual Awards and Sneak Peeks gathering inside the huge Nokia Theater. This year Rainn Wilson from NBC’s “The Office” emceed the awards and afterward sat on-stage in a make-shift office complete with desks and leather (or vinyl) chairs alongside Greg Demichillie (Senior Director of Product Management, Developer Tools at Adobe Systems).

The entire show was fantastic. Rainn was on-point and delivered witty one-liners throughout like a veteran comic. But I have to say he was quieted down considerably once Greg, with the help of Adobe’s own engineers, showcased new features that may (or may not) get released in future versions of their products.

As far as I’m aware, for the first time ever Adobe has offered these “sneak peek” videos online for free in full HD:

http://max.adobe.com/blog/2011/max2011_sneakpeeks.html

They’re all amazing, but as far as I’m concerned the real show-stopper was an image “deblurring” feature that Adobe has been working on in collaboration with engineers from MIT:

You truly have to see it to believe it.

Adobe also offers 160+ hours of free training online from most of the sessions offered at Adobe MAX this year. If you weren’t able to find a way to go to the conference, this is the next best thing:
http://tv.adobe.com/show/max-2011-develop

Enjoy!

The full press-release:
Adobe Systems Incorporated today posted videos of the technology “sneak peeks” that were showcased recently at the company’s annual MAX user conference in Los Angeles. Included in the videos is the image deblurring technology, demonstrated in an on-stage demo by Adobe senior research scientist Jue Wang, which has become an Internet sensation.

“We sneaked some early-stage technology from our labs during the recent Adobe MAX conference that exemplify the kind of technology innovation that is thriving across Adobe,” said Kevin Lynch, chief technology officer, Adobe. “Adobe’s technology leadership is ensuring that designers and developers have the tools they need to help shape the future of digital media.”

The sneaks are intended to give MAX attendees a look at future technologies. These technologies may, or may not, make it into future versions of Adobe products. The demos are currently being hosted on AdobeTV, and include:

– Image Deblurring — removing blurriness from digital photos caused by camera shake while the pictures were being taken;

– Local Layer Ordering — a new way for graphic designers to create layered compositions that better reflect the way real world objects act;

– InDesign Liquid Layout — using InDesign to create high quality magazines that automatically adapt layouts across devices and screen orientation;

– Near Field Communications in Adobe AIR — using Adobe AIR to create applications that communicate with the physical world;

– Automatic Synchronization of Crowd Sourced Videos — synchronizing video clips taken with different cameras and from different vantage points into a single immersive video;

– Reverse Debugging in Flash Builder — the ability to step backwards in time while debugging a Flash application to better find the root cause of bugs;

– RubbaDub — automatically replacing the dialog of a video clip with separately recorded audio with perfect synchronization;

– Pixel Nuggets — searching through a large library of images by identifying images that contain the same people, backgrounds, landmarks, etc.;

– Monocle — a new visual tool to help developers find and fix performance problems in Flash applications;

– Video Meshes — an entirely new way to edit videos, including the ability to create 3D fly-throughs of 2D videos and change focus and depth of field;

– GPU Parallelism — using a device’s graphic processing unit (GPU) to accelerate performance of general purpose computing.

About Adobe Systems Incorporated

Adobe is changing the world through digital experiences. For more information, visit www.adobe.com .

(C) 2011 Adobe Systems Incorporated. All rights reserved. Adobe and the Adobe logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. All other trademarks are the property of their respective owners.

SOURCE: Adobe Systems Incorporated

XULAND: World’s First FLEX 4 Based Social Networking Application?

November 4th, 2010 38 comments

Truth is, I’m not sure if this is the technically the world’s “first” Flex-based social networking application, but I can say that I haven’t see anything else like it in Flex – so there’s a good chance it is. Nevertheless, hopefully the title was enough to grab some attention ;)

I came up with the idea for Xuland a year ago. At the time I simply wanted to come up with a project that would allow me to dive into the Flex 4 Beta and try out some new frameworks (other than Cairngorm). I chose Swiz for its “brutal simplicity” and I was immediately impressed.

I present this first to the greater Flex community as I’m really interested in feedback at this stage of its development. Does it make sense? Does it load fast?

My biggest concern: determining whether Flash was the right platform for a site like this. Honestly, I don’t see why not. Flex is a great framework. Flash is a great multimedia platform. Add a little social networking features and you could have the makings of something great.

I wasn’t able to attend MAX this year although I did enter Xuland into the 2010 MAX Awards. There were several other amazing sites that Adobe chose over Xuland and I don’t blame them. There truly is some fantastic talent out there and I feel blessed to even be remotely part of this group.

To put it simply, Xuland is a social network centered on location, rather than a friend’s list.

It started off as a way to get to know your neighbors…the people that are most likely *not* on your friend’s list. I’ve always thought Facebook was a great way to re-connect with old friends and family (not “old family”, sorry Mom) but you wouldn’t necessarily meet new people on Facebook. I remember back in the days of MySpace when random strangers would friend each other…some folks had thousands of “friends”. It was always so bizarre to me. I’m not sure if that same trend has crossed over into Facebook since its advent of fan-pages but still sites like these didn’t feel like the appropriate place to establish new friends.

A better opportunity arose through Yelp. Yelp centers itself on geography. You can see reviews of the restaurant down the street which is fantastic but it was difficult to carry on a conversation with past reviewers. Sure there’s message boards, but it would be nice to carry on a real-time conversation with someone in your same town that you did not already have a past relationship with (i.e. “on your friend’s list”).

Xuland eventually morphed into a FLASH-ier alternative to Craigslist, complete with a commenting & rating engine, Google map that pools postings into the comment stream based on location and selected radius, a built-in ad & local event submittal system and there’s even a simple image editor. No, this isn’t your father’s Craigslist.

I’m going to add a lot more, including extending the project to include mobile. What I’ve done so far took a lot of work (spare time with a family, mind you) but I’m happy to keep chugging forward as long as the site finds some real use out there.

What I really hope is to prove that Adobe Flash & Flex can be used for much more than dashboard and charting widgets or for unseen back-office intranet apps.

I had a lot of fun exploring Flex 4′s new skinning architecture, the Swiz inversion-of-control framework, the cloud technology that I’m using to host Xuland and many other bits and pieces of knowledge I had to find to assemble this all together.

I don’t think the site is ready for global public consumption quite yet. There’s a lot of little details I need to iron out but it works for the most part. I invite anyone reading to try it out and let me know what you think!

http://www.xuland.com

The map should geolocate to your general area, but it won’t be exact. If it’s off, drag the map around and set your new default location (you’ll have to login).

You can also (change) the map to anywhere else in the world which is nice. Talk to folks in Munich, or Paris. Change the map zoom, too. As the radius changes, so does the number of viewable comments. The red dot in the middle essentially shows the center of the map around which it pools comments.

Login with your Facebook or other social networking accounts, or create your own Xuland account via the registration form. Try posting a comment, attach an image, or real estate posting. There are many categories similar to what you’d find on any classified ads website. You can also post a local event (I got a little tired of getting invited on Facebook to events that were in other cities!).

I’ll post more on this blog and on Xuland’s own Tumblr blog. It’s getting a little difficult juggling all of this so bear with me if I seem a little slow, otherwise thanks so much for reading and trying out Xuland.

Flex 4: Switching to Railo from ColdFusion

July 5th, 2010 3 comments

With the Xuland Flex-based social networking application I’ve been working on for the past eight months, I decided to switch things up on the back-end, most notably in the services layer where I’ve been using ColdFusion 9 for my data-access objects.

ColdFusion has been a perfect fit for Flex since I had used the software quite extensively for much of my programming career. However, as I prepare Xuland for go-live (August 13th – which also coincides with the Adobe MAX Awards deadline for entry date), I realized that without a license for the software I would be restricted to shared hosting services – a solution that would not work in the long-run, especially if Xuland were to suddenly gain popularity.

As I considered dedicated or “cloud” hosting, I would have to either buy an $8,000 ColdFusion license (umm, no) or switch to an alternative. BlueDragon piqued my interest, but it unfortunately does not yet support AMF. Without the ability to remote, my application would launch already dead in the water.

Another alternative, completely unknown to me before today, is Railo (pronounced “Rhylo” after a fictitious alien dog in Star Trek).

“Railo is a free, open-source alternative for ColdFusion application development.” It currently supports the AMF3 format (whereas in the last version it only supported AMF0) and comes shipped with its own application server and servlet engine (Caucho Resin). In fact, the Express versions can be downloaded, configured for Flex and launched within minutes. The best part is it’s completely FREE.

I’ve since switched from ColdFusion to Railo and with hardly any tweaking, Xuland was running against Railo executing the same CFC’s I had already written for ColdFusion 9. After starting the Railo service locally the first time, it automatically created the necessary Flex remoting-config and services-config XML files needed in the WEB-INF directory. Remoting worked perfectly, and I dare say it seems a bit faster (I have not run any benchmarks quite yet, however).

If you’re looking for a solution similar to this, definitely consider Railo as it works as well as ColdFusion without the sheer cost.

Categories: Adobe Flex, ColdFusion, General, Xuland Tags:

Flex 4 & ColdFusion 9 Remoting Recap

December 29th, 2009 27 comments

It’s been a couple of years since I worked with ColdFusion and Flex together, but I remember I always like the combination and chose it for my new little Xuland social networking project I’ve been working on (see previous posts).

I had to remember how the whole Flex-ColdFusion remoting setup would work again and I had to overcome a couple of hurdles. I thought I’d share the experience as it would have helped me get up to speed quickly.

Here’s a quick recap of setting up your Flex application to remote to ColdFusion:

  1. Install ColdFusion (I installed mine to the default C:\ColdFusion9 directory)
  2. In FlexBuilder, create a new Flex project
  3. While creating the project, select an Application server type of “ColdFusion” and check the “Use remote object access service” with the “ColdFusion Flash Remoting” option selected.
    .
    servertechnology
  4. On the next screen, in my case I’m using a Standalone installation and had to uncheck the “Use default location for local ColdFusion server”. Of course, the root folder was C:\ColdFusion9. I clicked Validate Configuration which validated that the root folder existed.
    .
    serverlocation
  5. I happen to use ColdFusion primarily for access to a MySQL datasource, so I had to setup the datasource in the ColdFusion admin first (this information should be readily available anywhere)
  6. Once the datasource was setup, I first created a value-object (VO) in ColdFusion to represent the object (in this case, a User) I wanted to pass back to the Flex application
    .
    UserVO.cfc:

    1
    2
    3
    4
    5
    
    <cfcomponent output="false" alias="com.xyz.coldfusion.vo.UserVO">
    	<cfproperty name="userID" type="numeric"/>
    	<cfproperty name="username" type="string"/>
    	<cfproperty name="password" type="string"/>
    </cfcomponent>
  7. After the VO, I created a data-access object (DAO) to query the datasource for a user and return a UserVO to the calling Flex application
    .

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <cfcomponent output="yes">
    	<cffunction name="getUserByID" 
    		access="remote" 
    		returntype="com.xyz.coldfusion.vo.UserVO">
     
    		<cfargument name="userID" type="numeric" required="yes"> 
     
    		<cfquery name="getUser" datasource="xuland">
            	SELECT * 
    		FROM tblUsers
    		WHERE userID = '#userID#'
    		</cfquery>
     
    		<cfreturn getUser>
     
    	</cffunction>
    </cfcomponent>
  8. Back in the Flex project, I setup my RemoteObject tag to point towards the ColdFusion DAO component I created in the last step:
    .

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    <!-- Remote Services -->
    <mx:RemoteObject id="userService"
    	 destination="ColdFusion"
    	 source="com.xyz.coldfusion.dao.UserDAO"
    	 showBusyCursor="true">
     
    	<mx:method name="getUserByID" 
    		   result="resultHandler(event)" 
    		   fault="faultHandler(event)"/>
     
    </mx:RemoteObject>
  9. Create your result and fault handlers (here we just display an Alert)
    .

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <fx:Script>
    	<![CDATA[
    		import mx.controls.Alert;
    		import mx.rpc.events.FaultEvent;
    		import mx.rpc.events.ResultEvent;
     
    		private function resultHandler( event : ResultEvent ) : void
    		{
    			Alert.show( event.result.toString() );
    		}
     
    		private function faultHandler( event : FaultEvent ) : void 
    		{
    			Alert.show( event.fault.faultString );
    		}
    	]]>
    </fx:Script>
  10. Finally create a button or method to call the service:
    .

    1
    
    <mx:Button click="userService.getUserByID( 1 )"/>
  11. Much of this logic may be abstracted off into controllers, delegates, commands or other framework-specific components but this is a fairly simple example of installing, configuring and executing a remote object service call from Flex to ColdFusion.

Categories: Adobe Flash, Adobe Flex, ColdFusion, Events Tags: