<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Pathfinder Development &#187; Sasha Dzeletovic</title>
	<atom:link href="http://www.pathf.com/blogs/author/sasha-dzeletovic/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pathf.com/blogs</link>
	<description>Running commentary about agile development, user experience design and Ajax.</description>
	<pubDate>Wed, 19 Nov 2008 15:24:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Skinning Flex with Illustrator CS3</title>
		<link>http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/</link>
		<comments>http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 15:46:06 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[flex css]]></category>

		<category><![CDATA[flex skins]]></category>

		<category><![CDATA[illustrator cs3]]></category>

		<category><![CDATA[importing graphics to flex]]></category>

		<category><![CDATA[skins]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1249</guid>
		<description><![CDATA[There is many ways to skin Flex applications. To name some that I've used: Flex CSS, Programmatic AS3, Flash, Degrafa, Photoshop (JPG's, GIF's and PNG's) and Illustrator.
What usually needs to happen on a project is a combination of some or all of the above. Not having a single point of reference for skinning creates quite [...]]]></description>
			<content:encoded><![CDATA[<p>There is many ways to skin Flex applications. To name some that I've used: Flex CSS, Programmatic AS3, Flash, Degrafa, Photoshop (JPG's, GIF's and PNG's) and Illustrator.</p>
<p>What usually needs to happen on a project is a combination of some or all of the above. Not having a single point of reference for skinning creates quite a bottleneck.</p>
<p>From different approaches, two surfaced as having the best pipeline: Illustrator CS3 and Degrafa. If we are talking speed and ease of graphic design, I would now default to Illustrator CS3. For advanced skinning and interactions Degrafa holds first place.</p>
<p><span id="more-1249"></span></p>
<p>Speed, of course, is a major factor. A lot of projects do not need advanced skinning, but just a step forward from useful but many times seen default Flex skins. By that I mean applying the brand guidelines of the company or product/service.</p>
<p>After a long time I gave Illustrator another chance and the CS3 version proved remarkably useful. Illustrator with Flex CSS that is.</p>
<p>My goal was to create the fore mentioned single point of reference for skins and I did it in Flex CSS. Good people of Adobe even made a script for Illustrator to speed things up which I gladly use. Process works fine without the script too (maybe even faster, but you have more skins to track yourself), and you can find a tutorial for that version <a href="http://www.adobe.com/devnet/flex/articles/flex_skins_07.html" target="_blank">here</a>.</p>
<p>For the streamlined version you can find Illustrator scripts <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank">here</a> (together with scripts for other apps) and you need to have a free Adobe account to download.</p>
<p><b>STEPS:</b></p>
<p><b>1.</b> Download the Illustrator scripts from <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank">here</a>. You can find the installation instructions in the downloaded archive.<a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank"><br />
</a></p>
<p><b>2.</b> Create your skins for various states of the component in Illustrator as you would do usually using all the wonderful features of Illustrator.</p>
<p><b>3.</b> Convert your skins to Symbols.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>a.</b> Open the Symbols panel in Illustrator (Window -&gt; Symbols).</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>b.</b> Select a particular skin graphic that you have made.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>c.</b> Click the "New Symbol" icon in the bottom right corner of the Symbol panel.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>d.</b> Naming the symbol is important. For example, if you want to automate creating an "up" state skin for a button, you would name it myButton_upSkin. For "down" state you would select an appropriate graphic to create a symbol from and name it myButton_downSkin. So for every state you want, you would add an underscore and state name after the symbol name that needs to be camelCase.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>e.</b> I would highly recommend setting the "Flash Registration" point to upper left corner to be in sync with standard flex registration point.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>f.</b> If you want to have the symbol to scale using 9-slice approach, check the box labeled "Enable guides for 9-slice scaling". You can later go back to your symbol and adjust the slices position.</p>
<p><b>4.</b> Now that you have made the symbol (and adjusted slicing if need be), you can export it by choosing:</p>
<p>File -&gt; Scripts -&gt; Flex Skin -&gt; Export Flex Skin.</p>
<p>A SWF file will be created by name of your choice.</p>
<p><b>5.</b> Go to Flex Builder and choose:</p>
<p>File -&gt; Import -&gt; Skin Artwork</p>
<p><b>6.</b> Set up parameters in the dialog box like this:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>a.</b> Select "SWC of SWF file" and point to the file you've just created in Illustrator.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>b.</b> Select the folder you want to import it in.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>c.</b> Click "Next".</p>
<p><b>7.</b> At this window you will be prompted to select the skins that you want to import. No reason not to "Check All" here. For the selected skins you will now see the states of the particular skin in the "Skin Part" Column.</p>
<p><b>8.</b> Click "Finish" and a Flex CSS file will be made with all the skins appropriately declared.</p>
<p><b>9.</b> All you have to do now is to apply the name of a particular skin to your components Style name.</p>
<p>This skining approach has proven very fast and error free for me.</p>
<p>I'm enjoying the 9-slice scaling, vector graphic crisp scaling and mouse interaction only with visible pixels.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/11/skinning-flex-with-illustrator-cs3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Defining RIA Interaction Patterns on time in Flex Agile Development</title>
		<link>http://www.pathf.com/blogs/2008/10/defining-interaction-patterns-on-time-in-flex-agile-development/</link>
		<comments>http://www.pathf.com/blogs/2008/10/defining-interaction-patterns-on-time-in-flex-agile-development/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 07:19:09 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[agile]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[interaction patterns design]]></category>

		<category><![CDATA[Patterns]]></category>

		<category><![CDATA[project management]]></category>

		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1203</guid>
		<description><![CDATA[Putting more attention to User Interaction Design is naturally becoming a standard practice with RIA.
With RIA technologies, classic Interaction Patterns are only building blocks, not solutions. With raised possibilities, Patterns have become more complex.

So what are UI Interaction Patterns?
Wiki notes: “In interaction design/HCI, an interaction design (ID) pattern is a general repeatable solution to a [...]]]></description>
			<content:encoded><![CDATA[<p>Putting more attention to User Interaction Design is naturally becoming a standard practice with RIA.</p>
<p>With RIA technologies, classic Interaction Patterns are only building blocks, not solutions. With raised possibilities, Patterns have become more complex.</p>
<p><span id="more-1203"></span><br />
<strong>So what are UI Interaction Patterns?</strong></p>
<p>Wiki notes: “In interaction design/HCI, an interaction design (ID) pattern is a general repeatable solution to a commonly-occurring usability or accessibility problem in interface design or interaction design.”</p>
<p>In other words, it’s a high level abstraction of Interaction that can be applied throughout the Project as it grows and changes.</p>
<p>For example, Interaction Pattern would be definitions of handling screen transitions, button interactions, error messages, focus switching, refreshing data, status messages and in RIA case navigating maps, data mining, 3D space navigation, graph filtering and many other creative approaches to interacting with data.<br />
<strong><br />
Timing makes for good results</strong></p>
<p>How does one approach this challenge in Project Management makes a lot of difference to outcome and quality of a project. Recently, while working on a project with an excellent Project Manager and colleague Alice Toth, we came up with a place for Interaction Design in project planing that makes a lot of sense to me as a RIA Developer.</p>
<p>While analyzing the project we were working on I noticed that I didn’t abstract the Patterns enough at the time we were adding small features at the end of the project.</p>
<p>I was giving too much focus to individual components of the interface and that was not facilitating incoming features from extending the application because they were all "unique".</p>
<p>Every time a new feature was introduced which is a given in Agile software development, I would have to spend time thinking about the Interface Interaction Design and how to incorporate it with the rest of the app seamlessly.</p>
<p>That felt like a waste of time. RIA interfaces, creative and unique as they are still have some patterns. Even when an Interface Component is a brand new idea, it still follows some brand new patterns.</p>
<p>While going over Alice’s good Project Management practices, we found a good spot to incorporate the UI Interaction Patterns Design.</p>
<p>Right after Application Features and User Roles and Scenarios are defined and at the same time as designing the Data Model and back-end Architecture. It would seem premature, but it has some great advantages.</p>
<p>Data Model and Interaction Design are far more correlated than it meets the eye. Some of work on the back end can be cut if the Interactions are defined. You get a better sense of which methods and requests do you really need and what will be up for extending in the future. You might catch something on the back-end  that needs to be done that would otherwise be unnoticed until front end development.</p>
<p>The biggest value of designing Interactions at an early stage is that you can have a more objective picture of priorities and still have a very abstract perspective which you can use to design broader solutions and in that way save time. If you gauge which Patterns can cover the most cases, imminent and potential, you can have more time to develop them to a greater quality.</p>
<p>This in turn makes for a good Flex Project class architecture that reduces the number of hacks and exceptions that solve small problems at a big cost of time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/10/defining-interaction-patterns-on-time-in-flex-agile-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash Player on iPhone gossip</title>
		<link>http://www.pathf.com/blogs/2008/10/flash-player-on-iphone-gossip/</link>
		<comments>http://www.pathf.com/blogs/2008/10/flash-player-on-iphone-gossip/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 12:59:56 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[flash player]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1181</guid>
		<description><![CDATA[
First thing that came to my mind when I initially heard about the iPhone was the multi-touch possibilities that would start changing the way we create Flash/Flex interfaces (hopefully through SDK extension supporting multi-touch on Adobe's side triggered by iPhone release).
It looked very promising and natural to me in the beginning that this will be [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pathf.com/blogs/wp-content/uploads/2008/10/iphone-flash.jpg"><img class="alignnone size-full wp-image-1182" src="http://www.pathf.com/blogs/wp-content/uploads/2008/10/iphone-flash.jpg" alt="" width="300" height="200" /></a></p>
<p>First thing that came to my mind when I initially heard about the iPhone was the multi-touch possibilities that would start changing the way we create Flash/Flex interfaces (hopefully through SDK extension supporting multi-touch on Adobe's side triggered by iPhone release).</p>
<p>It looked very promising and natural to me in the beginning that this will be the route. Flash is a great part of the Internet experience and iPhone is a great mobile device for, among other things, Internet access.</p>
<p><span id="more-1181"></span></p>
<p>Long time passed, and still all I can find on this topic is gossip.</p>
<p>Ranging from initial optimism:</p>
<p><a href="http://gizmodo.com/gadgets/iphone/iphone-adobe-flash-support-coming-275317.php" target="_blank">iPhone Adobe Flash Support Coming</a><br />
<a href="http://gizmodo.com/gadgets/iphone/iphone-adobe-flash-support-coming-275317.php" target="_blank"></a><a href="http://www.appleinsider.com/articles/07/07/05/mossberg_apple_working_on_adobe_flash_support_for_iphone.html" target="_blank">Mossberg: Apple working on Adobe Flash support for iPhone</a><br />
<a href="http://www.gearlive.com/news/article/q108-flash-on-iphone-is-just-around-the-corner/" target="_blank">Flash on iPhone is just around the corner</a><br />
<a href="http://www.engadget.com/2008/03/19/adobe-says-flash-is-coming-to-the-iphone/" target="_blank"><span>Adobe says Flash is coming to the iPhone</span></a></p>
<p>...to some doubts about the timeline:<br />
<a href="http://www.alleyinsider.com/2008/6/adobe_flash_apple_iphone_maybe_someday" target="_blank">Adobe Flash Coming To Apple's iPhone -- Maybe, Someday</a><br />
<a href="http://www.eribium.org/blog/?p=139" target="_blank">Flash iPhone project stumbles: SDK insufficient</a></p>
<p>...to some doubts about the outcome:<br />
<a href="http://news.cnet.com/8301-10787_3-9886265-60.html" target="_blank">Adobe bites its tongue after iPhone Flash jab</a><br />
<a href="http://www.alleyinsider.com/2008/3/steve_jobs_flash_not_good_enough_for_iphone_is_microsofts_silverlight" target="_blank">Steve Jobs: Flash Not Good Enough For iPhone. Is Microsoft's Silverlight?</a></p>
<p>...to advanced angles on the topic:<br />
<a href="http://daringfireball.net/2008/02/flash_iphone_calculus" target="_blank">Flash on iPhone Political Calculus</a></p>
<p>After all this (and much more) gossip, I came up with the following conclusion: It has never been a better time to learn <span><a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html" target="_blank">Objective-C</a>. </span></p>
<p>If the Flash support ever pans out, I will be waiting and ready. In the meantime, it seams like a waiste not to apply all the interface development techniques learned through Flash/Flex development on iPhone and learn something new.</p>
<p>I dare to say that Flash/Flex developers should have an edge on at least the interface logic, and learning a new language should be on everybody's agenda from time to time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/10/flash-player-on-iphone-gossip/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Symphony of Ruby on Rails and Flex through RubyAMF</title>
		<link>http://www.pathf.com/blogs/2008/09/simphony-of-ruby-on-rails-and-flex-through-rubyamf/</link>
		<comments>http://www.pathf.com/blogs/2008/09/simphony-of-ruby-on-rails-and-flex-through-rubyamf/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:27:30 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[amf]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

		<category><![CDATA[rubyamf]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1163</guid>
		<description><![CDATA[
In a project that I am currently a part of, we inherited Ruby on Rails from our client's system and project front-end was designated to be developed in Flex. RubyAMF came naturally.
I have been working with two other AMF frameworks prior to this: AMFPHP and WebOrb. My experience with both was that they are fairly [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1164" src="http://www.pathf.com/blogs/wp-content/uploads/2008/09/ror-ramf-fx.jpg" alt="" width="288" height="200" /></p>
<p>In a project that I am currently a part of, we inherited Ruby on Rails from our client's system and project front-end was designated to be developed in Flex. <a href="http://code.google.com/p/rubyamf/" target="_blank">RubyAMF</a> came naturally.</p>
<p>I have been working with two other AMF frameworks prior to this: <a href="http://www.amfphp.org/" target="_blank">AMFPHP</a> and <a href="http://www.themidnightcoders.com/weborb/" target="_blank">WebOrb</a>. My experience with both was that they are fairly hard to set up and once you go through that minefield, everything works excellent. No need to say that I am a great advocate of AMF in general. <a href="http://code.google.com/p/rubyamf/" target="_blank">RubyAMF</a> brings the same good old AMF but with a stunning ease and speed of development!</p>
<p>My colleague working on the Ruby side, Justin Ficke, introduced me to code and architecture of Ruby on Rails  and I was impressed to see with what ease, precision and speed can one develop it.</p>
<p>Justin and I put a little test together of this architecture and here is a screen cast of it.</p>
<p><a href="http://www.pathf.com/blogs/wp-content/uploads/2008/09/ror-ramf-fx-test.mov" target="_blank"><img class="alignnone size-full wp-image-1166" src="http://www.pathf.com/blogs/wp-content/uploads/2008/09/test.jpg" alt="" width="500" height="226" /></a></p>
<p>All the lovely custom typed objects and speed of data transfer are there. Beauty of it, appart from obvious benefits from AMF, is that the development process couldn't have been better and faster.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/09/simphony-of-ruby-on-rails-and-flex-through-rubyamf/feed/</wfw:commentRss>
<enclosure url="http://www.pathf.com/blogs/wp-content/uploads/2008/09/ror-ramf-fx-test.mov" length="2885960" type="video/quicktime" />
		</item>
		<item>
		<title>Mouse wheel (scroll) Event in Flash Player running on a Mac</title>
		<link>http://www.pathf.com/blogs/2008/09/mouse-wheel-scroll-event-in-flash-player-running-on-a-mac/</link>
		<comments>http://www.pathf.com/blogs/2008/09/mouse-wheel-scroll-event-in-flash-player-running-on-a-mac/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 18:04:45 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[externalinterface]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[mouse scroll]]></category>

		<category><![CDATA[mouse wheel]]></category>

		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1147</guid>
		<description><![CDATA[One of the great advantages of Flash technology is cross-browser and cross-platform compatibility. That is almost entirely true but a few things did slip Adobe.
A big issue that was overlooked is support for mouse wheel event on Mac OSX. A pretty basic functionality you would think. If your interface is heavily relying on mouse scrolling, [...]]]></description>
			<content:encoded><![CDATA[<p>One of the great advantages of Flash technology is cross-browser and cross-platform compatibility. That is almost entirely true but a few things did slip Adobe.</p>
<p>A big issue that was overlooked is support for mouse wheel event on Mac OSX. A pretty basic functionality you would think. If your interface is heavily relying on mouse scrolling, your audience on Mac's will probably have a "so how does this work" blank stare.</p>
<p><span id="more-1147"></span></p>
<p>Google didn't overlook this in their implementation of Maps, but most apps I've seen online did.</p>
<p>There is a very nice and simple solution to this issue coming from <a href="http://hasseg.org" target="_blank">hasseg.org</a> and I find it very important to put this little effort in to maintain same look and feel of application interface across platforms.</p>
<p>Solution is executed with help from JavaScript. Mouse wheel events get passed to Flash player and parsed to simulate regular functionality.</p>
<p>A lot of praise to <a href="http://hasseg.org" target="_blank">hasseg.org</a> for coming up with and publishing <a href="http://hasseg.org/stuff/FlexOSXMouseWheel/OSXMouseWheelSupportForFlex2.zip">working source code</a> of this solution.</p>
<p>You can find the full explenation on this <a href="http://hasseg.org/blog/?p=3" target="_blank">blog post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/09/mouse-wheel-scroll-event-in-flash-player-running-on-a-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash/Flex physics engines and examples</title>
		<link>http://www.pathf.com/blogs/2008/09/flash-flex-physics-engines-and-examples/</link>
		<comments>http://www.pathf.com/blogs/2008/09/flash-flex-physics-engines-and-examples/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 15:25:48 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[2d physics]]></category>

		<category><![CDATA[3D physics]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[physics]]></category>

		<category><![CDATA[physics engines]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1129</guid>
		<description><![CDATA[Flash technology has gone a long way from simple vector animations. Today it has support for video and audio, 3d rendering and interaction, all kinds of advanced data visualization libraries, great components of all shapes, sizes and purposes.

What caught my eye lately is that there is a lot of 2D and 3D Physics engines being added to the list.]]></description>
			<content:encoded><![CDATA[<p><a href="http://files.slembcke.net/chipmunk/movies/smash.mov" target="_blank"><img class="alignleft size-medium wp-image-1133" src="http://www.pathf.com/blogs/wp-content/uploads/2008/09/physicspiramide1.jpg" alt="physics pyramid" width="300" height="221" /></a></p>
<p>Flash technology has gone a long way from simple vector animations. Today it has support for video and audio, 3d rendering and interaction, all kinds of advanced data visualization libraries, great components of all shapes, sizes and purposes.</p>
<p>What caught my eye lately is that there is a lot of 2D and 3D Physics engines being added to the list.<br />
<span id="more-1129"></span>Physics beyond the obvious add a whole new level to user experience, in which I'm particularly interested.<br />
Physics allow developers to create interfaces that are replicating laws of nature that a user can easily understand and has experience with.</p>
<p>Of course, from step one there is a danger of these tools being misused and thrown on top of interfaces for some make-up effects. That is not what I'm talking about. I'm talking about using physics to help the user understand the software interface and it's process by guiding him/her using these principles.</p>
<p>There are some basic and insightful guidelines and examples in an excellent article by Rob Adams called "<a href="http://www.adobe.com/devnet/flex/articles/fig_pt6.html"><strong>Guiding with motion</strong></a>".</p>
<p>Here are some engines and examples that deal with 2D/3D physics in Flex/Flash:</p>
<p><a href="http://temp.roxik.com/datas/perform/index.html" target="_blank"><strong>ROXIK</strong></a><strong> </strong>-<br />
<a href="http://temp.roxik.com/datas/bone/index.html" target="_blank">Bone example</a><br />
<a href="http://temp.roxik.com/datas/physics/index.html" target="_blank">Gravity boot</a><br />
<a href="http://temp.roxik.com/datas/cloth/index.html" target="_blank">Interactive cloth</a></p>
<p><strong><a href="http://box2dflash.sourceforge.net/" target="_blank">Box2DFlashAS3</a> </strong><strong><a href="http://box2dflash.sourceforge.net/" target="_blank"><br />
</a></strong></p>
<p><strong><a href="http://code.google.com/p/glaze/" target="_blank">Glaze</a></strong><br />
<a href="http://home.planet.nl/~borst595/glaze.html" target="_blank">Example</a></p>
<p><strong><a href="http://wiki.slembcke.net/main/published/Chipmunk" target="_blank">Chipmunk</a></strong><br />
<a href="http://files.slembcke.net/chipmunk/movies/smash.mov">Domino smash </a><br />
<a href="http://files.slembcke.net/chipmunk/movies/sketches.mov">Sketches</a><br />
<a href="http://files.slembcke.net/chipmunk/movies/machine.mov">The Machine</a><br />
<a href="http://files.slembcke.net/chipmunk/movies/pyramid.mov">Domino pyramid</a></p>
<p><a href="http://files.slembcke.net/chipmunk/movies"> </a></p>
<p><strong><a href="http://blog.generalrelativity.org/?p=17" target="_blank">Foam</a></strong><br />
<a href="http://lab.generalrelativity.org/foam/demos/perpetualFall/" target="_blank">Example 1</a><br />
<a href="http://lab.generalrelativity.org/foam/demos/zeroGToyChest/" target="_blank">Example 2</a></p>
<p><strong><a href="http://www.cove.org/ape/index.htm" target="_blank">Ape</a></strong><br />
<a href="http://www.cove.org/ape/demo1.htm" target="_blank">Example 1</a><br />
<a href="http://www.cove.org/ape/demo2.htm" target="_blank">Example 2</a></p>
<p><strong><a href="http://lab.polygonal.de/motor_physics/" target="_blank">Motor2</a></strong></p>
<p><strong><a href="http://seraf.mediabox.fr/wow-engine/as3-3d-physics-engine-wow-engine/" target="_blank">Wow</a></strong><br />
<a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-picture/">3D picture</a><br />
<a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-demo-rope-and-box/">rope, box</a><br />
<a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-cloth-demo-01/">cloth 01</a><br />
<a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-cloth-demo-02/">cloth 02</a><br />
<a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-cloth-demo-03/">cloth 03</a></p>
<p><strong><a href="http://mark-shepherd.com/blog/springgraph-flex-component/" target="_blank">SpringGraph</a></strong><a href="http://mark-shepherd.com/blog/springgraph-flex-component/" target="_blank"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/09/flash-flex-physics-engines-and-examples/feed/</wfw:commentRss>
<enclosure url="http://files.slembcke.net/chipmunk/movies/smash.mov" length="1630448" type="video/quicktime" />
<enclosure url="http://files.slembcke.net/chipmunk/movies/sketches.mov" length="3934204" type="video/quicktime" />
<enclosure url="http://files.slembcke.net/chipmunk/movies/machine.mov" length="2984918" type="video/quicktime" />
<enclosure url="http://files.slembcke.net/chipmunk/movies/pyramid.mov" length="1613774" type="video/quicktime" />
		</item>
		<item>
		<title>Data visualization and the art of conveying information</title>
		<link>http://www.pathf.com/blogs/2008/09/data-visualization-and-the-art-of-conveying-information/</link>
		<comments>http://www.pathf.com/blogs/2008/09/data-visualization-and-the-art-of-conveying-information/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 06:42:43 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[code art]]></category>

		<category><![CDATA[data visualization]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1124</guid>
		<description><![CDATA[

As a coder, I go over tremendous amount of information on daily basis. My case is no different than anybody's else living in the world today. Regardless of where we live and how we spend our time we are saturated with all kinds of information, a lot of it that we don't care about and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://flare.prefuse.org/launch/apps/dependency_graph" target="_blank"><img class="size-medium wp-image-1127 alignright" src="http://www.pathf.com/blogs/wp-content/uploads/2008/09/flaremap.png" alt="" width="295" height="300" /></a></p>
<p><a href="http://flare.prefuse.org/launch/apps/dependency_graph"></a></p>
<p>As a coder, I go over tremendous amount of information on daily basis. My case is no different than anybody's else living in the world today. Regardless of where we live and how we spend our time we are saturated with all kinds of information, a lot of it that we don't care about and a lot of it that we wish we had fast access to, if at all.</p>
<p>Ironically,  computer technology adds to the problem more often than not. All that computational power is often just creating more data that we will never experience because there's just too much of it everywhere and all the time. Traditional techniques of consuming information are becoming too slow and narrow to handle this kind of pace.</p>
<p>We have all heard that a "picture speaks a thousand words". Doesn't that sound like an efficient way to consume information? Now, there are pictures and there are pictures.</p>
<p>There are pictures that strike a cord with you and there are pictures that leave you bland. Which one are you more likely to remember and allot the time of your mind?</p>
<p>Here are some libraries for data visualization in Flex/Flash as well as some artful experiments that I found to be good tools/examples of data visualization.<br />
<span id="more-1124"></span><br />
<a href="http://flare.prefuse.org" target="_blank">Flare</a><br />
Flare is a very comprehensive library ranging from graph and charts to timelines and treemaps and then some.<br />
<a href="http://flare.prefuse.org/launch/apps/dependency_graph" target="_blank">Example 1</a><br />
<a href="http://flare.prefuse.org/demo" target="_blank">Example 2</a>:</p>
<p><a href="http://www.yworks.com/en/index.html" target="_blank">yFiles</a><br />
yWorks offers the same graphing solution for Flex, Ajax, .NET<br />
Solutions include DOM Tree, Graph Canvas, Drag and Drop, Collapsible Tree, GraphWikiand they are all very well documented.<br />
<a href="http://www.yworks.com/en/products_yfilesflex_about.html" target="_blank">Flex Examples</a></p>
<p><a href="http://www.ilog.com/products/ilogelixir/" target="_blank">ILOG Elixir</a><br />
ILOG Elixir offers 3D Charts, Gauges and Dials, Map Displays, Gantt Charts, Organization Charts, Treemap Charts and Radar Charts.<br />
All demos can be found <a href="http://www.ilog.com/products/ilogelixir/demos/" target="_blank">here</a>.</p>
<p><a href="http://mark-shepherd.com/blog/springgraph-flex-component/" target="_blank">SpringGraph</a><br />
SpringGraph is a lovely Flex component that deals as its name says - a Spring Graph, which is a self arranging graph.<br />
Example 1: <a href="http://mark-shepherd.com/SpringGraph/RoamerDemo/bin/RoamerDemo.html" target="_blank">Roamer Demo</a><br />
Example 2: <a href="http://mark-shepherd.com/SpringGraph/MoleculeViewer/bin/MoleculeViewer.html" target="_blank">Molecule Viewer</a></p>
<p><a href="http://www.levitated.net" target="_blank">Levitated.net</a><br />
<a href="http://www.levitated.net" target="_blank"></a>Levitated.net  shows beautiful visual experiments with algorithms. Their business application is yet to be discovered.<br />
<a href="http://www.levitated.net/gravityIndex.html" target="_blank">Examples</a></p>
<p><a href="http://blog.zupko.info/" target="_blank">Andy Zupkos blog</a><br />
Andy is blowing the lid of Papervision3D, a 3D engine written in AS2 and AS3.<br />
You can see his masterful explorations <a href="http://blog.zupko.info/" target="_blank">here</a>.</p>
<p><a href="http://lab.mathieu-badimon.com/" target="_blank">Mathieu Badimon Lab</a><br />
Mathieu has published a few eye catching experiments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/09/data-visualization-and-the-art-of-conveying-information/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex Gauge Component Example with source</title>
		<link>http://www.pathf.com/blogs/2008/08/flex-gauge-component-example-with-source/</link>
		<comments>http://www.pathf.com/blogs/2008/08/flex-gauge-component-example-with-source/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 23:41:23 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Gauge Component]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1111</guid>
		<description><![CDATA[This example covers how to build a simple 360 degrees gauge Flex component.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pathf.com/sites/pfd/flash/blog/08212008/SimpleGauge.html"><img class="alignnone size-medium wp-image-1112" src="http://www.pathf.com/blogs/wp-content/uploads/2008/08/simplegauge.png" alt="Simple Gauge Flex Component" width="198" height="201" /></a></p>
<p>This example covers how to build a simple 360 degrees gauge Flex component. It has public properties that allow you to easily adjust the appearance of the component for colors, size, font size, guideline thickness and such. It also fires a custom "angleChanged" event that helps you integrate it with the rest of your app.</p>
<p><span id="more-1111"></span></p>
<p>There's a little trigonometry involved, but it's straight forward. This component can be used as a base for further extending into your "complex" gauge component.</p>
<p>It's contained in a single "MXML Component" file so it's easy to deal with.</p>
<p>One thing to keep in mind when using it is to make sure that width an height of the component are the same, otherwise the layout blows up.</p>
<p>You can see the example <a href="http://www.pathf.com/sites/pfd/flash/blog/08212008/SimpleGauge.html" target="_blank">here</a>.</p>
<p>You can see/download the source <a href="http://www.pathf.com/sites/pfd/flash/blog/08212008/srcview/index.html" target="_blank">here</a> or by right-clicking on the example and selecting "View Source".</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/08/flex-gauge-component-example-with-source/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Custom Flex 3 Lightweight Preloader with source code</title>
		<link>http://www.pathf.com/blogs/2008/08/custom-flex-3-lightweight-preloader-with-source-code/</link>
		<comments>http://www.pathf.com/blogs/2008/08/custom-flex-3-lightweight-preloader-with-source-code/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 19:25:49 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[lightweight]]></category>

		<category><![CDATA[preloader]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1101</guid>
		<description><![CDATA[Here we will have a demonstration to an age old problem in Flash (and inherited in Flex), the preloader. I think that the Flex community has long ago grown bored with the default preloader, which I am very thankful to Adobe engineers for providing it in the first place. It's just that we keep seeing it over and over and over...]]></description>
			<content:encoded><![CDATA[<p style="center;"><a href="http://www.pathf.com/sites/pfd/flash/blog/08142008/PreloaderComponent.html"><img class="alignnone size-medium wp-image-1102 aligncenter" src="http://www.pathf.com/blogs/wp-content/uploads/2008/08/preloader.png" alt="Preloader" width="300" height="144" /></a></p>
<p>Here we have a demonstration to an age old problem in Flash (inherited in Flex) - the Preloader. I think that the Flex community has long ago grown bored with the default preloader, which I am very thankful to Adobe engineers for providing us in the first place. It's just that we keep seeing it over and over and over...</p>
<p><span id="more-1101"></span></p>
<p>Another important thing that the default preloader naturally doesn't provide is some branding while the user is waiting for the loading to complete.</p>
<p>There are some great examples out there like <a href="http://www.onflex.org/ted/2006/07/flex-2-preloaders-swf-png-gif-examples.php" target="_blank">Ted's</a> and the one that I'm using as a base for this demonstration from <a href="https://defiantmouse.com/yetanotherforum.net/Default.aspx?g=posts&amp;t=82" target="_blank">Andrew</a>.</p>
<p>Andrew's example allows us to have a lightweight preloader base that we can extend and <strong>solve the following problems</strong> that I think every preloader should:</p>
<p>- What is the status of loading - both numerically and graphically</p>
<p>- Some branding to show what are we waiting for that would involve some imagery, like a logo</p>
<p>- Possibility of actually making the preloader entertaining enough to keep the users attention</p>
<p>Problem in Flex more so than in Flash is keeping the preloader lightweight. So we have to achieve the visual appeal, animation, some basic text rendering without all the convenient native Flex components that would make the delay before seeing the preloader too long. So we have to keep it simple. Kudos to Andrew for publishing a great way to do this.</p>
<p><strong>I would like to point out a couple things:</strong></p>
<p><strong>1.</strong> So we want to show the percentage loaded, right? Well, the Label component just won't work out. Label comes with following inheritance:</p>
<p>Label -&gt; UIComponent -&gt; FlexSprite -&gt; Sprite -&gt; DisplayObjectContainer -&gt; InteractiveObject  DisplayObject -&gt; EventDispatcher -&gt; Object</p>
<p>That is a good part of the Flex framework that we want to avoid for the preloader. Instead, because we just want to render the text, we can use the TextField object which comes with following inheritance:</p>
<p>TextField -&gt; InteractiveObject -&gt; DisplayObject -&gt; EventDispatcher -&gt; Object</p>
<p>And another thing is that we want to avoid any custom fonts in the preloader because that will surely blow it up.</p>
<p><strong>2.</strong> Any imagery that we want to show up should naturally be in the single digit kilobytes to begin with. Photoshop offers a lot of ways to optimize the size of the image.</p>
<p>Than again, we don't want to use the convenient Image component because it comes with the following inheritance:</p>
<p>Image -&gt; SWFLoader -&gt; UIComponent -&gt; FlexSprite -&gt; Sprite -&gt; DisplayObjectContainer -&gt; InteractiveObject -&gt; DisplayObject -&gt; EventDispatcher -&gt; Object</p>
<p>Instead, we can fill up a DisplayObject that comes with following inheritance:</p>
<p>DisplayObject -&gt; EventDispatcher -&gt; Object</p>
<p>To do this you:</p>
<p>- embed your small image in the preloder like so:</p>
<pre>[Embed("Assets/Pathfinder_Logo_Blue.png") ]
[Bindable] public var Logo:Class;</pre>
<p>- pass the Logo class to DisplayObject and add it to stage, like so:</p>
<pre>var b:DisplayObject=new Logo();
addChild(b);</pre>
<p>and then set it's size and position parameters.</p>
<p>We only want to show the image pixel, so this will do. We can still make our logo DisplayObject available throughout the whole preloader class so we can play with it a little, like making it follow the progress bar by changing it's X parameter.</p>
<p>The rest you can pick up from the<strong> source code</strong>, available <a href="http://www.pathf.com/sites/pfd/flash/blog/08142008/srcview" target="_blank">here</a>.</p>
<p>You can see the <strong>example</strong> <a href="http://www.pathf.com/sites/pfd/flash/blog/08142008/PreloaderComponent.html" target="_blank">here</a>.</p>
<p>Again, thanks to Andrew, Ted and Adobe Flex Team.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/08/custom-flex-3-lightweight-preloader-with-source-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Papervision3D 2.0 (Great White) in Flex 3 (Part II &#38; III combined) with source code</title>
		<link>http://www.pathf.com/blogs/2008/08/papervision3d-20-great-white-in-flex-3-part-ii-iii-combined-with-source-code/</link>
		<comments>http://www.pathf.com/blogs/2008/08/papervision3d-20-great-white-in-flex-3-part-ii-iii-combined-with-source-code/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 22:47:36 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[3D GPS]]></category>

		<category><![CDATA[AIR]]></category>

		<category><![CDATA[BitmapData.draw]]></category>

		<category><![CDATA[Custom Flex Component]]></category>

		<category><![CDATA[Degrafa]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Gauge Component]]></category>

		<category><![CDATA[papervision3d]]></category>

		<category><![CDATA[PV3D]]></category>

		<category><![CDATA[Tilt Component]]></category>

		<category><![CDATA[Yahoo Map AS3 API]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1088</guid>
		<description><![CDATA[The purpose of this demonstration is to use Yahoo Map and Papervision3D as a base for creating/importing 3D Objects with reference to actual locations on planet Earth using the Adobe Flex framework.
Demonstration is packed in an air application for which you can also see and download fully functioning source code. ]]></description>
			<content:encoded><![CDATA[<p style="center;"><a href="http://www.pathf.com/blogs/wp-content/uploads/2008/08/yahoo-map-in-pv3d.png"><img class="alignnone size-medium wp-image-1089 aligncenter" src="http://www.pathf.com/blogs/wp-content/uploads/2008/08/yahoo-map-in-pv3d-thumb.jpg" alt="YahooMap in PV3D" width="500" height="291" /></a></p>
<p>The purpose of this demonstration is to use Yahoo Map and Papervision3D as a base for creating/importing 3D Objects with reference to actual locations on planet Earth using the Adobe Flex framework.</p>
<p>In this post I will be covering how to integrate Yahoo Maps AS3 API as an Interactive Material in PV3D 2.0 and solutions to the following problems:</p>
<p>- Security sandbox violation when using Yahoo Map as MovieMaterial (i.e. BitmapData.draw problem)<br />
- Mapping Longitude and Latitude values to X and Y coordinates of a PV3D material<br />
- Dragging Yahoo Map in PV3D (avoiding the map panning collision with PV3D)<br />
- Simple gauge component from the ground up using basic trigonometry<br />
- Simple tilt component again using basic trigonometry<br />
- Making a visual component using Degrafa</p>
<p>Demonstrations of  these solutions are packed in <a href="http://www.pathf.com/sites/pfd/flash/blog/08072008/srcview/source/YahooMapInPV3D.air" target="_blank">this air application</a> for which you can also see and download <a href="http://www.pathf.com/sites/pfd/flash/blog/08072008/srcview/" target="_blank">fully functioning source code</a>.</p>
<p><span id="more-1088"></span></p>
<p>The application was built in Flex 3 using following API's:</p>
<p><strong>Yahoo Maps AS3</strong><br />
You can download it <a href="http://developer.yahoo.com/flash/maps/" target="_blank">here</a>.<br />
Also don't forget to acquire a free API key to run your app online. It is not necessary for local testing in debugger through Flex.</p>
<p><strong>Papervision3D 2.0 (Great White)</strong><br />
You can find excellent tutorials <a href="http://papervision3d.googlecode.com/svn/trunk/branches/GreatWhite/src" target="_blank">here</a>.<br />
Source is available as a SVN repository <a href="http://papervision3d.googlecode.com/svn/trunk/branches/GreatWhite/src" target="_blank">here</a>.</p>
<p><strong>Degrafa</strong><br />
Official site: <a href="http://degrafa.com/" target="_blank">http://degrafa.com/</a><br />
SWC is available <a href="http://code.google.com/p/degrafa/" target="_blank">here</a>.</p>
<p><strong>Security sandbox violation when using Yahoo Map as MovieMaterial i.e. BitmapData.draw() problem</strong></p>
<p>When processing a MovieMaterial, PV3D uses the infamous BitmapData.draw method in MovieMaterial/bitmapDraw. This is a problem because the method will not yield a result if the origin of BitmapData is not in the same domain.<br />
In case you have access to the server that you are loading the image data from, you can solve this problem by adding an appropriate crossdomain.xml file to that server.</p>
<p><a href="http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html" target="_blank">This article from Adobe’s Deneb Meketa</a> covers security updates in Flash Player 9 including very important changes to the crossdomain.xml structure. Whenever you have a Flash security based headache, this is a good starting point.</p>
<p>In case you can’t put crossdomain.xml on the image origin server, as is the case with Yahoo severs, you are supposed to use the checkPolicyFile property of the LoaderContext class, but that works only if we are directly loading the image data ourselves.</p>
<p>In our case image (map tiles) loading is being handled by YahooMap.swc and we don't have access to the aforementioned process. We could do an override, if we knew where the darn thing was, which I don't.</p>
<p>Sadly, the only solution for this problem that I could implement was by using Air, which is why I'm sharing this as an Air app rather than via a browser version - Air is much easier to deal with when it comes to security. As far as I'm concerned, problem solved for now.</p>
<p>I did hear some gossip that this will be sorted out in Flash Player 10, but who's going to wait for that?</p>
<p>I still haven't quite given up on this issue, as it is highly annoying roadblock to some cool browser based projects.</p>
<p><strong>Mapping Longitude and Latitude values to X and Y coordinates of a PV3D material</strong></p>
<p>This is done very straightforwardly by capturing the YahooMapEvent. It goes something like this:</p>
<pre>private function getAllCoordinates(e:YahooMapEvent):void
{
clickedLong=Number(e.data.latlon.lon);
clickedLat=Number(e.data.latlon.lat);

clickedX=Number(e.data.point.x);
clickedY=Number(e.data.point.y);
}</pre>
<p>You add a listener with this line:</p>
<pre>yahooMap.addEventListener(YahooMapEvent.MAP_MOUSE_CLICK, handleMapClick);</pre>
<p>Although this is a very simple thing, it allows you to convert Latitude and Longitude to the X and Y coordinates of the referring Material and you can play with it from then on. For instance, I used it to map flight trajectories based on GPS data (including GPS altitude) in 3D space. Fun stuff!<br />
<strong>Dragging Yahoo Map in PV3D (avoiding the map panning collision with PV3D)</strong></p>
<p>Dragging a YahooMap is super simple using the Yahoo Map API. It’s a convenient single line:</p>
<p>yahooMap.addPanControl();</p>
<p>When the map is processed by PV3D and you try to drag it, it starts jumping all over the screen, probably because of some event collision with PV3D. Luckily, we can get around this one by making our own custom dragging method as follows (note that this only describes the concept, the working version is in <a href="http://www.pathf.com/sites/pfd/flash/blog/08072008/srcview/" target="_blank">source</a>):</p>
<pre>private function mMove( e:InteractiveScene3DEvent ):void
{
// This code is run when the mouse is moved on the plane.
movieParent.x = mouseX -e.x;
movieParent.y = mouseY -e.y;

if(Application.application.stopMovingMap==false)
{
Application.application.yahooMap.panControl.panEnabled=false;
f=true;
}
else if(Application.application.stopMovingMap==true &amp;&amp; Application.application.isAnythingBeingDragged==false)
{
if(f)
{
oldX = e.x;
oldY = e.y;
f=false;
}
Application.application.yahooMap.panControl.panEnabled=true;

newX=e.x
newY=e.y

xDiff= newX-oldX;
yDiff= newY-oldY;

Application.application.yahooMap.setCenterByPixels(new Point(xDiff,yDiff));

flightsContainer.x = flightsContainer.x-xDiff;
flightsContainer.y = flightsContainer.y-yDiff;

oldX=newX;
oldY=newY;
}
}</pre>
<p>You can look at the missing variables and event listeners in the <a href="http://www.pathf.com/sites/pfd/flash/blog/08072008/srcview/" target="_blank">source</a>.</p>
<p><strong>Simple gauge component from ground up using basic trigonometry</strong></p>
<p>What I wanted to achieve was to rotate the 3D cube on which the map rests around the Z axis. Simple, right? So I used a VSlider component and gave it a range from 0 to 360 to capture the angle of rotation. And that’s where problems started. When the 3D map is under VSlider, both start acting up and jumping across the screen. All the issues in this app smell of the same thing - something to do with Mouse Down and Mouse Move events in PV3D. I’m still looking.</p>
<p>Being annoyed by the problem I started thinking about other approaches and a gauge component came to mind as the best visual representation of the functionality I was trying to achieve.</p>
<p>I naturally tried using some of the ready made gauge components available online, but with all of them I had some kind of issue. Either it was the inability to skin them properly, or to set the scope to full 360 degrees.</p>
<p>In the end I decided to refresh my trigonometry knowledge and made the component myself.</p>
<p>At the same time, this solved the VSlider going crazy issue. Why? I’ll post it when I find out.<br />
<strong></strong></p>
<p><strong>Simple tilt component again using basic trigonometry</strong></p>
<p>When in Rome... I used the same principle as in simple gauge component to add to user experience and visually show the angle that the 3D map is tilted by.</p>
<p><strong>Making a visual component using Degrafa</strong></p>
<p>Degrafa is such a priceless framework. Just in case you don’t know, it’s used for manipulating SVG’s (vector based graphics) in Flex 3, giving you a lot of power in customizing your visual components. It is the best solution for mapping in Flex that I have ever seen!</p>
<p>In this particular app it wasn’t absolutely necessary but it’s there to visually enhance the arrow button. I really wanted the arrow to look like it does in the example. Look at the <a href="http://www.pathf.com/sites/pfd/flash/blog/08072008/srcview/" target="_blank">source</a> to see the details. Actual SVG data was created in Illustrator.</p>
<p>All in all, combining API’s is certainly going to get you into trouble. But combining ideas can amount to a <a href="http://en.wikipedia.org/wiki/Synergy" target="_blank">sum greater than it’s parts</a>. I love it.</p>
<p>If anything is not clear to you, look at the code to see all the in’s and out’s. If it’s still not clear, shoot me a message.<!--more--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/08/papervision3d-20-great-white-in-flex-3-part-ii-iii-combined-with-source-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash 10 - FileReference Runtime Access</title>
		<link>http://www.pathf.com/blogs/2008/07/flash-10-filereference-runtime-access/</link>
		<comments>http://www.pathf.com/blogs/2008/07/flash-10-filereference-runtime-access/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 16:06:31 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[FileReference]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[flash player 10]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1044</guid>
		<description><![CDATA[This is what I was waiting for! To quote the original blog post:

"This greatly lowers the bar to using Flash as a photo editor, document manager, customized application experiences, marking up content and saving locally, all without the need for server side script."

And then: "It is only beta (Flash 10) but there are great market opportunities to prepare for when this launches."]]></description>
			<content:encoded><![CDATA[<p>This is what I was waiting for - FileReference Runtime Access! To quote the <a href="http://drawlogic.com/2008/05/17/amazing-new-feature-for-flash-10/">original blog post</a>:</p>
<p>"This greatly lowers the bar to using Flash as a photo editor, document manager, customized application experiences, marking up content and saving locally, all without the need for server side script."</p>
<p>And then: "It is only beta (Flash 10) but there are great market opportunities to prepare for when this launches."</p>
<p>Flash is just getting better.</p>
<p>Also, do check out the other great posts from <a href="http://drawlogic.com">http://drawlogic.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/07/flash-10-filereference-runtime-access/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Papervision3d 2.0 (Great White) in Flex 3 (Part I)</title>
		<link>http://www.pathf.com/blogs/2008/07/papervision3d-20-great-white-in-flex-3-part-i/</link>
		<comments>http://www.pathf.com/blogs/2008/07/papervision3d-20-great-white-in-flex-3-part-i/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 00:22:02 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[3d]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[papervision3d]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1043</guid>
		<description><![CDATA[I'm developing a prototype that loads GPS coordinates/time of flights from an external file into Flash player in a browser and renders them at runtime using PV3D over an interactive Yahoo Maps API.

This prototype is in part being used to test performance of Flash Player running the excellent PV3D. So far it holds pretty good. ]]></description>
			<content:encoded><![CDATA[<p>I'm developing a prototype that loads GPS coordinates/time of flights from an external file into Flash player in a browser and renders them at runtime using <a href="http://blog.papervision3d.org/">PV3D</a> over an interactive <a href="http://developer.yahoo.com/flash/maps/">Yahoo Maps API</a>.</p>
<p style="center;"><a href="http://www.pathf.com/sites/pfd/flash/blog/07172008/pv3d.png"><img src="http://www.pathf.com/sites/pfd/flash/blog/07172008/pv3d-thumb.png" alt="papervision3d 2.0 flight data prototype screenshot" width="400" height="210" /></a></p>
<p>This prototype is in part being used to test performance of Flash Player running the excellent PV3D. So far it holds pretty good.</p>
<p><span id="more-1043"></span></p>
<p>PV3D has amazing capabilities. That said, it's also a work in progress so the API is not super clear, but it's well worth the hassle. It's open source so you can always look at the source code to figure out something troublesome. It doesn't take long to get started either because of the well documented common steps.</p>
<p>Of particular help was <a href="http://papervision2.com/">http://papervision2.com/</a> where you can find all the necessary first steps to take like:</p>
<p>- <a href="http://papervision2.com/2-getting-the-source/">Getting the PV3D 2.0 source</a></p>
<p>- Extremely helpful <a href="http://papervision2.com/3-creating-a-papervision-base-template/">base template</a> that sets up all the basic elements that you can easily build on</p>
<p>- And the priceless tutorial that sets you off on <a href="http://papervision2.com/advanced-interactivity-2/">3d interaction</a> path (i.e. the fun part).</p>
<p>On this prototype I was primarily working with LineMaterial and MovieMaterial (for interaction), then Line3D / Lines3D which proved very easy to build but not so easy to manipulate.</p>
<p>For such purpose it is a good idea to get to see DisplayObject3D class and understand how containers work in PV3D. More about that in Part II.</p>
<p>Performance can be fine tuned but it's necessary to keep in mind at every line of code that there is a ton of processing going on all the time and you want to build and manipulate your objects sparingly because otherwise you will see your browser locking in a millisecond.</p>
<p>Part III will cover collisions between Yahoo Maps AS3 API and PV3D. In one sentence, there is nothing you can not solve through a well arranged series of Events and this is applicable to any AS3 situation.</p>
<p>Part II next week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/07/papervision3d-20-great-white-in-flex-3-part-i/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Where is Flash at?</title>
		<link>http://www.pathf.com/blogs/2008/07/where-is-flash-at/</link>
		<comments>http://www.pathf.com/blogs/2008/07/where-is-flash-at/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 15:49:24 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[flash awards]]></category>

		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1034</guid>
		<description><![CDATA[For a few years now, I've been using the same site to see how much has Flash content advanced - www.thefwa.com .

]]></description>
			<content:encoded><![CDATA[<p>For some time now, I've been using the same site to see how much has Flash content advanced - <a href="http://www.thefwa.com" target="_blank">www.thefwa.com</a><a href="http://" target="_blank"> </a></p>
<p style="center;"><a href="http://thefwa.com" target="_blank"><img class="aligncenter" src="http://www.one-last-word.com/design/thefwa-favorite-website-awards.jpg" alt="" width="250" height="156" /></a></p>
<p><span id="more-1034"></span></p>
<p>Although there are many sources on the internet on this topic and FWA doesn't represent Flex apps like <a href="http://flex.org/showcase/" target="_blank">http://flex.org/showcase/</a> does or the fantastic <a href="http://blog.papervision3d.org/" target="_blank">Papervision3D</a>, it still gives an excellent overview of the latest achievements using Flash technology.</p>
<p>At FWA I saw some of the most innovative user experiences ever, something I dare to label cutting edge. To add to that, best Flash material doesn't necessarily have to use the latest classes to be fabulous. There are sites listed there that use some basic Flash techniques and have a far better user experience than the latest ones with all the bells and whistles.</p>
<p>Now, nobody is perfect and FWA does misfire every now and then with their reward, but in general, I'd say that it's the best single spot on the internet to see where's Flash at.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/07/where-is-flash-at/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Adobe Flex Builder 3 on a Mac</title>
		<link>http://www.pathf.com/blogs/2008/07/using-adobe-flex-builder-3-on-a-mac/</link>
		<comments>http://www.pathf.com/blogs/2008/07/using-adobe-flex-builder-3-on-a-mac/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 21:44:08 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1022</guid>
		<description><![CDATA[I've made a recent switch from Windows (Vista) to Mac (OS X 10.5.4). In these two months I had enough time to evaluate all biases that I was carrying with me for the past decade.]]></description>
			<content:encoded><![CDATA[<p>I've made a recent switch from Windows (Vista) to Mac (OS X 10.5.4). In these two months I had enough time to evaluate all biases that I was carrying with me for the past decade, including the one about coding on a Mac.</p>
<p><img src="http://farm1.static.flickr.com/158/418635708_02510c745f.jpg?v=0" alt="" width="188" height="215" /> +   <img src="http://blogs.adobe.com/penguin.swf/flex-icon.png" alt="" width="200" height="200" /> =   <img src='http://www.pathf.com/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<span id="more-1022"></span></p>
<p>I was very wrong about Mac. And I was very wrong about coding on a Mac. In a nutshell, my productivity went up considerably since the switch. On a day to day basis, I use primarily Flex Builder, then Dreamweaver, Flash, Photoshop, Illustrator, an FTP client and as of today <a href="http://www.snackr.net/">Snackr</a>.</p>
<p>Flex Builder 3 acts exactly like it does on a Windows machine, with all the blessings and bugs included. No difference at all (I've been using Flex since 2.0 was released on Windows). Productivity boost comes from OS's fantastic interface which allows me to switch windows, not get bothered by focus steeling, run multiple screens with ease, find stuff easily (spotlight), organize files easier and more.</p>
<p>I use Firefox 2 as my primary testing browser, although Safari works just as well. I used to say: "I don't test for Mac, who cares, it's a small market anyhow..." but now I get to test on a Mac "for free".</p>
<p>I initially wanted to install a Windows VM, but so far I don't see the need.</p>
<p>So if anybody wants to code AS3, Mac is the way to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/07/using-adobe-flex-builder-3-on-a-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google learns to crawl Flash</title>
		<link>http://www.pathf.com/blogs/2008/07/google-learns-to-crawl-flash/</link>
		<comments>http://www.pathf.com/blogs/2008/07/google-learns-to-crawl-flash/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 21:49:41 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=1006</guid>
		<description><![CDATA[For a technology used to publish content on the internet, not being able to be properly indexed by search engines is a big snag. That is one of the first questions that is raised about Flash in any IT environment. The second one is how do you get around it. That might be about to change...]]></description>
			<content:encoded><![CDATA[<p>For a technology used to publish content on the internet, not being able to be properly indexed by search engines is a big snag. That is one of the first questions that is raised about Flash in any IT environment. The second one is how do you get around it. That might be about to change...<span id="more-1006"></span></p>
<p>Usually you get around it by having to publish your content twice. Once for the user, a RIA experience, and once for the crawlers, some dynamically generated text in XML or HTML, so that it can be properly read and indexed. For sites that need visibility (and most do) this created "extra" work. No work is extra in solving a problem, the extra part comes in price of it, ergo the snag.</p>
<p>All that might be at an end. <a href="http://http://googleblog.blogspot.com/2008/06/google-learns-to-crawl-flash.html" target="_blank">Google announced</a> on their blog that they have been  "..developing a new algorithm for indexing textual content in Flash files of all kinds, from Flash menus, buttons and banners, to self-contained Flash websites."</p>
<p>Sounds good, doesn't it? Well let's give it a test drive. Bellow is a link for a Flash file that loads text from an XML file residing on another server. Let's leave it a couple of weeks to simmer and see if we can find this page on Google by "unique" string of keywords from this Flash file.</p>
<p>Cheers to people from Google for making this happen!</p>
<p><a href="http://www.pathf.com/sites/pfd/flash/blog/07062008/GoogleSearchFlashTest.html" target="_blank">Google Flash indexing test link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/07/google-learns-to-crawl-flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Can&#8217;t we all just get along?</title>
		<link>http://www.pathf.com/blogs/2008/06/future-of-web-standards/</link>
		<comments>http://www.pathf.com/blogs/2008/06/future-of-web-standards/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 22:22:48 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[TechDev]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=948</guid>
		<description><![CDATA[I've came across an interesting article titled The Next-Gen Web: HTML5 - Will We Ever See A Real Standard? by Nik Cubrilovic that gives a nice overview of the history of web standards while focusing on the current HTML5 draft specification and its potential.
Web standards are not something particularly interesting to me as an Adobe [...]]]></description>
			<content:encoded><![CDATA[<p>I've came across an interesting article titled <a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/06/05/AR2008060501510.html">The Next-Gen Web: HTML5 - Will We Ever See A Real Standard?</a> by <span><span style="x-small;">Nik Cubrilovic </span></span>that gives a nice overview of the history of web standards while focusing on the current <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html#introduction">HTML5</a> draft specification and its potential.</p>
<p>Web standards are not something particularly interesting to me as an <a href="http://www.adobe.com/products/flex/">Adobe Flex</a> developer. After all, one of the reasons I've chosen this technology is that I can develop web applications without those standards limiting my imagination.</p>
<p><a href="http://www.adobe.com/resources/business/rich_internet_apps/#open">Adobe Flash technology</a> is in part setting the standards of what <a href="http://en.wikipedia.org/wiki/Web_2">Web 2.0</a> (and <a href="http://en.wikipedia.org/wiki/Web_3">Web 3.0</a>) really mean. Web experiences made using it are on the high end of what's available today and that's where I want to be.</p>
<p>One major lacking of this technology is that it is not utilizing web standards which makes some tasks harder, like making sites and apps search engine friendly, for example. I personally decided that its benefits significantly outweigh the problems.</p>
<p>Whatever one's perspective, I think that lack of full implementation of web standards causes a huge waste of time for people developing content for the web. Until that happens, I choose to ignore them altogether and use a medium that gives the same results on all platforms. To the best of my knowledge, content developed in Flash years ago still looks and acts the same in all browsers and operation systems.</p>
<p>You can find some great insight on what might be the future of web standards in <a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/06/05/AR2008060501510.html">Nik's article</a>. In the meantime, my money stays with Flex.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/06/future-of-web-standards/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Making a good choice when using Flex components</title>
		<link>http://www.pathf.com/blogs/2008/05/making-a-wise-c/</link>
		<comments>http://www.pathf.com/blogs/2008/05/making-a-wise-c/#comments</comments>
		<pubDate>Thu, 22 May 2008 16:39:22 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/2008/05/making-a-wise-c/</guid>
		<description><![CDATA[Good people of Adobe were so kind to pack a lot of useful components with Flex Builder. Story goes, they are there to speed up the development process and in doing so cut production cost while retaining excellent user experience....
]]></description>
			<content:encoded><![CDATA[<p>Good people of Adobe were so kind to pack a lot of useful components<br />
with Flex Builder. Story goes, they are there to speed up the<br />
development process and in doing so cut production cost while retaining<br />
excellent user experience. There is also a lot of other kind people of<br />
the Flex developer community that made wonderful components for all<br />
kinds of applications and made them freely available.</p>
<p><span id="more-885"></span></p>
<p>To name some:</p>
<ul>
<li><a href="http://code.google.com/p/flexlib/">flexlib</a>, library of components</li>
<li><a href="http://mark-shepherd.com/blog/2006/11/17/a-flex-component-for-graph-visualization/">spring graph</a>, by Mark Shepherd</li>
<li><a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&amp;exc=15&amp;loc=en_us">Flex Exchange</a> (hoping it gets bigger)</li>
<li><a href="http://www.ilog.com/products/ilogelixir/">ILOG Elixir</a>, impressive and commercial</li>
<li><a href="http://www.ilog.com/products/ilogelixir/">Flex IFrame</a>, a lifesaver</li>
<li><a href="http://www.fxcomponents.com/?p=25">FX SlideShow</a></li>
</ul>
<p>Here's two links with a comprehensive list of Flex components from <a href="http://flex.org/components/">flex.org</a> and <a href="http://flexbox.mrinalwadhwa.com/">FlexBox</a>.</p>
<p>Beware Flex developer, this is a double edged sword. It's very tempting to jump in and grab components left and right to compose your custom application. In my experience this randomly has a happy ending. </p>
<p>First off, you have to get to know your component really, really good. Really. By now, I can group the related problems into following:</p>
<ul>
<li>Using only a part of the component's purpose</li>
<li>Components with bugs</li>
<li>Components with performance issues</li>
<li>Components with a closed source (SWC's)</li>
</ul>
<p><strong>Using only a part of the component's purpose</strong><br />Good rule of thumb is not to have anything in your project that is not actually being used. You'd think it wouldn't matter but more often than not it does. Typical problem is performance. You want to get the best bang for your buck. By buck, I mean computer resources. By bang, I mean perceived value. All those methods and properties that you are not using are still being initiated and are using system resources to do so, but you are not exploiting all that crunching. Repeat that component a few times in your project and the problem grows with it. And often it grows to a point where it impedes the overall performance of your application.<br />You would solve this by <a href="http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&amp;file=ascomponents_147_12.html">overriding</a> the stuff that you are not using. If the component is complex, this requires a lot of work. Sometimes more work than it would take to build it from scratch yourself. But don't restrain from this solution because of its hardship because this is one of the best ways to truly master the Flex framework. </p>
<p><strong>Components with bugs</strong><br />A lot of components look good on a screen shot but you always want to see a fully working example of a component before you use it. It happened a number of times that I took the time to implement something that I thought was awesome, only to see after all that work that it doesn't really work as advertised. If you're going to fix any bugs, they better be yours because you will use more time to analyze somebody else's work and only than start with debugging.</p>
<p><strong>Components with performance issues</strong><br />Some components actually work as advertised but at a big cost. Remember, you are most often browser and Flash Player bound. You only have so much to work with. If the execution is lagging, there goes the user experience. So ideally you want to see your potential component under real working conditions beforehand. What happens to the component if you load it up with the real amount of data that it is going to be using? Is it still responsive as it was with your small test data? </p>
<p>Point being, first <a href="http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions:_Performance_and_Memory_Profiling">test your component</a> under extreme conditions so you get to know it's performance boundaries. This is most often noted when trying to stuff Builders Charting components and (Advanced) Data Grid with too much data. Inquire in detail upfront what are the ceiling expectations of a component.</p>
<p><strong>Components with a closed source (<a href="http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00001518.html">SWC</a>'s)</strong><br />This is a real tricky one and should be avoided unless you bought it and it comes with a warranty. The reason is obvious – If anything is wrong with it, you're stuck. There is nothing you can do about it. Ask yourself, what if I want to override something? Is the documentation of this component really complete? Is something going on behind the scenes that I might not be aware of? Basically, you really need to have trust in the source of that component and accept that you are rolling the dice.</p>
<p>
<p>In general, I suggest trying to build your own components whenever possible because only you know what you exactly need. Flex documentation has gotten significantly better and there are examples online for most problems that you would encounter in your daily work. </p>
<p>Try not to start with extending an already complex component unless you're really sure you're doing. It's hard to track all the ins and outs of something like that.</p>
<p><a href="http://www.peachpit.com/articles/article.aspx?p=1182473">Get to know the Flash Player</a>! That is how you deliver your work and it works significantly different than standard browser bound solutions. There are some <a href="http://blogs.adobe.com/aharui/2007/03/garbage_collection_and_memory.html">great articles</a> about it, and boring as they may be, they are the very essence of Flex development.</p>
<p>In the end, the advantage of Flex platform is not so much in the fact that you have all these ready made components but that you can create and expand your own intricate framework however you please.</p>
<p>Kudos to Flex developer community that is sharing their work and experience!&nbsp; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/05/making-a-wise-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash Technology vs. Flash Developer</title>
		<link>http://www.pathf.com/blogs/2008/05/flash-technolog/</link>
		<comments>http://www.pathf.com/blogs/2008/05/flash-technolog/#comments</comments>
		<pubDate>Thu, 22 May 2008 15:21:35 +0000</pubDate>
		<dc:creator>Sasha Dzeletovic</dc:creator>
		
		<category><![CDATA[Agile Ajax]]></category>

		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.pathf.com/blogs/2008/05/flash-technolog/</guid>
		<description><![CDATA[My colleague Brian Dillard, having a keen eye on interface enhancing, posted an interesting piece about Flash user interface conventions. Of the things said, the fact that Flash development environments do not default to standard (traditional) browser behaviors is the...
]]></description>
			<content:encoded><![CDATA[<p>My colleague Brian Dillard, having a keen eye on interface enhancing, <a href="http://blogs.pathf.com/agileajax/2008/05/a-case-study-in.html">posted an interesting piece</a> about Flash user interface conventions. Of the things said, the fact that Flash development environments do not default to standard (traditional) browser behaviors is the most burdening. Flash developers often forget about these essential user experience elements. I think it is because with great power comes great responsibility.</p>
<p>By great power, I'm talking about the available possibilities when using Flash to create user interfaces. They are limitless. As a consequence of so many possibilities the default options are rather unusual. Flash developers should incorporate good practices as the ones mentioned in Brian's post about user input and don't reinvent the wheel where it's not of benefit. But the fact is that you can do amazing things with Flash technology and the only thing you have to know is exactly what you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pathf.com/blogs/2008/05/flash-technolog/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
