Archive

Archive for the ‘Adobe Flash’ Category

Flex Mobile Social Networking App “Xuland” is LIVE in Android Market!

January 19th, 2012 15 comments

A couple of years ago I started working on a Flex 4 powered social networking application called Xuland.

It was a web-based app that had the look and feel of Facebook with geo-location abilities (based on IP). Essentially, you could change the on-screen map to any location in the world (or it would discover your current location) and you could read or post comments to that area. It was a nice idea…but ultimately didn’t work.

During creation, Apple and Adobe had their infamous falling out and the world moved to a mobile stage. Now Flash on mobile has been deprecated by Adobe and Flex itself has been accepted into Apache’s incubation process. It seems that the days of considering Flex for general public consumption as a web-based application were gone.

I opted to pick up the pieces of Xuland and re-assemble them into an AIR-powered mobile application with a different objective: find a way to make it easier for folks to make friends.

Facebook and Twitter are great vehicles for announcing your current status to your family, friends, fans or followers. But they do little to strike new connections between people.

Xuland attempts to place more importance on a person’s profile. It is through the profile that you can find common similarities in passions, occupations, religion and so forth. Xuland allows you to ask anonymous questions, request that folks “guess” your age or other personal attributes. Xuland tries to ease the connection-making process to allow new friendships to strike without odd winks, pokes, virtual gifts or other gimmicks.

Using Flex 4.6′s mobile enhancements and Adobe AIR, I adapted the previous web-based application to a mobile-based friending app that is now live on the Android Market:

https://market.android.com/details?id=air.com.xuland

Xuland

The iOS version (using the same code-based) has been submitted to Apple and is currently waiting review. I had to fabricate some test data and accounts to ease the review process and will remove those soon.

Any feedback on the app in general, the concept, appearance or performance is appreciated of course. I rely on the Flex community and have done so for years. Recommendations or questions are welcome!

I’ll post another article once the iOS version has made its way to the Apple App Store. Until then, happy Xulanding!

Adobe Flash, Part II – “The Resurrection”

November 10th, 2011 39 comments

I’m sure most have heard about the latest announcments happening in the blog-o-sphere and from Adobe:

http://blogs.adobe.com/conversations/2011/11/flash-focus.html

For many of us, we’re not surprised, although many were. The Flash plugin on mobile browsers has always been an up-hill battle. With Apple and Microsoft’s decision not to support the Flash mobile plugin, the sheer number of emerging mobile devices (with browsers) to support and the wide adoption of HTML5 for mobile browsing animations and effects – it seems this is a timely decision. It would have been nice to continue to see support, but times change. How this will affect the Flash plugin on desktop browsers remains to be seen.

The fast rise and popularity of Adobe AIR has give Flash a new life. AIR is now supported on the PC, Mac, Android, iPad/iPhone, BlackBerry, Amazon’s Kindle Fire, B&N’s NOOK, and Sony mobile devices – amongst others. Platforms that we’d never thought would support Flash now do (like televisions, cars and even alarm clocks)…with more devices to come. It’s the best option there is for deploying games or applications from one single code source to multiple platforms.

This is a step in the evolution of Flash towards amazing GPU-based 3D gaming (which we saw at Max from the Angry Birds and Unreal makers) and Enterprise-level dashboards and RIA’s and away from annoying banner ads. Although Flash “on mobile” is officially dead, Flash in essence will have been resurrected through Adobe AIR.

I’m anxious to see what Flash 12 brings us as it will help bridge the gap between HTML5 and Flash.

Flash Player 11.1 and AIR 3.1 were just released today: http://blogs.adobe.com/flashplayer/2011/11/adobe-flash-player-11-1-and-adobe-air-3-1-are-now-available.html

Other interesting articles:
http://www.leebrimelow.com/?p=3151
http://forta.com/blog/index.cfm/2011/11/9/Some-Thoughts-On-Flash-And-Devices

Categories: Adobe AIR, Adobe Flash, Adobe Flex, General Tags:

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

October 17th, 2011 70 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

Flex: Chevron (or Right-Arrow) Path Data for Mobile Apps

October 14th, 2011 32 comments

I’m sure this will come in handy for anyone out there looking for the iOS chevron to duplicate in their Flex 4.5+ mobile AIR apps ;)

This is what I’ll be using in my social-friending app Xuland…feel free to copy and modify to your taste…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
	xmlns:s="library://ns.adobe.com/flex/spark"
	height="100%"
	width="20">
 
	<s:Path verticalCenter="0"
		scaleX="2"
		scaleY="2">
		<s:data>
			M 2 0 L 7 5 L 2 10 L 0 9 L 4 5 L 0 1 z
		</s:data>
 
		<s:fill>
			<s:SolidColor color="#666666" />
		</s:fill>
	</s:Path>
</s:Group>

Here’s an example…ignore the test messages ;)

Categories: Adobe AIR, Adobe Flash, Adobe Flex, Xuland Tags:

Flex: Capturing long-touch events on Android & iOS mobile devices

September 18th, 2011 40 comments

In building the mobile dating app Xuland, one of its key features will be the ability to add many profile photos. Your admirers can tap each photo from a list, see the larger version and vote on whether they like it or not.

The thing is, because buttons are typically over-sized on mobile devices to make them fat-finger friendly, it leave little room on the screen for many of them. You could utilize the off-screen menu option on Android but iOS devices lack this seemingly basic feature. Instead you could design your app to have contextual popup menus appear when holding or pressing down on an icon, button or other object on the screen.

Unfortunately, the current version of Flex (4.5) doesn’t support a long-touch or long-click event from what I can see, but it was easy enough to simulate one using a timer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
private var timer:Timer;
private var confirmPopup:ConfirmPopup;
 
private function onTouchBegin():void
{
	timer=new Timer( 1000 );
	timer.addEventListener( TimerEvent.TIMER, onTimerComplete );
	timer.start();
}
 
private function onTimerComplete( event:TimerEvent ):void
{
	timer.stop();
	confirmPopup=ConfirmPopup.open( "delete photo?" );
	confirmPopup.addEventListener( ConfirmPopup.CONFIRMED, onDeletePhotoConfirmed );
}
 
private function onDeletePhotoConfirmed( event:Event ):void
{
	confirmPopup.close();
 
	//put additional photo deletion logic here
}
 
public function onTouchEnd():void
{
	timer.removeEventListener( TimerEvent.TIMER, onTimerComplete );
	timer.stop();
}

And the MXML…

1
2
3
4
5
6
<s:Image id="image"
	source="{ xyzSource }"
	touchBegin="onTouchBegin()"
	touchEnd="onTouchEnd()"
	mouseDown="onTouchBegin()"
	mouseUp="onTouchEnd()" />

Essentially what happens here is that once the user touches a photo, the timer activates and starts ticking. If the user at any time during the timeout period takes his finger off the photo, the timer is stopped, otherwise when the timer reaches is preset delay, it opens a confirmation popup prompting the user to take some action.

Here’s the results:

Categories: Adobe AIR, Adobe Flash, Xuland Tags:

The best selling iPad app on the App Store was created with Adobe Flash

September 10th, 2011 402 comments

Kudos to the Amanita Design team for pushing all the other paid iPad apps out of the way with a little help from Adobe AIR ;)

http://itunes.apple.com/us/app/machinarium/id459189186?mt=8

According to Lee Brimelow:
“Few in the technology press have picked up on and correctly reported about this workflow that allows Flash developers to target Apple’s popular iOS devices.

Most people still only think of Flash as the browser plug-in that Apple doesn’t allow in Safari on iOS devices. But being able to create apps and games for iOS is a huge win for Flash developers, for Adobe, and for Apple.”

Via:
http://thenextweb.com/apple/2011/09/09/the-best-selling-ipad-app-on-the-app-store-was-created-with-adobe-flash/

Categories: Adobe AIR, Adobe Flash, Adobe Flex, General Tags:

FINALLY, Flash Maps for both iOS & Android for Flex & AIR Mobile Projects

July 18th, 2011 58 comments

After recently diving into Flex 4.5.1 and starting several mobile AIR-based projects, I ran into an issue with the Google Maps SDK when testing under iOS devices.

Long story short, it didn’t work.

The Google Maps Flash API works great under Android when the mobile project is deployed as an AIR-based application, but when compiled through the PFI (Packager for iPhone) bundled into AIR 2.7 it simply doesn’t ever load.

After a little investigation, the most likely cause was the fact that the Google Maps Flex API attempts to load external SWF’s at runtime from the Google map servers, which is strictly forbidden by Apple’s terms of service thus rendering this functionality completely disabled.

This functionality works fine under Android devices and was actually a pleasure to use, however without iOS, the joy of working with Adobe’s new Flex 4.5.1 SDK quickly subsides and is replaced by frustration.

There are workarounds for iOS, namely through the usage of the JavaScript-based Google Maps SDK and Flex 4.5′s own StageWebView class which can display external HTML content over the Flash content.

Unfortunately, Flex cannot interact with StageWebView content making it very difficult for some apps to function normally as they would in a normal Flash-based SWF rendered through the browser. My own application, Xuland, which depends heavily on the Google Maps SDK required many changes before I could test it’s mobile-version on my iPad.

I can get by with StageWebView, but I prefer a Map object that Flex can interact with directly, apply markers, dynamically zoom or geolocate, etc without having to re-load a URL from my external web-server.

Just today, MapQuest has released a Flex-version of it’s Flash Maps API which supposedly works well under both iOS and Android. I haven’t tested this but I will later tonight for sure ;)

For everyone else, here’s a link to MapQuest’s Developer Reference page and API:

MapQuest Developer Network:
http://developer.mapquest.com/web/products/beta

MapQuest Flash Map Mobile API:
http://developer.mapquest.com/content/as3/v7/7.0.2_MQ_MOBILE_B1/documentation/devref/index.html

Follow me on Twitter for more Adobe Flex & AIR Mobile news and announcements.



Categories: Adobe AIR, Adobe Flash, Adobe Flex, Xuland Tags:

FlashBuilder 4.5.1 Released!

June 20th, 2011 63 comments

The long awaited update to FlashBuilder and the Flex SDK were released by Adobe last night.

Previously with FlashBuilder and Flex 4.5.0, you could export Flex applications to Android devices and ActionScript-based projects to iOS. Now with the 4.5.1 update, you can export all apps to any of the platforms: iPhone, iPad, Android & the new BlackBerry Playbook.

This is a gigantic leap forward to allow developers to implement the “write-once, run-anywhere” ideology that has long been associated with the Flash platform. With Apple’s insistence on preventing Flash from being installed on iOS devices, Adobe has had to invent ways to circumvent those restrictions even going so far as creating a Flash-to-HTML5 conversion tool (“Wallaby”).

With FlashBuilder 4.5.1, you can write easy-to-learn Flex XML combined with the power of ActionScript to product apps that can be approved into the Apple app-store, BlackBerry’s AppWorld and Android’s App Market.

Click here to download the updaters

Adobe says that with Flash Builder and Flex 4.5, developers can now use one tool, one framework and one codebase to create applications that run on desktops as well as smartphones and tablets.

Ed Rowe, Adobe’s VP of Developer Tooling said, “The reaction from developers to the new mobile capabilities in Flash Builder 4.5 and the Flex 4.5 framework has been absolutely fantastic. They are amazed by how easy it is to create great mobile apps for Android devices, BlackBerry PlayBook, iPhone and iPad. Companies can now effectively reach their customers no matter what type of device they have.”

http://blogs.adobe.com/flex/2011/06/flex-sdk-and-flash-builder-updates-available-adds-ios-and-blackberry-playbook-support.html

Congrats Adobe on another victory!

** Technical note: The release notes for FlashBuilder 4.5.1 indicate it’s bundled with AIR 2.6, even though AIR 2.7 was just released. In fact, the iOS packager was updated to AIR 2.7 so even though you only have access to the AIR 2.6 API, your compiled iOS application will gain the performance features added to 2.7. According to Lee Brimelow, “It has to do with different release schedules of various teams. That thought is that it’s better to get it out there now so people can start developing with it rather than making everyone wait longer.”

http://blog.theflashblog.com/?p=2779

Categories: Adobe AIR, Adobe Flash, Adobe Flex Tags:

AIR 2.7 is now available!

June 14th, 2011 861 comments

Although I am more interested in the Flash Builder 4.5 update that will allow me to export my Flex-powered mobile applications to iOS, we have to take babysteps.

First up, Adobe AIR 2.7 must be released into the wild, which it has today!

The most notable improvement is the dramatic increase in performance of Flex applications on iOS devices (4x faster in CPU mode). If anyone has seen Terry Paton’s Flash-based Meteor Storm (http://pixelpaton.com/?p=3475) running on an iPad, you were probably wondering how it played so well. Terry was given premature access to AIR 2.7. Without it, the game’s performance would have suffered immeasurably.

Meteor Storm running on iOS from Terry Paton on Vimeo.

For a quick video example, watch my former employer Renaun Erickson, Adobe Flash Platform Evangelist, show you an example of the speed improvements:

“Adobe is pleased to announce the availability of Adobe AIR 2.7 SDK and the Adobe AIR 2.7 runtimes. Adobe AIR 2.7 includes new features for both desktop and mobile applications with mobile support for Android 2.2+, BlackBerry Tablet OS* and iOS 4+ operating systems. Companies can build and deploy AIR 2.7 apps using Adobe Flash Builder 4.5 with an upcoming update to AIR 2.7 later this month.”

http://blogs.adobe.com/flashplayer/2011/06/adobe-air-2-7-now-available-ios-apps-4x-faster.html

Categories: Adobe AIR, Adobe Flash, Adobe Flex Tags:

Twitter buys TweetDeck for $40-50 Million

May 24th, 2011 4 comments

If you’re not aware of TweetDeck, it started out as an AIR application for the desktop created by a Flex developer, Iain Dodsworth who is still CEO. Rumors have been going around for a couple of months about this acquisition but it’s been confirmed on a few different sites now.

I used TweetDeck for a minute when it first came out and thought it needed some work. They’ve come a LONG way. It’s nice to see that a Flex application can sell for $40-$50 million (cash & Twitter stock).

http://money.cnn.com/2011/05/23/technology/twitter_acquires_tweetdeck/

Another nice win for Flex ;)

Adobe Flash Player 10.3 released

May 13th, 2011 65 comments

“We’re excited to announce that Flash Player 10.3 is now available for Android, Linux, MacOS, and Windows. Flash Player 10.3 improves stability, enhances security and user privacy protection, and provides new desktop video and audio capabilities for enterprises and developers.

On the device side, with the rollout of Android 3.1 users of Honeycomb tablets like the Motorola XOOM will experience performance improvements introduced in Flash Player 10.2.”

http://blogs.adobe.com/flashplayer/

Good job Adobe…keep it going!

Flex 4.5 and FashBuilder 4.5 Released!

The Flex 4.5 SDK, FlashBuilder 4.5 and Adobe Creative Suite 5.5 (along with Flash Catalyst) are now available for download!

The major enhancement to Flex 4.5 is the ability to export ActionScript-only based projects to iOS and Blackberry and Flex applications to Android. This update does not include the ability to port Flex apps to iOS or the Blackberry Playbook quite yet (that update is coming in June).

New features released in this version of Flex include:
• Spark DataGrid
• Spark Form
• Spark Image and BitmapImage enhancements
• Spark Formatters
• Spark Validators
• Video and text enhancements
• Reduced memory consumption for full builds
• Reduced compilation time for full and incremental builds
• Improving the compiler’s RSL linking logic

I’m excited for this release and I’m excited for the next update to Flex coming in June. So excited that I’m actually considering buying an iPad (!)…something I honestly never though I would do but after getting numerous complaints of the inability to visit Xuland on the iPad, I determined its high-time I created Android and Apple app versions as soon as possible.

Congrats Adobe on another big win!

http://blogs.adobe.com/flex/2011/05/flex-4-5-sdk-flash-builder-4-5-and-flash-catalyst-cs-5-5-now-available.html

Categories: Adobe AIR, Adobe Flash, Adobe Flex Tags:

Adobe AIR 2.6, And All Was Right With The World

March 22nd, 2011 11 comments

Adobe AIR 2.6 was released officially yesterday.

In a nutshell:

  1. Adobe has been trying to replicate the success of the Flash ideology on mobile devices: “Write once, run everywhere”.
  2. Adobe already had the Packager for iPhone (PFI) functionality built into Flash CS5 which allowed developers to code in ActionScript and produce native iPhone IPA files installable through iTunes and uploadable thru iTunes Connect (now that Apple lifted the ban on 3rd party apps)
  3. Adobe created the AIR 2.5 runtime to run on Android mobile devices and began introducing the ability to write Flex & ActionScript software using the next version of Flash Builder “Burrito” (I’ve been playing with this and it works well)

Now with AIR 2.6, the PFI has been bundled into the ADT (AIR Developer Tool).

AIR 2.6 includes a host of feature upgrades to better access iPhone’s features (microphone, retina support, multitasking, camera support, etc) as well as Android.

You can also debug directly on the mobile phone thru a USB cable (imagine tapping a button on your phone and hitting a breakpoint in Flash Builder).

This will also mean Flash Builder “Burrito” will get another option to compile your app to iOS.

Pretty slick ;)

http://blogs.adobe.com/cantrell/archives/2011/03/everything-new-in-adobe-air-2-6.html

Categories: Adobe AIR, Adobe Flash, Adobe Flex Tags:

Adding a Facebook “like” button to a Flash/Flex Application

November 17th, 2010 36 comments

Mission: Add a Facebook “like” button to my experimental Flex social networking site Xuland.

I initially thought, “Boy this must be a piece of cake. Surely thousands of other developers have already figured this out!”. Boy was I wrong.

The best example I could find on this specific topic was http://labs.byhook.com/2010/08/03/facebook-like-button-in-flash/. Spend a good half hour digesting the contents of that blog posting and you’ll be ready to scratch the idea altogether.

I wanted a simple implementation that I could knock out in less than an hour. I figured why not just use an iframe!

Here’s the steps:

First, go to http://developers.facebook.com/docs/reference/plugins/like

Fill out the form to get your special iframe code

Next, open up your Flex application’s HTML wrapper (e.g. index.template.html) in FlexBuilder

Copy and paste the iframe code (from above) into the HTML template. I put mine right under the <div id=”flashContent”> section.

1
2
3
4
5
6
7
8
9
<div id="flashContent" style="z-index:-1">
  ...
</div>
 
<iframe 
     src="<< insert your custom facebook like URL here >>" 
     scrolling="no" frameborder="0" 
     style="border:none; overflow:hidden; width:100px; height:21px; z-index:99; position: absolute; top: 0px; left: 100;" 
     allowTransparency="true"></iframe>

Notice the iframe style declaration. Make sure z-index=99, then you can use CSS to position your like button exactly where you want it.

Also notice the flashContent div style declaration. Set its z-index = -1.

In the SWFObject section, add a param for “wmode”. Set it to “transparent”.

1
2
3
4
5
6
7
var params = {};
params.wmode = "transparent";
swfobject.embedSWF(
  "${swf}.swf", "flashContent", 
  "${width}", "${height}", 
  swfVersionStr, xiSwfUrlStr, 
  flashvars, params, attributes);

In the body tag, set the z-index=0

1
<body style="position:relative;left:0px;top:0px;z-index:0;">

That’s it!

The result should look something like this:

Good luck with your implementation!

To read more about Xuland, visit my other blog post regarding this application.

Erich

Categories: Adobe Flash, Adobe Flex, Xuland Tags:

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

November 4th, 2010 39 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 Random Password Generator

June 26th, 2010 141 comments

Here’s a nice static method for creating random passwords…should the need ever arise ;)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static function generateRandomPassword( length:int = 7 ) : String
{
	//characters to use in password
	var _salt : String = "abchefghjkmnpqrstuvwxyz0123456789ABCHEFGHJKMNPQRSTUVWXYZ";
 
	//initialize vars
	var _password : String = '';			
	var _i:Number = 0;
 
	//loop 
	while ( _i <= length )
	{
		var _num : Number = Math.random() * _salt.length;
		_password += _salt.charAt( _num );
		_i++;
	}
 
	return _password;
}

Enjoy!

Categories: Adobe Flash, Adobe Flex Tags:

Apple vs Adobe Peace Plan from InfoWorld

May 10th, 2010 102 comments

InfoWorld has published a four-point “peace plan” aimed at reducing collateral damage from the current Apple vs Adobe war.

The article discusses the history between the two companies, outlines a compromise and allows readers to vote on the proposal.

http://www.infoworld.com/print/122878

Categories: Adobe Flash, General Tags:

The Future of Web Content – HTML5, Flash & Mobile Apps

I didn’t get a chance to read this article back in February by ColdFusion-mastermind Jeremy Allaire, but it’s a good one nevertheless and still very relevant for those of us in the Flash community.

Give it a try:
The Future of Web Content – HTML5, Flash & Mobile Apps

Categories: Adobe Flash, General 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:

Adobe Flex 4 LiveDocs Documentation & Language Reference

December 29th, 2009 29 comments

At work, I wanted to review some information on the Adobe Flex 4 LiveDocs help documentation and had a lot of trouble finding it online.

Luckily at some point in the past, I managed to bookmark it at home and am reposting it here in case anyone else might be interested. Here is the link to the Flex 4 help documentation, which is a fantastic resource. I hope it comes in handy ;)

Adobe Flex 4 Documentation:

http://help.adobe.com/en_US/Flex/4.0/UsingSDK/index.html (PDF)

Flex 4 ActionScript Language Reference:

http://livedocs.adobe.com/flex/gumbo/langref/index.html

Download the trial copy of Flash Builder 4, read the above documentation and experiment by building your own test applications.

There are quite a few changes from Flex 3 to Flex 4 and the earlier you get acclimated to the new features, the better prepared you’ll be when the final product ships ;) Good luck!

Categories: Adobe Flash, Adobe Flex, Events Tags: