<?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>Life Scaling &#187; flash</title>
	<atom:link href="http://orensol.com/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://orensol.com</link>
	<description>Oren Solomianik's Blog</description>
	<lastBuildDate>Mon, 21 Jun 2010 08:10:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flex on Ubuntu: The Complete How To Guide</title>
		<link>http://orensol.com/2009/03/24/flex-on-ubuntu-the-complete-how-to-guide/</link>
		<comments>http://orensol.com/2009/03/24/flex-on-ubuntu-the-complete-how-to-guide/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 10:05:00 +0000</pubDate>
		<dc:creator>Oren</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://orensol.com/?p=142</guid>
		<description><![CDATA[<p></p>
<p>I usually live with the axiom that whatever you can find in the realm of Windows and proprietary software, you can easily find in the realm of Linux (any flavor) and open source. While this is indeed usually the case, when it comes to a Flex IDE for Ubuntu, there&#8217;s a real gap. Adobe has [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-156" src="http://orensol.com/files/2009/03/ubuntu_flex.png" alt="ubuntu_flex" width="262" height="262" /></p>
<p>I usually live with the axiom that whatever you can find in the realm of Windows and proprietary software, you can easily find in the realm of Linux (any flavor) and open source. While this is indeed usually the case, when it comes to a Flex IDE for Ubuntu, there&#8217;s a real gap. Adobe has their Flash IDE for willing and paying Windows users, and I am happy to say that I was one of these happy customers a while ago. But since then, Ubuntu has taken over my life, and when I set out to make a small Flex app a couple of days ago, I came across some hurdles. Not impossible to overcome, but not trivial as well.</p>
<h3>The Options</h3>
<p>There is no one complete solution for developing Flex on Linux. <a href="http://ubuntuforums.org/showthread.php?t=559020" target="_blank">Many</a> <a href="http://ubuntuforums.org/showthread.php?t=457105" target="_blank">folks</a> <a href="http://ubuntuforums.org/showthread.php?t=914117" target="_blank">are looking</a> for one, but there is still none to be found. There are many open source tools that cover vast areas of the ActionScript and SWF world, most of the <a href="http://osflash.org/open_source_flash_projects" target="_blank">listed</a> on the wonderful <a href="http://osflash.org/" target="_blank">osflash.org</a>. Some of them are just right for you if you have a very specific task (like converting between formats, just compiling a bit of code, etc.), but none provide a complete IDE that lets you both drop in WYSIWYG elements and manually code some stuff, while easily maintaining complete control of what libraries are used.</p>
<h3>The Choice</h3>
<p>The choice then is to combine as few tools as possible. I have succeeded to get along with 2 tools: Flex Builder Linux Alpha, and Open Dialect.</p>
<p><a href="http://labs.adobe.com/technologies/flex/flexbuilder_linux/" target="_blank">Flex Builder Linux Alpha</a> is an Adobe free product, which is a Flex build environment as a plugin for Eclipse. Don&#8217;t worry about the Alpha part, it seems like a very stable product, and besides eating up some memory, I had no problems with it. It is actually an exact replica of the Flex Builder for Windows, without the features of Design View, some wizards and the profiler.</p>
<p><a href="http://dialect.openmodeling.net/wiki/OpenDialect" target="_blank">Open Dialect</a> is the most comprehensive attempt i&#8217;ve seen at creating a graphic WYSYWIG IDE for developing Flash. It has some basic characteristics of such an IDE, like a timeline with frames and key frames, and a graphic interface for creating shapes and editing their properties.</p>
<h3>The Method</h3>
<p>The development cycle is quite simple once you have these two tools running. Use Open Dialect for whatever graphic or animation you need, then grab the code from the &#8220;Document Script&#8221; tab, paste it to the Flex Builder in Eclipse, and start tweaking whatever is needed, add the MXML code etc. Open Dialect has great potential if it were to enable manual script editing, but <a href="http://dialect.openmodeling.net/ticket/44" target="_blank">currently it doesn&#8217;t</a>.</p>
<h3>Getting Things To Work</h3>
<p>Requirements and Installation of Flex Builder Linux Alpha are covered on Adobe&#8217;s <a href="http://labs.adobe.com/technologies/flex/flexbuilder_linux/releasenotes.html" target="_blank">release notes</a>. In short, you got to have Eclipse 3.3.x, Sun JRE 1.5.x and Firefox, and just follow the installation instructions there. Be sure to set Eclipse&#8217;s browser to Firefox, as mentioned in the release notes, and there are also a <a href="http://freedomculture.wordpress.com/2007/05/13/adobe-flex-development-on-ubuntu-linux/" target="_blank">couple</a> of <a href="http://www.insideria.com/2008/04/step-by-step-setting-up-flex-b.html" target="_blank">guides</a> to walk you through. Oh, and it&#8217;s <span style="color: #993300"><strong>very important</strong></span> to follow <a href="http://rachaelandtom.info/content/how-make-your-eclipse-plugin-list-survive-eclipse-upgrade" target="_blank">these instructions</a> in order for your existing Eclipse plugins to survive the install. I installed the builder and lost my subclipse and collabnet merge plugin, and had to reinstall them.</p>
<p>Open Dialect uses the .NET framework, so you need <a href="http://mono-project.com/Main_Page" target="_blank">Mono</a> to run it. According to the <a href="http://dialect.openmodeling.net/wiki/Installation" target="_blank">installation instruction</a>, you can either download pre-compiled binaries of Open Dialect, or download the source and compile, but then you need MonoDevelop as well. In my case, using apt-get install mono was enough, and Open Dialect ran like a charm.</p>
<h3>Tweaking and Real Life Example</h3>
<p>Let&#8217;s go through an example of how to make a rounded rectangle that gets its color through a FlashVar.</p>
<p>In Open Dialect:</p>
<ol>
<li>Fire up Open Dialect.</li>
<li>Choose Rounded Rectangle from the Shapes list on the Items pane.</li>
<li>Draw a rounded rectangle on the canvas.</li>
<li>Set its X and Y to 0.</li>
<li>Go to the Document Script tab, select all the code and copy.<img class="alignnone size-full wp-image-153" src="http://orensol.com/files/2009/03/screenshot-open-dialect.png" alt="screenshot-open-dialect" width="500" height="371" /></li>
</ol>
<p>In Eclipse:</p>
<ol>
<li>Fire up Eclipse, create a new Flex Project, name it &#8220;Test&#8221;, and go through the creation wizard (next, next, finish).</li>
<li>You are now editing Test.mxml which is a skeleton Flex app file. Paste everything you copied from Open Dialect into Test.mxml, instead of its current content.</li>
<li>Save.</li>
<li>Hey, we&#8217;ve got errors! That&#8217;s right, BListBox type is not defined. It&#8217;s because the script uses the &#8220;ActionScriptComponents&#8221; library that comes with Open Dialect, in which BListBox is declared, but we haven&#8217;t imported it yet, let&#8217;s do it.</li>
<li>Copy the directory /path/to/opendialect/ActionScriptComponents to /path/to/workspace/Test/src/</li>
<li>Run again.</li>
<li>Viola! Rounded rectangle showing up!</li>
</ol>
<p>Now that we&#8217;ve covered the basics, let&#8217;s see how to pass FlashVars to our app. In order to do so, we need to understand what the Flex Builder environment does in build time &#8212; besides compiling the SWF, it also takes the file called index.template.html found in the html-template directory, and compiles it to a file called Test.html in the bin-debug directory, then fires this file in Firefox. So to pass FlashVars and process them in the script:</p>
<ol>
<li>Open index.template.html</li>
<li>Scroll down to the javascript part under &#8220;hasRequestedVersion&#8221;, this is the part that runs the swf on our page (assuming we have javascript enabled and the correct version of the flash player).</li>
<li>Under

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #ff0000;">&quot;src&quot;</span>, <span style="color: #ff0000;">&quot;${swf}&quot;</span>,</pre></div></div>

<p>add</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #ff0000;">&quot;FlashVars&quot;</span>, <span style="color: #ff0000;">&quot;color=0x000000&quot;</span>,</pre></div></div>

</li>
<li>Run once to see everything is working, and that we did not screw up the html template.</li>
<li>Add the following variable declaration where all other variable declarations are:

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> rectColor:<span style="color: #0066CC;">Number</span>;</pre></div></div>

</li>
<li>In init(), add the following line at the top of the function:

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">rectColor = Application.<span style="color: #006600;">application</span>.<span style="color: #006600;">parameters</span>.<span style="color: #0066CC;">color</span>;</pre></div></div>

</li>
<li>In the next line, where the shape properties are defined, change the last 2 colors (which in my case were 0&#215;000000,0xFF0000) to rectColor,rectColor:

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">RRect1A.<span style="color: #006600;">Properties</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #000000; font-weight: bold;">new</span> ShapeProperties<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">120</span>,<span style="color: #cc66cc;">172</span>,<span style="color: #ff0000;">&quot;BRoundedRectangle&quot;</span>,<span style="color: #cc66cc;">1</span>,rectColor,rectColor<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

</li>
<li>Run again, see the rectangle is now black!</li>
</ol>
<h3>Conclusion</h3>
<p>The field of Flex development on Linux is of course bound to change as time goes by, but for now it seems like it is still in its early unstable days. This was a brief demonstration of how to harness the IDE power of Open Dialect, and the development and build power of Adobe&#8217;s Flex Builder Linux Alpha, to create a working environment for developing Flex apps on Linux. It is by no means the simplest solution &#8212; my guess is that running Flex Builder on a Windows VMware could be easier, albeit costly &#8212; but this solution that I presented is of course free and conforms to the open source spirit. And, most importantly, can get you developing flex apps quickly and easily.</p>
<p>Have fun flexing!</p>
<h4>A Couple of Sidenotes</h4>
<ul>
<li>You don&#8217;t have to use the ActionScriptComponents library that comes with Open Dialect if you don&#8217;t intend to use tweening or frame events. You can use the regular mx.controls classes for just plain drawing.</li>
<li>Flex applications tend to be big because the whole framework is included in the build. You can use RSL loading to cache the framework on the client side, or you can make a plain ActionScript Project instead of a Flex Project, still use mxml and just import the needed flash.* libraries. Both of these subjects are out of the scope of this post.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://orensol.com/2009/03/24/flex-on-ubuntu-the-complete-how-to-guide/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Widgetbox Missing Out: Blidgets Should Be Aimed At Developers, Not Users</title>
		<link>http://orensol.com/2009/03/05/widgetbox-missing-out-blidgets-should-be-aimed-at-developers-not-users/</link>
		<comments>http://orensol.com/2009/03/05/widgetbox-missing-out-blidgets-should-be-aimed-at-developers-not-users/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 16:37:58 +0000</pubDate>
		<dc:creator>Oren</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[blidget]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[myspace]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[virtality]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[widgetbox]]></category>

		<guid isPermaLink="false">http://orensol.com/?p=136</guid>
		<description><![CDATA[<p><a href="http://www.widgetbox.com" target="_blank">Widgetbox</a> is an amazing service with a great promise: You might have content that can be widgetized and distributed, but there are numerous formats your widget can be in, and tons of services which it can be distributed on. Widgetbox is a centralized place to handle all that is widget, and it connects [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.widgetbox.com" target="_blank">Widgetbox</a> is an amazing service with a great promise: You might have content that can be widgetized and distributed, but there are numerous formats your widget can be in, and tons of services which it can be distributed on. Widgetbox is a centralized place to handle all that is widget, and it connects your content with several distribution methods (to all major blogging platforms, to social networks like MySpace, Facebook and Bebo, and to personalized homepages like iGoogle and Netvibes, and the list goes on). On top of that, it also helps your content get viral distribution.</p>
<p>Sounds like widget heaven, however in reality it is far from perfect. As it seems from toying around with Widgetbox, their delivery is below their promise &#8212; sometimes because of limitations imposed on them by 3rd parties, but sometimes because of what seems like misunderstanding of developer&#8217;s needs (or at least my needs <img src='http://orensol.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p>I set out to turn some RSS feeds, or some other API-available content, to be widgetized and distributed on social networks. I encountered two major issues that prevented me from succeeding.</p>
<p>The first issue is their support for distribution over MySpace and Facebook, or lack thereof. Widgets can be distributed on MySpace or Facebook <a href="http://docs.widgetbox.com/developers/guide/where-widgets-work/" target="_blank">only if they are flash widgets</a>. If distributed on MySpace, outgoing links don&#8217;t work, and Widgetbox use some sort of <a href="http://docs.widgetbox.com/developers/guide/flash/#flash-linking" target="_blank">weird workaround</a> that makes the user copy and paste the link in a different browser tab (will you ever do it if a widget asks you to?). Moreover, it seems that there was an option to turn your widget to a Facebook App, but it has <a href="http://getsatisfaction.com/widgetbox/topics/why_is_the_facebook_app_creation_currently_disabled" target="_blank">been down for the last 6 months</a>.</p>
<p>The second issue is more important in my opinion, because it is entirely up to them and not imposed on them due to restrictions made by 3rd parties, and it reflects a flaw in their business perception. They have a great tool which is called a <a href="http://docs.widgetbox.com/developers/blidget/" target="_blank">Blidget</a> &#8212; a widget that takes an RSS feed and turns it into a slick flash widget showing the recent items in the feed. The main problem with it, is that it is aimed towards end users, and not towards developers. Say I have a web service with hundreds of thousands of users, each of them having his own RSS feed, and I want to enable them to get my branded widget with their feed in it with a click of a button &#8212; I can&#8217;t make use of Blidgets. Blidgets require <strong>the user</strong> to prepare them and brand them, there is no API for that which developers can use, nor is there anyway that I can prepare a branded Blidget, and pass the feed URL as a parameter, because a <a href="http://getsatisfaction.com/widgetbox/topics/can_i_brand_the_blidget_for_our_clients" target="_blank">Blidget is made on a per-feed basis</a>.</p>
<p>I consulted their support, that&#8217;s what they had to say:</p>
<blockquote><p>It seems all you would have to do is get the RSS feed from them and make the widget yourself. You can put any brand or logo on the widget.</p></blockquote>
<p>And when I said that I am looking for a scalable solution, not something that I have to manually do myself:</p>
<blockquote><p>One link is not possible. You can have a link to Widgetbox.com on your site. Then you can list there RSS feed for them to copy and paste into widgetbox to create there blidget.</p></blockquote>
<p>Which is unacceptable as well, since if they create the blidget, it&#8217;s not branded as I want it.</p>
<p>I think that Widgetbox is missing out here big time, at least in the Blidget case. Instead of leveraging the communities of existing web services and the innovation of developers (they try to do it with their other widget formats, I don&#8217;t understand why that&#8217;s not the case with Blidgets), they are turning to end users in search of virality. I believe that turning to developers and enabling them to use Blidgets, will increase the use cases and the virality of Blidgets. After all, getting a million users is harder than getting 10 developers, each with a tenth of a million users on his web service.</p>
]]></content:encoded>
			<wfw:commentRss>http://orensol.com/2009/03/05/widgetbox-missing-out-blidgets-should-be-aimed-at-developers-not-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->