<?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>No.inc Blog &#187; Development</title>
	<atom:link href="http://blog.noinc.com/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.noinc.com</link>
	<description>Thoughts, Ideas, Notes, Stuff</description>
	<lastBuildDate>Fri, 04 May 2012 15:13:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Making a Site Bawler on Mobile, Jquery Mobile = Easy-Breezy</title>
		<link>http://blog.noinc.com/2011/06/17/making-a-site-bawler-on-mobile-jquery-mobile-easy-breezy/</link>
		<comments>http://blog.noinc.com/2011/06/17/making-a-site-bawler-on-mobile-jquery-mobile-easy-breezy/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 20:14:11 +0000</pubDate>
		<dc:creator>Matthew Benjamin Cummings</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[User Interface Design]]></category>
		<category><![CDATA[Web Application]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[Jquery Mobile]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.noinc.com/?p=523</guid>
		<description><![CDATA[The majority of the work lies in rethinking the way your users will interact with the site now that it's displayed with ¼ of the screen real estate.]]></description>
			<content:encoded><![CDATA[<p>Ok, so we got this website right. Most of the  content  being powered by an existing CMS, with the exception of  a couple of unique pages (E.g. the homepage). Well, we had to figure out a way to easily get this site with ever-changing content to be tailored for display on all those fun little mobile devices. You know;  iphone, blackberry, droid, windows mobile, palm web os, whatever.</p>
<p>At the same time, it needed to look good on the iPad. This of course, brought up a completely different discussion since the existing site looked and functioned quite nicely using the iPad safari browser. The only downside, from the clients perspective (and potential users), it didn’t give the feeling of an Ipad app, which in itself, gives the website a substantial amount of value (real or illusional). So the solution; <strong>allow the user to easily switch between the mobile and full version of the site</strong>. I foresee this becoming a standard practice. ESPN.com does an excellent job of executing this with a nice splash screen prompting the user to choose either mobile or standard.</p>
<p>Anyway, back to making it feel like a mobile app/experience without creating a drastically different version of the site.<strong> Yall ready know what it is, Jquery Mobile</strong>. Jquery, surely becoming one of those buzz words which can be thrown around vicariously with absolutely no knowledge of what-the-heck it is. It’s cool. I get it. I appreciate the effort. Jquery mobile, however, is a slightly different can of worms.</p>
<p>I’ll let <a title="Jquery Mobile Homepage" href="http://jquerymobile.com/" target="_blank">http://jquerymobile.com/</a> explain it best:</p>
<blockquote><p>“A unified user interface system across all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. Its lightweight code is built with progressive enhancement, and has a flexible, easily themeable design.”</p></blockquote>
<p>I gotta say, the setup was a breeze. The only modifications we made to the html were adding a few html 5 attributes such as:</p>
<blockquote><p>‘data-role=&#8221;page&#8221;  data-role=&#8221;listview&#8221; data-theme=&#8221;c&#8221;</p></blockquote>
<p><strong>Jquery Mobile takes care of the rest.</strong></p>
<p><strong> The majority of the work lies in rethinking the way your users will interact with the site</strong> now that it&#8217;s displayed with ¼ of the screen real estate. In addition, users interacting with your site on a mobile browser are more likely to be looking for a very specific snippet of information and they will want to find it fast. In other words, you need to <strong>remove all the fluff</strong>. Once you get the whole ux dilemma resolved, your 90% of the way there.</p>
<p>Of course, it’s always good to specify your own mobile css overrides for certain scenarios. One good example is; the CMS required the contact information be editable in one large CK editor rich text block. The contact information was formatted in tables (oh no). For the mobile devices these tables where too wide to fit the smaller screen size effectively without zooming. So, throw in a lil:</p>
<blockquote><p>table.contact td {display: block !important;}</p></blockquote>
<p>BAM! We are good.</p>
<p>There is one caveat. Jquery mobile, it’s in alpha release (ughh). A little bit of risk, very little, but based of our testing with multiple mobile platforms, there have been no glaring issues. <strong>So Jquery Mobile, I’m an official fan. </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.noinc.com/2011/06/17/making-a-site-bawler-on-mobile-jquery-mobile-easy-breezy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formatting Numbers in AS3 / Flex</title>
		<link>http://blog.noinc.com/2010/07/15/formatting-numbers-in-as3-flex/</link>
		<comments>http://blog.noinc.com/2010/07/15/formatting-numbers-in-as3-flex/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 18:06:40 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://blog.noinc.com/?p=501</guid>
		<description><![CDATA[A quick google search of this topic yields, pages and pages of people rolling their own number formatting functions.
Everyone has their own little tweaks to their function. Isn&#8217;t there a built in function to do something so trivial ?
Yes, it&#8217;s the NumberFormatter class, Why does nobody talk about how to use the NumberFormatter class that [...]]]></description>
			<content:encoded><![CDATA[<p>A quick google search of this topic yields, pages and pages of people rolling their own number formatting functions.</p>
<p>Everyone has their own little tweaks to their function. Isn&#8217;t there a built in function to do something so trivial ?</p>
<p>Yes, it&#8217;s the NumberFormatter class, Why does nobody talk about how to use the <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/formatters/NumberFormatter.html">NumberFormatter </a>class that has been around since Flash 9/CS3 Era ?</p>
<p>I&#8217;m not sure, but if you don&#8217;t want to roll your own here is some example code to get you started.</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/formatters/NumberFormatter.html">Adobe&#8217;s website</a> gives you instructions on how to use it in a more flex style manner, if you want a pure as3 example.</p>
<pre>// Import the class
</pre>
<pre>import mx.formatters.NumberFormatter;</pre>
<pre>
</pre>
<pre>function somefunction(value:Number):void</pre>
<pre>{</pre>
<pre>  // Initialize the NumberFormatter Object
</pre>
<pre>  var fmt:NumberFormatter = new NumberFormatter();</pre>
<pre>  var formattedString:String;</pre>
<pre>  // Set some of the options available
</pre>
<pre>  fmt.precision = 2;
  fmt.useThousandsSeparator = true;</pre>
<pre>  // Format our value and return a formatted string
</pre>
<pre>  formattedString = fmt.format(value);</pre>
<pre>  // Do something with our newly formatted string
</pre>
<pre>  someobject.sometextfield.text = formattedString;
</pre>
<pre>}
</pre>
<p>Works like a champ.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.noinc.com/2010/07/15/formatting-numbers-in-as3-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 + video Tag + iPhone, iPad = iHaveHeadache!</title>
		<link>http://blog.noinc.com/2010/05/13/html5-video-tag-iphone-ipad-ihaveheadache/</link>
		<comments>http://blog.noinc.com/2010/05/13/html5-video-tag-iphone-ipad-ihaveheadache/#comments</comments>
		<pubDate>Thu, 13 May 2010 22:15:23 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.noinc.com/?p=479</guid>
		<description><![CDATA[
Here at no.inc we try to keep things fresh, support new technologies and devices.  So recently we have a client who wants some videos on their site, and we decide to make it work with both PC&#8217;s and mobile devices (and specifically the iPhone and iPad).
The Approach
Well, since flash 9.0.115 flash supports h.264 video [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.noinc.com/wp-content/uploads/2010/05/brokeniphone.jpg"><img class="alignleft size-medium wp-image-491" style="width: 200px; height: 300px; margin: 20px;" title="brokeniphone" src="http://blog.noinc.com/wp-content/uploads/2010/05/brokeniphone-200x300.jpg" alt="" width="200" height="300" /></a></p>
<p>Here at no.inc we try to keep things fresh, support new technologies and devices.  So recently we have a client who wants some videos on their site, and we decide to make it work with both PC&#8217;s and mobile devices (and specifically the iPhone and iPad).</p>
<h2>The Approach</h2>
<p>Well, since flash 9.0.115 flash supports h.264 video encoding, the iPhone and iPad support html5 and the  &lt;video&gt; tag, and also support h.264 encoding.  So the idea is to encode the videos in h.264, detect some mobile devices (iPad, iPhone) and serve up the same file in 2 different &#8216;players&#8217;.  Now I know what you&#8217;re saying, most modern browsers also support html5 and the  &lt;video&gt; tag, so we could just deliver it like that.  Well &#8230; IE9 isn&#8217;t out yet, and IE8 and below don&#8217;t support it, besides, I&#8217;m not quite sure html5 and video have become a standard and gotten all the kinks out, so we&#8217;re sticking with flash for the PC.</p>
<h2>First Round Success</h2>
<p>This round was easy, basically encode our videos to h264, write a flash video player in as3, have it take the video file as a flashvar argument and serve it up, swfObject to embed it.</p>
<pre><span style="color: #ff0000;">&lt;?php
 /* if $iphone is false, insert the swfObject code that will replace the div with our flash player */
 if(!$iphone):
 ?&gt;
&lt;script type="text/javascript"&gt;
 var flashvars =
 {
  auto: 0,
  preview: "/images/&lt;?=$brand?&gt;/vid-pre-&lt;?=$vidId?&gt;.jpg",
  skindir: "swfs%2f",
  video: "&lt;?=("/videos/$brand/$vidId.mp4")?&gt;",
  width: "640",
  height: "360",
  type: "mp4"
 };

 var params =
 {
  menu: "false",
  wmode: "transparent"
 };

 var attributes =
 {
  id: "aVid",
  name: "aVid"
 };

 swfobject.embedSWF("/swfs/player.swf", "player", "502", (282 + 40), "9.0.115", "/swfs/expressInstall.swf", flashvars, params, attributes);
 &lt;/script&gt;
&lt;?php
 endif;
 ?&gt;</span>
</pre>
<p>Now we just need to detect a mobile device, and serve up different content pointing to the same video:</p>
<pre><span style="color: #ff0000;">&lt;?php
/* this goes in the header */
$agent = $_SERVER['HTTP_USER_AGENT'];
$iphone =
 ( (strpos($agent, 'iPhone') != false) ||
 (strpos($agent, 'iPad') != false) ||
 ((strpos($agent, 'AppleWebKit') != false) &amp;&amp; (strpos($agent, 'Mobile') != false)) ||
 ((strpos($agent, 'AppleWebKit') != false) &amp;&amp; (strpos($agent, 'webOS') != false)) ||
 (isset($_GET['iphone']))
 ) ? 1:0;
?&gt;

&lt;?php
 if($iphone):
 ?&gt;
 &lt;video id="aVid" width="502" height="282" controls="controls" poster="images/&lt;?php echo"$brand"; ?&gt;/vid-pre-&lt;?=$vidId?&gt;.jpg"&gt;
 &lt;source src="videos/&lt;?=$brand?&gt;/&lt;?=$vidId?&gt;.mp4" type="video/mp4"&gt;&lt;/source&gt;
 &lt;/video&gt;
 &lt;?php
 else:
 ?&gt;
 &lt;div id="player"&gt;
 &lt;p&gt;&lt;a href="http://www.adobe.com/go/getflashplayer"&gt;&lt;img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;/div&gt;
 &lt;?php
 endif;
 ?&gt;</span>
</pre>
<p>So what we&#8217;re looking at above is, we added the code to give us a true or false statement in the variable $iphone if we detect a mobile browser that can do html5 and the video tag.  If $iphone is true, we output the video tag code pointing to our ${vidId}.mp4, otherwise we output the div that swfobject will replace (and inside the div is the info to get your flash player if you don&#8217;t have it).</p>
<p>and we&#8217;ll change the doctype too if we&#8217;re serving up html5:</p>
<pre><span style="color: #ff0000;">&lt;?php
if ($iphone):
?&gt;
&lt;!DOCTYPE html&gt;
&lt;?php
else:
?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;?php
endif;
?&gt;</span>
</pre>
<p>So this works, like a champ&#8230; for the most part.</p>
<p>* First of all, the iPhone doesn&#8217;t appear to even fetch the file if  file extension is not .mp4.  Flash wants to make its h264 file extension as .f4v, but its ok with them named .flv, or .mov, or probably anything!</p>
<p>* Second, encoding a video using adobe&#8217;s h264 encoder doesn&#8217;t mean it works with the iPhone, however, encoding a video for the iPhone works with flash.  I recommend using handbrake with the iPhone setting and &#8216;Web Optimized&#8217; checked.</p>
<p>This setup works and we&#8217;re happy with it.  But here&#8217;s where the headache comes in.</p>
<h2>The headache</h2>
<p>First let me explain the problem:  While testing the iPhone, and the PC everything seemed fine.  Then while thinking we are done, we notice the iPad is behaving irregular.  Basically with this setup the iPad has some odd race condition or something, the &lt;video&gt; tag loads in the video, and the poster comes in and shows a preview of the movie, but the play button is gone.  It&#8217;s not related to the controls argument on the video tag, its not the actual poster, something was just messed up.</p>
<p>Upon diagnosis of adding/removing/changing things around we found that removing the included external javascript files caused it to work properly.  Well that doesn&#8217;t make sense really, so we changed the js files, changed the contents of the js, replaced the js with empty files&#8230; basically if the js files were included (and external js), it would hide the play button.  It doesn&#8217;t matter WHAT the js is, if its garbage, jQuery, an alert&#8230; if you include external js, you lose play.</p>
<p>We found that moving the &lt;javascript&gt; tags to the bottom of the file (we were thinking race condition, or socket limitation or something), this fixed it&#8230; the js was there, the js worked, the play button was there, the video plays! YAY! &#8230;.</p>
<p>That is until we went back to the iPhone.  Now this is where things got really weird.  The newly discovered iPhone bug was some how related to the change of the iPad code, but it made less sense than the iPad bug.  Now the iPad&#8217;s bug was it would hide the play button.  The iPhone bug would give the &#8216;invalid video codec&#8217; symbol.  What ?  Invalid codec ?  You just played this file earlier&#8230;  While checking the webserver logs, the iPhone doesn&#8217;t even attempt to fetch the .mp4 file and check its codec, it just says invalid codec, and you get none.</p>
<p>Trying to figure out the culprit of this one took about 2 days of headaches.  We stripped the html down and found it&#8217;s somehow related to the stylesheet&#8230;. not the contents of the stylesheet, the inclusion of an external stylesheet.</p>
<p>Let me give you an example.</p>
<pre><span style="color: #ff0000;">&lt;link rel="stylesheet" href="css/all.css" type="text/css" media="all" /&gt;

</span></pre>
<p>You can remove type and media arguments without any difference.  If you change the rel or remove it, it suddenly works again!, if you remove the href, it suddenly works again!, if you point the href to a empty file, or just put in &#8216;fisdanfois&#8217; gibberish, it doesn&#8217;t work&#8230; the file doesn&#8217;t have to be valid it can be a 404, it just simply won&#8217;t work if you have that link tag.  We ended up with a small test file&#8230; that consisted of nothing really, as plain as below:</p>
<pre><span style="color: #ff0000;">&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
&lt;head&gt;
 &lt;link rel='stylesheet' href='css/all.css'/&gt;
&lt;/head&gt;
&lt;body&gt;
 &lt;video controls&gt;
 &lt;source src='vidoes/video.mp4'&gt;&lt;/source&gt;
 &lt;/video&gt;
&lt;/body&gt;
&lt;/html&gt;</span>
</pre>
<p>That html above, does not work.  If you remove the &lt;link&gt; tag, it works, if you change rel= to something it works&#8230;</p>
<p>So after these 2 long days of debugging, we didn&#8217;t put 2 and 2 together until we backtracked far enough to undo the iPad fix.  Undoing the iPad fix made it work again, but we were puzzled because the &lt;link&gt; tag was there, and it worked! &#8230; so it must have been directly related to the &lt;javascript&gt; tag movement.  Now it&#8217;s not that the iPhone doesn&#8217;t like &lt;javascript&gt; placed somewhere, it simply doesn&#8217;t want to have a &lt;link&gt; tag in the header, without a &lt;javascript&gt; tag pointing to an external file&#8230;.</p>
<p>I can&#8217;t explain it, all I know is what I seen.  Sure, it makes no sense, it has to be some bug with the iPhone, and iPad for that matter, different bugs, both related to something in the &lt;head&gt;.  We already spent too much time on this fiasco, so the only solution was to specifically look for the iPad&#8217;s agent string, and move the js if its an iPad.  I know, it&#8217;s lame but I have to move on.</p>
<pre><span style="color: #ff0000;">// in the top of the php file, after the $iphone detect
$ipad = strpos($agent, 'iPad') != false;

// in the head
&lt;?php if(!$ipad): ?&gt;
&lt;javascript includes&gt;
&lt;?php endif; ?&gt;

// at the bottom of the file
&lt;?php if($ipad): ?&gt;
&lt;javascript includes&gt;
&lt;?php endif; ?&gt;</span>
</pre>
<p>Well there you go, I hope apple fixes this bug, but until then feel free to just do what we did, maybe you can save a few hairs from falling out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.noinc.com/2010/05/13/html5-video-tag-iphone-ipad-ihaveheadache/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Using a custom preloader in AS3 with wmode=transparent</title>
		<link>http://blog.noinc.com/2010/03/31/using-a-custom-preloader-in-as3-with-wmodetransparent/</link>
		<comments>http://blog.noinc.com/2010/03/31/using-a-custom-preloader-in-as3-with-wmodetransparent/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 16:32:51 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://blog.noinc.com/?p=449</guid>
		<description><![CDATA[
Recently we had trouble with a flash piece for a client.  The swf&#8217;s we made would not load and just show the loading progress bar.  Upon further investigation it turns out we changed the swf to wmode transparent.  Now I know from past experiences that flash&#8217;s internal timing changes with transparent and normally I recommend [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.noinc.com/wp-content/uploads/2010/03/loading.png"><img class="alignleft size-full wp-image-451" title="loading screen" src="http://blog.noinc.com/wp-content/uploads/2010/03/loading.png" alt="" width="199" height="199" /></a></p>
<p>Recently we had trouble with a flash piece for a client.  The swf&#8217;s we made would not load and just show the loading progress bar.  Upon further investigation it turns out we changed the swf to wmode transparent.  Now I know from past experiences that flash&#8217;s internal timing changes with transparent and normally I recommend it be avoided at all costs, but this is a simple piece, just a little image gallery with some tweens, not a game where fps and timing are important.</p>
<p>Being stuck at the preloader lead me to believe something with the preloader is not acting right in wmode transparent.  It turns out the ProgressEvent.PROGRESS event&#8217;s are not firing.  Why ?  I can&#8217;t say, but I think Adobe needs to look into wmode transparent as this isn&#8217;t the only odd thing that happens.</p>
<p>The fix is to simply use an Event.ENTER_FRAME event to check the preload status rather than a ProgressEvent.PROGRESS, since Event.ENTER_FRAME event&#8217;s still fire flawlessly.</p>
<p><strong>Normal preloader code:</strong></p>
<pre>this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loading);

var pct:Number = 0;

function loading(event:ProgressEvent):void
{
 pct = event.bytesLoaded / event.bytesTotal;
 loading.loadedBar.scaleX = pct;
 trace(pct);
 if(pct &gt;= 1)
 {
   this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loading);
   gotoAndPlay(2);
 }
}</pre>
<p><strong>wmode = transparent preloader:</strong></p>
<pre>this.addEventListener(Event.ENTER_FRAME, loading);

var pct:Number = 0;

function loading(event:Event)
{
 pct = this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal
 loading.loadedBar.scaleX = pct;

 trace(pct);

 if(pct &gt;= 1)
 {
  this.removeEventListener(Event.ENTER_FRAME, loading);
  gotoAndPlay(2);
 }
}

**** UPDATE 7/26/2010 By Paul ****

I haven't tested it, but looking through the changelog for 10.1 flash player I noticed:
"[FP-1585] loaderInfo Event.COMPLETE not dispatched if wmode is "transparent" or "opaque". (2345794)"
This may be related to the progress bug as well, makes sense, there's just an event dispatch problem in wmode transparent.</pre>
<pre>
Adobe _MAY_ have fixed this bug.  That doesn't help the stragglers using old flash versions, but its better then nothing.</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.noinc.com/2010/03/31/using-a-custom-preloader-in-as3-with-wmodetransparent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google phases out support for IE6</title>
		<link>http://blog.noinc.com/2010/02/01/google-phases-out-support-for-ie6/</link>
		<comments>http://blog.noinc.com/2010/02/01/google-phases-out-support-for-ie6/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 19:10:45 +0000</pubDate>
		<dc:creator>Matthew Benjamin Cummings</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://blog.noinc.com/?p=248</guid>
		<description><![CDATA['Google has begun to phase out support for Internet Explorer 6, the browser identified as the weak link in a cyber attack on the search engine.' - BBC NEWS]]></description>
			<content:encoded><![CDATA[<p>&#8216;<strong>Google has begun to phase out support for Internet Explorer 6, the browser identified as the weak link in a cyber attack on the search engine.&#8217;</strong></p>
<p><strong></strong>Its about time some of the bigger names starting phasing out support of IE6. Even Microsoft would much prefer users upgrade to IE7. From a html/css perspective, including support for decade-old IE6 always adds a fair amount of additional debugging time.</p>
<p>My latest trend has been to &#8216;coax&#8217; users to upgrade. I try to keep all functionally intact but almost purposely cut back on some of the eye candy and additional interactivity. For instance, If I have a nice little png drop shadow or hover effect on a div.. IE6, no drop shadow for you!  Everything works, but.. you want an upgraded experience, upgrade your browser, please.</p>
<p>Read the full story here at BBC NEWS: <a href="http://news.bbc.co.uk/2/hi/technology/8488751.stm">http://news.bbc.co.uk/2/hi/technology/8488751.stm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.noinc.com/2010/02/01/google-phases-out-support-for-ie6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accordians and Ukuleles</title>
		<link>http://blog.noinc.com/2010/01/21/accordians-and-ukuleles/</link>
		<comments>http://blog.noinc.com/2010/01/21/accordians-and-ukuleles/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 15:52:46 +0000</pubDate>
		<dc:creator>Andy Spangler</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript]]></category>

		<guid isPermaLink="false">http://blog.noinc.com/?p=221</guid>
		<description><![CDATA[

At no&#124;inc we love creating online games ( check out Water Street Fighter,  Cake Boss)!
Recently we had the opportunity to license a copy of our Accordion Hero game to MVNP, a marketing firm out of Honolulu for their own spin &#8220;Ukulele Hero&#8220;.

]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--[if !mso]><span class="mceItemObject"   classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></span><br />
<mce:style><!  st1\:*{behavior:url(#ieooui) } --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">At no|inc we love creating online games ( check out <a href="http://www.noinc.com/holiday08/" target="_blank">Water Street Fighter,</a> <span> </span><a href="http://tlc.discovery.com/tv/cake-boss/games/delivery-dash.html" target="_blank">Cake Boss</a>)!</p>
<p class="MsoNormal">Recently we had the opportunity to license a copy of our Accordion Hero game to <a href="http://www.mvnp.com/" target="_blank">MVNP</a>, a marketing firm out of Honolulu for their own spin <a href="http://www.hawaiiukulelehero.com/" target="_blank">&#8220;Ukulele Hero</a>&#8220;.</p>
<p class="MsoNormal"><a href="http://blog.noinc.com/wp-content/uploads/2010/01/hawaiiukulelehero.png"><img class="alignleft size-medium wp-image-227" title="Hawaii Ukulele Hero" src="http://blog.noinc.com/wp-content/uploads/2010/01/hawaiiukulelehero-300x231.png" alt="" width="300" height="231" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.noinc.com/2010/01/21/accordians-and-ukuleles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forcing class import with dynamic classes in AS3</title>
		<link>http://blog.noinc.com/2009/09/02/forcing-class-import-with-dynamic-classes-in-as3/</link>
		<comments>http://blog.noinc.com/2009/09/02/forcing-class-import-with-dynamic-classes-in-as3/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 20:58:53 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://blog.noinc.com/?p=157</guid>
		<description><![CDATA[Recently I came upon a situation where I&#8217;m trying to dynamically instance classes based off meta data loaded externally.  Flex compiles ok, but running fails&#8230; Futher investigation while debugging during runtime shows the following error:
ReferenceError: Error #1065: Variable MyClass is not defined.
It turns out, that because I have no reference to using the class statically, [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I came upon a situation where I&#8217;m trying to dynamically instance classes based off meta data loaded externally.  Flex compiles ok, but running fails&#8230; Futher investigation while debugging during runtime shows the following error:</p>
<pre style="padding-left: 30px;"><em>ReferenceError: Error #1065: Variable MyClass is not defined.</em></pre>
<p>It turns out, that because I have no reference to using the class statically, the compiler is optimizing out the &#8216;MyClass&#8217; class.</p>
<p>Since there appears to be no compiler directive to force a class to include (the import statement doesn&#8217;t force it) by using it once.</p>
<p>The easiest thing to do is just create an array of all my dynamic classes, as so:</p>
<pre style="padding-left: 30px;">var forceIncludeClasses:Array = [</pre>
<pre style="padding-left: 30px;">MyClass,</pre>
<pre style="padding-left: 30px;">MyClass2,</pre>
<pre style="padding-left: 30px;">MyClass3</pre>
<pre style="padding-left: 30px;">];</pre>
<p>Since I&#8217;m calling this from an init function, there should only be a microsecond of slowdown during startup and the array&#8217;s scope isn&#8217;t global so the garbage collector should clean it up.</p>
<p>Here is a more complete snippet of using dynamic classes.</p>
<pre style="padding-left: 30px;">/* import my classes */
import com.noinc.MyClass;
import com.noinc.MyClass2;
import com.noinc.MyClass3;
/* the utility import that allows us to get a class reference to my dynamic classes */
import flash.utils.getDefinitionByName;

/* init function, called at creationComplete */
function init():void
{
   var forceIncludeClasses:Array = [
      MyClass,
      MyClass2,
      MyClass3
   ];

   createInstance("com.noinc.MyClass");
}

/* called to create instances of my classes */
function createInstance(className:String):void
{
   /* className is a string reference to my class, using the full package name, coming from XML in my code */
   /* Even though statically I could just do var x:MyClass = new MyClass(), getDefinitionByName */
   /* Appears to not be happy with just MyClass... */

   /* A handle to the class is returned */
   var tmpClass:Class = getDefinitionByName(className) as Class;

   /* We are using * for our variable type because we don't know ahead of time what class this function will use */
   var tmpOb:* = new tmpClass();
   /* set whatever additional properties you want */
   tmpOb.property = "whatever";
   /* Add the instance to the stage */
   addChild(tmpOb);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.noinc.com/2009/09/02/forcing-class-import-with-dynamic-classes-in-as3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
