<?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>GUYA.NET &#187; Flash General</title>
	<atom:link href="http://blog.guya.net/category/flash-general/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.guya.net</link>
	<description>Flash and Everything Else</description>
	<lastBuildDate>Tue, 29 Nov 2011 15:42:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Adobe Flash &#8211; Brave Fold</title>
		<link>http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adobe-flash-brave-fold</link>
		<comments>http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 15:38:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/</guid>
		<description><![CDATA[In poker, a brave fold would be a case where you have a strong hand and you are already committed to the pot (you’ve already put in some substantial amount of money), even so, you sense that your opponent might &#8230; <a href="http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In poker, a brave fold would be a case where you have a strong hand and you are already committed to the pot (you’ve already put in some substantial amount of money), even so, you sense that your opponent might have a stronger hand and you fold – losing your strong hand and the pot. Staying in the game would have required you to danger even more money, maybe too much.</p>
<p>Adobe was in similar situation, it has a very strong hand – Adobe Flash, and has already committed a lot of money on this loss leader. But staying in the game would have required them to put even much more money/resources on it. They would have to be fully committed, they would have to be “all-in”, borrowing from poker again. They could have end up winning the hand but if they will lose they can be out of the game completely.</p>
<p>We should have all known that the iOS will never run Flash. It’s almost like Steve Jobs last words were “exterminate the Flash” – similar to the hate <a title="Wikipedia - Genghis Khan" href="http://en.wikipedia.org/wiki/Genghis_Khan" target="_blank">Genghis Khan</a> had for the Tatars when he ordered&#160; “<a href="http://en.wikipedia.org/wiki/List_of_genocides#Before_1490" target="_blank">the extermination of the Tata Mongols</a>”</p>
<p>In retrospect, seems like wasting all that resources on porting Flash for the mobile was good only for Adobe and us in the Flash crowed to be able to give Steve and the other mongers the finger, telling them – see, Flash runs well on the mobile! It was supposed to be obvious that Flash will never rich similar ubiquity on the mobile as on the desktop. Than again, everything is easier in retrospect.</p>
<p>There are many reasons why Flash succeeded where 1,000 other plugins failed. And it’s also amazing how a relatively small corporate like Adobe managed to be in front of much bigger competitors, Microsoft with it’s buckets of money and Sun with it’s Java Java Proxy Proxy, to name only two. </p>
<p>I’m just sick of layman&#8217;s that are quoting laymen’s that are quoting a reporter that quotes another reporter that quote “someone who knows” that quote anther one that “really knows” &#8211; it’s like that game, what’s is name?! The other day I’ve heard from someone who should have known better that &#8211; “lake of multithreading killed Flash” – you’ve probably heard that BS before, yep it’s total BS. Add that to the many other miss-consumptions people make regarding this issue and it piles to a big pile of sh&lt;bip&gt;it. I wonder how many of these laymen’s knows the hassle of cross browser HTML development?!</p>
<p>So, congrats on the brave fold Adobe, with the right hand I solute you. On the other hand I give you the finger – f*ck you big proprietary beast, how dare you stab so many people in the back.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Debugging Flash Player on Google Chrome</title>
		<link>http://blog.guya.net/2010/10/09/debugging-flash-player-on-google-chrome/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=debugging-flash-player-on-google-chrome</link>
		<comments>http://blog.guya.net/2010/10/09/debugging-flash-player-on-google-chrome/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 02:18:21 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Google Chrome]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2010/10/09/debugging-flash-player-on-google-chrome/</guid>
		<description><![CDATA[Just a quick tip in case you missed it. I’ve written previously on how to better develop Flash and Flex on Google Chrome. But, since Chrome is now auto updating the Flash Player with the latest release version, it ignores &#8230; <a href="http://blog.guya.net/2010/10/09/debugging-flash-player-on-google-chrome/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just a quick tip in case you <a title="Enabling Adobe Flash Player support in Google Chrome’s stable channel" href="http://blog.chromium.org/2010/06/enabling-adobe-flash-player-support-in.html" target="_blank">missed it</a>. I’ve written previously on how to <a title="Developing Flash/Flex on Google Chrome" href="http://blog.guya.net/2009/10/12/developing-flashflex-on-google-chrome/" target="_blank">better develop Flash and Flex on Google Chrome</a>. But, since Chrome is now auto updating the Flash Player with the latest release version, it ignores other players, debug player included.</p>
<p>In order to be able to run the <a title="Download the Flash Player Plugin content debugger" href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank">Flash Player Debugger</a> with Chrome:</p>
<ol>
<li>Go to <strong>about:plugins </strong>(past it in the address bar)</li>
<li>Click on “<strong>Details</strong>” to see the full view (top-right)</li>
<li>Search for this <strong>gcswf32.dll</strong> and click the “<strong>Disable</strong>” link just below it (be sure to click the first “Disable”)</li>
<li>Install the Netscape-compatible plug-in from <a href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank">here</a>.</li>
</ol>
<p>Next time you will start Chrome it will use this debug player.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2010/10/09/debugging-flash-player-on-google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exotic Flash Builder 4 Tips and Tricks</title>
		<link>http://blog.guya.net/2010/10/03/exotic-flash-builder-4-tips-and-tricks/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exotic-flash-builder-4-tips-and-tricks</link>
		<comments>http://blog.guya.net/2010/10/03/exotic-flash-builder-4-tips-and-tricks/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 13:47:54 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Flex 3]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2010/10/03/exotic-flash-builder-4-tips-and-tricks/</guid>
		<description><![CDATA[The Flash Builder is built on Eclipse, you know, hence many of Eclipse stuff will naturally comply, also, these tips will mostly work the same in Flex Builder 3 and Eclipse. -&#62; Browse to any file or directory It’s essential &#8230; <a href="http://blog.guya.net/2010/10/03/exotic-flash-builder-4-tips-and-tricks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Flash Builder is built on Eclipse, you know, hence many of Eclipse stuff will naturally comply, also, these tips will mostly work the same in Flex Builder 3 and Eclipse.</p>
<p><strong><font size="3">-&gt; Browse to any file or directory</font></strong></p>
<p>It’s essential to be able to easily browse to the resource you’re currently looking at. There should have been a built in way to do this.</p>
<p>1. Click on, <strong>Run</strong> –&gt; <strong>External Tools</strong> -&gt; <strong>External Tools Configuration</strong> (Alternatively, click on the Favorites icon and select &quot;External Tools Configuration&quot;)</p>
<p><a href="http://blog.guya.net/wp-content/uploads/2010/10/image.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb.png" width="266" height="137" /></a> </p>
<p>2. Inside the &quot;External Tools Dialog&quot; -&gt; Select &quot;<strong>Program</strong>&quot; -&gt; click on the &quot;<strong>New Launch Configuration</strong>&quot; icon. </p>
<p><a href="http://blog.guya.net/wp-content/uploads/2010/10/image1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb1.png" width="294" height="193" /></a> </p>
<p>3. Inside the &quot;Main&quot; tab (Default) set: </p>
<ul>
<li><strong>Name</strong>: Explorer </li>
<li><strong>Location</strong>: c:windowsexplorer.exe </li>
<li><strong>Working Directory</strong>: c:windows </li>
<li><strong>Arguments</strong>: /select,&quot;${resource_loc}&quot; </li>
</ul>
<p><a href="http://blog.guya.net/wp-content/uploads/2010/10/image2.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb2.png" width="429" height="302" /></a> </p>
<p>4. Go to the &quot;Build&quot; tab and <u>uncheck</u> &quot;<strong>Build before launch</strong>&quot; </p>
<p><a href="http://blog.guya.net/wp-content/uploads/2010/10/image3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb3.png" width="261" height="67" /></a></p>
<p>5. Go to the &quot;Common&quot; tab, look for &quot;Display in favorites menu&quot; and check &quot;<strong>External Tools</strong>&quot; </p>
<p align="center"><a href="http://blog.guya.net/wp-content/uploads/2010/10/image4.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb4.png" width="372" height="192" /></a> </p>
<p>You can now select any file or directory from the “Package Explorer” and browse straight to it’s location in windows explorer.</p>
<p><a href="http://blog.guya.net/wp-content/uploads/2010/10/image5.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb5.png" width="138" height="59" /></a> </p>
<p><strong><font size="3">-&gt; Extending with batch files – kill all IE processes</font></strong></p>
<p>Flash Builder 4 can be extended using batch files (Shell Scripts on the Mac). This example uses a batch file to kill all opened IE processes before launching a new debug session.</p>
<p>There are a few reasons to debug a Flex app in IE. Firstly, some users still use it, and secondly I don’t want the precious tabs that are opened on my other useful browsers to be bothered. Occasionally, IE processes are left running in the background even though debug session was ended. Sometimes I simply didn’t closed the browser before running a new session. Both of these cases lead to the consuming of needed memory and slows down the system.</p>
<p>A batch file is merely a text file with a <strong>.bat</strong> extension.</p>
<ol>
<li>Create a new text file. </li>
<li>
<div align="justify">Edit this file with any text editor –&gt; Copy paste this line into it: <strong>taskkill /F /IM &quot;iexplore.exe&quot;</strong>&#160; -&gt; Save this file as <strong>kill_iexplore.bat</strong> (Double clicking on this file will kill all IE processes)</div>
</li>
<li>Click on, <strong>Run</strong> –&gt; <strong>External Tools</strong> -&gt; <strong>External Tools Configuration</strong> </li>
<li>Inside the &quot;External Tools Dialog&quot; -&gt; Select &quot;<strong>Program</strong>&quot; -&gt; click on the &quot;<strong>New Launch Configuration</strong>&quot; icon. </li>
<li>Inside the &quot;Main&quot; tab (Default) set:      <br /><strong>Name</strong>: Kill Internet Explorer       <br /><strong>Location</strong>: c:kill_iexplore.bat       <br />(depending on were the file is saved)
<ul></ul>
</li>
<li>Go to the &quot;Build&quot; tab and <u>uncheck</u> &quot;<strong>Build before launch</strong>&quot; </li>
<li>Go to the &quot;Common&quot; tab, look for &quot;Display in favorites menu&quot; and check &quot;<strong>External Tools</strong>&quot; </li>
</ol>
<p>&#8211; In Order to kill all IE processes before launching a new debug session </p>
<ol>
<li>Right-Click on the flex project –&gt; Select “<strong>Properties</strong>” </li>
<li>In the properties dialog select “<strong>Builders</strong>” –&gt; Click on “<strong>Import</strong>” and select “<strong>Kill Internet Explorer”</strong> from the list. </li>
</ol>
<p> <a href="http://blog.guya.net/wp-content/uploads/2010/10/image6.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb6.png" width="346" height="124" /></a>
<p><strong><font size="3">-&gt; Link with Editor</font></strong></p>
<p>This one is very helpful but easily overlooked, it’ll make the Package Explorer and the editor view synchronized.</p>
<p>Click on this icon to make your life better.</p>
<p><a href="http://blog.guya.net/wp-content/uploads/2010/10/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.guya.net/wp-content/uploads/2010/10/image_thumb7.png" width="135" height="65" /></a> </p>
<p><strong><font size="3">-&gt; Some Important shortcuts</font></strong> (For Mac CTRL == CMD, ALT == Option)</p>
<table border="1" cellspacing="0" cellpadding="2" width="450">
<tbody>
<tr>
<td valign="top" width="157"><strong>Ctrl+Shift+T</strong></td>
<td valign="top" width="293">Find any class SDK included</td>
</tr>
<tr>
<td valign="top" width="157"><strong><strong>Ctrl+Shift</strong>+R</strong></td>
<td valign="top" width="293">Find any resource/file (wont find SDK classes)</td>
</tr>
<tr>
<td valign="top" width="157"><strong><strong><strong>Ctrl</strong></strong>+3</strong></td>
<td valign="top" width="293">Finds everything, literally everything &#8211; files, commands, views (<strong><u>Amazing, try it, use it</u></strong>)</td>
</tr>
<tr>
<td valign="top" width="157"><strong><strong><strong>Ctrl</strong></strong>+Alt+Up/Down</strong></td>
<td valign="top" width="293">Duplicate a line or a block of code</td>
</tr>
<tr>
<td valign="top" width="157"><strong>Alt+Up/Down</strong></td>
<td valign="top" width="293">Reorder a line or a block of code</td>
</tr>
<tr>
<td valign="top" width="157"><strong><strong><strong>Ctrl</strong></strong>+D</strong></td>
<td valign="top" width="293">Delete a line or a block of code</td>
</tr>
<tr>
<td valign="top" width="157"><strong><strong><strong>Ctrl</strong></strong>+<strong><strong>Shift</strong></strong>+L+L</strong></td>
<td valign="top" width="293">Open Configuration</td>
</tr>
<tr>
<td valign="top" width="157"><strong>Ctrl+K</strong></td>
<td valign="top" width="293">Find next (like F3)</td>
</tr>
</tbody>
</table>
<p><strong>Less important shortcuts</strong></p>
<table border="1" cellspacing="0" cellpadding="2" width="450">
<tbody>
<tr>
<td valign="top" width="160"><strong>Ctrl+O</strong></td>
<td valign="top" width="290">Current class outline</td>
</tr>
<tr>
<td valign="top" width="160"><strong><strong><strong>Ctrl</strong></strong>+<strong><strong>Shift</strong></strong>+G</strong></td>
<td valign="top" width="290">Finds all references in the workspace</td>
</tr>
<tr>
<td valign="top" width="160"><strong><strong><strong>Ctrl</strong></strong>+<strong><strong>Shift</strong></strong>+L</strong></td>
<td valign="top" width="290">Shows all shortcuts (key binding)</td>
</tr>
<tr>
<td valign="top" width="160"><strong><strong><strong>Ctrl</strong></strong>+M</strong></td>
<td valign="top" width="290">Maximize the selected view</td>
</tr>
<tr>
<td valign="top" width="160"><strong><strong><strong>Ctrl</strong></strong>+J</strong></td>
<td valign="top" width="290">Quick Search without the search dialog (click ESC when done)</td>
</tr>
<tr>
<td valign="top" width="160"><strong><strong><strong>Ctrl</strong></strong>+<strong><strong>Shift</strong></strong>+X</strong></td>
<td valign="top" width="290">To upper case</td>
</tr>
<tr>
<td valign="top" width="160"><strong><strong><strong>Ctrl</strong></strong>+<strong><strong>Shift</strong></strong>+Y</strong></td>
<td valign="top" width="290">To lower case</td>
</tr>
<tr>
<td valign="top" width="160"><strong><strong><strong>Ctrl</strong></strong>+I</strong></td>
<td valign="top" width="290">Auto indent selected code</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>P.S. Why exotic?! It made you look didn’t it. And beside, it is somewhat exotic.</p>
<p>P.S.S. At first I thought about writing a short post with only the first tip, but, thinking about it, I think I’ll make this an ever updating page. So if you have any other tip you like to share please write about it in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2010/10/03/exotic-flash-builder-4-tips-and-tricks/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Flash Player 10.1 Global Error Handling Examples and the Flex 3.x Issue</title>
		<link>http://blog.guya.net/2010/09/13/flash-player-10-1-global-error-handling-examples-and-the-flex-3-x-issue/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flash-player-10-1-global-error-handling-examples-and-the-flex-3-x-issue</link>
		<comments>http://blog.guya.net/2010/09/13/flash-player-10-1-global-error-handling-examples-and-the-flex-3-x-issue/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 09:29:47 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flash General]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2010/09/13/flash-player-10-1-global-error-handling-examples-and-the-flex-3-x-issue/</guid>
		<description><![CDATA[We all welcomed this addition to the Flash Player 10.1. The ability to catch all exceptions inside the player has lots of benefits, from proper logging on to not annoying users that has the debug player. There are some code &#8230; <a href="http://blog.guya.net/2010/09/13/flash-player-10-1-global-error-handling-examples-and-the-flex-3-x-issue/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We all welcomed this addition to the Flash Player 10.1. The ability to catch all exceptions inside the player has lots of benefits, from proper logging on to not annoying users that has the debug player.</p>
<p>There are some code examples of how to implement this feature, and indeed it was a breeze adding it for pure Flash and to Flex 4.x projects. But, somehow I had trouble making it work for Flex 3.x project. I know it’s a player dependent but still something in the Flex 3.x framework killed this functionality.</p>
<p>Anyhow, eventually it did worked for me on the Flex 3.x, but I couldn’t make it to work when even 1 of the libraries, except playerglobal.swc, <strong>is</strong> <strong>external or RSL</strong>. I guess there is no escape from monkeying with the RSL loader to see if I can find a solution there.</p>
<p>I’ve mad these examples available, in case you need a complete example and/or also struggling with this feature on Flex 3.x. Also, in these examples I didn’t force the user to update the Flash Player and used a compiler argument -target-player=10.1.0 instead of modifying the html wrapper.</p>
<p>All examples are <a title="Flash Player 10.1 Global Error Handling (GEH) Examples" href="http://guya.net/blogstuff/geh/" target="_blank">viewable here</a>, you can right-click on “View Source” or download the complete Flash Builder 4 projects (for Flex Builder 3 project, look at the comments).</p>
<p><a title="GEH Pure Flash Project" href="http://guya.net/blogstuff/geh/projects/GlobalErrFlash.zip" target="_blank">GEH Pure Flash</a></p>
<p><a title="GEH Flex 4.1 Project" href="http://guya.net/blogstuff/geh/projects/GlobalErrFlex4.fxp" target="_blank">GEH Flex 4.1</a></p>
<p><a title="GEH Flex 3.5 Project" href="http://guya.net/blogstuff/geh/projects/GolbalErrFlex3_5.fxp" target="_blank">GEH Flex 3.5</a></p>
<p>Note: No need for the FP 10.1 playerglobal.swc to be inside <em>C:Program FilesAdobeAdobe Flash Builder 4sdks4.1.0frameworkslibsplayer10.1 </em>I’ve put it inside the libs folder.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2010/09/13/flash-player-10-1-global-error-handling-examples-and-the-flex-3-x-issue/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Flash Private Browsing Fixed &#8211; Not Good Enough</title>
		<link>http://blog.guya.net/2010/05/06/flash-private-browsing-fixed-not-good-enough/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flash-private-browsing-fixed-not-good-enough</link>
		<comments>http://blog.guya.net/2010/05/06/flash-private-browsing-fixed-not-good-enough/#comments</comments>
		<pubDate>Thu, 06 May 2010 11:01:13 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Flash Security]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[Safeloper]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=285</guid>
		<description><![CDATA[I was going to congrat Adobe for their fix to the private browsing in Flash, this was my original text: I’m glad to say that Adobe has fixed the minor issue they had with the new Flash Player 10.1 private &#8230; <a href="http://blog.guya.net/2010/05/06/flash-private-browsing-fixed-not-good-enough/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was going to congrat Adobe for their fix to the private browsing in Flash, this was my original text:</p>
<blockquote><p>I’m glad to say that Adobe has fixed the minor issue they had with the new Flash Player 10.1 private browsing. I’ve written before on how a developer can <a title="Kiss And Tell What Is The User Browsing Mode" href="http://blog.guya.net/2010/01/25/kiss-and-tell-what-is-the-user-browsing-mode/" target="_blank">tell the user’s browsing mode</a>.</p>
<p>The Flash Player that is installed with CS5 is 10.1.52.14 which still suffer from this bug. If you surf the web using private browsing mode you should <a title="Flash Player 10 Prereleases" href="http://labs.adobe.com/downloads/flashplayer10.html" target="_blank">update the Flash Player</a> to the latest, currently, 10.1.53.38 (RC4). Actually you should update it anyway.</p></blockquote>
<p>But, when I went to see what have they changed in order to fix it. I saw that both modes, now, have the same limit of 100KB, but it’s still differ. While trying to save more than 100KB in normal browsing mode the status is “pending” while in private browsing mode it immediately fails.</p>
<p>Making this demo functional again required changing 1 line of code. Using any Flash Player, from 10.1_beta2 till latest 10.1.53.38(RC4) should show you if you’re in private mode or not.</p>
<p>[kml_flashembed movie="http://blog.guya.net/wp-content/uploads/2010/05/KissAndTell.swf" width="400" height="35" /]</p>
<p>So, please, again, normal and private browsing modes should behave exactly the same from a developer standpoint. Making local storage limit the same 100KB was a step in the right direction, but, it’s not enough. Let any Flash content ask for more storage even if it’s in private mode and allow the user to accept it, just remember to delete the user’s choice along with the local storage.</p>
<p>BTW, it might be possible to trick the browsers to tell you the user’s browsing mode, using HTML5 localStorage for example, and without using Flash.</p>
<p>The updated source code is below:</p>
<pre lang="Actionscript">package {
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.NetStatusEvent;
	import flash.net.SharedObject;
	import flash.net.SharedObjectFlushStatus;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import flash.utils.getTimer;
	import flash.utils.setTimeout;

	/**
	 * This class will tell the current browsing mode of the user
	 * Tested with Flash Player 10.1 beta 2 - 10.1.53.38 (RC4)
	 * for more info go to:
	 * http://blog.guya.net
	 */

	[SWF(backgroundColor="#FFFFFF", width="400", height="35")]
	public class KissAndTell extends Sprite
	{
		private var _tf:TextField;

		public function KissAndTell()
		{
			initStage();
			createTF();
			setTimeout(saveData, 300);
		}

		private function initStage():void
		{
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
		}

		//try to save 140kb into the local storage
		private function saveData():void
		{
			var kissSO:SharedObject = SharedObject.getLocal("kissAndTell");
			kissSO.data.value = getDataString(140);

			var status:String;

			try
			{
				status = kissSO.flush();
				kissSO.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
			}
			catch(ex:Error)
			{
				trace("Save failed - private browsing mode");
				setPrivateText();
			}

			if(status &amp;&amp; status == SharedObjectFlushStatus.PENDING)
			{
				trace("Pending status - normal browsing mode");
			}

			/***  Changed in the newer versions of the Flash Player 10.1 beta ***/
			//If we can save more than 100kb then we're in Private Mode
			else if(status &amp;&amp; status == SharedObjectFlushStatus.FLUSHED)
			{
				setPrivateText();
            }
		}

		//Listening to this event just to prevent exception on debug players
		private function netStatusHandler(event:NetStatusEvent):void
		{
			trace("event.info.code: " + event.info.code);
		}

		private function setPrivateText():void
		{
			_tf.text = "Private Browsing Mode";
			_tf.backgroundColor = 0xAA2222;
		}

		private function createTF():void
		{
			_tf = new TextField();
			_tf.autoSize = TextFieldAutoSize.LEFT;
			_tf.defaultTextFormat = new TextFormat("Arial, Verdana", 20, 0xFFFFFF, true, null, null, null, null, null, 10, 10);
			_tf.text = "Normal Browsing Mode"
			_tf.backgroundColor = 0x22AA22;
			_tf.background = true;
			addChild(_tf);
		}

		private function getDataString(kb:int):String
		{
			var t:int = getTimer();
			var word:String = "GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_";
			var count:int;
			var a:Array = new Array();
			var lenNeeded:int = kb * 1024;
			while(count * word.length &lt; lenNeeded)
			{
				a.push(word);
				count++;
			}

			var ret:String = a.join("");
			trace("time for generating " + kb + "kb: " + String(getTimer() - t) + " ml");
			return ret;
		}

	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2010/05/06/flash-private-browsing-fixed-not-good-enough/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash vs HTML5 vs Adobe vs Apple</title>
		<link>http://blog.guya.net/2010/02/10/flash-vs-html5-vs-adobe-vs-apple/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flash-vs-html5-vs-adobe-vs-apple</link>
		<comments>http://blog.guya.net/2010/02/10/flash-vs-html5-vs-adobe-vs-apple/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 16:38:39 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2010/02/10/flash-vs-html5-vs-adobe-vs-apple/</guid>
		<description><![CDATA[Disclaimer: I’ve written this post a few days weeks ago when I was a bit pissed, so it has some ranting-ness in it. I do have a soft side for Flash, but, as I said before &#8211; technologies never cry, &#8230; <a href="http://blog.guya.net/2010/02/10/flash-vs-html5-vs-adobe-vs-apple/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Disclaimer</strong>: I’ve written this post a few <span style="text-decoration: line-through;">days</span> weeks ago when I was a bit pissed, so it has some ranting-ness in it. I do have a soft side for Flash, but, as I said before &#8211; <a title="Technologies never cry" href="http://blog.guya.net/2008/02/24/technologies-never-cry/" target="_blank">technologies never cry</a>, and I will use whatever is the best for the job.</p>
<p>The last buzz about “Flash is dead” really came out of proposition. All of these blind followers, blood-thirsty, warmongers that never seen an HTML tag or know what each these technologies can do, worshiping their new king HTML5, and are just shouting “we conquer video”, “kill kill”…</p>
<p>The fact that the colorful-kindle /slash/ enlarged-and-disabled-iPhone doesn’t have Flash, is important, but the reactions are completely exaggerated. I think Adobe should have stayed nonchalant about it which could might have lowered the flames. Anyhow, it’s easier to say in retrospect.</p>
<p><strong>(Flash) Power to the people:</strong></p>
<p>If you look at the short history. Flash enabled utterly amazing things on the web in times when static-ness and ugliness ruled. The problem is that it was too easy to create. All of a sudden un-capable people could have created “amazing” things. The fact that Flash could be abused so easily is part of what make some people hate it.</p>
<p>You can expect for HTML5 to be abused if it’ll be as accessible as Flash. That means, if tools like the Flash IDE and others will enable publishing to HTML5. Than again you can expect it to abuse either way.</p>
<p><strong>RT</strong> <a href="http://twitter.com/iainlobb/status/8501340167" target="_blank">@iainlobb</a> <em>“Flash developers of the world: unite and make terrible HTML5 banner ads that grind CPUs and crash, just to show that the grass isn&#8217;t greener”</em></p>
<p>The fact that things can be done differently doesn’t necessary mean it will. Most of what Flash can do, can be done long ago using Javascript and HTML (old buzzwords omitted). Actually Flash and Javascript developers can relatively easy switch, since the languages were almost the same on the older versions of Actionscript. Even the glitches were copied from JS. And anyway the main thing that matter is thinking interactively, like a Flasher do. With HTML5, the capabilities of the two technologies are even closer. But, the challenges of developing complex Javascript application are sill far greater, It’s still  the same old language, more error prone and more difficult to architect. I don’t see how an online game developer, for example, will want to develop her games using HTML5. In fact I’ve yet seen a decent, non experimental, online game written in Javascript.</p>
<p>To think that all of a sudden Flash will disappear, is nonsense.</p>
<p><strong>RT</strong> @<a href="http://twitter.com/leebrimelow/statuses/8447066775">leebrimelow</a> <em>“You all better head immediately over to the FWA and check out your favorite Flash work. It may all be converted to HTML 5 by the morning.”</em></p>
<p>Even if we declare Flash as dead today, it’ll be a very lengthy process measured in years at best. And since, yet again, Flash isn’t dead yet. It has all this time to reinvent itself, Adobe should use this time wisely.</p>
<p>If you tell me you don&#8217;t use Flash, you&#8217;re basically telling me that you have never seen a video or played a game online?!<br />
How about a nice colorful animation, or maybe neatly looking fonts done in <a title="sIFR 2.0: Rich Accessible Typography for the Masses" href="http://www.mikeindustries.com/blog/sifr" target="_blank">sIFR</a>, than you must install Flash and start experiencing the web.</p>
<p><strong>Apple and the sealed garden:</strong></p>
<p>There is something annoying about Apple arrogance, but, I have to say that what almost killed Apple in the past, is what making it so successful right now. More than 20 years ago when apple wanted to control everything on her PC (yeah right it’s called Mac) most users were savvy users who wanted full power. Usability, reliability and all of these great things Apple invented weren’t as important. Today is the grandpa era where consistent quality is a key.</p>
<p>Steve Jobs is so convincing that I almost believed him that he disallow Flash on the iPad to protect grandpa from a crashed browser &#8211; but I don’t. No one will deny that Flash has some issues, but it’s an integral part of the current web and wouldn&#8217;t be as such if it was just causing the browser to crash. Click-to-active could have been used to solve all of the real and unreal Flash issues.</p>
<p><a title="Oh, yeah" href="http://vee-ecks.livejournal.com/583326.html" target="_blank">Robert N. Lee</a> <em>“If somebody wants you to give up what you’ve got now in exchange for the promise of something way, way better later, you’re being screwed and not in a good way. This is pretty basic.”</em></p>
<p>Flash on the iPhone, for example, would enable full VOIP applications to run from the web-browser (i.e. <a title="Ribbit Platform" href="http://www.ribbit.com/platform/" target="_blank">ribbit</a>). <a title="Google Voice for iPhone and Palm WebOS" href="http://googlevoiceblog.blogspot.com/2010/01/google-voice-for-iphone-and-palm-webos.html" target="_blank">Google voice iPhone application</a> , could have leverage it instead of just allowing <a title="Callback (telecommunications)" href="http://en.wikipedia.org/wiki/Callback_(telecommunications)" target="_blank">cheap callbacks</a>. Allowing this kind of freedom is unthinkable for Apple.</p>
<p>But Apple might be loosing it, again they want too much. Apple moved from making computers for a very small niche market of mainly tree huggers. To a very powerful and successful company reinventing the smart phone market completely. Again it might blow in her face, Google might come and bite you with her <a title="Google’s ‘Don’t Be Evil’ Mantra is ‘Bullshit,’ Adobe Is Lazy: Apple’s Steve Jobs (Update 2)" href="http://www.wired.com/epicenter/2010/01/googles-dont-be-evil-mantra-is-bullshit-adobe-is-lazy-apples-steve-jobs/" target="_blank">don’t be evil bullshit</a> <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>BTW, grandpa don’t want multitasking either, thumbs-up for that as well, Apple (no pun intended).</p>
<p><strong>Adobe is evil too:</strong></p>
<p>I still remember how many many years ago Adobe asked you to snitch on your friends that uses pirated software, and by doing so, to <a title="Graphics Software Makers Launch New Campaigns Against Piracy" href="http://www.softwaremetering.com/20030050.htm" target="_blank">become Robin Hood</a>. Yeah you heard it, this was their fight on pirated software. It’s OK to fight piracy but, how is that comply with the original story?! After reading the article about the <a href="http://www.fanboy.com/2010/01/why-flash-is-doomed.html" target="_blank">old management</a> I can see where it might came from.</p>
<p><strong>RT</strong> <a href="http://twitter.com/aral/status/8446664397" target="_blank">@aral</a>: “<em>Remember that Adobe was on the edge of irrelevancy on the web and non-existent in mobile when they bought Macromedia.”</em></p>
<p>The question, “should we support Adobe and her proprietary Flash instead of the open standards?”, is somewhat misleading. Adobe is a big girl she should take care of her own. The question is &#8211; can they really make it? can they really reinvent Flash and the web yet again?</p>
<p>The idea that everything that is open is immediately good, is also misleading. There’re a lot of financial interests in openness. Many companies base their business model over open-source and openness. Preaching for open standards doesn&#8217;t immediately make you a saint.</p>
<p>Adobe might be an <a title="Why Flash is Doomed: Warnock is Afraid to Call Jobs" href="http://www.fanboy.com/2010/01/why-flash-is-doomed.html" target="_blank">heavy/old corp</a>, after our hard earn money. But, I can tell you, it does seems like they do have some nice, talented and community aware people when it comes to Flash. And compared to Apple, Adobe is like the Shangri-La of openness.</p>
<p>The last  bash against Flash might help to push Adobe to polish the player, if Adobe can afford putting even more resource on it. Either way it won’t be on the iStuff.</p>
<p><strong>Yeah, but, HTML 5 is a standard and not a proprietary black box like Flash:</strong></p>
<p>We all know users don’t care about the format, they just want the experience. Believe it or not, developers don’t care much either, they just want the power to get the best result, in our case power is IDE and runtime. The pain of delivering a truly cross-browser HTML is not something to be desired. Flash is still the best way to deliver rich interactive ubiquity.</p>
<p>And besides, HTML 5 may be a standard, but you’ll still be running it in a proprietary runtime, the browser.</p>
<p>The browser wasn’t chosen to be the ultimate way to deliver new and cool applications because of it’s wonderful capabilities. It became as such because it’s the lowest common denominator. Maybe it’s time for a better lowest common, Flash was a step in the right direction, maybe we’ll be better with something more powerful like <a title="Steam (content delivery)" href="http://en.wikipedia.org/wiki/Steam_(content_delivery)" target="_blank">Steam</a>. Actually the browser was also “chosen” because it’s very easy to create content for it.</p>
<p>For the developers, I don&#8217;t think it really matter which technology to use. All these <span style="text-decoration: line-through;">idiots</span> developers who couldn’t handle Flash and are now gloating and think they will be able to easily create beautiful interactive content &#8211; all will be disappointed. (you know who you are, yeah I meant you personally <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>Thing are prone to change relatively quickly in our times. The only fact that I can squeeze out of this, is that Flash is still the prominent force of interactive-ness on the web and will remain as such in the foreseeable future for sure.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2010/02/10/flash-vs-html5-vs-adobe-vs-apple/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>About the 16 Months Flash Crash Bug</title>
		<link>http://blog.guya.net/2010/02/09/about-the-16-months-flash-crash-bug/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=about-the-16-months-flash-crash-bug</link>
		<comments>http://blog.guya.net/2010/02/09/about-the-16-months-flash-crash-bug/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 12:37:04 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Flash Security]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2010/02/09/about-the-16-months-flash-crash-bug/</guid>
		<description><![CDATA[Recently, reports of an old bug in the Flash Player surfaced again. Claiming this bug, that enabled a developer to crash the player, were already reported 16 months ago and still hasn’t been fixed. I remember this bug from when &#8230; <a href="http://blog.guya.net/2010/02/09/about-the-16-months-flash-crash-bug/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="16 month-old bug continues to crash Flash" href="http://www.tuaw.com/2010/02/06/16-month-old-bug-continues-to-crash-flash/" target="_blank">Recently</a>, reports of an old bug in the Flash Player surfaced again. Claiming this bug, <a title="Adobe Flash Player plug-in browser crash" href="http://flashcrash.dempsky.org/explain.html" target="_blank">that enabled a developer to crash the player</a>, were already reported 16 months ago and still hasn’t been fixed. I remember this bug from when it first surfaced and was surprised that it <a title="Adobe apologizes for festering Flash crash bug" href="http://www.theregister.co.uk/2010/02/09/adobe_flash_crash_bug/" target="_blank">wasn’t fixed yet</a>.</p>
<p>I had also written about 2 reproducible ways to <a title="Watch me bleed – Fatal error in Flash 7.0 / 7.2" href="http://blog.guya.net/2006/05/21/watch-me-bleed-fatal-error-in-flash-70-72/" target="_blank">crash</a> the <a title="Too much focus will kill you" href="http://blog.guya.net/2007/07/08/too-much-focus-will-kill-you/" target="_blank">player</a>, both were fixed by Adobe since then. I don’t remember how fast the fixes were issued but I guess it was on the next dot version.</p>
<p>This is definitely bad, a developer shouldn’t be able to crash the player. But, lets put this into proportion, this isn’t the <a title="Google’s ‘Don’t Be Evil’ Mantra is ‘Bullshit,’ Adobe Is Lazy: Apple’s Steve Jobs (Update 2)" href="http://www.wired.com/epicenter/2010/01/googles-dont-be-evil-mantra-is-bullshit-adobe-is-lazy-apples-steve-jobs/" target="_blank">crashes Steve Jobs is talking about</a>. It unlikely that you stumbled upon this crash and if you did it wasn’t by accident, someone was messing with your player. Again, no one should have the option to crash our player/browser while we browse the web. But, It’s unlikely that this bug, which require some specific and uncommon ways from Flash to interact with the server was ever involved.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2010/02/09/about-the-16-months-flash-crash-bug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kiss And Tell What Is The User Browsing Mode</title>
		<link>http://blog.guya.net/2010/01/25/kiss-and-tell-what-is-the-user-browsing-mode/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kiss-and-tell-what-is-the-user-browsing-mode</link>
		<comments>http://blog.guya.net/2010/01/25/kiss-and-tell-what-is-the-user-browsing-mode/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 23:30:34 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Flash Security]]></category>
		<category><![CDATA[Safeloper]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[10.1]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Private Browsing]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=253</guid>
		<description><![CDATA[To know if the user is currently in normal or private browsing mode can be valuable info for any ads providers and spammers, but not only. With the upcoming Flash Player 10.1 (currently in beta 2) there are many welcome &#8230; <a href="http://blog.guya.net/2010/01/25/kiss-and-tell-what-is-the-user-browsing-mode/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>To know if the user is currently in normal or private browsing mode can be valuable info for any ads providers and spammers, but not only.</p>
<p>With the upcoming <a title="Adobe Flash Player 10.1" href="http://labs.adobe.com/technologies/flashplayer10/">Flash Player 10.1</a> (currently in beta 2) there are many welcome improvements. One of these is the support for private browsing as described in <a title="Private browsing in Flash Player 10.1" href="http://www.adobe.com/devnet/flashplayer/articles/privacy_mode_fp10.1.html" target="_blank">this article</a>.</p>
<p>For me, one thing that  immediately jumped out from the aforementioned article was that, unintentionally, with the aid of the new Beta Flash Player, websites can tell which mode the user is currently using.</p>
<p><em>“…in private browsing with default settings, the default local storage limit in private browsing is 1 MB…”</em></p>
<p><em>“To protect user privacy, there is no way for developers to tell whether their content is handling normal or private LSOs. Flash Player handles local storage data in the same way.”</em> <strong>No it doesn’t!</strong></p>
<p>Not only I can tell about the current status of the Flash Player browsing mode, but now I can tell about the browser itself since Flash inherit its mode from the browser.</p>
<p>Load a small enough SWF (less than 215 x 138) so it won’t ever show the settings dialog.</p>
<p>Now, kiss (sorry for the cheesiness <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) the local storage with data greater than 128kb. If it reject the kiss then you&#8217;re in normal browsing mode, if it accept it you can tell it’s a private mode.</p>
<p>It’s that easy, load this blog post in Private Mode with <strong>Flash Player 10.1 beta 2 installed</strong> and you’ll see the difference:</p>
<p><code>[kml_flashembed movie="http://blog.guya.net/wp-content/uploads/2010/01/KissAndTell.swf" width="400" height="35" /]</code></p>
<p>The solution is simple, private and normal modes should behave <strong>completely</strong> the same. In this case the local storage capacity should be the same. Lower both to 128kb or up both to 1MB. Which one is better, you may ask?! I’ll tell you latter <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The good thing is that Flash Player 10.1 is still in beta 2 so I’m sure it’ll be fixed for by the final release.</p>
<p>The source code is below:</p>
<pre lang="Actionscript" colla="-">
package {
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.NetStatusEvent;
	import flash.net.SharedObject;
	import flash.net.SharedObjectFlushStatus;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import flash.utils.getTimer;
	import flash.utils.setTimeout;

	/**
	 * This class will tell the current browsing mode of the user
	 * Tested with Flash Player 10.1 beta 2
	 * for more info go to:
	 * http://blog.guya.net
	 */

	[SWF(backgroundColor="#FFFFFF", width="400", height="35")]
	public class KissAndTell extends Sprite
	{
		private var _tf:TextField;

		public function KissAndTell()
		{
			initStage();
			createTF();
			setTimeout(saveData, 300);
		}

		private function initStage():void
		{
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
		}

		//try to save 140kb into the local storage
		private function saveData():void
		{
			var kissSO:SharedObject = SharedObject.getLocal("kissAndTell");
			kissSO.data.value = getDataString(140);

			var status:String;

			try
			{
				status = kissSO.flush();
				kissSO.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
			}
			catch(ex:Error)
			{
				trace("Save failed");
			}

			//If we can save more than 128kb then we're in Private Mode
			if (status &#038;&#038; status == SharedObjectFlushStatus.FLUSHED)
			{
				setPrivateText();
            }
		}

		//Listening to this event just to prevent exception on debug players
		private function netStatusHandler(event:NetStatusEvent):void
		{
			trace("event.info.code: " + event.info.code);
		}

		private function setPrivateText():void
		{
			_tf.text = "Private Browsing Mode";
			_tf.backgroundColor = 0xAA2222;
		}

		private function createTF():void
		{
			_tf = new TextField();
			_tf.autoSize = TextFieldAutoSize.LEFT;
			_tf.defaultTextFormat = new TextFormat("Arial, Verdana", 20, 0xFFFFFF, true, null, null, null, null, null, 10, 10);
			_tf.text = "Normal Browsing Mode"
			_tf.backgroundColor = 0x22AA22;
			_tf.background = true;
			addChild(_tf);
		}

		private function getDataString(kb:int):String
		{
			var t:int = getTimer();
			var word:String = "GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_GUYA.NET_";
			var count:int;
			var a:Array = new Array();
			var lenNeeded:int = kb * 1024;
			while(count * word.length &lt; lenNeeded)
			{
				a.push(word);
				count++;
			}

			var ret:String = a.join("");
			trace("time for generating " + kb + "kb: " + String(getTimer() - t) + " ml");
			return ret;
		}

	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2010/01/25/kiss-and-tell-what-is-the-user-browsing-mode/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>HTML 5 vs Flash vs SilverLight</title>
		<link>http://blog.guya.net/2009/09/06/html-5-vs-flash-vs-silverlight/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=html-5-vs-flash-vs-silverlight</link>
		<comments>http://blog.guya.net/2009/09/06/html-5-vs-flash-vs-silverlight/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 23:20:22 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Flex 3]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2009/09/06/html-5-vs-flash-vs-silverlight/</guid>
		<description><![CDATA[This is by no mean a full technical comparison between these technologies, just a chat between 2 geeks. One is a skeptic backend dude and the other one is yours truly, a GUI guy. It started with an email from &#8230; <a href="http://blog.guya.net/2009/09/06/html-5-vs-flash-vs-silverlight/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is by no mean a full technical comparison between these technologies, just a chat between 2 geeks. One is a skeptic backend dude <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  and the other one is yours truly, a GUI guy.</p>
<p>It started with an email from Eli (the backend dude)&#160; titled “the Next big thing”?</p>
<p><strong>Eli</strong>:&#160; <a href="http://www.chromeexperiments.com/ ">http://www.chromeexperiments.com/ </a>, RIP Flash. Long live HTML 5 + JavaScript.</p>
<p><strong>Guy</strong>: This is old…&#160; Let me know when Chrome will reach 99% of desktop computers.</p>
<p><strong>Eli</strong>:&#160; HTML 5 is old? LOL.&#160; FYI, despite the fact that the spec is far from being finalized, browsers with sparks of HTML 5 support count among them ie8, ff3, opera and safari.</p>
<p><strong>Guy</strong>:&#160; Old news, that is.&#160; HTML 5 is only started to get supported.&#160;&#160; HTML 5 + Javascript has a small subset of what Flash 10 can offer.&#160; By the time HTML 5 will be a standard Flash 12 will reach 90%</p>
<p><strong>Eli</strong>:&#160; Yeah, yeah, I&#8217;ve heard the same thing about java applets about a decade ago&#8230; <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> &#160; Seems like the simplicity of markup languages makes them the long distance runners</p>
<p><strong>Guy</strong>:&#160; Exactly, Flash has succeeded where Java failed. Flash has a lot of issues, but currently (and in the few coming years for sure) it&#8217;s the most powerful and available runtime.&#160; HTML + Javascript is far from simple and cause huge problems for complex applications.</p>
<p><strong>Eli</strong>:&#160; Flash is mostly used to fill gaps in HTML, not to solve the huge problems in the complex applications the web is made of, isn&#8217;t it?</p>
<p><strong>Guy</strong>:&#160; This is what Adobe aim to solve with Flash, to be the ultimate platform for creating and running RIA (Rich Internet Applications). Still, a lot of RIAs are written in AJAX (Javascript+HTML), which, with the aid of solid and powerful frameworks like jQuery become reasonable in some cases. Lately Google, which already have a lot of RIA tools, is trying to change the game with its Chrome browser and OS. The Chrome browser is equipped with a much faster JavaScript engine that enables what we can see in chromeexperiments.com. Microsoft is also trying to be a player in this space with its new SilverLight runtime.</p>
<p><strong>Eli</strong>:&#160; Yet, the idea of basing the web on some proprietary browser plug in is doubtable. Epic fall of java applets and endless annoying ActiveX bullshit are just a couple of examples. IMHO, the shortcoming of this approach is missing the idea that The Web is more than “screenfuls of text and graphics” ©. Layout engines, however, are here for more than a decade and markup languages – for ages, proving themselves in taking the web into the places no one was thinking then about. </p>
<p>P.S. The only thing Adobe aims is profit.</p>
<p>P.P.S. I love holy wars.</p>
<p><strong>Guy</strong>:&#160; The proprietary thing is indeed an issue, it prevents Flash from being accepted in some areas of the web and by some users. E.g. the Wikipedia video project uses HTML 5 video, they can&#8217;t use anything that is closed. What prevents Flash from being open-sourced is that it contain 3<sup>rd</sup> party patent not owned by Adobe. Adobe is already trying to appeal to the open source crowed with the opening of some of its IP <a href="http://opensource.adobe.com">http://opensource.adobe.com</a>. IMHO they might completely open the Flash runtime if and when it&#8217;ll be pushed to the wall by Microsoft and its new SilveLight (talking about proprietary <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . </p>
<p>Java and Active-X are completely different stories, each had its own reason to fail. Partially and shortly, it is too difficult to create a Java applet and its far from appealing to a designer. Active-x has no sandbox, hence it has a lot of security issues, and also runs only in IE. </p>
<p>HTML was created to display text and images with basic layout, Javascript was added to enable simple interactivity, no one dreamt it can be used the way it&#8217;s done today. Only with the maturity of the browsers and with specialization of web developers, these king of RIAs could have been created. Yet it still pushes the tech to it limits.</p>
<p>The HTML 5 standard will be adopted relatively fast, but we&#8217;re still talking in years. Even with the Chrome JS engine (V8), Javascript can&#8217;t match the power of languages like Actionscript 3.0 and C#. Javascript 2 is somewhere in the very distant future. HTML 5 biggest improvement is the support for media (video/audio). But, it still can&#8217;t compete with Flash and SilverLight media abilities, in terms of playback and deployment.</p>
<p>HTML 5 is nice but the main holy war is between the reigning RIA world champion which is Adobe Flash and the challenger which is Microsoft SilverLight. There is much to be loved about this holy war, since it pushes the technologies forward and the biggest winners are us, the developers and the users. </p>
<p>(I&#8217;m talking about hard-core RIA, not some lightbox image gallery which is still preferably done in HTML)</p>
<p>P.S.&#160; Adobe isn&#8217;t a saint, but, everyone want to make some profit, even google, even us as I recall <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  If you gain it morally and also use it to make something like the web better, than it&#8217;s fine with me.&#160; </p>
<p>P.S.S aforementioned.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2009/09/06/html-5-vs-flash-vs-silverlight/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>The biggest terrorists in the world are&#8230; Flex bloggers</title>
		<link>http://blog.guya.net/2009/07/14/the-biggest-terrorists-in-the-world-are-flex-bloggers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-biggest-terrorists-in-the-world-are-flex-bloggers</link>
		<comments>http://blog.guya.net/2009/07/14/the-biggest-terrorists-in-the-world-are-flex-bloggers/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 08:24:11 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Flex 3]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=239</guid>
		<description><![CDATA[Adrian Parr, a Flex blogger mostly known for his post listing of AS3 frameworks got hacked by some political lamers. The whole blog is replaced with common and lame hacker page. The allegedly hackers came from this Arab security forum, &#8230; <a href="http://blog.guya.net/2009/07/14/the-biggest-terrorists-in-the-world-are-flex-bloggers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="http://www.adrianparr.com/" href="http://www.adrianparr.com/" target="_blank">Adrian Parr</a>, a Flex blogger mostly known for his post <a title="AS3 Code Libraries" href="http://www.adrianparr.com/?p=83" target="_blank">listing of AS3 frameworks</a> got hacked by some political lamers. The whole blog is replaced with common and <a href="http://guya.net/blogstuff/adrianparr_hacked.png" target="_blank">lame hacker page</a>. The allegedly     hackers came from this Arab security forum, m4r0c-s3curity.cc.</p>
<p>What is the relation of this blog to your &#8220;war on terror&#8221;?! Leave your political BS where it belongs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2009/07/14/the-biggest-terrorists-in-the-world-are-flex-bloggers/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

