<?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>Flexperiments &#187; Flash / Flex</title>
	<atom:link href="http://labs.flexperiments.nl/category/flash-flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.flexperiments.nl</link>
	<description></description>
	<lastBuildDate>Sun, 23 May 2010 10:27:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Flexperminents online!</title>
		<link>http://labs.flexperiments.nl/flexperminents-online/</link>
		<comments>http://labs.flexperiments.nl/flexperminents-online/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 08:56:34 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flexperiments]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/?p=51</guid>
		<description><![CDATA[Today i&#8217;ve launched my new website, labs.flexperiments.nl. All new posts will be posted there, and my components will find a perminent place there. So update your links and rss feeds!]]></description>
			<content:encoded><![CDATA[<p>Today i&#8217;ve launched my new website, <a title="Flexperiments!" href="http://labs.flexperiments.nl" target="_blank">labs.flexperiments.nl</a>. All new posts will be posted there, and my components will find a perminent place there.</p>
<p>So update your links and rss feeds!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/flexperminents-online/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compiling Flash Files from Flex</title>
		<link>http://labs.flexperiments.nl/compiling-flash-files-from-flex/</link>
		<comments>http://labs.flexperiments.nl/compiling-flash-files-from-flex/#comments</comments>
		<pubDate>Tue, 20 May 2008 17:57:28 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flex builder]]></category>
		<category><![CDATA[handy dandy]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/?p=49</guid>
		<description><![CDATA[This week, I had to do some flash work for TFE. As soon as a fired up flash and started programming I realized how lazy you get when programming in eclipse. I mean, auto import, code completion, all kinds of shortcuts&#8230; Compared to the flash IDE it&#8217;s heaven . Now, I know that there are [...]]]></description>
			<content:encoded><![CDATA[<p>This week, I had to do some flash work for TFE. As soon as a fired up flash and started programming I realized how lazy you get when programming in eclipse. I mean, auto import, code completion, all kinds of shortcuts&#8230; Compared to the flash IDE it&#8217;s heaven <img src='http://labs.flexperiments.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> . Now, I know that there are many IDE&#8217;s for flash Actionscript like <a title="SEPY" href="http://www.sephiroth.it/python/sepy.php" target="_blank">SePY</a> and <a title="FlashDevelop" href="http://www.flashdevelop.org">FlashDevelop</a>, but none of them really satisfies me like Eclipse does. The only problem with using Eclipse as Actionscript editor is the fact that you cannot build fla files in Flex Builder&#8230; or can you?<span id="more-169"></span>I did some research in commandline compiling and stumbled upon (not using the SU toolbar tho <img src='http://labs.flexperiments.nl/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> ) <a title="Commandline compiler" href="http://www.bit-101.com/blog/?p=485" target="_blank">a batch script</a> which did almost exactly what I wanted: instruct the flash IDE to build a certain FLA file. I modified the script a bit so it won&#8217;t close flash and it runs testmovie instead of publish:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p169code2'); return false;">View Code</a> BATCH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1692"><td class="code" id="p169code2"><pre class="batch" style="font-family:monospace;">@echo off
SET v_test=%1
SET v_result=%v_test:\=/%
echo // &amp;gt; tempPublish.jsfl
:start
echo %v_result%
echo filename = &quot;file:///%v_result%&quot;; &amp;gt;&amp;gt; tempPublish.jsfl
echo fl.openDocument(filename); &amp;gt;&amp;gt; tempPublish.jsfl
echo curr_doc = fl.getDocumentDOM(); &amp;gt;&amp;gt; tempPublish.jsfl
echo curr_doc.testMovie(); &amp;gt;&amp;gt; tempPublish.jsfl
shift
if &quot;%1&quot; == &quot;&quot; goto end
goto start
:end
start &quot;C:/Program Files/Adobe/Adobe Flash CS3/Flash.exe&quot; tempPublish.jsfl</pre></td></tr></table></div>

<p>Save this file as flashpublish.bat or whatever suits you. Now we&#8217;ve got our batch file, it&#8217;s time to setup flex builder.</p>
<ol>
<li>Goto &#8216;Run&#8217; -&gt; &#8216;External Tools&#8217; -&gt; &#8216;External tools&#8217;</li>
<li>From the configurations list, select &#8216;Program&#8217;</li>
<li>Click &#8216;New&#8217;</li>
<li>Give the configuration a name like &#8216;Flash Builder&#8217; or something</li>
<li>In the location box, locate the batch file</li>
<li>Leave the Working Directory empty</li>
<li>Enter the following string in the Arguments field:<br />
${project_loc}/src/${project_name}.fla</li>
<li>Select the &#8216;Common&#8217; tab and select &#8216;External Tools&#8217; at the &#8216;Display in favorites menu&#8217;</li>
<li>Hit apply and close.</li>
</ol>
<p>You can now use Flex Builder for your actionscript projects. Just create a new <strong>Actionscript project </strong>(not a Flex project) and locate it in the same directory as the FLA file.</p>
<p><strong>Make sure the projectname is the same as the filename of the FLA.</strong></p>
<p>When you want to build, hit External Tools -&gt; Flash Builder.</p>
<p>Now, to make it even faster to work with apply a shortcut to it:</p>
<ol>
<li>Goto Window -&gt; Preferences</li>
<li>From the &#8216;General&#8217; section, select &#8216;Keys&#8217;</li>
<li>Choose Modify and select &#8216;Run/Debug&#8217; as category and &#8216;External Tools&#8230;&#8217; as name</li>
<li>At the key sequence name field, press the desired keyboard shortcut and klick Add</li>
<li>Click OK, your shortcut is added and ready to be tested!</li>
</ol>
<p>Now, you finally have a descent Actionscript Editor which is capable of building FLA files!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/compiling-flash-files-from-flex/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>WebOrb closes the gap!</title>
		<link>http://labs.flexperiments.nl/weborb-closes-the-gap/</link>
		<comments>http://labs.flexperiments.nl/weborb-closes-the-gap/#comments</comments>
		<pubDate>Wed, 07 May 2008 21:25:26 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[AMF-PHP]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[remoteobject]]></category>
		<category><![CDATA[remoting]]></category>
		<category><![CDATA[WebOrb]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/?p=48</guid>
		<description><![CDATA[As of 30/04/2008, the Midnightcoders have released a new version of WebOrb for PHP (version 3.0.0). (Thanks David C. Moody for letting me know). And boy, they&#8217;ve certainly improved the performance! In my previous post WebOrb was a factor 4 slower than it&#8217;s opponent, AMFPHP. With this new version, the difference is much smaller. I [...]]]></description>
			<content:encoded><![CDATA[<p>As of 30/04/2008, the Midnightcoders have released a new version of WebOrb for PHP (version 3.0.0). (Thanks David C. Moody for letting me know). And boy, they&#8217;ve certainly improved the performance!</p>
<p>In my <a title="AMFPHP vs WebOrb" href="http://blog.idsklijnsma.nl/amfphp-vs-weborbphp/" target="_self">previous post</a> WebOrb was a factor 4 slower than it&#8217;s opponent, AMFPHP. With this new version, the difference is much smaller. I ran the &#8216;invoke large dataset&#8217; test and the difference was only 40ms (It used to take 6 seconds, it now takes 270ms). So AMFPHP still holds the speed record, but WebOrb is closing in!<span id="more-168"></span></p>
<p>Unfortunately, I could not found any release notes for this new version, so I cannot post which improvements they&#8217;ve made besides the performance.</p>
<p>I&#8217;ve updated the test application, so it now connects to weborb 3. You can run it <a title="WebOrb vs AMFPHP" href="http://www.idsklijnsma.nl/weborb3amftest/" target="_blank">here</a>.</p>
<p>All I can say is thumbs up for the Midnight Coders, and keep up the good work.</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/weborb-closes-the-gap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IKTree v1.1.0 released</title>
		<link>http://labs.flexperiments.nl/iktree-v110-released/</link>
		<comments>http://labs.flexperiments.nl/iktree-v110-released/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 12:20:47 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[ikTree]]></category>
		<category><![CDATA[labelfield]]></category>
		<category><![CDATA[labelfunction]]></category>
		<category><![CDATA[recyclechildren]]></category>
		<category><![CDATA[tree]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/iktree-v110-released/</guid>
		<description><![CDATA[I&#8217;ve made some changes to the tree, which add some more functionality and make it even more (re-)usable. IKTree now has: Caching / Recycling of children, which reduce the &#8216;flickering&#8217; Label &#38; IconFunctions Object access for labelfields. You can now access objects in the tree for the labelfield. For instance, you can set &#8216;obj.label&#8217; as [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made some changes to the tree, which add some more functionality and make it even more (re-)usable.</p>
<p>IKTree now has:</p>
<ul>
<li>Caching / Recycling of children, which reduce the &#8216;flickering&#8217;</li>
<li>Label &amp; IconFunctions</li>
<li>Object access for labelfields. You can now access objects in the tree for the labelfield. For instance, you can set &#8216;obj.label&#8217; as labelField. It will then set the label as data[obj][label].</li>
<li>Doubleclick support</li>
<li>Added some styles (indicatorThickness &amp; indicatorColor)</li>
</ul>
<p><span id="more-167"></span></p>
<p style="text-align: center"><img src="http://www.idsklijnsma.nl/blog/wp-content/uploads/2008/04/iktree_v_1.png" alt="IKTree v1.0b" /></p>
<p>You&#8217;ll find the files here:</p>
<p><a title="Demo" href="http://www.idsklijnsma.nl/iktree_v_1/" target="_blank">Demo</a><br />
<a title="Source files" href="http://www.idsklijnsma.nl/iktree_v_1/srcview/index.html" target="_blank">Source</a><br />
<a title="SWC File" href="http://www.idsklijnsma.nl/iktree_v_1/srcview/source/lib/IKTree.swc">SWC</a><br />
<a title="Documentation" href="http://www.idsklijnsma.nl/iktree_v_1/docs/" target="_blank">Docs</a></p>
<p>Please let me know what you think. If you find any bugs you can also post them here.</p>
<p>Read <a title="Original post" href="http://blog.idsklijnsma.nl/its-here-iktree-v10-beta/">the original post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/iktree-v110-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Regular Expression Tester v1.3 released</title>
		<link>http://labs.flexperiments.nl/regular-expression-tester-v13-released/</link>
		<comments>http://labs.flexperiments.nl/regular-expression-tester-v13-released/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 13:59:44 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[asret]]></category>
		<category><![CDATA[highlight]]></category>
		<category><![CDATA[live matching]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regular expression]]></category>
		<category><![CDATA[result highlighting]]></category>
		<category><![CDATA[syntax]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/regular-expression-tester-v13-released/</guid>
		<description><![CDATA[My AS3 Regular Expression Tester (ASRET) has just been updated. With ASRET you can test if your expression behaves like you want to. It has some cool features like syntax highlighting, the ability to save your expressions, and calling the replace, math, search and exec functions of the AS3 regexp engine. The new version brings [...]]]></description>
			<content:encoded><![CDATA[<p>My AS3 Regular Expression Tester (ASRET) has just been updated. With ASRET you can test if your expression behaves like you want to. It has some cool features like syntax highlighting, the ability to save your expressions, and calling the replace, math, search and exec functions of the AS3 regexp engine.</p>
<p>The new version brings live matching and result highlighting</p>
<p><img src="http://www.idsklijnsma.nl/blog/wp-content/uploads/2008/04/regexp_v_1_3.png" alt="AS3 Regular Expression Tester v1.3" /></p>
<p>With Live Matching turned on, ASRET evaluates the expression every time the expression, the string to match or one of the flags is changed. You can find ASRET <a href="http://www.idsklijnsma.nl/regexps/" title="AS3 Regular Expression Tester" target="_blank">here</a>.</p>
<p>Read the <a href="http://blog.idsklijnsma.nl/regular-expression-tester-v10/" title="Regular Expression Tester v1.2">original post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/regular-expression-tester-v13-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#039;s here! IKTree v1.0 (beta)</title>
		<link>http://labs.flexperiments.nl/its-here-iktree-v10-beta/</link>
		<comments>http://labs.flexperiments.nl/its-here-iktree-v10-beta/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 11:59:12 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[drop]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[ikTree]]></category>
		<category><![CDATA[renderer]]></category>
		<category><![CDATA[swc]]></category>
		<category><![CDATA[tree]]></category>
		<category><![CDATA[vbox]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/its-here-iktree-v10-beta/</guid>
		<description><![CDATA[Today I&#8217;m releasing the first version of my tree component. This component is a substitute for the build-in tree of flex. Why? Because the build in tree is build on the list classes, which aren&#8217;t the most stable classes of flex. My tree is build entirely with UIComponents and VBoxes, no list class used here. [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m releasing the first version of my tree component. This component is a substitute for the build-in tree of flex. Why? Because the build in tree is build on the list classes, which aren&#8217;t the most stable classes of flex. My tree is build entirely with UIComponents and VBoxes, no list class used here.<span id="more-165"></span></p>
<p>This gives you some advantages, like I mentioned in my previous post <a href="http://blog.idsklijnsma.nl/sneak-preview-custom-tree-component-for-flex/" title="Sneak Preview: Custom Tree Component for Flex">&#8216;Sneak Preview: Custom Tree Component for Flex&#8217;</a>:</p>
<ul>
<li>Opening and closes is just a case of hiding boxes;</li>
<li>It’s fast;</li>
<li>Boxes are reliable, lists are not;</li>
<li>Variable row height is no problem.</li>
</ul>
<p style="text-align: center"><img src="http://www.idsklijnsma.nl/blog/wp-content/uploads/2008/04/iktree_v_1.png" alt="IKTree v1.0b" /></p>
<p><strong>Update 04/03/08 15:59</strong></p>
<p><em>I&#8217;ve uploaded a newer version (1.0.1b), which adds much of the ToDo functionality</em></p>
<p>This version (1.0.1b) supports:</p>
<ul>
<li>Drag &#8216;n Drop</li>
<li>Custom Icons</li>
<li>Lazy Loading</li>
<li>Custom renderers (item renderer and drop indicator)</li>
<li>Slightly stylable</li>
<li>Drag from a component to the tree;</li>
<li>Create folders on drop;</li>
<li>Set default renderer automatically;</li>
<li>Handle width and height as percentages</li>
</ul>
<p>What the next version(s) need:</p>
<ul>
<li>Caching / recycling of children;</li>
<li>Styles;</li>
<li>Animations;</li>
<li>Multiselect</li>
</ul>
<p>The source is added to the demo as an swc file:</p>
<p><a href="http://www.idsklijnsma.nl/iktree_v_1/" title="Demo" target="_blank">Demo</a><br />
<a href="http://www.idsklijnsma.nl/iktree_v_1/srcview/index.html" title="Source files" target="_blank">Source</a><br />
<a href="http://www.idsklijnsma.nl/iktree_v_1/srcview/source/lib/IKTree.swc" title="SWC File">SWC</a><br />
<a href="http://www.idsklijnsma.nl/iktree_v_1/docs/" title="Documentation" target="_blank">Docs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/its-here-iktree-v10-beta/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Sneak Preview: Custom Tree Component for Flex</title>
		<link>http://labs.flexperiments.nl/sneak-preview-custom-tree-component-for-flex/</link>
		<comments>http://labs.flexperiments.nl/sneak-preview-custom-tree-component-for-flex/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 16:00:34 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[arraycollection]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[custom icon]]></category>
		<category><![CDATA[drag drop]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[ikTree]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[renderer]]></category>
		<category><![CDATA[tfe]]></category>
		<category><![CDATA[tree]]></category>
		<category><![CDATA[vbox]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/sneak-preview-custom-tree-component-for-flex/</guid>
		<description><![CDATA[That&#8217;s right, I was so fed up with the tree component of flex, that I decided to build my own. And to make sure that it will not end up as crappy as the default one, my goal was to make sure no listclass or whatsoever would be used. This version is just an early [...]]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s right, I was so fed up with the tree component of flex, that I decided to build my own. And to make sure that it will not end up as crappy as the default one, my goal was to make sure no listclass or whatsoever would be used.</p>
<p style="text-align: center"><img src="http://www.idsklijnsma.nl/blog/wp-content/uploads/2008/03/iktree.png" alt="ikTree" /></p>
<p><span id="more-164"></span>This version is just an early release, it&#8217;s full of bugs, misses lots of features, has no documentation and is not very well designed. Therefore I&#8217;m not releasing the source code (yet) (however, you can see the source code of the example).</p>
<p>Features this version include:</p>
<ul>
<li>Basic events (open, close, selectionChange)</li>
<li>Custom renderers, as long as you extend the IKTreeItemRenderer class.</li>
<li>Lazy loading, just add your data to the children property of the dataprovider</li>
<li>Custom icons, you can specify icons in multiple ways:
<ul>
<li>In the dataprovider (you can set an iconfield)</li>
<li>As a property of the tree, which accepts urls, objects (containing an folder and &#8216;normal&#8217; icon url) or an array</li>
</ul>
</li>
<li>Drag &amp; Drop (buggy, drag from or to the root is not possible)
<ul>
<li>You can move items, or copy (press the alt key while dragging)</li>
</ul>
</li>
</ul>
<p>Like I said, I wanted to avoid the list classes, instead it uses VBoxes to do the trick. This has some advantages:</p>
<ul>
<li>Opening and closes is just a case of hiding boxes;</li>
<li>It&#8217;s fast;</li>
<li>Boxes are reliable, lists are not;</li>
<li>Variable row height is no problem</li>
</ul>
<p>The goal of this component is:</p>
<p>Having a reliable tree which is simple to use but powerful enough to do more than just display dummy data. It will support ArrayCollections only, no XML or objects, only ArrayCollections. It will be able to do everything that a normal tree can do, and more.</p>
<p>I will be releasing updated versions in the next couple of weeks / months / years / centuries. If you would like to see features in this tree, just let me know and I will take them in consideration.</p>
<p>Btw, you&#8217;ll  find the example <a href="http://www.idsklijnsma.nl/iktree/" title="Demo" target="_blank">here</a>.</p>
<blockquote><p> <strong>Update 04/03/08</strong></p>
<p><em>First version released, check <a href="http://blog.idsklijnsma.nl/its-here-iktree-v10-beta/" title="IKTree v1.0b">&#8216;It’s here! IKTree v1.0 (beta) &#8216;</a></em></p></blockquote>
<p>Please, let me know what you think of it.</p>
<p>And before I forget, I want to thank <a href="http://www.tfe.nl" title="&lt;theFactor.e&gt;" target="_blank">&lt;theFactor.e&gt;</a> for giving me the time to develop this component.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/sneak-preview-custom-tree-component-for-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DragManager prevents mouse events of children *Updated*</title>
		<link>http://labs.flexperiments.nl/dragmanager-prevents-mouse-events-of-children/</link>
		<comments>http://labs.flexperiments.nl/dragmanager-prevents-mouse-events-of-children/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 09:37:45 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[dragmanager]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[tree]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/dragmanager-prevents-mouse-events-of-children/</guid>
		<description><![CDATA[I just ran into another strange behavior of flex. Lets say you have a VBox, with an image inside. When the user clicks the image, it should do some stuff, but when the user clicks (mousedown actually) the VBox it should start dragging. You would expect that when you click the image, both events are [...]]]></description>
			<content:encoded><![CDATA[<p>I just ran into another strange behavior of flex. Lets say you have a VBox, with an image inside. When the user clicks the image, it should do some stuff, but when the user clicks (mousedown actually) the VBox it should start dragging. You would expect that when you click the image, both events are fired. This is true when you don&#8217;t invoke the dragmanager. If you call the dragmanager, it cancels out all further mouseEvents, thus preventing the code of the image clickhandler to execute.<span id="more-163"></span></p>
<p>I hear you thinking &#8220;why would you want something like this?&#8221;. Well, I&#8217;m rebuilding the tree component and I need to have a click event on the icon to open a node. Also I need a mousedown event on the node (icon and label) to enable dragging in the tree. When you call the dragmanager, the click event of the icon doesn&#8217;t come through (although sometimes it does&#8230;). I created a small test case, which you can view <a href="http://www.idsklijnsma.nl/mouseeventtest/" title="Mouse Event tester" target="_blank">here</a> (source available). Click on the small icon, it will start dragging it and write to the textarea that the mousedown event is received. Now disable the dragmanager and click again, you&#8217;ll see that now 2 events are captured.</p>
<p>The problem with this issue is that the mousedown event is fired before the click event, so you&#8217;ll never know if the user clicked the icon. Right now, I don&#8217;t really have a solution for this issue, maybe I&#8217;ll end up rewriting the dragmanager so that it won&#8217;t cancel out all events.</p>
<p><strong>Update 03/27/08</strong></p>
<p>I found a work around for this problem. You call the dragmanager at mouseMove, not at mouseDown. If you click now, the click event is fired and the dragmanager is not invoked. But make sure you set a boolean at mouseDown that dragging is allowed and set it to false at mouseUp. Otherwise, flex will allways drag if you move the mouse over the component.</p>
<p>You can see an example <a href="http://www.idsklijnsma.nl/mouseeventsolution/" title="Solution!" target="_blank">here (with source, of course)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/dragmanager-prevents-mouse-events-of-children/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>AMFPHP vs. WeborbPHP</title>
		<link>http://labs.flexperiments.nl/amfphp-vs-weborbphp/</link>
		<comments>http://labs.flexperiments.nl/amfphp-vs-weborbphp/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 14:15:38 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[AMF-PHP]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[remoteobject]]></category>
		<category><![CDATA[remoting]]></category>
		<category><![CDATA[WebOrb]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/amfphp-vs-weborbphp/</guid>
		<description><![CDATA[The other day, we were discussing remoting frameworks and the options you have on a php server. At my work, we use AMFPHP, and never really looked for other solutions. For .NET applications we use WebOrb, so I was wondering how the php version of WebOrb would perform. The results are quite shocking. This information [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, we were discussing remoting frameworks and the options you have on a php server. At my work, we use AMFPHP, and never really looked for other solutions. For .NET applications we use WebOrb, so I was wondering how the php version of WebOrb would perform. The results are quite shocking.<br />
<span id="more-162"></span></p>
<p><strong><span style="color: #ff0000;">This information is outdated, please see <a href="http://blog.idsklijnsma.nl/weborb-closes-the-gap/">WebOrb closes the gap!</a> for updated test results.</span><br />
</strong></p>
<p>First some information:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="184" valign="top"></td>
<td width="197" valign="top">AMF</td>
<td width="205" valign="top">WebOrb</td>
</tr>
<tr>
<td width="184" valign="top">download</td>
<td width="197" valign="top"><a href="http://sourceforge.net/project/showfiles.php?group_id=72483">here</a></td>
<td width="205" valign="top"><a href="http://www.themidnightcoders.net/downloadcenter/">here</a> (registration needed)</td>
</tr>
<tr>
<td width="184" valign="top">license</td>
<td width="197" valign="top">free (?)</td>
<td width="205" valign="top">Mozilla   Public License</td>
</tr>
<tr>
<td width="184" valign="top">version</td>
<td width="197" valign="top">1.9 beta   2</td>
<td width="205" valign="top">2.0.2</td>
</tr>
<tr>
<td width="184" valign="top">size</td>
<td width="197" valign="top">700kb</td>
<td width="205" valign="top">3700kb</td>
</tr>
<tr>
<td width="184" valign="top">supported   php versions</td>
<td width="197" valign="top">php 4,   php 5</td>
<td width="205" valign="top">php 5   (not tested on php 4)</td>
</tr>
<tr>
<td width="184" valign="top">remoting   flavours</td>
<td width="197" valign="top">amf0,   amf3</td>
<td width="205" valign="top">amf0,   afm3</td>
</tr>
<tr>
<td width="184" valign="top">service   browser</td>
<td width="197" valign="top">yes</td>
<td width="205" valign="top">yes</td>
</tr>
<tr>
<td width="184" valign="top">code   generator</td>
<td width="197" valign="top">no</td>
<td width="205" valign="top">yes,   different frameworks</td>
</tr>
</tbody>
</table>
<p>AMFPHP runs out of the box, you don&#8217;t have to change settings in order to get it to run, just move your php classes to the services folder and you&#8217;re good to go. For WebOrb, you need to change the remoting-config.xml and add your gateway variables. Also, if you want to use it in a production environment, you need to clean up that file.</p>
<p>A good thing of WebOrb is the code generator, if you use one of the supported frameworks.</p>
<h2>Enough of this, show me the test!</h2>
<p>I created a small flex sample app and a small php class to test both products. It turns out that, depending on the request size, AMF-PHP is a whopping 4 times faster! When the request becomes larger, the difference is even bigger. (The when you set the for loop in php to 10000, WebOrb will time out, while AMF-PHP happily returns the result.</p>
<p>The source of the flex app is available under the right mouse button, the source of the php looks like this:</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p162code4'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1624"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code" id="p162code4"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #000000; font-weight: bold;">class</span> test <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$lorum</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">function</span> test<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span> <span style="color: #339933;">-&gt;</span> <span style="color: #004000;">lorum</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut id nisl non mi consectetuer rutrum. Phasellus a libero. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent tempus commodo justo. Curabitur vestibulum, tortor eu eleifend feugiat, arcu libero auctor lorem, id varius massa nisl ac sem. Morbi aliquet, purus at ullamcorper porta, sapien purus rhoncus est, nec tincidunt nulla massa non lectus. Phasellus ut elit et augue pellentesque tincidunt. Sed eu purus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla velit nibh, sagittis sed, iaculis vitae, pellentesque et, neque. Praesent vulputate imperdiet orci.&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">function</span> testMethod<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;m/d/Y H:i:s&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">function</span> testLargeMethod<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">5000</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$res</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span> <span style="color: #339933;">-&gt;</span> <span style="color: #004000;">lorum</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$res</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Pretty straight forward, just place it under [amfdir]/services/ and [webOrbdir]/Services/<br />
You can run the test yourself and download the source code <a title="WebOrb vs. AMF-PHP test" href="http://www.idsklijnsma.nl/weborbamftest/" target="_blank">here</a>.</p>
<p>So, concluding, it turns out that when you want remoting on a PHP based server, AMF-PHP is the way to go. It&#8217;s lightweight, fast and free. The only downside could be that the team developing it has been quiet for a while. WebOrb has the better (more professional) console, but that&#8217;s it. It&#8217;s just dead slow! I hope that the .NET, java and ruby versions of WebOrb are faster, because this performance is not acceptable.</p>
<p>If there&#8217;s anyone with suggestions to speed up WebOrb, please let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/amfphp-vs-weborbphp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Flex 3 my ass, it&#039;s like going back to Flex 0.2</title>
		<link>http://labs.flexperiments.nl/flex-3-my-ass-its-like-going-back-to-flex-02/</link>
		<comments>http://labs.flexperiments.nl/flex-3-my-ass-its-like-going-back-to-flex-02/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 22:07:54 +0000</pubDate>
		<dc:creator>Ids Klijnsma</dc:creator>
				<category><![CDATA[Flash / Flex]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flex builder]]></category>

		<guid isPermaLink="false">http://blog.idsklijnsma.nl/flex-3-my-ass-its-like-going-back-to-flex-02/</guid>
		<description><![CDATA[Damn I hate the new flex builder. Flex Builder 2.0 wasn&#8217;t good, but the new Flex Builder is just plain rubbish! I wish adobe didn&#8217;t bought macromedia, I&#8217;m sure MM wouldn&#8217;t release such a crappy product and have the guts to call it a complete new version. FB3 doesn&#8217;t even deserve the name beta, let [...]]]></description>
			<content:encoded><![CDATA[<p>Damn I hate the new flex builder. Flex Builder 2.0 wasn&#8217;t good, but the new Flex Builder is just plain rubbish! I wish adobe didn&#8217;t bought macromedia, I&#8217;m sure MM wouldn&#8217;t release such a crappy product and have the guts to call it a complete new version. FB3 doesn&#8217;t even deserve the name beta, let alone final!</p>
<p><span id="more-160"></span>Let me give you some examples what&#8217;s wrong with FB3:</p>
<p>- First of all: it can&#8217;t run alongside FB2 (at least, the installer tells me to close FB2, so I guess it will remove FB2 before installing FB3), since I need to work on older projects too, I want to keep FB2.</p>
<p>- My mxml view is fucked up, look at this mess:<br />
<img src="http://www.idsklijnsma.nl/images/fb3_1.jpg" title="Fucked up FB" alt="Fucked up FB" height="251" width="332" /> <em><a href="http://www.idsklijnsma.nl/images/fb3_1.jpg" title="FB3 sucks!" target="_blank">enlarge</a></em></p>
<p>Well, that&#8217;s not going to work very nice, does it?</p>
<p>-I like to run my applications using [ctrl] + [enter], just like in flash. So I head up to preferences and click on keys. Look what a beautiful screen it gives me:<br />
<img src="http://www.idsklijnsma.nl/images/fb3_2.jpg" title="Keys fucked up" alt="Keys fucked up" height="218" width="329" /> <em><a href="http://www.idsklijnsma.nl/images/fb3_2.jpg" title="FB3 sucks!" target="_blank">enlarge</a></em><br />
Nice job adobe!</p>
<p>And fourth (and last, I uninstalled FB3):</p>
<p><strong>You cannot import old projects from your hard drive into the new FB3</strong></p>
<p>In FB2 you could do new -&gt; other, in FB3 this gives you an empty screen again. Or you went to import -&gt; existing projects into workspace. In FB3 the import functionality is broken, you cannot import anything.</p>
<p>Adobe please&#8230;. if you want Flex to become a market leader in web apps, &#8216;defeating&#8217; Silverlight and JavaFX, stop making crappy product and give us a decent environment! Honestly, I don&#8217;t see why you would release a product which is even crappier as the old one. Flash / Fireworks CS3 wasn&#8217;t too good either, so the only thing I can say is <strong>congratulations Adobe, you successfully fucked up every product of the macromedia group!</strong></p>
<p>Ow and FYI: I work on Win XP x64, clean install, so don&#8217;t come telling me it&#8217;s some spyware shit or something!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.flexperiments.nl/flex-3-my-ass-its-like-going-back-to-flex-02/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
