<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">

	<channel>
		<title><![CDATA[ActionScript.org Flash, Flex and ActionScript Resources - Blogs]]></title>
		<link>http://www.actionscript.org/resources</link>
		<description><![CDATA[ActionScript.org is the premier ActionScript developer community online for Flash and Flex users. One of the largest such sites in the world, ActionScript.org caters for designers and developers at all skill levels. The site includes thousands of tutorials, open source movies and scripts, support forums, reviews, scene news, a fully featured Flash jobs and employment section and much more.]]></description>
		<language>en-us</language>
		<copyright><![CDATA[http://www.actionscript.org/resources]]></copyright>
		<generator>N/A</generator>
		<webMaster>general.redirect@gmail.com</webMaster>
		<lastBuildDate>Wed, 16 May 2012 16:48:35 CDT</lastBuildDate>
		<ttl>20</ttl>
		<item>
			<title><![CDATA[Traffic Wonder was made purely using actionscript]]></title>
			<link>http://www.actionscript.org/resources/blogs/59/Traffic-Wonder-was-made-purely-using-actionscript.html</link>
			<description><![CDATA[<h1>Misunderstanding Adobe Air for mobile platforms</h1>
<p>This is a funny thing, nowadays, even in this first quarter of 2012 when I speak with developers sometimes they get surprised when I say that I am working in an iOS project using Adobe Flash, people say, ehh? Hmmm? How come? Adobe Flash is not supported on iPad, nor on iPhone&#08230 To be honest I can't understand how Adobe has not made this very clear, people still think Flash is banned from iOS and only few of us know that this is a complete misunderstanding (this is wrong). Flash is not supported on safari browsers (in Apple mobile devices), so are not other plug-ins such as; java applets, unity3d, etc&#08230 but people don't see this; the only thing they see is Flash can't run on iOS.</p>
<p>I have spent countless hours testing adobe flash on iOS (yes using adobe air), my final conclusion is that it will never be (in terms of performance) as good as an app natively made in Objective C, but hey, this is not new for us, it was always like that, same on PC, same on MAC, we can't compare Flash with programs made natively in C++ and other languages that work closer to hardware. So we are in a very similar position to where we were before; depending on what we would like to achieve Flash will perfectly satisfy all our needs, as usual.</p>
<p>I am following what Adobe is doing from earlier stages with the flash platform. I am quite happy with all the progress they've got so far; they have made some serious improvements in the flash platform running on iOS and other mobile platforms. I know earlier versions of Adobe Air on iOS were not even a possible solution, they run badly comparing with other apps made in Objective C natively. Nowadays I have to confess, the current version of Adobe Air 3.1 is something you can seriously consider for building your apps, what you get in terms of performance is more than acceptable, sometimes equally good comparing to apps natively coded, and you know what's the best part of it? that you can transparently port everything you have done to other platforms. Maintaining different source code depending on its platform is really a pain.</p>
<h2>Almost limitless</h2>
<p>Did you know you can code part of your Flash App natively using Objective C? Yes you can, this is called <a  href="http://www.adobe.com/devnet/air/native-extensions-for-air.html">Native Extensions</a>, which allows you to communicate your flash app with pure Objective C code on the fly. This is really useful, before you didn't have any way of using some resources from the operating system like, accessing internal API, system notifications, app-in purchases, game center, checking battery status, etc&#08230 I highly recommend having a go with Adobe Air for mobile, it has changed a lot during the last year, I can't wait for the version 3.2, Adobe is promising fully control of the GPU (Stage3D for mobile), woohoooo!</p>
<p>So far the majority of the flash apps we can find in Apple, Android and Blackberry markets (made purely using actionscript) are very simple apps in terms of complexity, and games that normally demands extra work, are quite rich in visuals and sounds but very simple in terms of algorithms and processing. And I was wondering why? Is it all about performance?</p>
<h2>Traffic Wonder was made purely using actionscript</h2>
<p>I've been totally focused working fulltime on this project since october last year, for those who haven't heard about it from my previous posts, it is a crazy puzzle game aimed to be distributed on all existing mobile platforms (including desktops computers PC/MAC/Linux), the game is currently in QA at the very last stage, its release date is on March 15th for all platforms, you can find out more about it at <a  href="http://www.trafficwonderapp.com">http://www.trafficwonderapp.com</a></p>

<p><a  href="http://www.trafficwonderapp.com/screenshots/"><img title="Traffic Wonder screenshots" alt="Traffic Wonder screenshots" src="http://www.actionscript.org/resources/content_images/1260/trafficwonder_water_level.jpg" align="bottom" border="0" height="540" width="720"/></a></p>
<p>I have tried making different prototypes of the game using C++ combined with Objective C but at the end of the day, I end up building it all using purely actionscript for many reasons, the most important one "portability". It was a big challenge make it work in all existing platforms, since there are big differences in hardware architectures from device to device, for example; flash could run on iPad1 about 5 times slower than iPad2 if you don't make some proper tweaks and optimisations, taking advantage of the device itself and relying less on its GPU. I have faced the same problems everybody did, my app sometimes suddenly crashes without giving me any particular error, and the reason was the same all the times "abuse of memory usage". Think about making a SWF file that will start running once forever, you cannot control when the user or the operating system will terminate it but yes you need to be worried about keeping it in memory running stable all the time, you have to manage very well resources which is a bit tricky when coding complicated algorithms manipulating lots of assets. I am recently, strategically using more often in parts of my code <b>System.gc();</b></p>
<p>Here is a video I have filmed today with some interesting notes about its development, explaining the most important feature of the game "the drawing experience", at the end, the user experience dealing with the game mechanics is what really counts, I hope you enjoy it.</p>
<object style="WIDTH:745px;HEIGHT:452px" data="http://www.youtube.com/v/Pz1Fm4YEwro?hl=en_GB&fs=1&border=1&hd=1" type="application/x-shockwave-flash" height="452" width="745"></object><br/><br/>
<h2>I can't wait for Adobe Air 3.2</h2>
<p>Something very interesting that really worth to mention is that, we have spent a lot of time on making the levels good looking, make then look as nicer as possible, each level has 3 different representations; on spring (green), desert (dry summer) and winter (snow). Have a look at this level for example:</p>
<p><img title="" alt="Traffic Wonder spring" src="http://www.actionscript.org/resources/content_images/1260/trafficwonder_level_grass.jpg" align="bottom" border="0" height="474" width="720"/></p>
<p><img title="" alt="Traffic Wonder desert" src="http://www.actionscript.org/resources/content_images/1260/trafficwonder_level_desert.jpg" align="bottom" border="0" height="474" width="720"/></p>
<p><strong></strong></p>
<p><img title="" alt="Traffic Wonder snow" src="http://www.actionscript.org/resources/content_images/1260/trafficwonder_level_snow.jpg" align="bottom" border="0" height="474" width="720"/></p>
<p>At the moment each level has in average 20 millions vertices, I've made some tests with Flash Player 11, and apparently "there is a light at the end of the tunnel" a possibility in an early future to render all the levels on the fly and then cache them as bitmaps in (Adobe Air 3.2). That will be definitely a huge help for making the game far much smaller in terms of file size, maybe to 20% of its original size, at the moment all the levels are pre-rendered bitmaps, that's why the game is 150MB, which is still aceptable for a tablet game.</p>
<p><img title="" alt="traffic Wonder wire frame" src="http://www.actionscript.org/resources/content_images/1260/trafficwonder_level_wire.jpg" align="bottom" border="0" height="474" width="720"/></p><br/><br/>
<h2>Some advices and tips (regardless what language you use) which apply only for paid apps</h2>
<p>I have made a massive research during the last years on different mobile platforms and markets, there are some things that really surprised me a lot and I would like to share some of them with you:</p>
<p><b>&#08658</b> Be careful using the accelerometer sensor, your app controls cannot rely totally on it; some users feel ridiculous when using it in public.</p>
<p><b>&#08658</b> People will remember your app not only because its graphics and UI but also sounds, sound is part of your app identity, it needs to be unique, keep in mind it is extremely important and can destroy completely the user experience, be aware some devices won't play sounds as good as others do, and what I mean with this is, it could be really annoying (same sound) depending on which device it's being played, it might play louder or quieter, sometimes it doesn't even sound. Why!? Frequencies, some devices like iPads have really, really, really bad speakers, iPads are not even stereo, and if they are, it is completely pointless, they have only one speaker hole on the side; they are monophonic unless you use them with headphones. Some devices are not able to play low frequencies so you can't hear any bass at all but yes really loud high frequencies (treble) and that's the only thing users can hear, annoying treble noises. Have you ever wondered why Michael Jackson sounds the same everywhere, all speakers? Masterization, you might have to master sounds you use in your app in order to guarantee a good user experience (Best device speakers from my point of view &#08211 Playbook, it is stereo, better frequencies range, etc&#08230)</p>
<p><b>&#08658</b> Did you know that 1 in 20 persons in the world have some index of colour-blindness? That means that if your app rely on colours (like Traffic Wonder does) about 5% of users won't be able to look at your app exactly in the same way you do, be careful with the colour balancing.</p>
<p><b>&#08658</b> You have only one chance with new users (listen very well, one chance only!), be careful with your app instructions, do not rely on text descriptions much, around 65% of the users don't read anything, be creative, make your app as intuitive as possible, otherwise they will give up and will never try it again. I am constantly struggling with this.</p>
<p><b>&#08658</b> QA (quality analysis) is extremely important, spend more time than usual testing your app, do not make final users test it for you otherwise you have a massive big chance of burning your app forever, to the point of, if you want to improve/enhance it, you might have to change its name and its art for republishing it as a completely new app (this is a crazy strategy of many developers, especially on Android platform).</p>
<p><b>&#08658</b> The main platform you have to be focused on is currently Apple. Why!? There around 200 million users in iTunes, 44% (88 millions) of these users are considered as active users which (unlike Android users) they like buying things, at least one app monthly in average. So whatever you do, do it, aiming to at least 1% of this audience :)</p>
<p><b>&#08658</b> Guess how many apps are being published per day in the Apple Store? Between 150 and 200 (this is mad) that means that we have around 1200 per week, (52/12) x 1200 = 5200 per month. So indeed you app icon is super important, when you publish your app, you have only few minutes on the shared NEW tab at the store. Make your app icon attractive or at least not crabbed :)</p>
<p><b>&#08658</b> Developing for Android is easy but it could be a pain in the ^&%$... When you think about Android, you think about it as an operating system itself, not as a specific device. So whatever you do (I am afraid) you can't guarantee it will work and run the same on every device, Google is facing same problem Microsoft did on 1994, there are people making Android devices in any garage in china where android crashes all the time and at end sadly what people see is Android is bad! I can see Android as one of the best mobile OS but not now, in 5 years time maybe.</p>
<p><b>&#08658</b> For god sake, some users wants everything for free, so you better think in a proper strategy for selling your app, having "freemium" versions is not always the right way to go, be careful with lite versions, although it sounds odd, lite versions can affect negatively your sales "drastically".</p>
<p><b>&#08658</b> Keep an eye on the Blackberry Playbook platform, regardless they are not even 10% of the 45 millions iPads out there (15 millions first generation + 30 millions iPad2), Blackberry users have no problems paying high for what they consider a good app. Nowadays you can find big titles for the playbook platform and they (unlike other platforms) are highly expensive, apps such as; Monopoly (EA) USD$5.00, SimCity (EA) USD$4.00, Angry Birds (Rovio) USD$5.00, etc.</p>
<p><b>&#08658</b> Nowadays you have to compete with very high quality standards, do not spend more than USD$80K making the game (including marketing and your own time), the more you spend the higher your risk if you don't have a very clear marketing campaign, so stop thinking in those hero-champion-apps that have been sold millions of times like Angry B&#08230 this happens really rare, I wouldn't say it is a bit of luck but it depends on many factors, most of them about when your app was launched in relation with tendencies, quality, cost/benefit, etc... The market doesn't promise anything else that worth increasing a higher budget of USD$80K to "guarantee" some profit.</p>
<p><b>&#08658</b> It is really weird, the way how apps get featured in the Apple Store, it seems to be at random rather than highly reviewed, evaluated and chosen, at the same time it feels odd when an app gets featured same day its release date, that means one thing only; it doesn't depend on users and acceptation, I don't like to speak about this much&#08230 just don't rely on this, if your app gets featured or not, it is not in your hands, so you need other alternatives to propagate your app.</p>
<p><b>&#08658</b> Careful with what you read, this crazy market changes so quickly, 6 months old readings might be obsolete, I am writing this article in the morning of February 19th 2012, I have no clue if all I said here will be valid by the end of the year.</p>
<p><b>&#08658</b> There are evil people out there buying your app, some of them are very ignorant, some of them are just 100% your competitors (enemies), be prepare for bad reviews, those bad 1 star reviews will always come over at some point, try to interpret them in the best way possible, regardless how much effort you put in your app, regardless how good your app is, we need to understand bad reviews are part of it all.</p>
<p><b>&#08658</b> This is really serious; when you own a product there are 3 key elements that worked combined to reach your hands; "Idea", "Development" and "Marketing", I have asked many people I highly recognize and appreciate about these, most of them experienced entrepreneurs, interesting thing, they don't know each other, they are from different nationalities... my question was very simple which demands a simple answer, <b>If we have to give percentages to each of these elements (idea, development and marketing) what these figures are?</b> I couldn't believe this but surprisingly the average answer was 1% idea, 54% development, and 45% marketing. So marketing is SUPER IMPORTANT! my conclusions are; the idea is only good once you have proved it is, so at the beginning the idea represents only one thing "risk", it values nothing commercially, however it is the spark (soul) of the whole product. Development is what you can control 100%, and then marketing (the art of predicting the future) is what you can incite to happen but is never guaranteed. You might end up extremely frustrated unless you have the whole time of the world, and you are up for waiting ages to see results. If you don't make any marketing the chances your app has of doing well in sales are almost none regardless your app is a super-hero-champion-app, we are in 2012! It is not like 3 or 4 years ago when users don't have much to choose. Important thing! It is completely a waste of money and time if you don't have a good budget for it (at least USD$25K). Do not waste your money on small marketing campaigns, the results are very similar to doing nothing (cost/benefit). Although you might not have the right channels to achieve this, focus more on approaching magazines, news papers, critics and journalists... contact a good PR agency. If you don't have any budget at all for this, try finding a partner. Don't release your app alone (without marketing) the results could be undesirable.</p>
<p>Guys, I will keep adding some more things later on, so keep in touch through the RSS feed,</p>
<p>Have a good day everyone!</p>
<p>Cheers!</p>
<p>Alex Nino (yoambulante.com)</p>]]></description>
			<author>no@spam.com (Alex Nino)</author>
			<pubDate><![CDATA[Sun, 19 Feb 2012 00:00:00 CST]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/59/Traffic-Wonder-was-made-purely-using-actionscript.html</guid>
		</item>
		<item>
			<title><![CDATA[Let's nuke the planet and fix some problems]]></title>
			<link>http://www.actionscript.org/resources/blogs/58/Lets-nuke-the-planet-and-fix-some-problems.html</link>
			<description><![CDATA[
<p>It has been a while since I've published my last post. To be honest I just been unbelievable busy and I didn't have much spare time for making new experiments; those I do for fun with no pressure, no rush. </p>
<p>Couple of weeks ago, by chance I read some articles (from different sources) about global warming, overpopulation, worldwide resources, world's education and that entire thing you might have heard already about humans destroying the planet slowly. I know that you may be feeling a bit tired about this subject but I was actually thinking what if you have a real chance of making instant-huge changes on earth, what would you do?</p>
<p>So, in one afternoon during my coffee break, I wrote down an email with some specific key questions and I sent it to some friends around the world (thanks everybody for the well detailed answers), these answers gave me a good idea about what kind of resources-tools we could use for making quick-drastic changes on Earth so I built up a Flash interface with the idea. I have published the whole thing on facebook but it is also available here (both use same database)</p>
<p><a href="http://www.yoambulante.com/en/labs/FixPlanetEarth/">http://www.yoambulante.com/en/labs/FixPlanetEarth/</a></p>
<p><a href="http://www.yoambulante.com/en/labs/FixPlanetEarth/"><img title="" border="0" alt="" src="http://www.actionscript.org/resources/content_images/1260/fix_planet_earth.jpg" width="240" height="240"/></a></p><br/>
<h2>The technical part</h2>
<p>Well, it is all about Flash and using some resources only available on Flash player 10 like its drawing API; copyPixels, drawTriangles, blending modes, etc. It is a bit interesting, this app didn't take me long, I did the whole thing from scratch in just few days. It took me exactly 9 days working at nights, it definitely looks more complicated of what it actually is. I think it could be a good practice for the people who are interested to know how it was made. This is a very simple program, it is pure actionscript without using extra libraries or extra resources (I am not using any 3D Engine), it is just actionscript with some good magic bits of bitmap data manipulation (the performance of the app when rollover the countries on a 3d projections was a good challenge).</p>
<p>I am currently thinking in writing an article explaining it step by step divided by days. You might wonder where I got all the data from, textures, countries data, filters, etc, and the answer is simple; Wikipedia. Did you know that Wikipedia has an API which you can use from Flash and extract any kind of data you want?</p>
<p>I have extracted automatically all data I needed in my app from Wikipedia, including the countries coordinates, capital, globe coordinates in degrees (latitude and longitude), mouse rollover sectors, highlights; i.e. this piece of code extracts from Wikipedia the string where the capital name of a country localized:</p>
<div style="BORDER-BOTTOM: rgb(51,51,51) 1px solid; BORDER-LEFT: rgb(51,51,51) 1px solid; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: rgb(204,204,204); PADDING-LEFT: 2px; PADDING-RIGHT: 2px; BORDER-TOP: rgb(51,51,51) 1px solid; BORDER-RIGHT: rgb(51,51,51) 1px solid; PADDING-TOP: 2px">var loader:URLLoader = new URLLoader();<br/>loader.addEventListener(Event.COMPLETE, onCountryData);<br/>var country:String = "France";<br/>loader.load(new URLRequest("http://en.wikipedia.org/w/api.php?action=query&titles=" + country + "&prop=revisions&rvprop=content&rvlimit=1"));<br/><br/>function onCountryData(e:Event):void {<br/>var data:String = loader.data;<br/>var found:int = data.indexOf("|capital");<br/>if (found > 0){<br/>//shows the string where the capital is<br/>trace(data.substring(found+9,data.indexOf("\n",found)));<br/>} else {<br/>trace("capital not found :(");<br/>}<br/>}<br/></div>
<p>Unfortunately, I ran out of time, this is all what I can say so far, I will write down an article explaining it bit by bit (I soon as I have the chance) it was a very interesting practice for me.</p>
<p>Cheers guys!</p>]]></description>
			<author>no@spam.com (Alex Nino)</author>
			<pubDate><![CDATA[Thu, 24 Mar 2011 00:00:00 CDT]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/58/Lets-nuke-the-planet-and-fix-some-problems.html</guid>
		</item>
		<item>
			<title><![CDATA[FITC Amsterdam 2011]]></title>
			<link>http://www.actionscript.org/resources/blogs/57/FITC-Amsterdam-2011.html</link>
			<description><![CDATA[<p>This year's <a  href="http://www.fitc.ca/events/about/?event=115">Flash In The Can</a> in Amsterdam presented its attendees with a brand new venue and a diverse range of very inspiring speakers. With a bigger location (although now slightly farther from the city center) the event now offered room for one and a half times as many people to attend, which definitely was a good thing.</p><p><img title="" alt="" src="http://www.actionscript.org/resources/content_images/119/fitc_chairs.jpg" height="164" width="500" align="Baseline" border="0"/><br/></p>

<p>Tuesday featured talks by the likes of (among many others) <a  href="http://www.andre-michelle.com">André Michelle</a>, <a  href="http://www.gskinner.com">Grant Skinner</a>, <a  href="http://www.gmunk.com">GMUNK</a>. A little after midnoon a frenchman in his late twenties walked up to the stand in the blue hall and introduced himself as Matthieu Bessudo, better known under his pseudonym McBess (<a  href="http://www.mcbess.com">mcbess.com</a>). Many of the attendees present may have been somewhat surprised to learn that this very calm and seemingly peaceful guy actually creates the super-crowded and very vibrant artwork that McBess is known for (also including the creative for this year's Flash In The Can). In his session McBess showed some of his early and later works and shed light on his work-process, which on the spot turned into a very interesting live drawing session where he asked the audience for 5 things they liked, combining them into one drawing (beer-drinking, pudding-eating dinosaur with boobs on a bicycle anyone?).</p>



<p>Just after 5, Ben Radatz led the attendees through the work and work-process of <a  href="http://www.mk12.com">MK12</a> -- including work on the opening credits for the James Bond movie Quantum of Solace.</p>

<img title="Ben Radatz from MK12" alt="Ben Radatz from MK12" src="http://www.actionscript.org/resources/content_images/119/mk12_closeup.jpg" height="254" hspace="0" width="500" align="Baseline" border="0"/>

<p>On wednesday <a  href="http://www.mikecreighton.com">Mike Creighton</a> kicked off the second day of the event in the red hall with his presentation entitled "Harnessing the Abundance", followed by names such as Carlos Ulloa (creator of <a  href="http://www.papervision3d.org">Papervision3D</a>) and Robert Reinhardt (author of the Flash and ActionScript bibles). Also very mentionable was Thijs Bernolet from <a  href="http://www.littlemissrobot.be">Little Miss Robot</a> hacking Shawn Pucknell (main FITC guy) his Facebook account -- <span style="font-style: italic;">during</span> the presentation (more about that <a  href="http://www.fitc.ca/news?p=1072">on the FITC blog</a>).</p>

<p>FITC Amsterdam was closed off by <a  href="http://www.evan-roth.com">Evan Roth</a> in his session about open source, viral media, art that isn't boring and waiting for Jay-Z to call you on the phone. I hadn't seen Evan before but immediately found his presentation to be one not be missed out on. The talk ranged from huge digital/interactive graffiti on tall buildings, to hacking an airplane-seat so that the person in front of you won't put it back, to editing N.W.A.'s 'Straight Outta Compton' to only include the cuss-words.</p><p><img title="Evan Roth" alt="Evan Roth" src="http://www.actionscript.org/resources/content_images/119/evanroth_tim.jpg" height="312" width="500" align="Baseline" border="0"/><br/></p>

<p>All in all, although already a great event, Shawn and the rest of the FITC people managed to turn Flash In The Can Amsterdam 2011 into an even more varied and overall better happening -- hats off!</p>

<p><small>Photos <a  href="http://flickr.com/turnmastertim/sets/72157626101735145">courtesy of Tim</a>, one of the people behind <a  href="http://www.springfestival.at">SpringFestival</a>.</small></p>
]]></description>
			<author>no@spam.com (Ruben Swieringa)</author>
			<pubDate><![CDATA[Mon, 14 Mar 2011 00:00:00 CDT]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/57/FITC-Amsterdam-2011.html</guid>
		</item>
		<item>
			<title><![CDATA[Rich Internet Applications uses]]></title>
			<link>http://www.actionscript.org/resources/blogs/54/Rich-Internet-Applications-uses.html</link>
			<description><![CDATA[<body>
In today's global business environment, where customers are more demanding than ever and brand loyalty is increasingly difficult to obtain, deeper customer engagement is integral to an organization's success. RIAs can make customer interactions compelling, dynamic, and useful — in a word, engaging.
Business executives increasingly recognize the value customer engagement brings to their businesses. For example, in a recent study on engagement conducted by the Economist Intelligence Unit on behalf of Adobe, 80% of executives said that better engagement translates into improved customer loyalty, and 75% said they believed it meant higher profits.
Engagement is also critical to transforming customers into active advocates for brands and businesses; 79% of respondents said that engaged customers will recommend products and services to others.

In March 2007, Forrester Research published "The Business Case for Rich Internet Applications," a report based on interviews with RIA technology providers and designers, as well as Forrester Research clients and customers. The report revealed that "well-designed RIAs can produce eye-popping results that can help prove the value of current investments and make the case for future RIA projects."

According to the findings, "firms that measure the business impact of their RIAs say that rich applications meet or exceed their goals." Specific findings demonstrate that improved ease of use for customer-facing RIAs "drives higher conversion rates and order size....More shoppers convert to buyers when they can easily trade off product options and costs in real time....And because of increased ease of completing complex orders online, fewer customers give up."

</body>]]></description>
			<author>no@spam.com (Atishay Jain)</author>
			<pubDate><![CDATA[Wed, 02 Mar 2011 00:00:00 CST]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/54/Rich-Internet-Applications-uses.html</guid>
		</item>
		<item>
			<title><![CDATA[A good comparison between HTML5 and Flash]]></title>
			<link>http://www.actionscript.org/resources/blogs/53/A-good-comparison-between-HTML5-and-Flash.html</link>
			<description><![CDATA[<span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 16px 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="LINE-HEIGHT: 15px; COLOR: rgb(51,51,51); FONT-SIZE: 12px" class="Apple-style-span">
<h1 style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(51,51,51); FONT-SIZE: 15px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 5px; background-origin: initial; background-clip: initial">Do not compare HTML5 with Flash</h1></span></span><br/><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 16px 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="LINE-HEIGHT: 15px; COLOR: rgb(51,51,51); FONT-SIZE: 12px" class="Apple-style-span">
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">It has been a while since people started playing around with HTML5, and still nowadays there are some people that come with some comparisons between Flash and HTML5. I am a little bit tired about all this, and to be honest I am totally convinced that HTML5 and Flash are completely different solutions which make everything a bit pointless when comparing both, it is so clear to me what/when to use HTML5 or Flash.</p>
<h2 style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(51,51,51); FONT-SIZE: 14px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 5px; background-origin: initial; background-clip: initial">HTML5 is not a threat against Flash</h2>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">We all remember when Adobe came with Acrobat Reader ages ago, and we all remember people saying things like; this piece of software is not going to be here for long, this approach of showing and printing images and text is something that everybody is already doing and at the end it was all curious, how can a product like Acrobat be accepted in the market? What's my point? Where I am going to is&#08230 one single word<span class="Apple-converted-space"> </span><b style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial">"consistency"</b>. At the present the PDF format is considered as a standard for absolutely all kind of content distribution (and online printing). How can? The answer is so simple; everywhere it looks the same, it can be printed everywhere the same, we all trust on its consistency, so many of us feel the same with the SWF format.</p>
<h2 style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(51,51,51); FONT-SIZE: 14px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 5px; background-origin: initial; background-clip: initial">People are confused about HTML5</h2>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">Last week I got a quick discussion with a couple of developers, they came over to have some beers and ask me for any advice about the best way of doing things in HTML5, unfortunately my answer was;<span class="Apple-converted-space"> </span><font style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial" color="#008800">guys I am so sorry I didn't have the chance yet of making an iPhone application.</font><span class="Apple-converted-space"> </span>So, they said;<span class="Apple-converted-space"> </span><font style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial" color="#008800">but we are not asking you about iPhone, it is more about HTML5 programming itself</font>, and then I said;<span class="Apple-converted-space"> </span><font style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial" color="#008800">so why do you want to use HTML5 then?</font><span class="Apple-converted-space"> </span>and at then end they couldn't answer my question properly. Basically they couldn't give me any good reason for making "complicated" things in HTML5. You can do with Flash (Action Script) whatever you want much faster than coding JavaScript indeed and considering that the Flash Player 10 propagation is quite high nowadays, so we don't need to be worried about relaying on this web based plug-in (the Flash Player).</p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">HTML5 is here to stay, it is for us, and it is for helping us with that boring monkey job nobody wants to do like building a video player with a scroll slider progress bar and some navigation buttons, or making a basic photo gallery with enchanted options, etc. If you are trying to do something more complicated than that, I am afraid you have to be prepared to waste a lot of time dealing with very annoying things like cross browser inconsistencies, performance issues, plus you never know if that thing will work in new browsers in the future. The main problem of HTML is and will be always consistency; it looks different among browsers when you are dealing with advanced features, careful, it could be a big pain, keep it simple if you want to sleep well.</p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">Errr, I would like to say that I am against people trying to make capture Forms in Flash using comboboxes, list, grids, etc&#08230 guys! For such things use HTML, in my personal opinion Flash has been created for satisfying our highest levels of creativity, making things intuitive, smart web apps. Additionally I would like to say that there is no reason for me making complicated things in HTML5, and if the reason you have is because of iPhone, you should look for a different solution, say Objective-C, C++. HTML5 is sitting on a very top level of the hardware architecture and processing work flow, JavaScript doesn't run as fast as you may need it in browsers, even slower in mobile devices, so, do not try to do complicated things with it, do not punish yourself.</p>
<h2 style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(51,51,51); FONT-SIZE: 14px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 5px; background-origin: initial; background-clip: initial">A good comparison between HTML5 and Flash</h2>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">A while a ago I wrote a very simple article speaking about Verlet physics, plus mixing it all with Spline Curves, it was about a Balloon movement algorithm, remember? Well here is the flash article in case you would like to have a go with it,<span class="Apple-converted-space"> </span><a style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial" href="http://www.yoambulante.com/en/labs/balloon.php" target="_blank">Balloon Flash Version.</a></p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">This time I tried to remake exactly the same piece of program in HTML5 so people can have a better understanding about it, using same logic, same work flow, and same algorithms. I did a quite big research about HTML5 before starting with it but unfortunately once I got it run, it couldn't reach the same performance of the Flash Version. I have tested it on different browsers, in the best scenario (using google Chrome)<span class="Apple-converted-space"> </span><b style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial">HTML5 runs about 4 times slower than Flash</b>, I also tried running it iPhone4 and compared with HTC Desire,<b style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial">it runs in iPhone4 about 8 times slower than HTC Desire</b>, of course HTC running it in Flash. I haven't tried it yet in iPad, do you have an iPad? Let me know how it runs like.</p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">Here we are! same<span class="Apple-converted-space"> </span><a style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial" href="http://www.yoambulante.com/en/labs/balloon_html5.html" target="_blank">Balloon HTML5 version.</a></p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial"><a href="http://www.yoambulante.com/en/labs/balloon_html5.html" target="_blank"><img title="" border="0" alt="" align="baseline" src="http://www.actionscript.org/resources/content_images/1260/balloon_html5.jpg" width="80" height="127"/></a></p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">and the original version<span class="Apple-converted-space"> </span><a style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; background-origin: initial; background-clip: initial" href="http://www.yoambulante.com/en/labs/balloon.php" target="_blank">Balloon Flash version.</a></p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial"><a href="http://www.yoambulante.com/en/labs/balloon.php" target="_blank"><img title="" border="0" alt="" align="baseline" src="http://www.actionscript.org/resources/content_images/1260/balloon_flash.jpg" width="80" height="127"/></a></p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">Cheers!</p>
<p style="PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; BORDER-RIGHT-WIDTH: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 5px; OUTLINE-WIDTH: 0px; PADDING-RIGHT: 5px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; COLOR: rgb(102,102,102); FONT-SIZE: 12px; VERTICAL-ALIGN: baseline; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 10px; background-origin: initial; background-clip: initial">Alex Nino - YoAmbulante.com</p></span></span>]]></description>
			<author>no@spam.com (Alex Nino)</author>
			<pubDate><![CDATA[Mon, 07 Feb 2011 00:00:00 CST]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/53/A-good-comparison-between-HTML5-and-Flash.html</guid>
		</item>
		<item>
			<title><![CDATA[Facebook and Twitter buttons in Flash and Flex]]></title>
			<link>http://www.actionscript.org/resources/blogs/52/Facebook-and-Twitter-buttons-in-Flash-and-Flex.html</link>
			<description><![CDATA[Here's Actionscript code for a "Tweet This" button for Twitter, or "Like" or "Recommend" button for Facebook. When the button is clicked, call the socialUpdate() function below, passing in the text and link that you wish to post. For example:<br/><br/>socialUpdate("twitter", "Views from space", "http://www.esa.int/esaHS/SEMG2856JGG_index_mg_1.html");<br/><br/><img title="" alt="" src="http://www.actionscript.org/resources/content_images/1505/share.png" align="Baseline" border="0" height="92" width="390"/><br/><br/>Both the text and the link can be blank. Here's the code to include:<br/><br/>function socialUpdate(site:String, text:String = "", link:String = "")<br/>{<br/>    // initialize<br/>    var siteURL:String;<br/>    var maxLength:Number;<br/>    switch (site)<br/>    {<br/>        case "facebook":<br/>            maxLength = 255;<br/>        break;<br/>        case "twitter":<br/>            maxLength = 140;<br/>        break;<br/>        default:<br/>            return;<br/>        break;<br/>    }<br/>    <br/>    // truncate passed text if necessary<br/>    var availableTextLength:Number = maxLength - (link.length + 1);<br/>    if (text.length > availableTextLength)<br/>    {<br/>        text = text.substr(0, (availableTextLength - 3)) + '...';<br/>    }<br/>    <br/>    // construct url to site<br/>    switch (site)<br/>    {<br/>        case "facebook":<br/>            siteURL = "http://www.facebook.com/share.php?u=" + encodeURIComponent(link) + "&t=" + encodeURIComponent(text);<br/>        break;<br/>        case "twitter":<br/>            siteURL = "http://twitter.com/share?text=" + encodeURIComponent(text) + "&url=" + encodeURIComponent(link);<br/>        break;<br/>    }<br/>    <br/>    // open new popup window to site<br/>    var urlRequest:URLRequest = new URLRequest(siteURL);<br/>    navigateToURL(urlRequest, "_blank");<br/>}<br/><br/>Truncating the tweet text and ending it with an ellipsis was something I saw on <a  href="http://www.saschakimmel.com/2009/05/how-to-create-a-dynamic-tweet-this-button-with-javascript/">Sascha Kimmel</a>'s blog.<br/><br/>When creating a Facebook post for a web page, you can specify the page's title, description and thumbnail that appear on the Facebook post. This is optional, as Facebook will try to find a good thumbnail image and text for the page if they are not provided by you. To provide them, add the following meta tags to the HEAD section of the web page:<br/><br/><meta property="og:title" content="Views from Space" /><br/><meta property="og:description" content="Photos of Earth from the International Space Station's Cupola" /><br/><meta property="og:image" content="http://www.esa.int/images/iss025e009840,0.jpg" /><br/><br/>The image for the thumbnail should be roughly square, with minimum dimensions of 50 x 50 pixels. It can be a PNG, JPEG, or GIF image.<br/>]]></description>
			<author>no@spam.com (Haik Sahakian)</author>
			<pubDate><![CDATA[Fri, 14 Jan 2011 00:00:00 CST]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/52/Facebook-and-Twitter-buttons-in-Flash-and-Flex.html</guid>
		</item>
		<item>
			<title><![CDATA[Using a Color Gradient as the Text Color in Flex 3]]></title>
			<link>http://www.actionscript.org/resources/blogs/47/Using-a-Color-Gradient-as-the-Text-Color-in-Flex-3.html</link>
			<description><![CDATA[<p>Flex 3 or Flash doesn&#08217t natively support using a color gradient as the color for text. Instead, you need to create a gradient bitmap and use a bitmap of the text as a mask against the gradient. <br/>
    <br/>
Here&#08217s a quick function that does this, using the <a target="_blank"  href="http://userflex.wordpress.com/2008/01/30/add-canvas-gradient/">GradientCanvas</a> class from Nick Schneble&#08217s blog.  To use the function, pass in an ID of a Flex 3 text field, the X and Y coordinates at which the gradient text is to appear, and the name of a CSS class defining the gradient colors. </p>
<p>For example, if you had a text field that looked like:<br/></p><p><mx:Text text="Gradient Text" id="myTextField" x=&#0822110&#08221 y=&#0822110&#08221 /></p>
<p>Then the function call would look like:</p><p>drawGradientText(this, myTextField, 10, 10, "gradientStyle");</p>
<p>Your code would also need to include the <a target="_blank"  href="http://userflex.wordpress.com/2008/01/30/add-canvas-gradient/">GradientCanvas</a> class, and define a CSS class like this:</p><p>.gradientStyle    {fill-alphas: 1,1; fill-colors: #ff0000, #0000ff; corner-radius: 0}<br/>
</p>
<p><img title="" alt="" src="http://www.actionscript.org/resources/content_images/1505/gradient.png" width="345" align="Baseline" border="0" height="59"/><br/></p><p>The complete function is:</p><p>    public static function drawGradientText(container:UIComponent, sourceText:Text, sourceTextX:Number, sourceTextY:Number, gradientStyleName:String)<br/>
    {<br/>
       // check text height and width as zero values will lead to an invalid bitmap error<br/>
   if ( (sourceText.height < 1) || (sourceText.width < 1) ) return;</p>
<p>        // create a bitmap version of text to be used as a stencil<br/>
       var bitmapData:BitmapData = new BitmapData(sourceText.width, sourceText.height, true, 0);<br/>
       // use a matrix when writing into the bitmap to preserve transparency<br/>
       bitmapData.draw(sourceText, new Matrix());<br/>
       // convert the bitmap data into an image object to be able to add it to the flex stage as a UI Component<br/>
       var bitmap:Bitmap = new Bitmap(bitmapData, "auto", true);<br/>
       var image:Image = new Image();<br/>
       image.source = bitmap;<br/>
       image.cacheAsBitmap = true;<br/>
       // object and mask have to be directly over each other on the stage<br/>
       image.x = sourceTextX; <br/>
       image.y = sourceTextY;<br/>
       // add to the stage<br/>
       container.addChild(image);<br/>
    <br/>
       // create a gradient with the same size as the text bitmap<br/>
       var gradientCanvas:GradientCanvas = new GradientCanvas();<br/>
       gradientCanvas.width = sourceText.width;<br/>
       gradientCanvas.height = sourceText.height;<br/>
       // object and mask have to be directly over each other on the stage<br/>
       gradientCanvas.x = sourceTextX;<br/>
       gradientCanvas.y = sourceTextY;<br/>
       // set gradient colors<br/>
       gradientCanvas.styleName = gradientStyleName;<br/>
       // make the gradient's vector art available as a bitmap in Flash<br/>
       gradientCanvas.cacheAsBitmap = true;<br/>
       // mask the gradient with the text stencil<br/>
       gradientCanvas.mask = image;<br/>
       // add to the stage<br/>
       container.addChild(gradientCanvas);<br/>
    }<br/>
</p>

 ]]></description>
			<author>no@spam.com (Haik Sahakian)</author>
			<pubDate><![CDATA[Wed, 25 Aug 2010 00:00:00 CDT]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/47/Using-a-Color-Gradient-as-the-Text-Color-in-Flex-3.html</guid>
		</item>
		<item>
			<title><![CDATA[Measuring and Reproducing a Low-Bandwidth Environment for Flash Video]]></title>
			<link>http://www.actionscript.org/resources/blogs/45/Measuring-and-Reproducing-a-Low-Bandwidth-Environment-for-Flash-Video.html</link>
			<description><![CDATA[<span style="font-weight: bold;"> Measuring bandwidth</span><br style="font-weight: bold;"><br/><a  href="http://www.youtube.com/my_speed">YouTube&#08217s speed testing site</a> gives a good estimate of how fast videos can play on a computer. Video streaming servers often have their bandwidth limited for a particular connection to 140% of the highest needed bandwidth for the video to play, so it&#08217s normal for a video to not fill up its buffer as fast as a network connection could allow.<br/><br/>YouTube&#08217s numbers for its customers show that typical bandwidth for the USA is 4.21 Mbps. This is more than enough for online video applications. As a comparison, today&#08217s high quality &#08220HD&#08221 web video is about 3 Mbps, regular DVD is 5 Mbps, and Blu-Ray DVD is <a  href="http://en.wikipedia.org/wiki/Bit_rate#Video">40 Mbps</a>. In 2005, typical web video was 0.3 Mbps (300kbps).<br/><br/><span style="font-weight: bold;">Reproducing a low-bandwidth environment</span><br style="font-weight: bold;"><br/>The easiest way to test on a low-bandwidth environment is to use a macintosh and ask the Mac OS firewall to limit the speed on a specific network port. This will limit the network speed on that port for the entire computer.<br/><br/>The ports that should be limited to simulate low-bandwidth web video performance issues are:<br/>Port 80: Non-encrypted HTTP traffic<br/>Port 443: Encrypted HTTPS traffic<br/>Port 1935: Streaming RTMP video<br/><br/>These are the only 3 ports required to limit. Note that this will reduce bandwidth for all applications using these ports, so you will notice the performance difference for all web pages, not just the ones you are testing.<br/><br/>O'Reilly's Mac Dev center has a good <a  href="http://tim.oreilly.com/pub/a/mac/2005/03/15/firewall.html">introduction to the Mac OS firewall</a>, and MacTipsAndTricks.com has a good <a  href="http://www.mactricksandtips.com/2008/12/throttling-bandwidth-on-a-mac.html">overview</a> of using it to reduce bandwidth. <br/><br/>As an example, to limit network activity to 50K a second (400Kbps, 0.4 Mbps), open a Terminal window in the Mac OS and enter the following:<br/><br/>sudo ipfw pipe 1 config bw 50KByte/s<br/>sudo ipfw add 1 pipe 1 src-port 80<br/>sudo ipfw pipe 2 config bw 50KByte/s<br/>sudo ipfw add 2 pipe 2 src-port 1935<br/>sudo ipfw pipe 3 config bw 50KByte/s<br/>sudo ipfw add 3 pipe 3 src-port 443<br/><br/>To remove the bandwidth limiting, enter the following:<br/>sudo ipfw delete 1<br/>sudo ipfw delete 2<br/>sudo ipfw delete 3<br/><br/>The bandwidth limits are set per port, so the browser's true bandwidth will be is higher because multiple ports may be used to render a page. HTML content is almost always loaded on port 80; streaming video is usually on port 1935. Once an HTML page has loaded and the video is playing, the bandwidth limit on streaming video will be accurate.<br/>]]></description>
			<author>no@spam.com (Haik Sahakian)</author>
			<pubDate><![CDATA[Sun, 09 May 2010 00:00:00 CDT]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/45/Measuring-and-Reproducing-a-Low-Bandwidth-Environment-for-Flash-Video.html</guid>
		</item>
		<item>
			<title><![CDATA[Swfobject needs a <HEAD> tag in Safari]]></title>
			<link>http://www.actionscript.org/resources/blogs/44/Swfobject-needs-a-ltHEADgt-tag-in-Safari.html</link>
			<description><![CDATA[<a  href="http://code.google.com/p/swfobject/">Swfobject</a> creates 
child nodes inside the HEAD of a web page, so if a HEAD is not present it fails in 
Safari. You can place the swfobject.js in the body of your page as long 
as you have a head tag, even if it's an empty one.]]></description>
			<author>no@spam.com (Haik Sahakian)</author>
			<pubDate><![CDATA[Tue, 27 Apr 2010 00:00:00 CDT]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/44/Swfobject-needs-a-ltHEADgt-tag-in-Safari.html</guid>
		</item>
		<item>
			<title><![CDATA[Two Minute Guide to the JavaScript Security Model]]></title>
			<link>http://www.actionscript.org/resources/blogs/43/Two-Minute-Guide-to-the-JavaScript-Security-Model.html</link>
			<description><![CDATA[The creators of the web allowed web pages to include content like images
 from any other server on the internet. But to protect web pages from 
being read by other web sites, they prevented web pages from talking to 
each other with JavaScript unless they were both from the same server.<br/><br/>As

 a result, pages can include images, CSS files, and JavaScript files 
from any server they wish. Framesets and IFRAMEs can also load web pages
 from anywhere. But JavaScript cannot communicate between two different 
servers.<br/><br/>This is a challenge for JavaScript programmers who would
 like to load data from another server. The most common solution takes 
advantage of the fact that JavaScript files are treated as regular 
network objects when being loaded (they can come from any server), but 
are bound by the stricter single origin policy when executing their 
script. Data can be passed to a different server as URL parameters on 
the SRC attribute of a SCRIPT tag, and is returned from that server when
 the JavaScript contents of the returned script file are executed.<br/><br/>Using

 this method to pass XML data from server to server is a little hard to 
work with because the XML has to be wrapped in JavaScript to be legal in
 a SCRIPT tag. It became easier for a server to output data in 
JavaScript itself rather than use XML. This JavaScript-based data format
 is called JSON, and is commonly used when sending data to a web page 
via a SCRIPT tag.<br/><br/>Sensitive data should not be transmitted in 
this way. Data being passed via a SCRIPT tag can indeed be read by a 
different web server, but it can now also be read by any web server.<br/><br/>In
 fact, if a regular HTML page mistakenly 
starts with JavaScript code instead of an HTML tag as it should, it 
becomes readable by a SCRIPT tag on a different server. Browsers will 
not allow non-script to be read in this way, but if your HTML page 
starts with JavaScript code, whether in a SCRIPT tag of its own or not, 
browsers will mistake the web page for an external script file and allow
 access. Validating HTML files protects against this.<br/><br/>Upcoming
 versions of HTML will allow web pages to establish trusted 
relationships with other web servers, but at present the most common way
 to share data between servers is to use a proxy server. A
 client-side Flash proxy can also be used, as Flash's crossdomain.xml 
allows data to be securely shared between different web servers.]]></description>
			<author>no@spam.com (Haik Sahakian)</author>
			<pubDate><![CDATA[Wed, 21 Apr 2010 00:00:00 CDT]]></pubDate>
			<guid isPermaLink="true">http://www.actionscript.org/resources/blogs/43/Two-Minute-Guide-to-the-JavaScript-Security-Model.html</guid>
		</item>
	</channel>
</rss>
