Subclipse Bug on Flex Bldr Beta 3 Standalone on XP/Vista

I found myself grasping at straws on this one. Thank the folks on the beta debug team and their public bug tracking system.

The answer (walkthrough) is below, check the link for the details if you are interested.

Work around is:

- Help > Software updates > Find and install. Select search for new features to install.

- Check the Europa discovery site and the SubEclipse update site. (add the SubEclipse site via 'New Remote Site' if it isn't present http://subclipse.tigris.org/update_1.2.x/ )

- Click finish.

- Check SubEclipse and in the Europa discovery site check "Eclipse Java Development Tools" under "Java Development".

- Click next and complete the wizard.

Note, make sure you only select the Subclipse sub-category or it will still bomb.

The bug at Adobe.com: Subclipse SVN plugin requires the feature org.eclipse.jdt

Universal Mind is Blogging

Check it out here: UM Blog.

UM is made up of a bunch of stellar Adobe and related software IT professionals. They have some incredible information to share with regard to Flex, Flash, AIR, CF, Java, etc. and we can all learn from them. Enjoy!

MapQuest's AS3 API in Beta

I recently assisted in developing and testing on the API Development and QA teams for this product and wanted to share some information on their new Actionscript 3 API with the community.

If you are interested in mapping GIS related data (what data doesn't have a GIS component?) or are currently working with competing products you should evaluate what MapQuest has to offer with their new AS3 API. I can't stress enough the concentrated effort that went in to streamlining the integration process, performance and speed, and feature set.

The Libraries:

  1. AdvantageAPI.swc - Actionscript Library used for retrieving geographical data from mapquest servers
  2. TilemapToolkit.swc - Actionscript Library used for creating a tilebased map
  3. TilemapComponent.swc - Flex Library used for placing tilemaps within MXML

With the above libraries you can acquire geocode information for existing address information, place points of interest on a map, utilize vector based overlays, and fully customize all built in MapQuest default features such as the zoom and pan controls.

It is important to stress that with MapQuest's API you can customize the entire look and feel of the map to suite your business (logo etc.)

It is important to stress some of the peformance gains I noticed from the legacy html and javascript based solution. Most importantly the speed in which POIs (points of interests) can be added to a map. I witnessed a 500 poi legacy application load 500 pois in 10 seconds and via the AS3 API load the same 500 POIs instantaneously. Imagine this performance benefit if you were to embed a map in a desktop app written in AIR?

If you are currently utilizing MapQuest and have standardized on javascript or don't foresee spending this years budget on converting to AS3, that is ok, you can utilize a version of the API wrapped to support javascript integration, which should allow you to drop the new flash based solution in to your existing javascript/html/AJAX solution.

There are many more advanced features such as POI decluttering, customizing POI graphics, and display windows to name a few. There are also Flash CS3 supported swc libraries that can be imported in to the Flash IDE as well.

MapQuest went above and beyond to make integration with Adobe products seamless.

The following links will detail some of the release information and how to get ahold of the libraries:

Links to various MapQuest sponsored information and links:

Snapshot:

oobgolf.com MapQuest Application

Flex Components and Anchor Tags

On a current project I found a bug within a custom UIComponent. Hopefully my explanation is thorough enough to give you an understanding as to why I think this may be an implementation issue with components in the Flex framework itself:

The UIComponent added a child Sprite that contained a TextField child. The text field's htmlText property contained an anchor tag. By default the text field's selectable property was set to false. This is when it gets interesting.

The class which contained the TextField and extended from Sprite when included on the flash player stage worked correctly, meaning that the anchor tag located the browser correctly when clicked even though the selectable property was set to false. Seems like this should be the standard...

The bug was when this class' object reference was added as a child to a class extending UIComponent. When this occurred the anchor tag did not allow for left mouse click in turn locating the browser to the location specified in the anchor tag. Oddly enough, Flash allowed for right clicking on the link displaying the standard anchor tag options of open, open in new window, and copy link.

The workaround was to set the selectable property to true, though I may not want a user to select the text it was the only workaround with regard to adding a text field to a UIComponent. Please see examples below (view source is enabled).

Selectable set to false in component example.

Selectable set to true in component example.

Selectable set to false in sprite example.

Trimming a TextField with AS 3.0

I was recently tasked with building a utility class that was designed to trim text off a TextField object; it accepts 3 argument. The initial TextField, desired width, and text to be concatenated to the existing TextField.

So in short I had to truncate due to the width argument, but also add the concatenated text, which was usually "..." signifying the text had been truncated. The code is below. I hope it helps you if you come up against a similar challenge. Good luck!

package com.mapquest.tilemap.util
{
import flash.text.TextField;
import flash.text.TextFieldAutoSize;

public class TextFieldUtil
{

public function TextFieldUtil()
{}


/**
* Evaluates the textField and desired width param and sizes the TextField
*
* @returns sized TextField
* @param {number} desired width
* @param {TextField} text field to be edited
* @param {concatText} string to concat
*/
public function sizeTextField(textField:TextField, wid:Number, concatText:String):String
{
//size the text field and apply ellipses if it's text width is greater than desired width if (textField.textWidth > wid)
{

var initWidth:Number = textField.textWidth;
textField.appendText(concatText);
var concatWidth:Number = textField.textWidth - initWidth;
var activeWidth:Number = wid - concatWidth;

//change back to initial text textField.text = textField.text.substr(0, (textField.text.length - concatText.length))

//loop until size is right for (var i:int = 0; i < initWidth; i++)
{
if(textField.textWidth > activeWidth)
{

textField.text = textField.text.substr(0, (textField.text.length - 1));
}
else
{
textField.appendText(concatText);
break;
}
}
return textField.text;
}
else
{
return textField.text;
}
}
}
}

Apollo E-Seminar

Luis Polanco, the senior product manager for Apollo at Adobe commandeered the ship for the luncheon Adobe e-seminar today and it opened some eyes to the folks who attended the meeting. Specifically with the robust nature in which one can develop an application with Flex and have many useful/required APIs to write a cross platform rich application.

One of the demos given by Luis was the FineTune desktop. I was behind the 8-ball with FineTune so I took a trip out to their site after the meeting. WOW! If you enjoy listening to tunes while you code I highly recommend that you download the alpha release of Apollo on labs (go here) and cruise over to FineTune.com (go here) and download the desktop. If you become a registered member you will gain access to all their slick playlists along with the ability to create your own to share with other members. Check my playlist out if you like, my user id is jforrest8.

Lastly, go code an Apollo app.! 8-)

Apollo "Friggin Impressive"

If any of you have been following developments with Apollo for example the Ebay "San Dimas" client app. put out by Effective UI, you have seen the bridge built between a rich/thick client and web application.

If you're asking yourself, what is it really or I really don't get what all the hype is about, I just stumbled across this google video with Mike Chambers interviewing Christian Cantrell, and after watching the video I could only come up with the extra two words in the title. This product truly is "Friggin' Impressive".

Take 13 minutes and watch the video.


Copyright Strikefish, Inc., 2005. All rights reserved.