<?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>Flash / Flex / HTML5 Game And App Development With Tutorials</title>
	<atom:link href="http://www.RivelloMultimediaConsulting.com/feed/?doing_wp_cron=1337315447" rel="self" type="application/rss+xml" />
	<link>http://www.RivelloMultimediaConsulting.com</link>
	<description>Software Architecture &#124; Consulting &#124; Development &#124; Training</description>
	<lastBuildDate>Thu, 17 May 2012 20:35:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Considering Flash-To-Mobile Development</title>
		<link>http://www.RivelloMultimediaConsulting.com/considering-flash-to-mobile-development/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/considering-flash-to-mobile-development/#comments</comments>
		<pubDate>Tue, 01 May 2012 08:26:37 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.blog.rivellomultimediaconsulting.com/?p=1354</guid>
		<description><![CDATA[Learn when it is best to use Flash for mobile (iOS, Android, etc...) development.]]></description>
			<content:encoded><![CDATA[<h3>THE CHOICES</h3>
<p>Software development has gone mobile. We see a large audience using smartphones and tablets, and as developers/marketers/entrepreneurs we want in. When planning such a project there are myriad decisions.</p>
<h3>CHOOSE &#8211; THE PLATFORM</h3>
<p>The choice of target platform (e.g. iOS) and target device (e.g. iPad2) is a primary consideration. Apple&#8217;s iOS hits the majority of the market but with time others will mature and may offer more competition. Moreover to hit your market you may be best served to <span style="text-decoration: underline;">offer your software to more than one platform</span> and more than one device-per-platform. Quite quickly a rather conservative project can target 5-10 unique pieces of hand-held hardware.</p>
<h3>CHOOSE &#8211; THE DEVICE</h3>
<p>Each device offers unique features. The market-penetration, platform, processor-speed, input-capabilities, screen-size, and other factors are all important. Two major form-factor camps are &#8216;phone&#8217; size and &#8216;tablet&#8217; size. There is some overlap between these categories such as the Samsung Galaxy 1000.</p>
<h3>CHOOSE &#8211; THE MONETIZATON</h3>
<p>There are many monetization schemes possible. Here are a few of the popular ones;</p>
<ul>
<li>Free &#8211; To gain experience and reputation.</li>
<li>Freemium &#8211; Offer a free version and market within the experience for a pay-version with more features.</li>
<li>Ads &#8211; Integrate video ads, animated ads, or still ads into the experience.</li>
<li>Micro-transactions &#8211; Offer bite-sized purchase opportunities which enhance the experience.</li>
</ul>
<h3>CHOOSE &#8211; THE DEVELOPMENT PATH</h3>
<p>When the platform(s) and device(s) have been chosen, the path to develop must be chosen. In general there are two strategies</p>
<p>a) Native App Development &#8211; This means you use the 1st-party language (and tools) offered by the platform creators. This means using XCode tool with Cocoa framework coded with the Objective-C language when developing for iOS. Native development generally offers the very best potential performance (i.e. for high-end gaming) and tightest integration to the devices (e.g. detect battery level, etc&#8230;) and OS/marketplaces (e.g. iOS in-app-purchase).</p>
<p>b) Non-Native App Development &#8211; Many 3rd parties offer code libraries and tools to &#8216;speed up development&#8217;. Some of these are in the native language and some are not. Some of <span style="text-decoration: underline;">these non-native solutions offer the ability to &#8216;code once (so to speak) and deploy to multiple platforms&#8217;</span>.</p>
<p>c) Mobile Web Development &#8211; Instead of a standalone application, an experience can be made available via web-browser and development to fit the size of the target (mobile) device(s). With HTML5 much is possible, but in general this is used for less-expressive less-device-specific experiences. It can also be a very inexpensive way to &#8216;break into mobile&#8217;, as you can use assets/code from your existing website..</p>
<h3>CROSS-PLATFORM DEVELOPMENT</h3>
<p>While the ability to develop one project for multiple platforms offers many advantages in saved development time and ease in maintenance, it also offers many challenges. Designing a compelling application that takes advantage of the unique features of each device and looks polished on the dizzying array of screen sizes out there can be daunting. For Flash-To-Mobile there are many resources on <a href="http://www.adobe.com/devnet/devices.html">Adobe&#8217;s Mobile Devnet</a> to help you learn the basics.</p>
<h3>BACKEND</h3>
<p>It is possible for an application to be self contained, including all data/assets with the original install. This is common for games. However many projects require internet connectivity. The data/assets loaded can reside on existing servers outside of your control, or can reside on your own servers. Custom backend solutions using typical backend languages (c++, Java, PHP, Python, etc&#8230;) may also be required. All of this depends on your particular project. In general any of the development-paths can contact any of these backend solutions, but some may connect more easily than others.</p>
<h3>EXAMPLE&#8230;</h3>
<p>Let&#8217;s assume you have a great new game and want to capture a &#8216;big audience&#8217; with &#8216;modest investment&#8217;. If the application does not require deep-device-integration a recommended choice is to target both iOS (iPad1/iPad2, iPhone3G/iTouch3G, iPhone4G/iTouch4G) and Android (various devices). If your team has Flash expertise the Flash-To-Mobile publish path may be ideal.</p>
<h1>FLASH-TO-MOBILE</h1>
<p>With Flash CS6 and more-so Flash Builder 4.6, Flash/Flex developers can publish ONE codebase to MULTIPLE platforms. Using Adobe&#8217;s AIR 2.7 (latest public release) you can develop many platforms &amp; Devices.</p>
<p><strong>Compatible Target Platform/Devices</strong>: Web-Browser (Mac+Windows+Linux+Non-iOS Mobile Browsers), Desktop (Mac+Windows+Linux), iOS (Ipad1+Ipad2, iPhone+iTouch 3rd Generation, iPhone+iTouch 4rd Generation-Retina), Android (Myriad Devices), Blackberry Tablet OS (Blackberry Tablet).</p>
<p><strong>Supported Flash-To-Mobile Device-Specific Features</strong>: Flash-To-Mobile does offer view-persistance, data-persistance, video playback, still-camera capture, still-camera-roll save/load, internet access, in-app web-browsing, accelerometer/gyroscope, Microphone, Geolocation, Multitouch, File-system access. Not all devices offer the same features. In the future &#8216;Native Extensions&#8217; (see below) offer a solution.</p>
<p><strong>Project Setup</strong>: A recommended options is one bulky Flex Library with (most) all code and assets, and then one Flex Project *PER PLATFORM*. You add/edit to the library and publish each of the projects as needed. You can test with an mobile-emulator (fastest) window that appears on your computer, or on the device via USB (best to test hardware features like accelerometer. The &#8216;flash&#8217; code is converted to &#8216;native code&#8217; (so to speak) before deployment.</p>
<p><strong>Deployment</strong>: Upon completion the platform-specific file is uploaded to the platform-specific marketplace (e.g. iTunes&#8217; App Store for iOS). A Flash-to-Mobile project sits along-side native applications. Ostensibly users have no idea the application was developed with non-native tools. The marketplaces do not delineate this or otherwise make that info available in any way to users. The end-user experience can be indistinguishable from a native app (project type and project polish depending).</p>
<h3>NATIVE EXTENSIONS</h3>
<p>In light of the &#8216;Device-Specific&#8217; features listed above, Flash-to-mobile currently leaves us without everything we may want to do (e.g. iOS in-app-purchase). The yet unreleased (release date is &#8216;early October 2011&#8242;) Adobe AIR 3.0 will include &#8216;Native Extensions&#8217;. In short, <strong>this allows for *ANY* Flash-to-mobile project to access *ANY* feature on *ANY* supported device</strong> (Android / iOS / Blackberry Tablet). Developer will require knowledge of both AS3 (flash) as well as the Native language(s) on the target device(s) to add new features. Or your team can find free and premium extensions which the community could share. This is not just for mobile, this technology will also allow AIR on desktop computers and AIR on TV&#8217;s to integrate with those devices too.</p>
<h3><strong>LINKS</strong></h3>
<p>Native Mobile Development</p>
<ul>
<li><a href="http://developer.android.com/index.html">Google Android</a></li>
<li><a href="http://developer.apple.com/programs/ios/">Apple iOS</a></li>
<li><a href="http://us.blackberry.com/developers/tablet/">Blackberry Tablet OS</a></li>
</ul>
<p>Marketplaces</p>
<ul>
<li><a href="http://www.apple.com/itunes/charts/free-apps/">iOS App Store (iTunes)</a></li>
<li><a href="https://market.android.com/?hl=en">Google&#8217;s Android Marketplace</a></li>
<li><a href="http://www.amazon.com/mobile-apps/b?ie=UTF8&amp;node=2350149011">Amazon&#8217;s Android Marketplace</a></li>
</ul>
<p>Non-Native Mobile Development &#8211; Flash-To-Mobile</p>
<ul>
<li><a href="http://www.adobe.com/devnet/devices.html">Flash-To-Mobile (Using Flash and/or Flex)</a> for iOS/Android/Blackberry Tablet OS&#8230; also Desktop/TV/Browser</li>
<li><a href="http://www.leebrimelow.com/?p=2732">Success Bringing Flash Games to iOS</a></li>
<li><a href="http://blogs.adobe.com/flashplayer/2011/03/adobe-air-2-6-sdk-now-available-with-updated-ios-support.html"> AIR 2.6 (Available in Full Release)</a> &#8211; Commonly in use today.</li>
<li><a href="http://labs.adobe.com/technologies/flashplatformruntimes/air3/">AIR 3.0 (Available in Public Beta Now)</a> &#8211; Offering Native Extensions and more.</li>
<li>Example of <a href="http://dispatchevent.org/mims/air-on-ios-vindicated-by-machinarium/">Best-Seller Flash-To-Mobile Game for iOS</a></li>
<li>Example of <a href="http://gregsramblings.com/2011/06/28/adobe-flex-app-is-the-1-news-app-in-itunes-app-store/">Best-Seller Flash-To-Mobile App for iOS</a></li>
<li><a href="http://www.adobe.com/devnet/flash/articles/combine-swfs-with-swcs.edu.html">Flash-To-Mobile for iOS &#8211; Using SWC files</a> to build large Flash and AIR projects with multiple SWF files</li>
</ul>
<p>Non-Native Mobile Development &#8211; Others</p>
<ul>
<li><a href="http://www.anscamobile.com/corona/">Corona</a> for iOS/Android</li>
<li><a href="http://gameviewpoint.com/corona-vs-adobe-air/" target="_blank">Corona vs Adobe AIR</a> (Great Article)</li>
<li><a href="http://rhomobile.com/">RhoMobile</a> for iOS/Android</li>
<li><a href="http://www.appcelerator.com/">Appcelerator</a> for iOS/Android</li>
<li><a href="http://www.mosync.com/">Mosync</a> for iOS/Android</li>
<li><a href="http://www.phonegap.com/">Phonegap</a> for HTML5 Mobile-Browsers</li>
</ul>
<h1><strong>THE FUTURE</strong></h1>
<p>Some of what is coming in the future is listed below.. This may or may not all be included in the very-next tools. Recently Adobe has announced <a href="http://www.adobe.com/devnet/flex/articles/whats-new-flex-flash-builder-46.html">What&#8217;s new in Flex 4.6 SDK and Flash Builder 4.6</a>.</p>
<h2>I. The Second Coming (Halleluiah) &#8211; Flash-To-Mobile Native Extensions</h2>
<p>This future feature will ostensibly allow Flash-To-Mobile projects to access *ANY* feature on *ANY* targeted device (e.g. in-app-purchase on iOS).</p>
<ul>
<li><a href="http://www.flashmobileblog.com/2011/09/07/air-3-native-extensions/">Adobe AIR 3.0 Native Extension &#8211; Explained!</a></li>
<li><a href="http://www.flashmobileblog.com/2011/09/15/air-3-mapview-native-extension-on-ios/">Adobe AIR 3.0 Native Extension &#8211; Demo Mapview on iOS</a></li>
<li><a href="http://www.adobe.com/devnet/air/articles/extending-air.html">Adobe AIR 3.0 Native Extension &#8211; Tutorial 1</a></li>
<li><a href="http://blog.aboutme.be/2011/09/12/air-native-extensions-hello-world-example-ant-script/">Adobe AIR 3.0 Native Extension &#8211; Tutorial 2</a></li>
</ul>
<p><span style="color: #000000;"><strong>Updated Febrary 23, 2012: See Here&#8230;</strong></span><br />
<a name="stage3d"></a></p>
<h2>II. The Second Coming (Halleluiah) &#8211; Stage3D</h2>
<p><a name="stage3d"></a><br />
Stage3D (Formerly codenamed &#8216;Molehill&#8217;) is a set of API&#8217;s available in the future that will ostensibly allow Flash Browser projects (using Flash Player 11) and Flash-To-Mobile projects (using Adobe AIR 3.0) to show high-grade hardware rendered 3D. Finally, the Flash Platform can truly compete as a 3D gaming engine. The same API (despite the name) can also be used for radically improved 2D gaming performance too.</p>
<p><span style="color: #ff0000;">NOTE</span>: These API&#8217;s are low-level and challenging to understand. We expect 3rd parties will wrap this functionality with easy-to-use API&#8217;s for free/premium use.</p>
<ul>
<li><a href="http://www.adobe.com/devnet/flashplayer/stage3d.html" target="_blank">Stage3D &#8211; Explained!</a></li>
<li><a href="http://alternativaplatform.com/en/alternativa3d/">Stage3D &#8211; Demo!</a></li>
<li><a href="http://blog.flash-core.com/?p=271">Stage3D &#8211; How-To! (For 3D Gaming)</a></li>
<li><a href="http://www.flashrealtime.com/m2d/">Stage3D &#8211; How-To! (For 2D Gaming)</a></li>
<li><a href="http://www.unrealengine.com/flash/" target="_blank">Unreal Releases &#8216;Citadel&#8217;</a> &#8211; The first interactive demo of UNREAL engine running in Flash Player.</li>
<li><a href="http://www.leebrimelow.com/?p=3255" target="_blank">BlackSun Game for Stage3D</a></li>
</ul>
<p><span style="color: #000000;"><strong>Update March 10, 2012: See Here&#8230;</strong></span><br />
<span style="color: #000000;"> <a name="stage3d-for-mobile"></a></span></p>
<h2>III. The Second Coming (Halleluiah) &#8211; Air 3.2 = Stage3D for Mobile + Many Stage3D Frameworks</h2>
<p><a name="stage3d-for-mobile"></a></p>
<p style="text-align: left;">So with AIR 3.2  (<a href="http://blogs.adobe.com/labs/archives/2011/10/adobe-air-3-2-beta-adobe-flash-player-11-2-beta-for-desktops-released-to-labs.html" target="_blank">See Adobe Press Release</a>) we can use Stage3D for mobile. This means GPU-Accelerated graphics on iOS/Android. I think there is a marketable benefit on getting the Flash Player to compete against other 3D gaming solutions (such as <a href="http://unity3d.com/" target="_blank">Unity3D</a>) and perhaps compete less with emerging 2D gaming solutions (such as <a href="../flyergame-for-html5/" target="_blank">HTML5 gaming</a>) so I can sympathize with Adobe’s (better late than never) focus on 3D for Flash. This article “<a href="http://blog.kaourantin.net/?p=138" target="_blank">Why Starling (or any other 2D framework on top of Stage3D)?</a>” explains some really good reasoning.</p>
<p style="text-align: left;">YouTube determined that the request did not contain proper authentication.</p>
<p>Mind-blowing Demo&#8217;s of AIR 3.2 on mobile</p>
<ul>
<li><a href="http://www.flashstreamworks.com/2012/02/28/five-air-3-2-stage3d-mobile-demos-that-will-knock-your-socks-off/" target="_blank">Five AIR 3.2 Stage3D Mobile Demos That Will Knock Your Socks Off </a></li>
<li><strong> </strong><a href="http://itunes.apple.com/us/app/spaced-away/id485299549">Spaced Away</a> is the first game in the iOS app store to feature Stage3D by developers <a href="http://www.falanxia.com/#home">Falanxia</a>.</li>
</ul>
<p>Regardless of why, Stage3D is here, and Starling’s power lies in how it uses the Stage3D – first available in Flash 11 and AIR 3.0. Stage3D is designed for GPU accelerated 3D. While its possible to use the Stage3D API’s directly, it is very difficult. There are 3D frameworks for AS3 , but for many game developers we can exploit its power for 2D gaming. That’s why Starling focuses purely on 2D. So an API like Starling helps developers make great content – quickly.</p>
<p>AS3 frameworks use Stage3D for 3D gaming;</p>
<ul>
<li><a href="http://flare3d.com/" target="_blank">Flare3D</a>,</li>
<li><a href="http://alternativaplatform.com/en/" target="_blank">Alternativa3D</a>,</li>
<li><a href="http://away3d.com/" target="_blank">Away3D</a>,</li>
<li><a href="http://aerys.in/minko/" target="_blank">Minko</a></li>
</ul>
<p>AS3 frameworks use Stage3D for <span style="text-decoration: underline;">2D gaming;</span></p>
<ul>
<li><a href="http://gamua.com/starling/" target="_blank">Starling</a></li>
<li><a href="http://www.nulldesign.de/category/experiments/nd2d/" target="_blank">ND2D</a></li>
<li><a href="http://www.flashrealtime.com/m2d/" target="_blank">M2D</a></li>
<li><a href="http://atom.retromodular.com/" target="_blank">AtomEngine</a></li>
<li><a href="http://citrusengine.com/" target="_blank">Citrus Engine</a> (Recently <a href="http://www.aymericlamboley.fr/blog/citrusengine-goes-stage3d-with-starling/" target="_blank">Upgraded</a> To Stage3D)</li>
</ul>
<p>Key Articles I&#8217;ve written on the subject</p>
<ul>
<li><a href="www.rivellomultimediaconsulting.com/intro-to-starling-framework/" target="_blank">Intro To the Starling Framework</a> (Read It!)</li>
<li><a href="http://www.rivellomultimediaconsulting.com/angry-birds-launches-with-flash/" target="_blank">Angry Birds Launches on Facebook with Starling</a></li>
</ul>
<div>
<h1>Stage3D Games</h1>
<div>
<div><img src="http://gaming.adobe.com/wp-content/uploads/2012/03/showcase__0013_spaced.png" alt="Spaced Away" /></p>
<div>
<h5>Spaced Away</h5>
<hr />
<p>Falanxia brings its FWA Award –winning space physics puzzle game to both iPad and your web browser.</p>
<p><a href="http://spacedaway.com/">Play game</a> <a href="http://falanxia.posterous.com/spaced-away-is-fwa-mobile-of-the-day">Learn more</a></p>
</div>
</div>
</div>
<div>
<div><img src="http://gaming.adobe.com/wp-content/uploads/2012/03/showcase__0005_angry.png" alt="Angry Birds Facebook" /></p>
<div>
<h5>Angry Birds Facebook</h5>
<hr />
<p>Join your friends on Facebook to take out Rovio’s famous pigs with enhanced special effects.</p>
<p><a href="https://www.facebook.com/angrybirds">Play game</a> <a href="https://www.facebook.com/angrybirds">Learn more</a></p>
</div>
</div>
</div>
<div>
<div><img src="http://gaming.adobe.com/wp-content/uploads/2012/03/showcase__0014_waste.png" alt="Waste Invaders" /></p>
<div>
<h5>Waste Invaders</h5>
<hr />
<p>Waste Creative&#8217;s tech demo lets you blast aliens at a silky smooth 60 fps, across browsers and iPad, with Stage3D.</p>
<p><a href="http://www.waste-creative.com/games/invaders/">Show demo</a> <a href="http://gaming.adobe.com/getstarted/">Get the source</a></p>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/considering-flash-to-mobile-development/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Node.js for Flash &amp; Flex Introduction</title>
		<link>http://www.RivelloMultimediaConsulting.com/node-js-for-flash-and-flex-introduction/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/node-js-for-flash-and-flex-introduction/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 19:50:18 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Full Tutorials]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3444</guid>
		<description><![CDATA[Easily setup your first server side JavaScript and communicate with Flash / Flex.]]></description>
			<content:encoded><![CDATA[<p>While researching technologies for a new Flash multiplayer gaming project, I came across Node.js as a backend techology. I&#8217;ve heard of it for a while, but have not yet used it. Its nice.</p>
<p><a href="http://nodejs.org/" target="_blank">Node.js</a> is a server software that allows you to a) run JavaScript on the server and b) talk to/from the client-side using http and socket connections. While not designed with Flash in mind, you can easily connect Flash (or Flex) to the socket connection and get real-time data flowing to/from. Very nice.</p>
<h3>Uses for Node.js with Flash</h3>
<p>What I think is immediately attractive is that you can easily setup a backend for your games. Its running in JavaScript which is easy to use and learn and the write-compile-test cycle couldn&#8217;t be faster. You could feed dynamic data to your game such as levels in a level based game. You could feed configuration information in so that you can easily edit it without editing your Flash project. You can create real-time data feeds or multiplayer gaming.</p>
<p>Note: Node.js is light-weight. You&#8217;ll have to code pretty much anything (multiplayer gaming) you want to add to it. It is a great starting point though.</p>
<h1>Tutorial</h1>
<p>I created the following example, and this post within an hour. Within 5 minutes you can setup your own running version of the demo shown in the post. Follow along here or simply download the full source code (See &#8216;Member Resources&#8217; below) and check it out.</p>
<p><strong>Note</strong>: I&#8217;m running the node.js server and the Flash swf on my local computer. I imagine this is where I would develop the full game. Its fast and easy to run/edit/run. Then I&#8217;d migrate the project to a server. I *think* its trivial to get this running up on a webserver for your users to enjoy, but I have not done that yet.</p>
<h3>A. Installing Node.js (on Mac)</h3>
<ol>
<li>Download <a href="http://nodejs.org/" target="_blank">Node.js</a></li>
<li>Run the installer</li>
<li>You now use the Mac OSX Terminal program on Mac (or Find any ssh terminal emulator program for Windows) to run Node. We&#8217;ll do that farther below.</li>
<li>Done!</li>
</ol>
<h3>B. Running the server on Node.js (via Socket)</h3>
<ol>
<li>Create a new text file HelloWorldNodeJS.js and save (anywhere?) on your local machine</li>
<li>Edit the file in your favorite text editor. For now, just enter the code below this list into that file and save.</li>
<li>Open Terminal and run one line -  &#8216;node /path/to/your/dir/HelloWorldNodeJS.js&#8217;</li>
<li>Done!</li>
</ol>
<pre class="brush: as3; title: ; notranslate">

// --------------------------------------
// Imports
// --------------------------------------
var net = require('net');
var mySocket;

// --------------------------------------
// Construct The Socket
// --------------------------------------
// create the server and register event listeners
var server = net.createServer(function(socket) {
	mySocket = socket;
	mySocket.on(&quot;connect&quot;, onConnect);
	mySocket.on(&quot;data&quot;, onData);
});

// --------------------------------------
// Events
// --------------------------------------
/**
 * Handles the Event: &lt;code&gt;&quot;connect&quot;&lt;/code&gt;.
 *
*/
function onConnect()
{
	console.log(&quot;Connected to Flash&quot;);
}

/**
 * Handles the Event: &lt;code&gt;&quot;data&quot;&lt;/code&gt;.
 *
 * When flash sends us data, this method will handle it
 *
*/
function onData(d)
{
	if(d == &quot;exit&#92;&#48;&quot;)
	{
		console.log(&quot;exit&quot;);
		mySocket.end();
		server.close();
	}
	else
	{
		console.log(&quot;From Flash = &quot; + d);
		mySocket.write(d, 'utf8');
	}
}

// --------------------------------------
// Start the Socket
// --------------------------------------
server.listen(9001, &quot;127.0.0.1&quot;);
</pre>
<h3>C. Stopping the server on Node.js (via Socket)</h3>
<p>Once you run B.3 above, the server runs and stays running unless you program your client or server to kill the connection. If you try to run B.3 without killing the connection you&#8217;ll see an error in Terminal (on Mac) containing &#8220;Error: listen EADDRINUSE&#8221;. To manually kill the connection (this is required if you want to edit and run B.3 again) then run the following sequence.</p>
<ol>
<li>Open Terminal (on Mac) and run &#8216;ps aux | grep node&#8217;</li>
<li>This will show a series of lines like this &#8216;srivello       PID   0.0  0.1  3064476   7152 s002  T     4:41PM   0:00.12 node HelloWorldNodeJS.js&#8217;.</li>
<li>Where you see &#8216;PID&#8217; that is the PID. Your PID will be different it will be a #.</li>
<li>Then run &#8216;kill -9 PID&#8217;. Replace PID with your #.</li>
</ol>
<h3><span style="color: #000000;">D. Running the client in AS3 (via Socket)</span></h3>
<ol>
<li>Create a new Flash project using your favorite IDE. My example uses Flash Builder 4.6.x.</li>
<li>Edit your main document class. For now simply replace the class with the code below this list and save.</li>
<li>Compile and run the code. See your output window for the exciting details.</li>
<li>Done!</li>
</ol>
<pre class="brush: as3; title: ; notranslate">

package
{

// --------------------------------------
// Imports
// --------------------------------------
import flash.display.Sprite;
import flash.events.DataEvent;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.net.XMLSocket;
import flash.text.TextField;
import flash.ui.Keyboard;

// --------------------------------------
// Class
// --------------------------------------
/**
 * &lt;p&gt;The &lt;code&gt;NodeJSDemo&lt;/code&gt; class is ...&lt;/p&gt;
 *
 */
public class NodeJSDemo extends Sprite
{

	// --------------------------------------
	// Properties
	// --------------------------------------
	// PUBLIC GETTER/SETTERS
	/**
	 * The core object which connects client to
	 * 	server for real-time communication
	 */
	private var _xmlSocket:XMLSocket;

	/**
	 * The sole UI element to show some test output
	 */
	private var _textField:TextField;

	// PUBLIC CONST

	// PRIVATE

	// --------------------------------------
	// Constructor
	// --------------------------------------
	/**
	 * This is the constructor.
	 *
	 */
	public function NodeJSDemo()
	{
		// SUPER
		super();

		// EVENTS
		addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);

		// VARIABLES

		// PROPERTIES
		_textField = new TextField ();
		_textField.width = 300;
		_textField.height = 300;
		_textField.multiline = true;
		_textField.htmlText = &quot;&quot;;
		addChild(_textField);

		// METHODS

	}

	// --------------------------------------
	// Methods
	// --------------------------------------
	// PUBLIC
	/**
	 * Handles the Event: &lt;code&gt;Event.CHANGE&lt;/code&gt;.
	 *
	 * @param aEvent &lt;code&gt;Event&lt;/code&gt; The incoming aEvent payload.
	 *
	 * @return void
	 *
	 */
	private function _onAddedToStage(aEvent : Event):void
	{
		//	CREATE THE SOCKET AND CONNECT - I'M NOT SURE WHAT PARAMETERS ARE VALID HERE
		//		BUT IT MUST MATCH THE SETTINGS WITHIN THE 'HelloWorldNodeJS.js' FILE YOU ARE USING
		_xmlSocket = new XMLSocket(&quot;127.0.0.1&quot;, 9001);

		// EVENTS
		stage.removeEventListener(MouseEvent.CLICK, 		_onAddedToStage);
		//
		_xmlSocket.addEventListener(Event.CONNECT, 			_onConnected);
		_xmlSocket.addEventListener(IOErrorEvent.IO_ERROR, 	_onIOError);

	}

	// PRIVATE

	// --------------------------------------
	// Event Handlers
	// --------------------------------------
	/**
	 * Handles the Event: &lt;code&gt;Event.CHANGE&lt;/code&gt;.
	 *
	 * @param aEvent &lt;code&gt;Event&lt;/code&gt; The incoming aEvent payload.
	 *
	 * @return void
	 *
	 */
	private function _onConnected(aEvent : Event):void
	{
		//	TRACE
		trace(&quot;onConnect() aEvent: &quot; + aEvent);

		//	EVENTS
		_xmlSocket.removeEventListener(Event.CONNECT, 			_onConnected);
		_xmlSocket.removeEventListener(IOErrorEvent.IO_ERROR, 	_onIOError);
		//
		_xmlSocket.addEventListener(DataEvent.DATA, 			_onDataReceived);
		_xmlSocket.addEventListener(Event.CLOSE, 				_onSocketClose);
		//
		stage.addEventListener(KeyboardEvent.KEY_UP, 			_onKeyUp);

	}

	/**
	 * Handles the Event: &lt;code&gt;Event.CHANGE&lt;/code&gt;.
	 *
	 * @param aEvent &lt;code&gt;Event&lt;/code&gt; The incoming aEvent payload.
	 *
	 * @return void
	 *
	 */
	private function _onSocketClose(aEvent : Event):void
	{
		//	TRACE
		trace(&quot;_onSocketClose aEvent : &quot; + aEvent);

		//	EVENTS
		stage.removeEventListener(KeyboardEvent.KEY_UP, _onKeyUp);
		_xmlSocket.removeEventListener(Event.CLOSE, _onSocketClose);
		_xmlSocket.removeEventListener(DataEvent.DATA, _onDataReceived);
	}

	/**
	 * Handles the Event: &lt;code&gt;KeyboardEvent.KEY_UP&lt;/code&gt;.
	 *
	 * @param aEvent &lt;code&gt;KeyboardEvent&lt;/code&gt; The incoming aEvent payload.
	 *
	 * @return void
	 *
	 */
	private function _onKeyUp(evt:KeyboardEvent):void
	{
		//	HANDLE KEYS
		if (evt.keyCode == Keyboard.ESCAPE) {
			//1. SEND 'KILL THE SERVER' TO THE SERVER
			_xmlSocket.send(&quot;exit&quot;);
		}
		else {
			//2. SEND ANY NON-ESCAPE KEY'S CODE ('38' FOR EXAMPLE) TO SERVER
			//		THIS IS A SILLY EXAMPLE OF SENDING A NUMBER TO THE SERVER
			//		JUST SO THE SERVER CAN SEND IT BACK. SIMPLE.
			_xmlSocket.send(evt.keyCode);
		}
	}

	/**
	 * Handles the Event: &lt;code&gt;DataEvent.DATA&lt;/code&gt;.
	 *
	 * @param aEvent &lt;code&gt;DataEvent&lt;/code&gt; The incoming aEvent payload.
	 *
	 * @return void
	 *
	 */
	private function _onDataReceived(aEvent : DataEvent):void
	{
		try {

			//	Show the server data in text
			_textField.htmlText += (&quot;From Server: &quot; + aEvent.data + &quot;n&quot;);

			//scroll down to show latest line
			_textField.scrollV = _textField.maxScrollV;

		} catch (error : Error) {
			//	TRACE
			trace(&quot;_onDataReceived error:  &quot; + error);
		}
	}

	/**
	 * Handles the Event: &lt;code&gt;IOErrorEvent.IO_ERROR&lt;/code&gt;.
	 *
	 * @param aEvent &lt;code&gt;IOErrorEvent&lt;/code&gt; The incoming aEvent payload.
	 *
	 * @return void
	 *
	 */
	private function _onIOError(aEvent : IOErrorEvent):void
	{
		//	TRACE
		trace(&quot;_onIOError aEvent: &quot; + aEvent);

		//	EVENTS
		_xmlSocket.removeEventListener(Event.CONNECT, _onConnected);
		_xmlSocket.removeEventListener(IOErrorEvent.IO_ERROR, _onIOError);
		stage.addEventListener(MouseEvent.CLICK, _onAddedToStage);
	}

}
}
</pre>
<h3>E. Updating your client/server</h3>
<ol>
<li>Revisit steps B.2 and B.3 for server</li>
<li>Revisit steps C.2, D.2 and D.3 for client</li>
<li>Done!</li>
</ol>
<p>Pretty awesome.</p>
<h1>Next Steps</h1>
<ul>
<li>Read an overview of <a href="http://www.ibm.com/developerworks/opensource/library/os-nodejs/index.html?ca=drs-" target="_blank">What is Node.js?</a></li>
<li>Checkout the official homepage for <a href="http://nodejs.org/#" target="_blank">Node.js</a></li>
<li>Download the full source code (See &#8216;Member Resources&#8217; below).</li>
</ul>
<h1>Member Resources</h1>
<p><div style="background-color: #EFEFEF; padding: 20px 20px 20px 20px; border-style:dashed; border-width: 1px;  border-color:#000" width="100%" height="100">  <div style="margin: 10px 10px 10px 10px;"> <font size="6px"><B><u>'Free Member'-Only Content</u></B></font> </div> <BR> You must be a 'Free Member' to see this content. With your access you will enjoy members-only content like this, HD video tutorials, and access to complete source code. <BR /> <BR /> <B>Ready To Join?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/index.php?/register/FreeMember" target="_blank">Sign up</a> for 'Free Member' level now. Its free!</li> <li>Sign up for 'Paid Member' level to enjoy much, much more! (Invite Only)</li> </ul> <B>Already A Free Member?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/member-login/" target="_blank">Log in</a> and enjoy!</li> </ul> </div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/node-js-for-flash-and-flex-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Will HTML5 Ever Catch Up to Flash on Features?</title>
		<link>http://www.RivelloMultimediaConsulting.com/will-html5-catch-up-to-flash-on-features/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/will-html5-catch-up-to-flash-on-features/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 17:28:25 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3433</guid>
		<description><![CDATA[HTML5 is diverse and divergent. Can it complete?]]></description>
			<content:encoded><![CDATA[<p>While reading <a href="http://transitioning.to/" target="_blank">Transitioning.to</a>, a blog &#8216;Supporting the Flash Community&#8217;s Diversification into New Technologies&#8217;, I came across a good post about Flash vs. HTML5.</p>
<p>I shudder at the constant comparison and the partisan callousness on both sides. The article was indeed good, but I wanted to clarify something. When I hear the title question “Will HTML5 Ever Catch Up to Flash on Features?”, I rephrase it a bit. Will ‘HTML5′ (Meaning HTML5 + JavaScript + CSS) and community libraries for each, and developer-friendly IDE’s, create a cohesive replacement that runs predictably across browsers for what is offered by the technology of the Flash Player.</p>
<p>Well, will HTML5 do it?</p>
<p>I say yes, and no.</p>
<h1>HTML5 Is Open</h1>
<p>I’m underlining here the fractured nature of the HTML5 offering. I think HTML5 is awesome. It can do so much, it performs so well, and as a developer I love that it ‘compiles’ in 1 second instead of 5 or 10 or more with Flash. I think that the low level capabilities we see in HTML5 on Chrome (for instance) facilitated by a useable library (such as a game framework) could cherry pick most any feature offered by Flash and create compelling feature-parity. It could create competition feature per feature. However it is more correct to ask and more challenging to expect that that one feature-set to easily play with some other set of features created by some other developer for another library perhaps focused on another platform or device. HTML5 is by its nature spread more thin than the ‘closed’ Flash System. This allows for more freedom in what the community can do but also places a huge responsibility on the community.</p>
<p>As a game developer, there exist, today, HTML5-based game engines which present an compelling alternative Flash. Some are playable only on the hottest latest browsers, some can also be packaged to mobile ‘apps’ and offered in mobile marketplaces, and some need some time before they can be played by enough people. Depending on the target audience (and their browsers and devices) the feasibility of using a game framework may or may not be viable yet.</p>
<p>What I suspect is that based on early adoption, solid bug and new feature management, and good marketing several of these game frameworks will mature and become defacto choices for game development. But then the question is not – can HTML5 ‘catch up’ to Flash, the question becomes – can ‘Game Framework X’ catch up to Flash.</p>
<p>As a quick aside, AS3 for OOP developers, is a dream compared to JavaScript. Sure, both will mature, but I’m unsure a wholesale improvement in JavaScript is technically or politically possible.</p>
<p>There is news of ActionScript 4.0 though;<br />
<a href="../actionscript-4-revealed/" rel="nofollow">http://www.rivellomultimediaconsulting.com/actionscript-4-revealed/</a></p>
<p>Relevant to this issue, I have recoded one simple, complete game using many (13 as of today) different game frameworks. Check out all the source and learn from it. Its all available free and it is ideal for those who are interested in transitioning.to.</p>
<p>FLYER GAME, ONE GAME, MANY FRAMEWORKS<br />
<a href="../flyergame-one-game-many-many-frameworks/" rel="nofollow">http://www.rivellomultimediaconsulting.com/flyergame-one-game-many-many-frameworks/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/will-html5-catch-up-to-flash-on-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternativa3D Engine for Adobe Flash Goes Open Source</title>
		<link>http://www.RivelloMultimediaConsulting.com/alternativa3d-engine-for-adobe-flash-goes-open-source/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/alternativa3d-engine-for-adobe-flash-goes-open-source/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 13:56:22 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3419</guid>
		<description><![CDATA[A popular AS3 3D engine goes open source.]]></description>
			<content:encoded><![CDATA[<p>The Alternativa3D 3rd-party 3D engine for the Flash Platform recently <a href="http://blog.alternativaplatform.com/en/2012/03/29/alternativa3d-8-is-out-in-open-source/" target="_blank">announced</a> it is going open source after 6 years of closed development. An example of this kick-ass engine is the recent release of <a href="https://apps.facebook.com/laststand-deadzone/" target="_blank">LastStand Deadzone</a> for Facebook.</p>
<p>The source code is published on the <a href="https://github.com/AlternativaPlatform/Alternativa3D">GitHub</a>, and support can be found on the <a href="http://wiki.alternativaplatform.com/">Knowledge Base</a> and community discussion can be found on the <a href="http://forum.alternativaplatform.com/forums/show/51.page">forum</a>.</p>
<p>No <strong>concrete</strong> reasons are given for the change to open source.</p>
<p>The Alternativa company hopes that the community will continue to use and extend the engine. It hopes this is only the beginning of a new life for the engine.</p>
<h1>Going Open Source (Is Not Evil)</h1>
<p>Going open source is interesting. <a href="http://en.wikipedia.org/wiki/Open_source" target="_blank">Open source</a> is the philosophy which promotes free distribution of a code-base and the community involvement to modify that code-base. Many AS3 projects <span style="text-decoration: underline;">start</span> as open source and I think the general reception is &#8216;wow, thanks for starting this project, I may use it, and maybe I&#8217;ll even help extend it&#8217;. However the community response seems to be quite different if a close project exists for some time as a closed project <span style="text-decoration: underline;">and then goes open source</span>. It feels to many like the project which was &#8216;created for my use for free&#8217; now has been &#8216;abandoned&#8217;.</p>
<p>The community reaction to the Adobe Announcement that <a title="The Future Of Apache Flex" href="http://www.RivelloMultimediaConsulting.com/the-future-of-apache-flex/" target="_blank">Flex went open source</a> was strongly negative. Same when the popular Pushbutton Engine was recently rebranded as the community-based &#8216;<a title="Intro To The AS3 Smash Game Framework" href="http://www.RivelloMultimediaConsulting.com/as3-smash-framework-flyergame/" target="_blank">Smash</a>&#8216; game engine.</p>
<p>These fear based reactions are reasonable. The feeling is that what was once taken for granted as a concrete cared-for project now has a questionable future. However like most fear based reactions they are not beneficial reactions.  Project owners are free to chose if/when they release a project open source, and the community can care for a project or choose an alternative. The power is in the hands of the community.</p>
<p>Conversely, and open source project that becomes closed and introduces fees to the community (I have no examples of that) is indeed sad. But that is not the case here.</p>
<h1 title="Setup Flash Builder For AIR 3.2 Stage3D for iOS/Android">Stay Tuned</h1>
<ul>
<li><a href="../index.php?/register/FreeMember" target="_blank">Sign up</a> for &#8216;Free Member&#8217; level of this blog now. Its free!</li>
<li>Like <a href="https://www.facebook.com/RivelloMultimediaConsulting" target="_blank">RMC on Facebook</a>. We like likes!</li>
<li>Follow <a href="https://twitter.com/srivello" target="_blank">@srivello</a> on Twitter.</li>
</ul>
<h1>What do YOU Think?</h1>
<ul>
<li>Is going open source good or bad?</li>
<li>Please comment below.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/alternativa3d-engine-for-adobe-flash-goes-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flash Player Premium Features for Gaming</title>
		<link>http://www.RivelloMultimediaConsulting.com/adobe-premium/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/adobe-premium/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 19:06:38 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3395</guid>
		<description><![CDATA[Soon, some Flash developers will pay a royalty to Adobe.]]></description>
			<content:encoded><![CDATA[<h1>So&#8230;</h1>
<p>On March 28th, 2012 Adobe Announced &#8220;<a href="http://www.adobe.com/devnet/flashplayer/articles/premium-features.html" target="_blank">Adobe Flash Player Premium Features for Gaming</a>&#8220;. Adobe will have new pricing for those creating certain types of advanced content. Content that is much more performant and of much higher quality than what developers (and their end-audience) are used to seeing in the browser.</p>
<p>It is my estimation, that the amount of <em>current</em> projects that this pricing will affects is very small. The amount of developers now or in the future that this pricing will affect is very small. However overreaction and misunderstanding about Adobe, this announcement, and the last 6 months of related news <strong>does have a negative affect</strong> on <em>public perception</em>, business owners, and the technologies chosen for new projects.</p>
<p>Before the community takes it out of context that &#8220;Adobe explains that in the near future, some developers will be required to <strong>pay Adobe</strong> on royalties from their projects&#8221; and overreacts about it &#8212; here is a clear programmer-friendly explanation shown below.</p>
<h1>Who Pays?</h1>
<p><img class="aligncenter size-full wp-image-3399" title="adobe_flash_player_premium_v1" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/adobe_flash_player_premium_v1.jpg" alt="" width="700" height="500" /></p>
<p>Image URL: <span><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/adobe_flash_player_premium_v1.jpg" rel="prettyPhoto[g3395]">http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/adobe_flash_player_premium_v1.jpg</a></span></p>
<h1>How Much?</h1>
<p>Let&#8217;s assume a company (or individual) creates a royalty-applicable project (see above). Here are a few sample payment scenarios to Adobe. If my math is wrong, please send a comment below. Prices are USD$.</p>
<ul>
<li>50,000 revenue (or less):  Payment to Adobe = 0</li>
<li>75,000 revenue:  Payment to Adobe = 2,250</li>
<li>100,000 revenue:  Payment to Adobe = 4,500</li>
<li>500,000 revenue:  Payment to Adobe = 40,500</li>
<li>etc&#8230;</li>
</ul>
<h1>Community Reaction</h1>
<p>Using Google, Twitter, and Facebook we see the reaction of the community over this announcement. The gross majority of media, bloggers, and developers are exaggerating the effect of this announcement. I appreciate the anger, but not the libel. Many err to say something like &#8216;all Flash developers will pay Adobe soon&#8217;, which is as we I&#8217;ve outlined here, not true.</p>
<p>The few balanced reactions to the announcement are here;</p>
<ul>
<li>Rob Rusher&#8217;s -  <a href="http://robrusher.com/2012/03/29/adobe-flash-player-licensing/" target="_blank">Adobe Flash Player licensing doesn’t apply to you!</a></li>
<li>Lee Brimelow&#8217;s &#8211; <a href="http://www.leebrimelow.com/?p=3297" target="_blank">Quick comments about Unity and premium features </a></li>
<li>Any more?</li>
</ul>
<p>Full disclosure: Some of those listed are of course Adobe employees or have an otherwise vested interest in Adobe&#8217;s side.</p>
<h1>Related Posts</h1>
<ul>
<li><a title="Setup Flash Builder For AIR 3.2 Stage3D for iOS/Android" href="http://www.RivelloMultimediaConsulting.com/setup-flash-builder-for-air-3-2-stage3d-for-ios-android/">Setup Flash Builder For AIR 3.2 Stage3D for iOS/Android</a></li>
<li><a title="FlyerGame – One Game, Many Many Frameworks" href="http://www.RivelloMultimediaConsulting.com/flyergame-one-game-many-many-frameworks/">FlyerGame – One Game, Many Many Frameworks</a></li>
<li><a title="Angry Birds’ Screams on Facebook with Flash" href="http://www.RivelloMultimediaConsulting.com/angry-birds-launches-with-flash/">Angry Birds’ Screams on Facebook with Flash</a></li>
<li><a title="Considering Flash-To-Mobile Development" href="http://www.RivelloMultimediaConsulting.com/considering-flash-to-mobile-development/">Considering Flash-To-Mobile Development</a></li>
</ul>
<h1 title="Setup Flash Builder For AIR 3.2 Stage3D for iOS/Android">Stay Tuned</h1>
<ul>
<li><a href="../index.php?/register/FreeMember" target="_blank">Sign up</a> for &#8216;Free Member&#8217; level of this blog now. Its free!</li>
<li>Like <a href="https://www.facebook.com/RivelloMultimediaConsulting" target="_blank">RMC on Facebook</a>. We like likes!</li>
<li>Follow <a href="https://twitter.com/srivello" target="_blank">@srivello</a> on Twitter.</li>
</ul>
<h1>The Vocal Minority</h1>
<p>Bad press will hurt Flash being chosen for new projects. That I agree with and that is sad. Blame the messenger sure, but also blame the sensationalism of the community.</p>
<p>Truly, relatively few developer&#8217;s projects are affected directly by this pricing. And the quality offered by &#8216;Flash Player Premium&#8217; is different than what is currently considered &#8216;Flash&#8217; and is so high-quality that there are no rival alternatives to in-browser technologies. Don&#8217;t agree..</p>
<ul>
<li>Please comment a  link to any <span style="text-decoration: underline;">&#8216;Flash Player Premium&#8217; project</span> (Using <strong>BOTH</strong> API&#8217;s mentioned, regardless of revenue) which is in-development or already launched?</li>
<li>Please comment a link to any in-browser <span style="text-decoration: underline;">non-Flash project that rivals</span><span style="text-decoration: underline;"> the quality</span> of a &#8216;Flash Player Premium&#8217; which is in-development or launched?</li>
</ul>
<h1>What do YOU Think?</h1>
<ul>
<li>Is this good or bad? Remember taxes pave your roads. Ha.</li>
<li>Please comment below.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/adobe-premium/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Setup Flash Builder For AIR 3.2 Stage3D for iOS/Android</title>
		<link>http://www.RivelloMultimediaConsulting.com/setup-flash-builder-for-air-3-2-stage3d-for-ios-android/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/setup-flash-builder-for-air-3-2-stage3d-for-ios-android/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 23:00:35 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3386</guid>
		<description><![CDATA[AIR for Mobile with GPU-Acellerated 2D &#038; 3D. Now!]]></description>
			<content:encoded><![CDATA[<p>Stage3D was introduced in Flash Player 11. It allows for GPU-Accelerated 2D and 3D performance in the Flash Player that is 1000x faster than before. It was not publicly available for AIR mobile projects until AIR 3.2.</p>
<p>There are lot of new significant features like mouseLock, middle click, right click, silent auto-update and Stage3D on mobile.</p>
<h3>Super Easy Setup</h3>
<ol>
<li>Download the new <a href="http://gaming.adobe.com/getstarted/" target="_blank"> SDK (&#8220;Step 2&#8243;)</a></li>
<li>Unzip the new SDK</li>
<li>Open Flash Builder. Open Preferences. Search for &#8220;Installed Flex SDKs&#8221;. Look at the URL for an <em>existing</em> SDK. <strong>See the image below</strong>.</li>
<li>Open Finder (or Windows Explorer) to that &#8216;sdks&#8217; folder. Drag the new SDK next to the <em>existing</em> sdk(s).</li>
<li>Open the same Flash Builder Panel. preferences panel again. Choose &#8216;add&#8217; and browse to the new SDK. Don&#8217;t set it as &#8216;default&#8217;. But for each new project you create, it will be a choice for you to use.</li>
</ol>
<p><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/flash_builder_air_3.2_v1.png" rel="prettyPhoto[g3386]"><img class="aligncenter size-medium wp-image-3387" title="flash_builder_air_3.2_v1" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/flash_builder_air_3.2_v1-300x142.png" alt="" width="300" height="142" /></a></p>
<p><center>For Step #3</center><br />
Thats it. Enjoy!</p>
<h1>Next Steps</h1>
<p>Checkout other related articles.</p>
<ul>
<li><a title="Intro To The Starling Framework For AS3" href="http://www.RivelloMultimediaConsulting.com/intro-to-starling-framework/" target="_blank">Intro To The Starling Framework For AS3</a> with Stage3D</li>
<li><a title="Angry Birds’ Screams on Facebook with Flash" href="http://www.RivelloMultimediaConsulting.com/angry-birds-launches-with-flash/" target="_blank">Angry Birds’ Screams on Facebook with Flash</a> with Stage3D</li>
<li><a title="What *IS* Wrong With AIR 3.0 Native Extensions!" href="http://www.RivelloMultimediaConsulting.com/what-is-wrong-with-air-3-0-native-extensions/" target="_blank">What *IS* Wrong With AIR 3.0 Native Extensions!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/setup-flash-builder-for-air-3-2-stage3d-for-ios-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live Online Training: Intro To The Starling Framework For AS3</title>
		<link>http://www.RivelloMultimediaConsulting.com/live-online-training-intro-to-the-starling-framework-for-as3/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/live-online-training-intro-to-the-starling-framework-for-as3/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 18:57:40 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Full Tutorials]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3345</guid>
		<description><![CDATA[Starling is a 2D GPU-Accelerated AS3 framework For Flash. It rocks!]]></description>
			<content:encoded><![CDATA[<div>Starling is a 3rd-Party AS3 framework For Flash Development. It mimics the Flash displaylist API but enables powerful 2D GPU-accelerated rendering.</div>
<p>With the help of the Hawaii Adobe Flash User Group, on <span style="text-decoration: underline;">Thursday April 26th</span> at 5pm EST (2pm PST), I will give a live online screencast to explain more about Starling. <strong>Come join us!</strong></p>
<h1>Live, Free Online Training</h1>
<p><strong>Title</strong>: Introduction To Stage3D Flash Gaming With Starling<br />
<strong>Date</strong>: April 26, 2012 05:00 PM &#8211; 06:00 PM (GMT-5 Eastern Time US &amp; Canada). Duration: 50-60 minutes.<br />
<strong>RSVP</strong>: The event is closed.<br />
<strong>Location</strong>: Free, On-line through Adobe Connect. The event is closed.<br />
<strong>Speaker</strong>: Samuel Asher Rivello is the principal of Rivello Multimedia Consulting (RMC). RMC’s Flash and Flex services include software architecture, consulting, development, and training. Sam has over a decade of experience creating games and applications, and is currently traveling the globe to collaborate with top companies. Sam is an Adobe Certified Designer and Developer for Flash, an Adobe Flex Champion, an international public speaker, and a university instructor. His writing and coding have appeared in leading publications such as Adobe’s “EDGE”™ online magazine, and Futurenet Publishing’s “Computer Arts Projects”™ print magazine.</p>
<p>Follow Sam on Twitter: <a title="@srivello" href="http://www.twitter.com/@srivello" target="_blank">@srivello</a></p>
<p><strong>Agenda</strong>:The session will start with the benefits of Flash for gaming and some new features. We&#8217;ll look at Stage3D &#8211; Flash Player 11&#8242;s GPU accelerated rendering pipeline for 2D and 3D gaming. The bulk of the session will be looking at code for a very simple, yet complete 2D game built with the Stage3D Starling Framework. All source code will be provided to attendees.</p>
<p>Bonus: Time-permitting we&#8217;ll checkout two hot Starling extensions &#8211; a vector graphics plugin and a particle effects plugin.</p>
<h1>Next Steps</h1>
<ul>
<li><strong>Now Available!</strong>: The full 65 minute recording of the online session (See &#8216;Member Resources&#8217; below).</li>
<li><strong>Now Available!</strong>: The full source-code will be available (See &#8216;Member Resources&#8217; below).</li>
<li><strong><strong>Now Available!</strong></strong>: The presentation slides will be available (See &#8216;Member Resources&#8217; below).</li>
<li><strong></strong><strong>Now Available!</strong>: The relevant links will be available</li>
</ul>
<h1>Member Resources</h1>
<p><div style="background-color: #EFEFEF; padding: 20px 20px 20px 20px; border-style:dashed; border-width: 1px;  border-color:#000" width="100%" height="100">  <div style="margin: 10px 10px 10px 10px;"> <font size="6px"><B><u>'Free Member'-Only Content</u></B></font> </div> <BR> You must be a 'Free Member' to see this content. With your access you will enjoy members-only content like this, HD video tutorials, and access to complete source code. <BR /> <BR /> <B>Ready To Join?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/index.php?/register/FreeMember" target="_blank">Sign up</a> for 'Free Member' level now. Its free!</li> <li>Sign up for 'Paid Member' level to enjoy much, much more! (Invite Only)</li> </ul> <B>Already A Free Member?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/member-login/" target="_blank">Log in</a> and enjoy!</li> </ul> </div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/live-online-training-intro-to-the-starling-framework-for-as3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robotlegs Framework Template</title>
		<link>http://www.RivelloMultimediaConsulting.com/as3-flash-flex-robotlegs-framework-template/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/as3-flash-flex-robotlegs-framework-template/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 22:32:02 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Standards & Best Practices]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Robotlegs]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3326</guid>
		<description><![CDATA[An easy to use starting project template for new PureMVC architecture w/ AS3-Signals projects.]]></description>
			<content:encoded><![CDATA[<p>Robotlegs (from Robotlegs.org) is  a great architectural framework for AS3. It works for both Flash and Flex projects. I have been a fan since the beginnings of the framework and I even created the official &#8220;<a href="http://www.RivelloMultimediaConsulting.com/posts/robotlegs-template">Robotlegs Framework Diagram</a>&#8220;.</p>
<p>One of the drawbacks of using an architectural framework is the time required to setup the project. To help new developers, veteran developers, and myself, I create and update several templates for Robotlegs (RL). Each is a complete publishable &#8220;Hello World&#8221; type project. When I start any new RL project I begin with one of these Robotlegs Templates (<strong>RLT</strong>).</p>
<p>It kicks ass, enjoy!</p>
<h1>Screenshots</h1>
<p>It is a simple app. (Note images may vary <em>slightly</em> depending on template)<br />
<a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/robotlegs_template_screenshot_1_v1.png" rel="prettyPhoto[g3326]"><img class="aligncenter size-medium wp-image-3339" title="robotlegs_template_screenshot_1_v1" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/robotlegs_template_screenshot_1_v1-300x220.png" alt="" width="300" height="220" /></a><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/robotlegs_template_screenshot_2_v1.png" rel="prettyPhoto[g3326]"><img class="aligncenter size-medium wp-image-3340" title="robotlegs_template_screenshot_2_v1" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/robotlegs_template_screenshot_2_v1-300x225.png" alt="" width="300" height="225" /></a></p>
<h1>Mix-ins</h1>
<p>I combine RL with some other fantastic technologies in some templates.</p>
<ul>
<li><a href="http://www.rivellomultimediaconsulting.com/as3-signals-introduction/" target="_blank">AS3-Signals</a> &#8211; Events replacement</li>
<li><a href="http://babelfx.org/" target="_blank">BabelFX</a> &#8211; Language localization</li>
<li><a href="http://www.unionplatform.com/" target="_blank">Union Platform</a> &#8211; Multiplayer</li>
</ul>
<h1>Next Steps</h1>
<ul>
<li><strong>RLT_Web_Flex</strong> &#8211; The original! (See &#8216;Member Resources&#8217; below)</li>
<li><strong>RLT_Web_Flex_AS3Signals</strong> &#8211; My favorite! (See &#8216;Member Resources&#8217; below)</li>
<li><strong>RLT_Web_Flex_AS3Signals_BabelFX</strong> &#8211; (See &#8216;Member Resources&#8217; below)</li>
<li><strong>RLT_AIR_FlexMobile_AS3Signals_BabelFX</strong> &#8211; (See &#8216;Member Resources&#8217; below)</li>
<li><strong>RLT_AIR_FlexMobile_AS3Signals_Multiplayer</strong> &#8211; (See &#8216;Member Resources&#8217; below)</li>
</ul>
<h1>Member Resources</h1>
<p><div style="background-color: #EFEFEF; padding: 20px 20px 20px 20px; border-style:dashed; border-width: 1px;  border-color:#000" width="100%" height="100">  <div style="margin: 10px 10px 10px 10px;"> <font size="6px"><B><u>'Free Member'-Only Content</u></B></font> </div> <BR> You must be a 'Free Member' to see this content. With your access you will enjoy members-only content like this, HD video tutorials, and access to complete source code. <BR /> <BR /> <B>Ready To Join?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/index.php?/register/FreeMember" target="_blank">Sign up</a> for 'Free Member' level now. Its free!</li> <li>Sign up for 'Paid Member' level to enjoy much, much more! (Invite Only)</li> </ul> <B>Already A Free Member?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/member-login/" target="_blank">Log in</a> and enjoy!</li> </ul> </div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/as3-flash-flex-robotlegs-framework-template/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wishlist Member WordPress Plugin Tutorial</title>
		<link>http://www.RivelloMultimediaConsulting.com/wishlist-member-wordpress-plugin-tutorial/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/wishlist-member-wordpress-plugin-tutorial/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 15:44:07 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Screencast Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3308</guid>
		<description><![CDATA[Learn how to plan and develop membership functionality for your WordPress website.]]></description>
			<content:encoded><![CDATA[<h1>Now And There</h1>
<p>One of my companies is Now And There. The website <a href="http://NowAndThere.com" target="_blank">NowAndThere.com</a> was launched ages ago, and is updated regularly with new blog articles. Currently users come via Google search or perhaps following a Twitter post and arrive to read an article or two. There is no login. Its just a simple blog. I would like to add membership to the site.</p>
<p>This RMC post is a fantastic, thorough tutorial on the before and after of a membership website. It includes text and images here in the post. Below the post there are <strong>3 great HD Screencast Videos</strong> (See &#8216;Member Resources&#8217; below) which repeat what we have here in the post plus much more!</p>
<h3>Why Add Membership?</h3>
<p>I would like to increase traffic on <a href="http://NowAndThere.com" target="_blank">NowAndThere.com</a>. The 2-prong goal is to get traffic and then keep traffic. Getting new traffic is outside the scope here, but I figure once people visit, I&#8217;d like them to stay for a while and even return another day. I think a newsletter (monthly, quarterly, etc&#8230;) is a great way to invite current readers back to the site. But, if users are going to express interest in a newsletter and fill out a form (with at least their email), why not keep them as &#8216;members&#8217;? With membership I can offer the newsletter as well as exclusive content. Plus by keeping some content for members only, I can encourage more casual readers to become members (and thus receive the newsletter. I&#8217;m rambling, but for me membership + newsletter is the best plan to meet my goals.</p>
<h1>1. The Plan</h1>
<p>The site currently (See &#8216;Figure 1&#8242;) features no membership. We will change the page layout to provide a membership widget (See &#8216;Figure 2&#8242;).  This membership will allow for non-members to log-in/sign-up and allow logged-in members to see their membership information and to log-out.</p>
<table style="margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_current_v1.jpg" rel="prettyPhoto[g3308]"><img class="alignleft size-medium wp-image-3460" title="Figure 1" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_current_v1-290x200.jpg" alt="" /></a><br />
Figure 1.</td>
<td><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_after_v1.jpg" rel="prettyPhoto[g3308]"><img class="alignleft size-medium wp-image-3460" title="" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_after_v1-290x200.jpg" alt="" /></a><br />
Figure 2.</td>
</tr>
</tbody>
</table>
<p>Membership allows to protect (or restrict) the content on the site for certain members. Its a fairly flexible content. A site could have an entire site that requires membership or just select content which require membership. A site could offer just one level of membership or have multiple levels (at various prices for example).</p>
<p>An analysis of how I would like the site to work is as follows (See &#8216;Figure 3&#8242;). I would like the site&#8217;s content to be unprotected by default, but to offer a quick, free membership sign-up to see some posts and in some specific cases to see some parts of some posts. In a broad sense its a 90% unprotected site, with 10% of the content that requires membership. My idea is to encourage sign-up WITHOUT turning away the casual readers. I can always change the 90/10 balance in the future as I see fit.</p>
<table style="margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: center;"><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_protection_diagrams_3_v1.jpg" rel="prettyPhoto[g3308]"><img class="aligncenter" title="" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_protection_diagrams_3_v1-290x200.jpg" alt="" /></a><br />
Figure 3.</td>
</tr>
</tbody>
</table>
<p>The schemes shown (See &#8216;Figure 3&#8242;) will work as follows;</p>
<ul>
<ul>
<li><strong>Scheme #0 </strong>- Unprotected content. No membership required. (See &#8216;Figure 5&#8242; for an example)<strong><br />
</strong></li>
<li><strong><strong>Scheme #1</strong> </strong>- An unprotected post which gives the gist of the story and then protects the rest  (See &#8216;Figure 6&#8242; for an example)<strong></strong></li>
<li><strong><strong>Scheme #2</strong> </strong>- A protected post. Users will see it listed on the front page, but cannot see any of the post without membership. (See &#8216;Figure 7&#8242; for an example)<strong></strong></li>
<li><strong><strong>BONUS</strong> </strong>- This last scheme is a modified version of #1 where the entire post is unrestricted and only a list of links at the very bottom is protected. (See &#8216;Figure 8&#8242; for an example)<strong></strong></li>
</ul>
</ul>
<table style="margin-left: auto; margin-right: auto;">
<tbody>
<tr>
<td style="text-align: center;"><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post1_v1.jpg" rel="prettyPhoto[g3308]"><img title="" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post1_v1-223x300.jpg" alt="" width="110" height="150" /></a><br />
Figure 4.</td>
<td style="text-align: center;"><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post2_v1.jpg" rel="prettyPhoto[g3308]"><img title="" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post2_v1-223x300.jpg" alt="" width="110" height="150" /></a><br />
Figure 5.</td>
<td style="text-align: center;"><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post3_v1.jpg" rel="prettyPhoto[g3308]"><img title="" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post3_v1-223x300.jpg" alt="" width="110" height="150" /></a><br />
Figure 6.</td>
<td style="text-align: center;"><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post4_v1.jpg" rel="prettyPhoto[g3308]"><img title="" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post4_v1-223x300.jpg" alt="" width="110" height="150" /></a><br />
Figure 7.</td>
<td style="text-align: center;"><a href="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post5_v1.jpg" rel="prettyPhoto[g3308]"><img title="" src="http://www.RivelloMultimediaConsulting.com/wp-content/uploads/2012/03/membership_tutorial_diagrams_post5_v1-223x300.jpg" alt="" width="110" height="150" /></a><br />
Figure 8.</td>
</tr>
</tbody>
</table>
<h1>2. The Process</h1>
<h3>The Membership Plugin</h3>
<p>As mentioned before (See &#8216;Figure 3&#8242;) the <a href="http://www.NowAndThere.com" target="_blank">NowAndThere.com</a> website was created with the popular website creating tool <a href="http://www.WordPress.org" target="_blank">WordPress</a>. If you are new to WordPress, checkout my complete <a title="WordPress: Install &amp; Introduction" href="http://www.RivelloMultimediaConsulting.com/wordpress-website/" target="_blank">WordPress: Install &amp; Introduction</a> post which includes <strong>HD screencast video</strong>. To add membership to NowAndThere we will be using the <a href="http://member.wishlistproducts.com/" target="_blank">Wishlist Member</a> (WLM)Wordpress plugin.  If you want to know more about the plugin, read my <a title="Wishlist Member WordPress Plugin Review" href="http://www.RivelloMultimediaConsulting.com/wishlist-member-wordpress-plugin-review/" target="_blank">Wishlist Member WordPress Plugin Review</a> post or simply follow along with the tutorial post you are currently reading.</p>
<p><strong>Before You Start</strong></p>
<p>In addition to this post and the <strong>3 HD screencast videos</strong> (See &#8216;Member Resources&#8217; below) I recommend reading the features on the Wishlist Member website&#8217;s <a href="http://member.wishlistproducts.com/#features" target="_blank">features</a> section, the <a href="http://member.wishlistproducts.com/#showcase" target="_blank">showcase of example websites</a>, the <a href="http://member.wishlistproducts.com/support-options/" target="_blank">support/documentation</a>, and review the<a href="http://member.wishlistproducts.com/category/training-videos-2-7/" target="_blank"> <strong>extensive</strong> Wishlist Member video series</a>.</p>
<p>All of this will help you learn &#8211; what is possible, what you want to do, and how to do it.</p>
<h3>Installation</h3>
<p>First, do a complete backup of your website. I recommend that before any website development, especially significant development like this.</p>
<p>Second, you must purchase and download the plugin from the <a href="http://member.wishlistproducts.com/" target="_blank">Wishlist Member</a> website. Then access the admin of your existing WordPress site, visit the plugins page, and upload the new plugin. Activate the plugin. You will notice (thankfully) that after activation your site has not changed. This allows you to install the plugin safely without changing your user experience.</p>
<h3>Setup</h3>
<p>Now that the plugin is activated you will begin setting up the plugin. During the course of this process your website will be in limbo. Your user experience will change. For instance you may restrict access to a page but not yet add the widget allowing users to sign-in. So no one can reach that page. This is ok. Its just something to remember. You will want to plan well to minimize the effect on your users. Depending on your familiarity with WordPress and Wishlist Member and the complexity of your site and content protection scheme the entire process may take hours or days of development.</p>
<p>Here is the ordered approach I used with NowAndThere after activating the WLM plugin;</p>
<ol>
<li>Access the WLM dashboard within your WordPress admin</li>
<li>Add licensing information you get via email from WLM</li>
<li>Follow the &#8216;Setup Wizard&#8217;</li>
<li>Add the Registration Widget to your Sidebar</li>
<li>Create Membership Levels (I created just 1)</li>
<li>Add/Edit Error pages. This is what users see during the sign-up process, sign-out process, and other situations</li>
<li>Edit the WL Member » Settings » Protection Defaults</li>
<li>Edit the WL Member » Settings » Protection Defaults » &#8220;Text to display for content protected with private tags&#8221;. This is what users see for Scheme #1.</li>
<li>Edit the WL Member » Settings » Email Text. This is what users see during the sign-up process.</li>
</ol>
<p>&#8211;</p>
<blockquote><p><strong>Expert Tip</strong>: Open two web browsers. With #1 &#8211; log-in to WordPress and the WordPress Admin. Open your website too (like a logged in user). With #2 &#8211; do not log-in to your website. Open the website (like a non-logged-in users). This way you can easily test the logged-in and not-logged-in experience during your development.</p></blockquote>
<h1>3. The Result</h1>
<p>Since starting this post, obviously the NowAndthere website has been updated. It now has full membership integration. Nice!</p>
<p>I have not yet added the newsletter. I will gather some members for a while and then use a 3rd party email system, such as MailChimp.com to send my first newsletter to all my current members next month or next quarter.</p>
<p>Ready to see the results? Great. Remember you must sing-up to NowAndThere (<a href="http://www.nowandthere.com/index.php?/register/FreeMember" target="_blank">click here</a>) to see the logged-in experience and log-out (use the sidebar widget) to see the logged-out experience. Have fun!</p>
<p>Live Examples of each protection scheme;</p>
<ul>
<li><strong>Scheme #0 </strong>- <a href="http://www.nowandthere.com/2009/09/9-5-simple-habits-to-make-life-better/" target="_blank">NowAndThere &#8211; 9.5 Simple Habits to Make Your Life Better</a></li>
<li><strong><strong>Scheme #1</strong> </strong>- <a href="http://www.nowandthere.com/2012/02/considering-sicily/" target="_blank">NowAndThere &#8211; Considering Sicily</a><strong></strong></li>
<li><strong><strong>Scheme #2</strong> </strong>- <a href="http://www.nowandthere.com/2012/03/2012-annual-preview/" target="_blank">NowAndThere &#8211; 2012 Annual Preview Of Goals</a><strong></strong></li>
<li><strong><strong>BONUS</strong> </strong>- <a href="http://www.nowandthere.com/2012/03/small-countries-worth-visiting/" target="_blank">NowAndThere &#8211; Small Countries Worth Visiting</a><strong></strong></li>
</ul>
<h1>Next Steps</h1>
<ul>
<li>Watch the <strong>3 HD screencast videos</strong> (See &#8216;Member Resources&#8217; below). This complete post is explained with commentary and examples.<strong><br />
</strong></li>
</ul>
<h1>Member Resources</h1>
<p><div style="background-color: #EFEFEF; padding: 20px 20px 20px 20px; border-style:dashed; border-width: 1px;  border-color:#000" width="100%" height="100">  <div style="margin: 10px 10px 10px 10px;"> <font size="6px"><B><u>'Free Member'-Only Content</u></B></font> </div> <BR> You must be a 'Free Member' to see this content. With your access you will enjoy members-only content like this, HD video tutorials, and access to complete source code. <BR /> <BR /> <B>Ready To Join?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/index.php?/register/FreeMember" target="_blank">Sign up</a> for 'Free Member' level now. Its free!</li> <li>Sign up for 'Paid Member' level to enjoy much, much more! (Invite Only)</li> </ul> <B>Already A Free Member?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/member-login/" target="_blank">Log in</a> and enjoy!</li> </ul> </div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/wishlist-member-wordpress-plugin-tutorial/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FlyerGame &#8211; One Game, Many Many Frameworks</title>
		<link>http://www.RivelloMultimediaConsulting.com/flyergame-one-game-many-many-frameworks/</link>
		<comments>http://www.RivelloMultimediaConsulting.com/flyergame-one-game-many-many-frameworks/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 23:32:20 +0000</pubDate>
		<dc:creator>srivello</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[PushButtonEngine]]></category>
		<category><![CDATA[Smash]]></category>

		<guid isPermaLink="false">http://www.RivelloMultimediaConsulting.com/?p=3280</guid>
		<description><![CDATA[A simple, complete game recoded in many, many gaming frameworks]]></description>
			<content:encoded><![CDATA[<p>I wanted to test out a few game frameworks learn more about AS3, Unity, HTML5, and other platforms. Here is a complete list of many, many version with full source code (See &#8216;Members Resources&#8217; below).</p>
<h3>Articles</h3>
<p>I wrote &#8216;Flyer Game&#8217; for a series of articles I wrote for Adobe&#8217;s &#8220;Inspire&#8221; (formerly &#8216;EDGE&#8217;) online magazine. To appreciate the HTML5 versions of the game, its great to look back at the general game theory as well as the Flash theory shown in these articles.</p>
<ul>
<li>In &#8220;<a href="http://www.adobe.com/newsletters/inspire/october2009/articles/article1/" target="_new">An introduction to developing games on the Adobe Flash Platform</a>&#8221; I overview the complete AS3 source code in my article</li>
<li>In &#8220;<a href="http://www.adobe.com/newsletters/inspire/august2010/articles/article6/" target="_new">Developing Flash Platform games with the PushButtonEngine</a>&#8221; I used a popular framework (PBE) to create the same game.</li>
</ul>
<h3>Downloads of FlyerGame</h3>
<p>I provide full source-code to several versions of the FlyerGame. You can compare how each works, and learn more about gaming frameworks that way.</p>
<p><br />
<strong>FLASH VERSIONS</strong></p>
<ul>
<li>1. Flash Pro and AS3 (Very Simple) &#8211; [Download in 'Members Resources' below]</li>
<li>2. AS3 and PushButtonEngine (Component-Based) [PBEv1] &#8211; [Download in 'Members Resources' below]</li>
<li>3. AS3 and PushButtonEngine (Component-Based) [PBEv2] &#8211; [Download in 'Members Resources' below]</li>
<li>4. AS3 Stage3D [Starling Framework] (Very Simple) &#8211; [Download in 'Members Resources' below]</li>
<li>5. AS3 Stage3D [Starling Framework] (OOP Version) &#8211; [Download in 'Members Resources' below]</li>
<li>6. AS3 and Smash Framework &#8211; [Download in 'Members Resources' below]</li>
<li>7. AS3 and Flixel (Coming soon!)</li>
<li>8. AS3 and FlashPunk (Coming soon!)</li>
</ul>
<p><strong>OTHER VERSIONS</strong></p>
<ul>
<li>Unity3D w/ C# &#8211; [Download in 'Members Resources' below]</li>
</ul>
<p><strong>HTML5 VERSIONS</strong></p>
<ul>
<li>EaselJS Framework &#8211; [Download in 'Members Resources' below]</li>
<li>ImpactJS Framework &#8211; [Download in 'Members Resources' below]</li>
<li>CraftyJS Framework &#8211; [Download in 'Members Resources' below]</li>
<li>MelonJS Framework &#8211; [Download in 'Members Resources' below]</li>
<li>Spaceport.io Framework &#8211; [Download in 'Members Resources' below]</li>
<li>LimeJS Framework &#8211; Github Source (Coming soon!)</li>
</ul>
<p></p>
<h1>Next Steps</h1>
<ul>
<li>Wow, there is so much content here!</li>
<li>Are you new to gaming? There is tons of gaming basics in this posts and code.</li>
<li>Are you a veteran? Learn to compare/contrast each framework for yourself using the source code (See &#8216;Member Resources&#8217; below).</li>
</ul>
<h1>Member Resources</h1>
<p><div style="background-color: #EFEFEF; padding: 20px 20px 20px 20px; border-style:dashed; border-width: 1px;  border-color:#000" width="100%" height="100">  <div style="margin: 10px 10px 10px 10px;"> <font size="6px"><B><u>'Free Member'-Only Content</u></B></font> </div> <BR> You must be a 'Free Member' to see this content. With your access you will enjoy members-only content like this, HD video tutorials, and access to complete source code. <BR /> <BR /> <B>Ready To Join?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/index.php?/register/FreeMember" target="_blank">Sign up</a> for 'Free Member' level now. Its free!</li> <li>Sign up for 'Paid Member' level to enjoy much, much more! (Invite Only)</li> </ul> <B>Already A Free Member?</B><BR> <ul> <li><a href="http://www.RivelloMultimediaConsulting.com/member-login/" target="_blank">Log in</a> and enjoy!</li> </ul> </div></p>
<h1>Polls</h1>
<a href="http://polldaddy.com/poll/6052370">Take Our Poll</a>
]]></content:encoded>
			<wfw:commentRss>http://www.RivelloMultimediaConsulting.com/flyergame-one-game-many-many-frameworks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

