<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Staffing a team for your Flex project</title>
	<atom:link href="http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/feed" rel="self" type="application/rss+xml" />
	<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project</link>
	<description>A blog about our experience with Adobe Flex</description>
	<lastBuildDate>Fri, 03 Sep 2010 02:18:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Anatole Tartakovsky</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34895</link>
		<dc:creator>Anatole Tartakovsky</dc:creator>
		<pubDate>Thu, 17 Jan 2008 21:29:17 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34895</guid>
		<description>Bjorn,
    You might want to go back to the roots of OO for most of the cases. For example, in case of AMF0/AMF3 all we do is we use our own RemoteObject. It seamlessly switches between AMF0 and AMF3 implementations based on the settings coming from html wrapper. By placing simple factory layer and coding application code against IRemoteObject interface containing all the methods of the original one we solve migration and protocol issues. Instead of making them explicit for the application developer we have single Flex expert per projects that absolves APPLICATION developers from ALL system issues.
Regards,
Anatole Tartakovsky</description>
		<content:encoded><![CDATA[<p>Bjorn,<br />
    You might want to go back to the roots of OO for most of the cases. For example, in case of AMF0/AMF3 all we do is we use our own RemoteObject. It seamlessly switches between AMF0 and AMF3 implementations based on the settings coming from html wrapper. By placing simple factory layer and coding application code against IRemoteObject interface containing all the methods of the original one we solve migration and protocol issues. Instead of making them explicit for the application developer we have single Flex expert per projects that absolves APPLICATION developers from ALL system issues.<br />
Regards,<br />
Anatole Tartakovsky</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joeflash</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34883</link>
		<dc:creator>joeflash</dc:creator>
		<pubDate>Wed, 16 Jan 2008 03:32:29 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34883</guid>
		<description>Aha! But you&#039;re still using an architectural framework on top of the Flex component framework, right? (Not unless you want to re-invent the Flex components from low-level AS3, and what&#039;s the point of that?) there&#039;s frameworks and then there&#039;s frameworks... but I&#039;ll shut up now ;)</description>
		<content:encoded><![CDATA[<p>Aha! But you&#8217;re still using an architectural framework on top of the Flex component framework, right? (Not unless you want to re-invent the Flex components from low-level AS3, and what&#8217;s the point of that?) there&#8217;s frameworks and then there&#8217;s frameworks&#8230; but I&#8217;ll shut up now <img src='http://flexblog.faratasystems.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yakov Fain</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34874</link>
		<dc:creator>Yakov Fain</dc:creator>
		<pubDate>Tue, 15 Jan 2008 10:50:30 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34874</guid>
		<description>Joe, We&#039;ll create and publish a mini demo application that will show how to separate things without using using overly complicated frameworks. When you&#039;ll see it, you&#039;ll believe it :)</description>
		<content:encoded><![CDATA[<p>Joe, We&#8217;ll create and publish a mini demo application that will show how to separate things without using using overly complicated frameworks. When you&#8217;ll see it, you&#8217;ll believe it <img src='http://flexblog.faratasystems.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joeflash</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34872</link>
		<dc:creator>joeflash</dc:creator>
		<pubDate>Tue, 15 Jan 2008 04:35:28 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34872</guid>
		<description>Your conversation on the three types of Flex developers reminds me of &lt;a href=&quot;http://www.communitymx.com/abstract.cfm?cid=284FA&quot; rel=&quot;nofollow&quot;&gt;a whitepaper I just write&lt;/a&gt; regarding &lt;a href=&quot;http://www.joeflash.ca/blog/2008/01/so-you-want-to-hire-a-swf-developer.html&quot; rel=&quot;nofollow&quot;&gt;clarifying the new roles of developers who work with the Flash runtime&lt;/a&gt;. Your three designations sounds remarkably analogous to the three categories of the Flex developers I&#039;ve come up with, based on my own personal observations:

1. Flash Developer = Flex GUI developers
2. Visual Flex Developer = Flex component developers
3. Enterprise Flex Developer = Flex architects


Regarding the framework argument, well I&#039;ve only just started messing with frameworks on a large enough scale to warrant using commands and delegates and that sort of thing, as I&#039;m coming at Flex from an ActionScript 3.0 background, so take this for what it&#039;s worth. But it seems to me that an architectural framework on top of the Flex framework is useful for abstracting Services from Commands from Views, in other words creating more abstracted MVC architectures so that a) you can compartmentalize your workflow in large teams, and b) if you need to change how the application is connected or how the model is updated, you don&#039;t have to rewire your entire application. Trust me, I&#039;ve done and seen enough procedural code in my day to know the value of coding to framework of some kind. Like someone said in a previous post, it&#039;s the difference between an application framework and an architectural framework. From what I&#039;ve experienced thus far, you need both to create an app of any scale, though I could be wrong.</description>
		<content:encoded><![CDATA[<p>Your conversation on the three types of Flex developers reminds me of <a href="http://www.communitymx.com/abstract.cfm?cid=284FA" rel="nofollow">a whitepaper I just write</a> regarding <a href="http://www.joeflash.ca/blog/2008/01/so-you-want-to-hire-a-swf-developer.html" rel="nofollow">clarifying the new roles of developers who work with the Flash runtime</a>. Your three designations sounds remarkably analogous to the three categories of the Flex developers I&#8217;ve come up with, based on my own personal observations:</p>
<p>1. Flash Developer = Flex GUI developers<br />
2. Visual Flex Developer = Flex component developers<br />
3. Enterprise Flex Developer = Flex architects</p>
<p>Regarding the framework argument, well I&#8217;ve only just started messing with frameworks on a large enough scale to warrant using commands and delegates and that sort of thing, as I&#8217;m coming at Flex from an ActionScript 3.0 background, so take this for what it&#8217;s worth. But it seems to me that an architectural framework on top of the Flex framework is useful for abstracting Services from Commands from Views, in other words creating more abstracted MVC architectures so that a) you can compartmentalize your workflow in large teams, and b) if you need to change how the application is connected or how the model is updated, you don&#8217;t have to rewire your entire application. Trust me, I&#8217;ve done and seen enough procedural code in my day to know the value of coding to framework of some kind. Like someone said in a previous post, it&#8217;s the difference between an application framework and an architectural framework. From what I&#8217;ve experienced thus far, you need both to create an app of any scale, though I could be wrong.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yakov Fain</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34868</link>
		<dc:creator>Yakov Fain</dc:creator>
		<pubDate>Mon, 14 Jan 2008 11:48:33 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34868</guid>
		<description>Bjorn,

1. Even if developers will grasp how to write code going through all these hurdles required to locate a hidden service, this process will litter your application code with lots of unnecessary objects. Becide, the code is being read a lot more often than written. No problem, a new hire will spend a week ($500*5=$2500) and will be comfortable too.

Oh, btw, you have to register one command per an event. What if I\&#039;d like to have two handlers for the same event? I know, you can find a workaround pretty fast.

Last week, my client that uses modules ran into another issue - they\&#039;ve noticed that re-visiting the same screen leads multiple firing of the same event, which substantially affects performance. Oops...You have to have only one controller per application...no controllers in modules.

Anyway, this blog is not the right place for discussions of the pros and cons of Flex framework. We (Farata) are planning to create and publish a couple of demo applications that will illustrate how to create the same app with and without frameworks.</description>
		<content:encoded><![CDATA[<p>Bjorn,</p>
<p>1. Even if developers will grasp how to write code going through all these hurdles required to locate a hidden service, this process will litter your application code with lots of unnecessary objects. Becide, the code is being read a lot more often than written. No problem, a new hire will spend a week ($500*5=$2500) and will be comfortable too.</p>
<p>Oh, btw, you have to register one command per an event. What if I\&#8217;d like to have two handlers for the same event? I know, you can find a workaround pretty fast.</p>
<p>Last week, my client that uses modules ran into another issue &#8211; they\&#8217;ve noticed that re-visiting the same screen leads multiple firing of the same event, which substantially affects performance. Oops&#8230;You have to have only one controller per application&#8230;no controllers in modules.</p>
<p>Anyway, this blog is not the right place for discussions of the pros and cons of Flex framework. We (Farata) are planning to create and publish a couple of demo applications that will illustrate how to create the same app with and without frameworks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bjorn</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34866</link>
		<dc:creator>Bjorn</dc:creator>
		<pubDate>Mon, 14 Jan 2008 04:39:13 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34866</guid>
		<description>&quot;it’s very hard for me to accept a framework built on top of another framework.&quot;
If the framework is intended for use with Flex then what&#039;s wrong with making use of Flex features.

Modules was not difficult. Flex 3 helped alot.

We have an application at the moment using AMF0 remoting and we are looking at migrating to BlazeDS soon.
Due to the separation of concerns in our client side architecture replacing the AMF0 delegate library with a new AMF3 Delegate library is not very complicated.

For sure making and handling HTTPService calls in a mediator is quicker and easier to code, but it would require a more delicate handling of the situation if a change like the change I proposed above was required.

If I get a new guy to write a cairngorm app once, he knows the sequence.
It&#039;s not rocket science and it&#039;s a repeated process.
Introduce code gen and there&#039;s your standards and convention in place.

For most of the new guys these frameworks seem intimidating the first day, by the end of the week, they&#039;ve built the first simple app.
The week after they already feel comfortable to get their feet wet in the big pool.</description>
		<content:encoded><![CDATA[<p>&#8220;it’s very hard for me to accept a framework built on top of another framework.&#8221;<br />
If the framework is intended for use with Flex then what&#8217;s wrong with making use of Flex features.</p>
<p>Modules was not difficult. Flex 3 helped alot.</p>
<p>We have an application at the moment using AMF0 remoting and we are looking at migrating to BlazeDS soon.<br />
Due to the separation of concerns in our client side architecture replacing the AMF0 delegate library with a new AMF3 Delegate library is not very complicated.</p>
<p>For sure making and handling HTTPService calls in a mediator is quicker and easier to code, but it would require a more delicate handling of the situation if a change like the change I proposed above was required.</p>
<p>If I get a new guy to write a cairngorm app once, he knows the sequence.<br />
It&#8217;s not rocket science and it&#8217;s a repeated process.<br />
Introduce code gen and there&#8217;s your standards and convention in place.</p>
<p>For most of the new guys these frameworks seem intimidating the first day, by the end of the week, they&#8217;ve built the first simple app.<br />
The week after they already feel comfortable to get their feet wet in the big pool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yakov Fain</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34865</link>
		<dc:creator>Yakov Fain</dc:creator>
		<pubDate>Mon, 14 Jan 2008 02:43:55 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34865</guid>
		<description>&quot;it is easier to get developers up to speed on large projects that use well documented frameworks.&quot;
Nice joke, Bjorn!  
Let&#039;s see...In Flex framework, to use HTTPService when the user clicks on a button, I just need to call send() on the button click and specify two functions to handle success and failure. Let&#039;s call it difficult.

Here&#039;s an easier way to do the same thing that&#039;s offered by an XYZ framework: write a half dozen of ActionScript classes, re-route  your click  event through  a couple of Singletons apply a command pattern - create commands and  register command  handlers, write a Delegate class and hide there that very same HTTPService. Do not forget  to implement the proper interfaces, and if you did everything right, then XYZ will return you the result through a bound control .  It&#039;s sooooo easy to get developers up to speed.! And this is a simple case when everything is sitting in the same little application. No modules. Not more than one event handler per command. 

This is what happens to people who are developing frameworks while intoxicated by Java Struts framework. But if I can kinda understand (not endorse)  people who developed Struts - at least they built a framework on top of the raw language - it&#039;s very hard for me to accept a framework built on top of another framework.</description>
		<content:encoded><![CDATA[<p>&#8220;it is easier to get developers up to speed on large projects that use well documented frameworks.&#8221;<br />
Nice joke, Bjorn!<br />
Let&#8217;s see&#8230;In Flex framework, to use HTTPService when the user clicks on a button, I just need to call send() on the button click and specify two functions to handle success and failure. Let&#8217;s call it difficult.</p>
<p>Here&#8217;s an easier way to do the same thing that&#8217;s offered by an XYZ framework: write a half dozen of ActionScript classes, re-route  your click  event through  a couple of Singletons apply a command pattern &#8211; create commands and  register command  handlers, write a Delegate class and hide there that very same HTTPService. Do not forget  to implement the proper interfaces, and if you did everything right, then XYZ will return you the result through a bound control .  It&#8217;s sooooo easy to get developers up to speed.! And this is a simple case when everything is sitting in the same little application. No modules. Not more than one event handler per command. </p>
<p>This is what happens to people who are developing frameworks while intoxicated by Java Struts framework. But if I can kinda understand (not endorse)  people who developed Struts &#8211; at least they built a framework on top of the raw language &#8211; it&#8217;s very hard for me to accept a framework built on top of another framework.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bjorn</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34859</link>
		<dc:creator>Bjorn</dc:creator>
		<pubDate>Sun, 13 Jan 2008 23:10:38 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34859</guid>
		<description>&quot;Two years ago, Flex community was more of a ghetto where most of the Flex programmers knew each other&quot;
That was funny : )

extra budget for a new project called “Removal of the XYZ framework”.
The good old XYZ framework eh..
It seems certain XYZ frameworks are getting a hammering from a lot of respected developers over the past few months.

We have yet to ask for that extra budget yet.
In defense of application frameworks I must say that it is easier to get developers up to speed on large projects that use well documented frameworks.</description>
		<content:encoded><![CDATA[<p>&#8220;Two years ago, Flex community was more of a ghetto where most of the Flex programmers knew each other&#8221;<br />
That was funny : )</p>
<p>extra budget for a new project called “Removal of the XYZ framework”.<br />
The good old XYZ framework eh..<br />
It seems certain XYZ frameworks are getting a hammering from a lot of respected developers over the past few months.</p>
<p>We have yet to ask for that extra budget yet.<br />
In defense of application frameworks I must say that it is easier to get developers up to speed on large projects that use well documented frameworks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ksilz</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34858</link>
		<dc:creator>ksilz</dc:creator>
		<pubDate>Sun, 13 Jan 2008 22:19:35 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34858</guid>
		<description>Thank you for the clarification!</description>
		<content:encoded><![CDATA[<p>Thank you for the clarification!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yakov Fain</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34856</link>
		<dc:creator>Yakov Fain</dc:creator>
		<pubDate>Sun, 13 Jan 2008 21:30:10 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34856</guid>
		<description>Web designers actually design screens, and they will actually fight with you if you decide to change it. 
The times when a developer just throws a couple of green buttons, a yellow datagrid on a window with a red background are over, hopefully.
Well thought of color schemes and gradients, CSS files enforcing the same look and feel of components and pixel-perfect positioning on the screen.  Last week, the Web designer called me into his office complaining that I had a two-pixel space between components of one window instead of one. I said, &quot;I&#039;m sure I allocated just one pixel there&quot;. Without thinking twice, he brought my screen to Photoshop or something, magnified that screen area 10 times and showed me a two-pixel gap there.</description>
		<content:encoded><![CDATA[<p>Web designers actually design screens, and they will actually fight with you if you decide to change it.<br />
The times when a developer just throws a couple of green buttons, a yellow datagrid on a window with a red background are over, hopefully.<br />
Well thought of color schemes and gradients, CSS files enforcing the same look and feel of components and pixel-perfect positioning on the screen.  Last week, the Web designer called me into his office complaining that I had a two-pixel space between components of one window instead of one. I said, &#8220;I&#8217;m sure I allocated just one pixel there&#8221;. Without thinking twice, he brought my screen to Photoshop or something, magnified that screen area 10 times and showed me a two-pixel gap there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ksilz</title>
		<link>http://flexblog.faratasystems.com/2008/01/13/staffing-a-team-for-your-flex-project/comment-page-1#comment-34855</link>
		<dc:creator>ksilz</dc:creator>
		<pubDate>Sun, 13 Jan 2008 20:48:03 +0000</pubDate>
		<guid isPermaLink="false">http://flexblog.faratasystems.com/?p=284#comment-34855</guid>
		<description>When you said that &quot;Web Designers [...] come up with the look and feel of the screens&quot;, does that mean they really design all screens?  Or do they just design the look and feel of some sample screens, and the Flex GUI developers decide the layout and content of all screens, based on the look and feel?

Karsten</description>
		<content:encoded><![CDATA[<p>When you said that &#8220;Web Designers [...] come up with the look and feel of the screens&#8221;, does that mean they really design all screens?  Or do they just design the look and feel of some sample screens, and the Flex GUI developers decide the layout and content of all screens, based on the look and feel?</p>
<p>Karsten</p>
]]></content:encoded>
	</item>
</channel>
</rss>
