Tags Search: flash

13 July 2010

Posted by Frank Garofalo | Topic: Multi-touch

Semi-Finalist in Adobe Design Achievement Awards

2010 Adobe Design Achievement AwardsThe submission of the Adobe AIR application I developed as the user-interface for my graduate research project has been selected as a semi-finalist in the Adobe Design Achievement Awards. Below are my submission details:

  • Submission Category: Non-Browser-Based Design
  • Submission #: 484
  • Entry title: Multi-user Collaboration
  • Number of Pieces: 1

For more details about the Adobe Design Achievement Awards, visit: https://adaa.adobe.com/us/content/adaaLive

11 July 2010

Posted by Frank Garofalo | Topic: Multi-touch

Defense Presentation

My Defense Presentation is tomorrow and I'm ready! The Defense will take place at 1pm EST in room Knoy 373. The presentation slides are done and I've reviewed them several times already.

Grad school has been an interesting and challenging journey. I'll openly admit that there were some points along the way I wasn't sure if I was going to see the end. I'm glad it's finally coming to a conclusion. I have learned a significant amount not only about my research topic and methods for conducting qualitative research studies, but also I've learned more about myself... the cliche of "when the going gets tough, the tough get going" comes to mind.

I have several "thank yous" to give out for my sincere appreciation:
  • My parents and brother
  • Robert Brophy
  • Dr. James Mohler
  • Prof. Rodney Vandeveer
  • Prof. Terry Burton
  • Prof. Gail Farnsley
  • Dr. Mary Sadowski
  • Julie Talz
  • My Resident Assistant Staff Members at Cary Quad from the past few years
  • ... and all my friends who have stood by me (and let me vent/rant at times!), you know who you are
Thanks!
24 May 2010

Posted by Frank Garofalo | Topic: Multi-touch

User Testing - Round 2 Part 1

Today marked the beginning of Round 2 of user testing with Part 1 - the Affinity Diagram exercise. From Round 1 (User Testing - Part 1) the voluntary participant number wasn't high enough so a second round of user testing was required. The testing today went very well overall. I'm glad to say that the system didn't crash, as it did during Round 1 - Part 1 (so the modification I made to the open source code seemed to resolve the issue that was occurring).

The largest challenge with the user testing today seemed to be when the digital sticky notes would either move to the default top left corner (the 0,0 coordinate) or it would move to the location of the last touch point (which was usually another testing participants touch point). This seems to be an issue with Community Core Vision (CCV), the open source code, and the ActionScript 3.0 class which communication with CCV.
3 May 2010

Posted by Frank Garofalo | Topic: General

Rollovers - a thing of the past?

In a letter Steve Jobs released discussing Apple's "Flash distaste" (http://news.cnet.com/8301-30685_3-20003742-264.html), he states the following:
Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on "rollovers", which pop up menus or other elements when the mouse arrow hovers over a specific spot. Apple's revolutionary multi-touch interface doesn't use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?

Now as a designer / developer for multi-touch interfaces with the Adobe Flash Platform, I may be a bit biased here, but I disagree with his statement on several points. Most technologies were designed during the PC age, including Flash, the Web, HTML, and even several products from Apple. The mouse at the time was the most cost effective input device to replicate actually clicking and selecting items on a computer screen/display. Now with the continuing evolution of multi-touch devices, there are several new interface advantages and disadvantages emerging.

"Rollovers" can still occur in a multi-touch interface to help indicate to the user what element of the UI the user has selected. While I do admit, with multi-touch there is a blurred line between a "rollover" and a "single-tag/touch," so depending on the interface these may need to be coded differently to acknowledge a touch vs a mouse click.

As for the "modern technologies like HTML5" - we've seen time and time again with various Internet browsers slightly different implementations of web standards created by the W3C and I doubt HTML5 (http://dev.w3.org/html5/spec/Overview.html) will be any different. The challenge with this to web designers / developers is creating a consistent user-experience across all Internet browsers and computer operating systems. At least with Flash, a consistent, engaging experience can be achieved.
1 May 2010

Posted by Frank Garofalo | Topic: Multi-touch

A Multi-user Collaboration Multi-touch Device

The digital post-it notes being sorted included various popular social networking sites, such as Facebook, YouTube, Flickr, Twitter, etc. Special thanks for volunteering to be video taped - Sean S., Brian E., Ben T., and Mike M.

21 April 2010

Posted by Frank Garofalo | Topic: General

DROID vs iPhone

A friend of mine, Ben Doll, sent this to me the other day... I found it to be quite funny and very true.

But, I'm still waiting for the release of the Adobe Flash Player for my Android phone. I've signed up to be notified when the beta release is available (http://www.adobe.com/go/fpbetaandroid).
21 April 2010

Posted by Frank Garofalo | Topic: General

DROID vs iPhone

A friend of mine, Ben Doll, sent this to me the other day... I found it to be quite funny and very true.

But, I'm still waiting for the release of the Adobe Flash Player for my Android phone. I've signed up to be notified when the beta release is available (http://www.adobe.com/go/fpbetaandroid).
20 April 2010

Posted by Frank Garofalo | Topic: Multi-touch

User Testing - Part 1

Yesterday (April 19th 2010), I started part 1 of the user testing for my research project regarding the multi-touch device and software application I've been developing. The software application is based on the Six Sigma Affinity Diagram (aka KJ Analysis) exercise. This is typically used to sort through qualitative data (such as ideas from a brainstorming session) to find unforeseen relationships between the the data items / ideas by grouping them into categories.

I was granted permission by Dr. Mary Sadowski, Associate Dean for the College of Technology at Purdue University, to ask faculty members from a committee within the College of Technology to use my multi-touch device and software application to aide them in sorting through some ideas/outcomes regarding a project they are working on.


Image 1 - Doing a run-through prior to user testing during set-up.


Image 2 - User Testing.

During the user testing the software application unfortunately crashed twice. Each time the users had to restart the Affinity Diagram from the beginning. After the second crash, I went into the code and quickly made some alterations. The problem was occurring with an open-source class written in ActionScript 3.0 which processes data received from Community Core Vision (the open-source software which interprets the images received from the camera component of the device's hardware). I added some "try / catch" statements. This seemed to resolve the issue since the software application didn't crash after the modifications.

Overall, the user testing proved to be successful. Excellent data was collected both regarding the interaction of user-to-user and user-to-interface. Also, notes for improvements to the software application.
28 March 2010

Posted by Frank Garofalo | Topic: RIAs

Find the min or max value for a specific XML node

Given the following XML:

<data_set>
<data_item>
<item_num>1
<item_text>Test 1
</data_item>
<data_item>
<item_num>2
<item_text>Test 2
</data_item>
<data_item>
<item_num>3
<item_text>Test 3
</data_item>
</data_set>

Now to find the maximum or minimum value for the node "item_num", below is a function to sort through the matching nodes of the specified element:

function findValue(xmlData:XMLList, nodeName:String, options:Object = null):String {
//XMLList of all the nodes with the specified name
//DATA_ITEM refers to the element name from our XML provided above
var col1:XMLList - new XMLList(xmlData.DATA_ITEMnodeName);
//Temporary Array
var temp:Array = new Array();

//Add all the relevant node values to a temporary array
for (var i:int = 0; i < col1.children().length(); i++) {
tmp.push(col1i);
}
//Sort the Array with the options provided as a parameter to the function
var sorted:Array = tmp.sort(options);
//Return the first value in the sorted array
return sorted0;
}

Now to use our function:

//xmlDataList is our incoming XML data from a file or source we have already parsed
trace ("Maximum Value: "+ findValue(xmlDataList, "ITEM_NUM", Array.DESCENDING|Array.NUMERIC));
trace("MIN Element1: " + findValue(xmlDataList, "ITEM_NUM", Array.NUMERIC));

Source: http://www.glodde.com/blog/default.aspx?id=25&t=AS3Flex-Find-the-minimum-or-maximum-v

28 March 2010

Posted by Frank Garofalo | Topic: RIAs

Find the min or max value for a specific XML node

Given the following XML:

<data_set>
<data_item>
<item_num>1
<item_text>Test 1
</data_item>
<data_item>
<item_num>2
<item_text>Test 2
</data_item>
<data_item>
<item_num>3
<item_text>Test 3
</data_item>
</data_set>

Now to find the maximum or minimum value for the node "item_num", below is a function to sort through the matching nodes of the specified element:

function findValue(xmlData:XMLList, nodeName:String, options:Object = null):String {
//XMLList of all the nodes with the specified name
//DATA_ITEM refers to the element name from our XML provided above
var col1:XMLList - new XMLList(xmlData.DATA_ITEMnodeName);
//Temporary Array
var temp:Array = new Array();

//Add all the relevant node values to a temporary array
for (var i:int = 0; i < col1.children().length(); i++) {
tmp.push(col1i);
}
//Sort the Array with the options provided as a parameter to the function
var sorted:Array = tmp.sort(options);
//Return the first value in the sorted array
return sorted0;
}

Now to use our function:

//xmlDataList is our incoming XML data from a file or source we have already parsed
trace ("Maximum Value: "+ findValue(xmlDataList, "ITEM_NUM", Array.DESCENDING|Array.NUMERIC));
trace("MIN Element1: " + findValue(xmlDataList, "ITEM_NUM", Array.NUMERIC));

Source: http://www.glodde.com/blog/default.aspx?id=25&t=AS3Flex-Find-the-minimum-or-maximum-v

24 March 2010

Posted by Frank Garofalo | Topic: RIAs

Saving over an existing XML file with AS 3 & Adobe AIR

After looking everywhere to try to figure out how to save data to an existing XML file, this is what I came up with:

//~~~~~~ IMPORT FLASH CLASSES
import flash.filesystem.*;

//~~~~~~ VARIABLE DECLARATION
var dataPathLocal:String = "com/frankgarofalo/data/"; //file path
var destinationFile:File = File.userDirectory; //Where to save the file on local computer
var sourceFile:File = File.createTempFile(); //Temporary File
var writeStream:FileStream = new FileStream(); //File Access
var xmlData:XML = new XML();

//~~~~~~ CODE
xmlData = 1; //XML Data
destinationFile = destinationFile.resolvePath(dataPathLocal);
//trace (destinationFile .exists);
//trace (destinationFile .nativePath);
//trace (destinationFile .url);

//Open File & Write to the File
writeStream.open(sourceFile, FileMode.WRITE);
writeStream.writeUTFBytes(xmlData);
writeStream.close();
sourceFile.copyToAsync(destinationFile, true);
sourceFile.addEventListener(Event.COMPLETE, dataSaved);

function dataSaved(e:Event):void {
trace ("~~~~~~ XML SAVED SUCCESSFULLY ~~~~~~");
}

Hopefully I didn't forget anything from copying over the code from my AS file. If I did or if you have any questions, please let me know. Here are some links for reference:

23 March 2010

Posted by Frank Garofalo | Topic: Multi-touch

Making Slow Progress... but progress

I've made progress on my multi-touch software. I can now have multiple assets displayed on the device being touched (selected) at the same time and have events respond respectively to each individual asset selected. Getting this to work was a major accomplishment. Thank goodness for error catching.



Now I've run into another problem trying to save over an existing XML file with updated data. Spent about 3 hours this evening trying to figure it out without much success. I've searched Google to see what other people have tried but I've yet to find a working solution... slightly frustrating. If I find one, I'll post about it.
15 March 2010

Posted by Frank Garofalo | Topic: RIAs

Actionscript 3 - EmbedFont text disappear solution

I've been working on some ActionScript 3.0 code within Adobe Flash CS4. I needed to rotate a dynamic textfield but I was running into problems with the embedFont = true; code. I finally found a solution on an Adobe Developer Connection post titled "Embedded Fonts" under the Quick Start section (http://www.adobe.com/devnet/flash/quickstart/embedding_fonts/):

// Create a new instance of the Font1 symbol from the document's library.
var myFont:Font = new Font1();

/* Create a new TextFormat object, and set the font property to the myFont
object's fontName property. */
var myFormat:TextFormat = new TextFormat();
myFormat.font = myFont.fontName;
myFormat.size = 24;

/* Create a new TextField object, assign the text format using the
defaultTextFormat property, and set the embedFonts property to true. */
var myTextField:TextField = new TextField();
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.defaultTextFormat = myFormat;
myTextField.embedFonts = true;
myTextField.text = "The quick brown fox jumped over the lazy dog.";
addChild(myTextField);
2 February 2010

Posted by Frank Garofalo | Topic: Multi-touch

I've created a multi-touch monster

The multi-touch device I've been building since June is finally working now. There can be some tweaking and calibrating to improve its performance, but at least now its working.



Above pictures are using demo apps from the NUI Group.
1 October 2009

Posted by Frank Garofalo | Topic: Multi-touch

Multi-touch Device Progress

Some progress was made with the multi-touch device I've been building. Using the CCV software and some demo Flash apps provided on the CCV web site, here are some pictures and a video:










Thanks to Zach, Ben, and Caleb.
12 December 2008

Posted by Frank Garofalo | Topic: RIAs

Preloader in ActionScript 3.0

This code snippet is based off an example from http://newmovieclip.wordpress.com/2007/03/14/preloader-in-fl ash-cs3-actionscript-30-way/


package {
import flash.system.Capabilities;
import flash.system.fscommand;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.MovieClip;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.text.TextField;


public class mast_2009_loader extends MovieClip {
//Variables
var myLoader:Loader = new Loader();
var myRequest:URLRequest = new URLRequest("mast_2009b.swf");
var loadProgress_txt:TextField = new TextField();

//Constructor
public function mast_2009_loader() {

//Listeners
myLoader.contentLoaderInfo.addEventListener(Event.OPEN,showPreloader);
myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,showLoadResult);

//Load Request
myLoader.load(myRequest);
}
function showPreloader(evt:Event):void {
addChild(loadProgress_txt);
}
function showProgress(evt:ProgressEvent):void {
loadProgress_txt.text = "loaded:"evt.bytesLoaded" from "evt.bytesTotal;
}
function showLoadResult(evt:Event):void {
removeChild(loadProgress_txt);
addChild(myLoader);
}
}
}
11 November 2008

Posted by Frank Garofalo | Topic: General

xOpen AIR Chat App

xOpenxOpen AIR Chat is the creation of a senior-design project in the Department of Computer Graphics Technology at Purdue University. Members of the team are Kristeen Hudson, Will Grauvogel, and David Auble.

Built with Adobe Flex and XMPP, the application also uses custom Flex compontents created in Adobe Flash. The application runs on the Adobe AIR runtime.

For more details visit http://www.xopenair.com/

9 November 2008

Posted by Frank Garofalo | Topic: Adobe Student Rep

Flex Skin & Component Design

Flex Skin Design Extensions & Flex Component Kit for Flash CS3 downloads:

https://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins

6 November 2008

Posted by Frank Garofalo | Topic: Adobe Student Rep

Actionscript Posters

Adobe has a free ;poster promotion going on right now. These large posters (2 feet by 3 feet) will cover most walls and show packages and cl es available to Flex developers. (Source: Adobe.com)

https://www.adobe.com/cfusion/entitlement/index.cfm?e=posters

19 October 2008

Posted by Frank Garofalo | Topic: Research (cgCentral)

Adobe MAX 2008 Presentation

AdobeIn November 2008, Professor Kellen Maicher and I will be presenting at the 2008 Adobe MAX Conference in San Fransisco, California. The presentation entitled cgCentral: ;An AIR Application for Managing Course Information and Simulation Data will share the story of how cgCentral evolved, including discussion about development and usability testing of the AIR application.

30 September 2008

Posted by Frank Garofalo | Topic: Adobe Student Rep

Adobe Flex & AIR Training Session

AdobeWe have a date set ;for an Adobe ;Flex and Adobe ;AIR infomation / training session scheduled for Thursday, November 30th at 6pm in the DLC. The event will be open to all Purdue students, however space will be limited.

The presentation will discuss emerging Adobe technologies, such as AIR and Flex. During the presentation we will provide a demo/tutorial (at an introductory level) ;regarding how to build an AIR application with Flex and Flash.

For more details check out the group on Facebook: Adobe on Campus - Purdue RIA User Group

We hope to see you there.


Search

Login | Register

Topics

Twitter (follow me)

  • after waiting 10 hrs today for the technician, finally got Time Warner Cable & Internet - not impressed; @jefftwc
  • I'm at The Foundry at McCoy's (4057 Pennsylvania Ave, on Westport Rd, Kansas City). link
  • Now I can get the FULL internet on my Android with Adobe Flash, can't say that about an iPhone
  • @not_for_humans OTA
  • Go flash 10.1 for my Droid

Follow me on Twitter: @fgarofalo

Download Adobe Wave now!

This application requires Adobe® AIR™ to be installed for
Mac OS or Windows.