<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Eric Feminella &#187; News</title>
	<atom:link href="http://www.ericfeminella.com/blog/category/news/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ericfeminella.com/blog</link>
	<description>Thoughts on Software Design and Development</description>
	<lastBuildDate>Wed, 25 Jan 2012 04:12:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>jQuery Mobile 1.0 Released</title>
		<link>http://www.ericfeminella.com/blog/2011/11/17/jquery-mobile-1-0-released/</link>
		<comments>http://www.ericfeminella.com/blog/2011/11/17/jquery-mobile-1-0-released/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 16:45:20 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Mobile Web]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tablets]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jqm]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery Mobile]]></category>
		<category><![CDATA[jquery ui]]></category>
		<category><![CDATA[mobile web]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=2903</guid>
		<description><![CDATA[Today, the jQuery Mobile Team announced the official release of jQuery Mobile 1.0. Having worked with jQuery Mobile since Alpha 1, in the time since, the framework has certainly evolved into a mature, premier platform on which Mobile Web Applications can be built. On a personal note, as I am currently in the process of [...]]]></description>
			<content:encoded><![CDATA[<p><time datetime="2011-11-17">Today</time>, the jQuery Mobile Team announced the official release of <a href="http://jquerymobile.com/blog/2011/11/16/announcing-jquery-mobile-1-0/" target="_blank">jQuery Mobile 1.0</a>. </p>
<p>Having worked with jQuery Mobile since <a href="http://jquerymobile.com/demos/1.0a1/" target="_blank">Alpha 1</a>, in the time since, the framework has certainly evolved into a mature, premier platform on which Mobile Web Applications can be built. </p>
<p>On a personal note, as I am currently in the process of working towards the release of a multi form-factor Mobile Web Application built on jQuery Mobile, the <em>1.0</em> release couldn&#8217;t have come at a better time.</p>
<p>Be sure to check out the updated <a href="http://jquerymobile.com/demos/1.0/" title="jQuery Mobile 1.0 API Documentation" target="_blank">API Docs</a>, especially the new <a href="http://jquerymobile.com/test/docs/api/data-attributes.html" target="_blank">Data Attributes</a> section.</p>
<p>jQuery Mobile 1.0 represents a <strong>significant milestone</strong> in the <em>Mobile Web Space</em>. I am certainly excited to see what is on the roadmap next.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2011/11/17/jquery-mobile-1-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Map Remote in Charles</title>
		<link>http://www.ericfeminella.com/blog/2011/08/22/map-remote-in-charles/</link>
		<comments>http://www.ericfeminella.com/blog/2011/08/22/map-remote-in-charles/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 14:25:26 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[charles]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[network proxies]]></category>
		<category><![CDATA[proxies]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=2480</guid>
		<description><![CDATA[Of the many Network Debuggers available, for years I have, and continue to find, Charles to be a choice Web Debugging Proxy by all standards. This is largely due to its capabilities and many useful features, some of which are a bit less obvious than others. One such example is the Map Remote feature which [...]]]></description>
			<content:encoded><![CDATA[<p>Of the many Network Debuggers available, for years I have, and continue to find, <a href="http://www.google.com/m/url?client=safari&#038;ei=ikVMTpiVIIXWM6v6jo8B&#038;hl=en&#038;oe=UTF-8&#038;q=http://www.charlesproxy.com/&#038;ved=0CBMQFjAA&#038;usg=AFQjCNHOKojDsINVZAH6zqFpTzBf5Du5Xg" target="_blank">Charles</a> to be a choice Web Debugging Proxy by all standards. This is largely due to its capabilities and many useful features, some of which are a bit less obvious than others.</p>
<p>One such example is the <i>Map Remote</i> feature which allows for the mapping of local URLs to remote URLs. This can be extremely useful as it allows for testing against many different environments without the need to change URLs or Endpoints in code.</p>
<h3>Map Remote</h3>
<p>As the name implies, Map Remote allows for mapping requests made to a local resource to be forwarded (transparently) to a Remote resource. So, for example, a local service at <code>http://localhost:8080/some-app/some-service</code> could be mapped to a remote service at <code>http://dev.somedomain/some-app/some-service</code> via a simple configuration using Map Remote. Moreover, Map Remote can be configured to map an individual resource (such as the previous example), all resources within a sub directory, all resources in a domain, all resources in a local subdirectory to a completely different remote subdirectory or all resources for a given suffix.</p>
<p>To configure the mapping of a local resource to a remote resource, in Charles, from the Main Menu select:</p>
<ul>
<li>Tools</li>
<li>Map Remote</li>
<li>Click &#8220;Enable Map Remote&#8221; from the Map Remote Dialog</li>
<li>Paste the Local resource URL in the top &#8220;Map From&#8221; section (Charles will parse and auto-fill the protocol, port etc. from the host value provided)</li>
<li>Paste the Remote resource URL in the bottom &#8220;Map To&#8221; section</li>
</ul>
<p>Once completed you will see the mapping in the resulting dialog and the mappings will be made when using Charles until they are removed or the &#8220;Enable Map Remote&#8221; setting is turned off. Additional Mappings can be added following the same steps and existing mappings can be removed or edited by double clicking on them. The only improvement I would like to see added is the ability to &#8220;clone&#8221; an existing mapping so as to quickly configure a slightly different mapping without the need to start from scratch. </p>
<p>There is also a <b>Map Local</b> Feature in Charles which is essentially the inverse operation of Map Remote and can be quite useful as well.</p>
<p>If you regularly test against different environments and use Charles then I highly suggest trying Map Remote. For more information, check out the <a href="http://www.charlesproxy.com/documentation/tools/map-remote/" target="_blank">Charles Documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2011/08/22/map-remote-in-charles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Step Backwards In Usability?</title>
		<link>http://www.ericfeminella.com/blog/2011/05/30/a-step-backwards-in-usability/</link>
		<comments>http://www.ericfeminella.com/blog/2011/05/30/a-step-backwards-in-usability/#comments</comments>
		<pubDate>Mon, 30 May 2011 16:01:51 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[jQuery Mobile]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Web]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tablets]]></category>
		<category><![CDATA[User Experience Design]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[Multiscreen]]></category>
		<category><![CDATA[touchscreen]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=2385</guid>
		<description><![CDATA[I recently read a preview of a column which is to be published in the next addition of ACM CHI magazine, Interactions. This particular article is a rather interesting read in that it touches upon what the authors argue are the many short-comings in current Gestural Interfaces; stating that they pose a huge step backwards [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read a preview of a column which is to be published in the next addition of ACM CHI magazine, <a href="http://interactions.acm.org/" target="_blank">Interactions</a>. This particular article is a rather interesting read in that it touches upon what the authors argue are the many short-comings in current Gestural Interfaces; stating that they pose a huge step backwards in terms of Usability.</p>
<p>This may not have raised many eyebrows if it were not for the expertise of the articles authors, <a href="http://www.jnd.org/" target="_blank">Donald A. Norman</a> and <a href="http://www.useit.com/jakob/" target="_blank">Jakob Nielsen</a>; both of whom know quite a bit about <a href="ttp://en.wikipedia.org/wiki/Human%E2%80%93computer_interaction" target="_blank">HCI</a>.</p>
<p>Experimentation in new technology and the process of learning what works and what does not can be challenging. This article raises some important, yet mostly overlooked, concerns surrounding new technologies which are built upon Gestural Interfaces; i.e. current touch screen devices such as iOS and Android. Certainly a good read for anyone interested in Touch Screen development. <a href="http://www.jnd.org/dn.mss/gestural_interfaces_a_step_backwards_in_usability_6.html" target="_blank">Gestural Interfaces: A Step Backwards In Usability</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2011/05/30/a-step-backwards-in-usability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Put your Best People on Mobile</title>
		<link>http://www.ericfeminella.com/blog/2011/04/28/put-your-best-people-on-mobile/</link>
		<comments>http://www.ericfeminella.com/blog/2011/04/28/put-your-best-people-on-mobile/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 01:49:09 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Web]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tablets]]></category>
		<category><![CDATA[User Experience Design]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=2354</guid>
		<description><![CDATA[So first the biggest number &#8211; 5.2. That is in billions with a B. There are 1.2 billion personal computers in use worldwide including desktops, laptops and tablet PCs like the iPad. There are 1.1 billion fixed landline phones. There are 1.0 billion automobiles registered and in use. There are 1.6 billion television sets, 1.7 [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>So first the biggest number &#8211; 5.2. That is in billions with a B. There are 1.2 billion personal computers in use worldwide including desktops, laptops and tablet PCs like the iPad. There are 1.1 billion fixed landline phones. There are 1.0 billion automobiles registered and in use. There are 1.6 billion television sets, 1.7 billion credit card users, 2.0 billion internet users, 2.2 billion people with a banking account, and 3.9 billion radio receivers in use worldwide. Mobile utterly dwarfs them all &#8211; with 5.2 billion currently active, ie fully paid mobile phone subscriptions. Active mobile phone accounts. 5.2 billion. yes, 4.5 times more mobile phone subscriptions than personal computers or landline phones. 2.5x more mobile accounts than all internet users. 3 times more mobile subscribers than the total number of television sets. Mobile is huge. &#8211; Tomi Ahonen</p></blockquote>
<p>These numbers are simply staggering.</p>
<p>For sometime now Myself and pretty much everyone else for that matter have been speaking quite a bit about the significance of Mobile. And while it may seem quite obvious that Mobile is huge, understanding the sheer magnitude of Mobile is truly put into perspective when some real world comparisons are made.</p>
<p>To get an idea of just how big mobile is, consider the recent article published by <a href="http://communities-dominate.blogs.com/about.html" target="_blank">Tomi Ahonen</a>, (which I found thru <a href="http://twitter.com/#!/brianmoconnor" target="_blank">Brian O&#8217;Connor</a>) in which some rather astounding numbers are provided in his aptly titled post: <a href="http://communities-dominate.blogs.com/brands/2011/02/all-the-numbers-all-the-facts-on-mobile-the-trillion-dollar-industry-why-is-google-saying-put-your-b.html" target="_blank">All the Numbers, All the Facts on Mobile the Trillion-Dollar Industry. Why is Google saying: Put your Best People on Mobile?</a>. Certainly a must read for anyone interested in Mobile Development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2011/04/28/put-your-best-people-on-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Technological Innovations and the Arts</title>
		<link>http://www.ericfeminella.com/blog/2011/04/12/technological-innovations-and-the-arts/</link>
		<comments>http://www.ericfeminella.com/blog/2011/04/12/technological-innovations-and-the-arts/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 22:30:27 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[User Experience Design]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=2201</guid>
		<description><![CDATA[Successful innovators in sciences and technology are artistic people. Stimulate the arts and you stimulate innovation. I have always maintained that any skill or talent acquired can be attributed in part to an innate creative impulse; be it to learn something new or build something new. I am sure many of you can relate to [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Successful innovators in sciences and technology are artistic people. Stimulate the arts and you stimulate innovation.</p></blockquote>
<p>I have always maintained that any skill or talent acquired can be attributed in part to an innate creative impulse; be it to learn something new or build something new. I am sure many of you can relate to this: that never ending fascination and driving force which compels one to create. Ultimately, creativity is the driving force on which all software is based and, one could argue, on which <em>everything</em> is based.</p>
<p>Recently, I came across a rather interesting article on <a href="http://scienceblogs.com/" target="_blank">scienceblogs</a> titled <a href="http://scienceblogs.com/art_of_science_learning/2011/04/the_art_of_scientific_and_tech_1.php" target="_blank">&#8220;The Art of Scientific and Technological Innovations&#8221;</a>. The article describes numerous scientific and technological breakthroughs which are based on artistic concepts. These include breakthroughs in such fields as engineering, medicine, biology and more. </p>
<p>Certainly a good read for any UI Engineer. Also, for those who find the link between creativity and programming interesting, I highly recommend <a href="http://pragprog.com/titles/ahptl/pragmatic-thinking-and-learning" target="_blank">Pragmatic Thinking and Learning</a> by <a href="http://blog.toolshed.com/" target="_blank">Andy Hunt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2011/04/12/technological-innovations-and-the-arts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed Comments Bug</title>
		<link>http://www.ericfeminella.com/blog/2011/02/04/fixed-comments-bug/</link>
		<comments>http://www.ericfeminella.com/blog/2011/02/04/fixed-comments-bug/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 21:42:00 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=1748</guid>
		<description><![CDATA[It was recently brought to my attention that users have been unable to leave comments on my Blog for quite some time now. Exactly how long and the extent of which the issue has impacted users remains unknown. The problem appears to have been directly related to an overzealous spam plugin which I have since [...]]]></description>
			<content:encoded><![CDATA[<p>It was recently brought to my attention that users have been unable to leave comments on my Blog for quite some time now. Exactly how long and the extent of which the issue has impacted users remains unknown. </p>
<p>The problem appears to have been directly related to an overzealous spam plugin which I have since disable. I have tested the fix and all appears to be back to normal; however, in the event you would like to leave a comment and find yourself unable to do so, please send an email to eric at ericfeminella.com and I will be sure to get back to you.</p>
<p>Special thanks to <a href="http://www.jeffguthrie.com/" target="_blank">Jeff Guthrie</a> for informing me of the issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2011/02/04/fixed-comments-bug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>5 Years&#8230;</title>
		<link>http://www.ericfeminella.com/blog/2011/01/31/5-years/</link>
		<comments>http://www.ericfeminella.com/blog/2011/01/31/5-years/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 02:58:11 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=1735</guid>
		<description><![CDATA[This month marks the 5th anniversary of this Blog. A lot has changed in the time since and I am happy to say the future is looking brighter and more exciting than ever before. My original and admittedly brief post was published back in January 2006, back when ActionScript 3.0 and Flex 2.0 were still [...]]]></description>
			<content:encoded><![CDATA[<p>This month marks the <strong>5th anniversary</strong> of this Blog. A lot has changed in the time since and I am happy to say the future is looking brighter and more exciting than ever before. </p>
<p>My original and admittedly brief <a href="http://www.ericfeminella.com/blog/2006/01/10/hello-world/">post</a> was published  back in January 2006, back when ActionScript 3.0 and Flex 2.0 were still in early Beta. In thinking of where the Flash Platform is now in comparison to where it was back then, I must say It really is quite amazing how far everything has come in these past five years, in every area.</p>
<p>While the content and subjects may have varied over the past five years, the goal of this site has remained the same, and that is to simply share ideas and experiences with other developers and, in doing so, hopefully make a positive difference somehow in some way. </p>
<p>So if you have found any of my posts useful in the past, then I am quite fortunate as I have accomplished my goal, and I hope to continue to do so in the future as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2011/01/31/5-years/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Domain Models and Value Objects</title>
		<link>http://www.ericfeminella.com/blog/2010/12/05/domain-models-and-value-objects/</link>
		<comments>http://www.ericfeminella.com/blog/2010/12/05/domain-models-and-value-objects/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 20:19:10 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Code Review]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Object Oriented Design]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=1658</guid>
		<description><![CDATA[The other day a friend asked me what the difference between a VO and a Domain Model was, and when I would suggest using one over the other? Since I actually get asked this very same question quite often, I thought it would be useful to provide a brief definition in the context of the [...]]]></description>
			<content:encoded><![CDATA[<p>The other day a friend asked me what the difference between a VO and a Domain Model was, and when I would suggest using one over the other? Since I actually get asked this very same question quite often, I thought it would be useful to provide a brief definition in the context of the Flex idiom which could serve as a point of reference for others moving forward.</p>
<p>In general, it is much easier to understand what a <strong>VO</strong> <em>is not</em> by first understanding what a <strong>Domain Model</strong> <em>is</em>; therefore, I will begin by providing a general definition of a Domain Model.</p>
<h3>Domain Models</h3>
<p>A Domain Model is anything of significance which represents a specific business concept within a problem domain. Domain Models are simply classes which represents such concepts by defining all of the state, behavior, constraints and relationships to other Domain Models needed to do so. Essentially, a Domain Model <em>models</em> a domain concept, such as a Product, a User, or anything which could be defined within the problem domain outside the context of code. Domain Models promote reuse and eliminate redundancy by defining specific classes which encapsulate business logic, state and relationships. As the domain concepts change, so to do the implementations of the Domain Models. </p>
<h3>Value Objects (VOs)</h3>
<p>As the name implies, a Value Object, more commonly referred to as a VO, is an object which simply provides values. VOs are entirely immutable; that is, all properties of a VO are read-only and assignments to those properties are specified only during object construction; after which, the properties of the VO can not be modified and, by design, should not require changes.</p>
<p>VOs are typically used to provide an aggregation of conceptually related properties whose values describe the state of the object when instantiated and do not require any real concept of identity or uniqueness. While there are some edge cases (such as validation), more commonly than not, VOs do not implement any specific behavior. Conceptually, think of a VO as being nothing more than an object which holds a value or series of related values which describe something about the object when created. A typical example of a VO could be a UserLogin object which simply holds the values of the specified username and password when created. It is important to make the distinction between a VO and a Domain Model as, a VO is not a Model, but rather, a VO is nothing more than an object which holds values and could be used to describe any context.  </p>
<h3>And that&#8217;s it</h3>
<p>Hopefully the above descriptions of both Domain Models and Value Objects will clear up any confusion surrounding the two concepts; ideally, making it easier to understand when to use each. </p>
<p>The point to keep in mind is that <b>Domain Models</b> simply <em>model</em> the domain, while <b>VOs</b> simply describe a contextual state.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2010/12/05/domain-models-and-value-objects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Advanced Flex 4</title>
		<link>http://www.ericfeminella.com/blog/2010/09/17/advanced-flex-4/</link>
		<comments>http://www.ericfeminella.com/blog/2010/09/17/advanced-flex-4/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 01:26:32 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=1161</guid>
		<description><![CDATA[This morning I received a copy of the new Book Advanced Flex 4, written by my friend Elad Elrom and Shashank Tiwari, with contributions by Charlie Schulze. Upon opening the package and browsing the first few pages, I was quite flattered to read: &#8220;I would also like to thank Eric Feminella who has inspired me, [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I received a copy of the new Book <a href="http://www.friendsofed.com/book.html?isbn=9781430224839" target="_blank">Advanced Flex 4</a>, written by my friend <a href="http://www.friendsofed.com/designer.html?isbn=1430224835#a480" target="_blank">Elad Elrom</a> and <a href="http://www.friendsofed.com/designer.html?isbn=1430224835#a479" target="_blank">Shashank Tiwari</a>, with contributions by Charlie Schulze. </p>
<p>Upon opening the package and browsing the first few pages, I was quite flattered to read:</p>
<blockquote><p>&#8220;I would also like to thank Eric Feminella who has inspired me, mentored me and helped me to become a better Flex Architect. I had the pleasure of working with Eric at Weight Watchers three years ago and I have found that Eric is one of the smartest, yet extremely humble, people I have ever met. He has a deep understanding in OOP, Architecting Flex apps, as well as RIA in general. Check his blog here: http://www.ericfeminella.com/blog/ and follow him on Twitter: @ericfeminella&#8221;</p></blockquote>
<p>It is always nice to receive recognition for something; however, the real reward is in knowing you have had a positive impact on someone; especially when it results in helping to push the Flash Platform Forward &#8211; and <a href="http://www.oreillynet.com/pub/au/3671">Elad</a> has certainly been doing just that. </p>
<p>The book covers an awful lot of ground &#8211; everything from Mobile Applications, AIR 2.0, Flash Catalyst, Data Service Integration, consuming Web 2.0 APIs, Flex Mashups, Audio, Video, 3D and more. I especially like the the Chapter on Flash Player Security. The book also appears to follow the theme of traditional software development best practices, that is, the first chapter is on Test Driven Development &#8211; test first. I highly recommend reading this book.</p>
<p><a href="http://www.amazon.com/AdvancED-Flex-4-Shashank-Tiwari/dp/1430224835" target="_blank"><img src="http://ericfeminella.com/blog/images/advanced-flex4.jpg" alt="Advanced Flex 4" float="left" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2010/09/17/advanced-flex-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIR for Android</title>
		<link>http://www.ericfeminella.com/blog/2010/05/13/air-for-android/</link>
		<comments>http://www.ericfeminella.com/blog/2010/05/13/air-for-android/#comments</comments>
		<pubDate>Thu, 13 May 2010 13:30:36 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=795</guid>
		<description><![CDATA[As you may be aware, Adobe currently has a private beta of AIR for the Android Operating System. Although still in it&#8217;s early stages, the core platform is quite stable and support from the AIR engineering team has been very good while the pre-release forums have also been quite active with lots of useful information [...]]]></description>
			<content:encoded><![CDATA[<p>As you may be aware, Adobe currently has a private beta of <a href="https://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_air_android_signup" target="_blank">AIR for the Android Operating System</a>.</p>
<p>Although still in it&#8217;s early stages, the core platform is quite stable and support from the AIR engineering team has been very good while the pre-release forums have also been quite active with lots of useful information being shared daily. In just a little under an hour I was able to have two POCs demonstrating the <a href="http://en.wikipedia.org/wiki/Accelerometer" target="_blank">Accelerometer</a> and <a href="http://en.wikipedia.org/wiki/Multi-touch" target="_blank">MultiTouch</a> Gesture capabilities running flawlessly on my Droid. Additionally, I was also able to develop a very basic <a href="http://en.wikipedia.org/wiki/Geolocation" target="_blank">Geolocation</a> prototype in next to no time at all which accurately conveyed latitude / longitude, altitude and even speed. In the time since I have been focusing on real world applications and the results have been excellent for such early stages of the platform.</p>
<p>Some notable features I have been working with are: GPS, Accelerometer, Multitouch / Gestures, SMS/TEL URI Schemes, IME, S/W Keyboard, Screen Orientation, Screen Dimming, Menu/Back keys and more.</p>
<p>As the pre-release and my applications built on AIR for Android progress I will share my findings as well as provide open source APIs, code examples, videos and / or screen shots of the apps I am working on, so stay tuned for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2010/05/13/air-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Flash Platform and Android</title>
		<link>http://www.ericfeminella.com/blog/2010/04/22/the-flash-platform-and-android/</link>
		<comments>http://www.ericfeminella.com/blog/2010/04/22/the-flash-platform-and-android/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 14:01:27 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=711</guid>
		<description><![CDATA[Rather than going into any detail regarding my thoughts surrounding Apple&#8217;s updated iPhone developer license clause last week, I instead prefer to focus on the more exciting and positive developments the future has to hold for the Flash Platform in the mobile space; and at the moment, it&#8217;s Android As you may be aware, beginning [...]]]></description>
			<content:encoded><![CDATA[<p>Rather than going into any detail regarding my thoughts surrounding Apple&#8217;s updated iPhone developer license clause last week, I instead prefer to focus on the more exciting and positive developments the future has to hold for the Flash Platform in the mobile space; and at the moment, it&#8217;s Android</p>
<p>As you may be aware, beginning with <a href="http://labs.adobe.com/technologies/flashplayer10/" target="_blank">Adobe Flash Player 10.1</a>, the <a href="http://labs.adobe.com/technologies/air2/" target="_blank">AIR 2.5 for Android SDK </a> and <a href="http://www.android.com/" target="_blank">Android</a>, the Flash Platform will now begin to close the gap in terms of developing and deploying Web, Desktop and Mobile applications. Thus it appears this could open up some very exciting possibilities in the RIA space as, a write-once, deploy-anywhere solution for Mobile, Web and Desktop applications is obviously highly desirable.</p>
<p>For those of you unfamiliar with <a href="http://www.android.com/" target="_blank">Android</a>, it is a premiere software stack for mobile devices which provides an Operating System built on the Linux kernal, a very well designed middleware layer and core applications including an E-mail client, SMS program, calendar, maps, browser, contacts and more. Android also provides an <a href="http://developer.android.com/guide/appendix/faq/framework.html" target="_blank">Application framework</a>, a <a href="http://www.dalvikvm.com/" target="_blank">Dalvik virtual machine</a> which is optimized for Mobile Devices, an integrated web browser based on the widely known <a href="http://webkit.org/" target="_blank">WebKit</a> engine, SQLite storage, common Media support, hardware dependent Bluetooth, EDGE, 3G, WiFi, Camera, GPS, Compass, and Accelerometer support as well as many other features.</p>
<p>Originally developed by Android Inc., which was later acquired by Google, Android is now governed by the <a href="http://www.openhandsetalliance.com/android_overview.html" target="_blank">Open Handset Alliance</a>; a consortium devoted to advancing open standards for mobile devices. Currently, over 50 mobile phones are expected to come shipped with Android in 2010. Moreover, Google and their hardware partners are now shipping 60,000 Android handset units each day! If this trend continues (which it certainly appears will be the case) this equates to over 21.9 million devices shipping with Android per year.</p>
<p>Traditionally, getting started with Android has been quite simple for developers who have experience with Java as one need only download and unpack the <a href="http://developer.android.com/sdk/index.html" target="_blank">Android SDK</a> distribution and install the <a href="http://developer.android.com/sdk/eclipse-adt.html" target="_blank">Android Development Tools</a> (ADT) Eclipse plugin. Managing different Android platforms as well as other SDK components is accomplished via AVD Manager which come with the SDK. As expected, the Android SDK also comes with a very high quality device emulator which feels similar to the BlackBerry JDEs device Simulators.</p>
<p>While developing applications for Android with ADT is certainly convenient (and quite fun), from a Flash Platform development perspective it is much more desirable (as well as economical) for developers to leverage their existing skill-set and APIs to develop a single application targeting Flash Player or the AIR runtime that will work with any device shipped with Android. And with Flash Player 10.1 and the current private beta of Android AIR 2.0, the Flash Platforms reach will now include the Android platform. The most significant of these new possibilities is the ability to develop a single application which supports both Web and Mobile devices alike. Thus considerably simplifying the development and deployment process. Of particular interest is the ability to leverage Mobile Device specific features such as Accelerometer, GPS, multi-touch, gestures screen orientation etc. from an AIR application. </p>
<p>Flash Player 10.1 will support devices running on Android that meet the minimum software and hardware requirements, which at the moment appear to be devices with an ARM v7 (Cortex) processor. Both <a href="http://www.motorola.com/Consumers/US-EN/Consumer-Product-and-Services/Mobile-Phones/Motorola-DROID-US-EN" target="_blank">Droid</a> and <a href="http://www.google.com/phone" target="_blank">Nexus One</a> carry ARM v7. Architecturally, I am quite interested in seeing how this all comes together in terms of memory and cpu optimization.</p>
<p>Working in conjunction with Adobe, as part of the Open Screen Project, Motorola is helping to develop Flash Player 10.1 so it works on Android. Motorola will also be deploying the Flash Player broadly across its Android product portfolio going forward; releasing Flash Player updates for existing devices such as the Droid (which I happen be actively developing for).</p>
<p>Adobe is targeting the end of July 2010 to have the Android AIR 2.0 Beta and Flash 10.1 for Android available. For updates sign up for:</p>
<li><a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_flashplayer10_android_signup" target="_blank">Adobe Flash Player 10.1 Beta for Android Notification</a></li>
<li><a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_air_android_signup" target="_blank">Adobe AIR 2.0 Beta Android Notification</a></li>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2010/04/22/the-flash-platform-and-android/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Data Binding with AS3 Signals</title>
		<link>http://www.ericfeminella.com/blog/2010/03/22/as3-signals-simulated-data-binding/</link>
		<comments>http://www.ericfeminella.com/blog/2010/03/22/as3-signals-simulated-data-binding/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 13:36:05 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.ericfeminella.com/blog/?p=613</guid>
		<description><![CDATA[Over the past few years the Presentation Model Pattern has picked up a lot of traction in the Flex world as it allows for an abstracted representation of a views model and state which can easily be tested. Core to it&#8217;s implementation is the facilitation of data bindings between a PMs model and a corresponding [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few years the <a href="http://www.martinfowler.com/eaaDev/PresentationModel.html">Presentation Model Pattern</a> has picked up a lot of traction in the Flex world as it allows for an abstracted representation of a views model and state which can easily be tested. Core to it&#8217;s implementation is the facilitation of data bindings between a PMs model and a corresponding View&#8217;s controls. Implementing data bindings between a view and its associated PM is quite straightforward when leveraging data binding in Flex &#8211; simply annotate a property, getter or class with <a href="http://help.adobe.com/en_US/Flex/4.0/UsingSDK/WS2db454920e96a9e51e63e3d11c0bf69084-7cc5.html" target="_blank">[Bindable]</a> metadata. A basic example of which can be seen as follows:</p>
<div class="dean_ch" style="white-space: wrap;">
<p><span class="kw3">public</span> <span class="kw2">class</span> UserInfoPresentationModel <span class="kw3">extends</span> EventDispatcher<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;<span class="kw3">private</span> <span class="kw2">var</span> _user:User = <span class="kw2">null</span>;</p>
<p>&nbsp; &nbsp; &nbsp;<span class="br0">&#91;</span>Bindable<span class="br0">&#40;</span>event=<span class="st0">&quot;userChangeEvent&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp;<span class="kw3">public</span> <span class="kw2">function</span> <span class="kw3">get</span> country<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">String</span><br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> _user.<span class="me1">location</span>.<span class="me1">country</span>;<br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp;<span class="kw3">private</span> <span class="kw2">function</span> updateUser<span class="br0">&#40;</span>value:User<span class="br0">&#41;</span> : <span class="kw3">void</span><br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _user = value;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dispatchEvent<span class="br0">&#40;</span><span class="kw2">new</span> Event<span class="br0">&#40;</span><span class="st0">&quot;userChangeEvent&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp;<span class="co1">// &#8230;.</span><br />
<span class="br0">&#125;</span></div>
<p>Then a typical Flex data binding expression can be defined within a particular property of a control where the binding is to take place against the property of the Presentation Model instance:</p>
<div class="dean_ch" style="white-space: wrap;">
<p>&lt;!&#8211; Define the view bindings to the Presentation Model &#8211;&gt;<br />
&lt;?<span class="kw3">xml</span> <span class="kw3">version</span>=<span class="st0">&quot;1.0&quot;</span> encoding=<span class="st0">&quot;utf-8&quot;</span>?&gt;<br />
&lt;s:Group xmlns:fx &nbsp; = <span class="st0">&quot;http://ns.adobe.com/mxml/2009&quot;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmlns:s &nbsp; &nbsp;= <span class="st0">&quot;library://ns.adobe.com/flex/spark&quot;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;initialize = <span class="st0">&quot;init();&quot;</span> &gt;<br />
&nbsp; &lt;fx:Script&gt;<br />
&nbsp; &nbsp; &lt;!<span class="br0">&#91;</span>CDATA<span class="br0">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Define the views presentation model instance</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>Bindable<span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> _pm:UserInfoPresentationModel = <span class="kw2">null</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; privatefunction init<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _pm = <span class="kw2">new</span> UserInfoPresentationModel<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#93;</span><span class="br0">&#93;</span>&gt;<br />
&nbsp; &lt;/fx:Script&gt;<br />
&nbsp; &lt;s:Label <span class="kw3">text</span>=<span class="st0">&quot;{ _pm.country}&quot;</span> /&gt;<br />
&lt;/s:Group&gt;</div>
<p>As you can see this is quite simple and easy to implement. But how does one accomplish this without the use of Flex&#8217;s native data binding facility?</p>
<p>This may seem like a rather moot question as its hard to imagine why someone would choose to not take advantage of Flex data binding to accomplish synchronizing a view with its PM. However, just recently I found myself in need of a solution for this problem&#8230;</p>
<p>I have been experimenting with <a href="http://github.com/robertpenner/as3-signals">AS3 Signals</a> lately as I find them to be a nice alternative to Flash Player Events. This especially makes sense in the context of Presentation Models as, at least in my experience, event Bubbling within the display list simply isn&#8217;t necessary when binding a component to a property of a PM. Furthermore, while I am not particularly biased against Flash Players event model, its implementation is very much a black-box, and AS3 Signals allows for a good level of abstraction and control of the Signaling mechanism. So I contemplated how this may improve a Presentation Models implementation and decided to see how Signals could be implemented with a PM; however I first needed to find a solution which would allow Signals to provide the same functionality as data binding.</p>
<p>Essentially, implementing &#8220;pseudo&#8221; data bindings with AS3 Signals can be accomplished much the same as can be seen in <a href="http://help.adobe.com/en_US/Flex/4.0/langref/mx/binding/utils/BindingUtils.html" target="_blank">BindingUtils</a>. I developed a <code>SignalDataBinding</code> API which will feel somewhat familiar to those who have worked with BindingUtils in the past. SignalDataBinding provides an API allowing for the creation of pseudo data bindings within a <code>Signal</code> against a property of a host object which is facilitated via the creation of runtime functions which are managed by the API.</p>
<p>For example, suppose you are using AS3Signals and wanted to bind a label&#8217;s text property to the value of another object. With the SignalDataBinding API this could be accomplished as follows:</p>
<div class="dean_ch" style="white-space: wrap;">
<p><span class="co1">// Define the object which utilizes the Signal messaging API</span><br />
<span class="kw3">public</span> <span class="kw2">class</span> TitleModel <br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> _bindings:SignalDataBinding = <span class="kw2">null</span>;<br />
&nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> _titleChanged:Signal &nbsp; &nbsp; &nbsp;= <span class="kw2">null</span>;<br />
&nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> _title:<span class="kw3">String</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = <span class="kw2">null</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> <span class="kw3">get</span> title<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">String</span> <br />
&nbsp; &nbsp; <span class="br0">&#123;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> _title; <br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> <span class="kw3">set</span> title<span class="br0">&#40;</span>value:<span class="kw3">String</span><span class="br0">&#41;</span> : <span class="kw3">void</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; _title = value;<br />
&nbsp; &nbsp; &nbsp; &nbsp; _titleChanged.<span class="me1">dispatch</span><span class="br0">&#40;</span> value <span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="co1">// Model class provides an API for property specific </span><br />
&nbsp; &nbsp; <span class="co1">// bindings while not exposing the underlying binding </span><br />
&nbsp; &nbsp; <span class="co1">// mechanism, thus &nbsp;allowing the data binding facility </span><br />
&nbsp; &nbsp; <span class="co1">// to be changed transparent to that of a client&#8217;s</span><br />
&nbsp; &nbsp; <span class="co1">// implementation.</span><br />
&nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> addTitleBinding<span class="br0">&#40;</span>host:*, property:*<span class="br0">&#41;</span>:<span class="kw3">void</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; _bindings.<span class="me1">addBindableListener</span><span class="br0">&#40;</span>_titleChanged, host, property<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p>Then, in the view from which the bindings are to be defined you would explicitly add bindings as follows:</p>
<div class="dean_ch" style="white-space: wrap;">
<p>&lt;?<span class="kw3">xml</span> <span class="kw3">version</span>=<span class="st0">&quot;1.0&quot;</span> encoding=<span class="st0">&quot;utf-8&quot;</span>?&gt;<br />
&lt;s:Group xmlns:fx &nbsp; = <span class="st0">&quot;http://ns.adobe.com/mxml/2009&quot;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmlns:s &nbsp; &nbsp;= <span class="st0">&quot;library://ns.adobe.com/flex/spark&quot;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;initialize = <span class="st0">&quot;init();&quot;</span> &gt;<br />
&nbsp; &lt;fx:Script&gt;<br />
&nbsp; &nbsp; &lt;!<span class="br0">&#91;</span>CDATA<span class="br0">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Define the views presentation model instance</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> _pm:TitleModel = <span class="kw2">null</span>;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> init<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _pm = <span class="kw2">new</span> TitleModel<span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Add binding between the Model&#8217;s &#8216;title&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// property and the views &#8216;titleLabel.text&#8217; </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// property. Assignments to &quot;title&quot; will now </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// be reflected in &#8216;titleLabel.text&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _pm.<span class="me1">addTitleBinding</span><span class="br0">&#40;</span> titleLabel, <span class="st0">&quot;text&quot;</span> <span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#93;</span><span class="br0">&#93;</span>&gt;<br />
&nbsp; &lt;/fx:Script&gt;<br />
&nbsp; &lt;s:Label id=<span class="st0">&quot;titleLabel&quot;</span> /&gt;<br />
&lt;/s:Group&gt;<br />
&nbsp;</div>
<p>And that&#8217;s basically it. Additional levels of abstraction could easily be defined in order to provide common base classes which encapsulate the SignalDataBinding instance etc. Additionally, I do not see any reason why the SignalDataBinding API could not be utilized in AS3 projects as well as Flash projects; for the underlying implementation has no dependencies on the Flex Framework. Thus the SignalDataBinding API could be leveraged in any AS3 project as is, or adapted to implement the Flash Player Event model to provide a BindingUtils implementation for AS3 and / or Flash Projects.</p>
<p>You can view a basic <a href="http://code.ericfeminella.com/apis/as3-signal-support/bindings/example/AS3SignalBindingExample.html" target="_blank">example</a> as well as download the SignalDataBinding API <a href="http://code.ericfeminella.com/apis/as3-signal-support/bindings/as3-signal-bindings-src.zip" target="_blank">source</a>, <a href="http://code.ericfeminella.com/apis/as3-signal-support/bindings/as3-signal-bindings-docs.zip" target="_blank">docs</a> and <a href="http://code.ericfeminella.com/apis/as3-signal-support/bindings/as3-signal-bindings-1.0-SNAPSHOT.swc" target="_blank">binary</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ericfeminella.com/blog/2010/03/22/as3-signals-simulated-data-binding/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

