<?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>justin.everett-church.com &#187; Design</title>
	<atom:link href="http://justin.everett-church.com/category/design/feed/" rel="self" type="application/rss+xml" />
	<link>http://justin.everett-church.com</link>
	<description>A blog for Flash, games, Adobe, and assorted wackiness.</description>
	<lastBuildDate>Fri, 28 Oct 2011 01:07:03 +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>Flash Player 10 experiment #1: Cloth Texture Mapping</title>
		<link>http://justin.everett-church.com/2008/10/23/flash-player-10-experiment-1-cloth-texture-mapping/</link>
		<comments>http://justin.everett-church.com/2008/10/23/flash-player-10-experiment-1-cloth-texture-mapping/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 12:09:23 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Astro]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=263</guid>
		<description><![CDATA[This demo is a combination of the new drawing API features like drawTriangles combined with an object made from APE (ActionScript Physics Engine). The texture that is mapped across the shape in this demo can be an image, video, pixel &#8230; <a href="http://justin.everett-church.com/2008/10/23/flash-player-10-experiment-1-cloth-texture-mapping/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="/jec/fp10demos/cloth.html"><img src="/jec/clothDemo.jpg" alt="Cloth Demo" /></a></p>
<p>This <a href="/jec/fp10demos/cloth.html">demo</a> is a combination of the new drawing API features like drawTriangles combined with an object made from <a href="http://www.cove.org/ape/">APE (ActionScript Physics Engine)</a>. The texture that is mapped across the shape in this demo can be an image, video, pixel bender or simple color.</p>
<p>In the color demo you can see that the cloth has two sides. This is done with the concept of backface culling. When drawing triangles, you can specify if positive or negative triangles should be bypassed in rendering. This means that for a 3D app, you don&#8217;t need to double render, but for this far simpler example you can draw the negative triangles with a different texture by doinga second fill process where you don&#8217;t draw the positive triangles.</p>
<p>more to come!</p>
<p><img src="/jec/clothDetails.jpg" alt="Cloth demo detail images" /></p>
<p>BTW, if you are using APE and want to export to for Flash Player 10, you will need to go through and rename the Vector Class to something else since it will conflict with the new Vector data type.</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2008/10/23/flash-player-10-experiment-1-cloth-texture-mapping/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Astro at MAX 2007</title>
		<link>http://justin.everett-church.com/2007/10/02/astro-at-max-2007/</link>
		<comments>http://justin.everett-church.com/2007/10/02/astro-at-max-2007/#comments</comments>
		<pubDate>Tue, 02 Oct 2007 19:43:44 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=233</guid>
		<description><![CDATA[Yesterday, Emmy Huang and I announced some of the new features that will be going into Astro (The next version of Flash Player). We got a great response from attendees, and I hope you will be equally excited by what &#8230; <a href="http://justin.everett-church.com/2007/10/02/astro-at-max-2007/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, <a href="http://weblogs.macromedia.com/emmy/" target="_blank">Emmy Huang</a> and I announced some of the new features that will be going into <a href="http://www.adobe.com/go/astro" target="_blank">Astro</a> (The next version of Flash Player).  We got a great response from attendees, and I hope you will be equally excited by what is coming next. If you&#8217;d like to see the video, take a look at <a href="http://aralbalkan.com/1048" target="_blank">Aral Balkan&#8217;s recording</a>.</p>
<p>So what&#8217;s new?</p>
<p><strong>Text:</strong><br />
Astro will have a new text layout engine that will expose low-level primitives.  This means that we aren&#8217;t adding a new TextField, but instead, we are providing hooks that ActionScript 3.0 components will be written on.  Adobe is working on a nice set of components that support bi-directional text (also known as right to left text) and layout flows like columns, inline HTML tables, and improved inline image support.</p>
<p>This demo shows a simple paragraph with some not-so-simple elements.  The paragraph shows 10 languages including arabic, hebrew and thai.  Emmy then demonstrated that as she re-sized the window, the hebrew text break as it should with the left most word dropping down to the next line when it had to wrap.  She also demoed the same example translated in to japanese which has a different line breaking rule system (oh! and it was also fully justified text).</p>
<p><strong>3D Effects</strong><br />
Astro will also be adding support for 3D effects focusing on ease of use.  Any display object will be able to be positioned and rotated in 3D space by using new DisplayObject APIs like <code>rotationX</code>, <code>rotationY</code>, and <code>rotationZ</code> (which is just an alternate access to existing rotation property).  <code>x</code> and <code>y</code> are going to be joined by the new <code>z</code> property that will resize a display object to be in correct size.</p>
<p>The first example I showed was a video of Natzke running in the FLV playback component.  By adjusting sliders, I started the video spinning in the X,Y, and Z axes.  I swear I wasn&#8217;t trying to condemn Eric to to superman&#8217;s prison dimension!  I also demonstrated a 3D animation tween API by clicking a button and showing the video animating from any starting orientation to a pre-defined location.</p>
<p>The last part of the example was showing that the playback component skin was still fully functional. I could still click on the play/pause button and even drag the seek slider while the video is transformed.  Any display object will be able to be rotated with the interactivity still intact.</p>
<p>To show off the APIs a bit, I also showed a more creative example in the form of a galaxy animation made of three movie clips rotating in 3D space.  I thought the effect turned out pretty well, but I learned a lot about even more capabilities of the feature that I am looking forward to demonstrating at future conferences.</p>
<p><strong>Custom Filters</strong><br />
While the first two demos were pretty exciting to me, I think the big feature is <a href="http://www.adobe.com/go/hydra" target="_blank">Hydra</a>.  Hydra is a new programming language that Adobe is working on for pixel shading.  With this you can write your own filters to be used alongside the existing built-in filters.</p>
<p>Emmy introduced this feature by bringing back Chris Georgenes&#8217;s monkey that we used to demo the original filter. We showed the monkey but now looking a bit warped by a new twirl filter.  I then demoed the Adobe Image Foundation toolkit which was posted to Adobe labs yesterday!  The toolkit let&#8217;s you develop Hydra filters and comes with several great samples.  Once you compile the filter it will preview it with live adjustable parameters that will apply the filters to any image that you load into the tool.</p>
<p>Already we&#8217;ve recieved feedback from develoeprs that are developing some great filters in less than a day of the toolkit being available.  If you develop one, post an image of the filter effect online or send it my way, I&#8217;d love to see them!</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2007/10/02/astro-at-max-2007/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>Really immature thought of the day</title>
		<link>http://justin.everett-church.com/2007/05/18/really-immature-thought-of-the-day/</link>
		<comments>http://justin.everett-church.com/2007/05/18/really-immature-thought-of-the-day/#comments</comments>
		<pubDate>Fri, 18 May 2007 17:25:39 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Cattiness]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=227</guid>
		<description><![CDATA[I&#8217;m so sorry. I would normally hope that my blog postings live up to some editorial standards. Today I prove otherwise with a bit of toilet humor. I was doing a search and ended up at blogs.sqlxml.org. The logo for &#8230; <a href="http://justin.everett-church.com/2007/05/18/really-immature-thought-of-the-day/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="/jec/sqlxml.jpg" alt="sqlxml logo" /></p>
<p>I&#8217;m so sorry. I would normally hope that my blog postings live up to <em>some</em> editorial standards.  Today I prove otherwise with a bit of toilet humor.</p>
<p>I was doing a search and ended up at <a href="http://blogs.sqlxml.org" target="_blank">blogs.sqlxml.org</a>.  The logo for the site is a stick figure as the base of a nice green tree.  Unfortuantely, it took me a few moments to see that interpretation.  When I arrived at the page, my first thought was &#8220;Why is their logo a man being killed by a cloud of fart?&#8221;  The really iconic figure does look like it should be on a warning sign.</p>
<p>Maybe he is running away from the cloud in terror.  Maybe he is being eaten by space amoebas.  Perhaps this is the alien that bleached Michael Jackson.  You decide.</p>
<p>Note to self: get a second opinion before launching new designs.</p>
<p>Edit: I was wrong.  The design does not belong to SQLXML.  It belongs to <a href="http://communityserver.org/" target="_blank">CommunityServer2007</a>.  The SQLXML blog just runs on it.  Community Server is an actual product. *shakes head*</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2007/05/18/really-immature-thought-of-the-day/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>New Y! Maps Tiles: Topology and Typography</title>
		<link>http://justin.everett-church.com/2007/05/16/new-y-maps-tiles-topology-and-typography/</link>
		<comments>http://justin.everett-church.com/2007/05/16/new-y-maps-tiles-topology-and-typography/#comments</comments>
		<pubDate>Wed, 16 May 2007 17:48:19 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=226</guid>
		<description><![CDATA[The new Yahoo! Maps tile engine Galileo is beautiful. Beauty in this case is very readable text labels, color coded neighborhoods, county line markings, icons for things like hospitals, and on regional views, a shaded topographic mapping. The thing that &#8230; <a href="http://justin.everett-church.com/2007/05/16/new-y-maps-tiles-topology-and-typography/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="/jec/YMapsTiles.jpg" alt="topographic Yahoo! Maps" /></p>
<p>The new <a href="http://maps.yahoo.com" target="_blank">Yahoo! Maps</a> tile engine Galileo is beautiful.  Beauty in this case is very readable text labels, color coded neighborhoods, county line markings, icons for things like hospitals, and on regional views, a shaded topographic mapping.</p>
<p>The thing that impresses me most about this release is that you get a lot more information without feeling like you are in information overload.  All of the new features are subtle and intuitive drawing from everything people already know from using a paper map.  I&#8217;m used to the pastel fields of color with an all caps word in the middle that defines it.  I&#8217;m used to the little blue square with an H in it for hospital.</p>
<p><img src="/jec/YMapsTiles.gif" alt="zoomed view of new tiles" /></p>
<p>I&#8217;m also impressed at how well they blended the level of detail across zoom levels.  Topography would be very hard to past at the fully zoomed in level just as color coding neighborhoods wouldn&#8217;t make sense at larger views.  That seems pretty obvious, but what I think was trickier are the many levels of zoom between that aren&#8217;t obvious about how much detail is needed.  So far I think it strikes a great balance.</p>
<p>My last kudos is on the text.  it is very readable with a sub-pixel stroke of white to accentuate it.  It is also a pretty font.  This one change alone makes the map go from functional to designed in my humble opinion.</p>
<p>Now that I have paid homage the lovely, rich simplicity of the map, I hope they do extend their maps even further.  When there are icons for hospitals and airports, I&#8217;d love to be able to click on them and route to them.  In the case of a hospital, I have had the need to find one quickly and it was a real horror.  I can at least see where they are, but I would still have to route myself to them or figure out the intersection and enter it myself.  I know this isn&#8217;t trivially easy to do since putting to many interactive markers would interfere with dragging, but it would still be cool.</p>
<p>This would be especially interesting since the tiles for Yahoo! Maps are in SWF format.  You could actual bake in fully interactive elements to the tiles themselves rather than just relying on painted pixels.</p>
<p>While they haven&#8217;t put a post up about the new tiles yet on the <a href="http://www.ylocalblog.com/" target="_blank">Y! Local and Maps blog</a>, you should still check it out for lots of other interesting features that are available.</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2007/05/16/new-y-maps-tiles-topology-and-typography/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Allow Smoothing is Your Friend</title>
		<link>http://justin.everett-church.com/2007/05/15/allow-smoothing-is-your-friend/</link>
		<comments>http://justin.everett-church.com/2007/05/15/allow-smoothing-is-your-friend/#comments</comments>
		<pubDate>Tue, 15 May 2007 22:00:46 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=225</guid>
		<description><![CDATA[A lot of Flash work I&#8217;ve seen recently has had really choppy looking images in Flash. This is especially true in images that are rotated. Today I was randomly searching around for the maker of Chiclets (whole different story) and &#8230; <a href="http://justin.everett-church.com/2007/05/15/allow-smoothing-is-your-friend/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="/jec/cadbury.jpg" alt="Cadbury adams pixelated Flash images" /></p>
<p>A lot of Flash work I&#8217;ve seen recently has had really choppy looking images in Flash.  This is especially true in images that are rotated.  Today I was randomly searching around for the maker of Chiclets (whole different story) and ran across the <a href="http://www.cadburyadams.com/" target="_blank" class="broken_link">Cadbury Adams</a> site (pictured above).  Someone did some pretty significant tweening there to get the effect of the brands going along the animated rope, but as the images go around all of the boxes get really mangled.</p>
<p>There is a very easy fix that would have made the SWF look many times better, but I&#8217;ve been discovering that the feature isn&#8217;t well known about by people starting with Flash in the last few versions. To let your images to be cleanly smoothed as they are resized and/or rotated go to the bitmap in your library, right mouse click and select properties.  From there select &#8220;Allow Smoothing.&#8221;</p>
<p>I&#8217;m trying to figure out if the default in the past was to have the image smooth since I don&#8217;t really remember seeing as many sites having issues like this one.  Otherwise it could be a feature that has been lost to the ages (though I&#8217;m sure YOU know about it!) <img src='http://justin.everett-church.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p>Also if you want to have your image smooth in some cases, but not smooth in others, you can always take an instance of the image and use break apart (not trace as bitmap!) which will take the image, remove it and replace it with a vector shape of the same size and position and give it a fill with the bitmap.  This will always allow smoothing.  Any non-broken-apart images then will remain crisp.</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2007/05/15/allow-smoothing-is-your-friend/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Non-Flash, Flash Ad</title>
		<link>http://justin.everett-church.com/2006/10/17/non-flash-flash-ad/</link>
		<comments>http://justin.everett-church.com/2006/10/17/non-flash-flash-ad/#comments</comments>
		<pubDate>Tue, 17 Oct 2006 23:00:56 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Cattiness]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=213</guid>
		<description><![CDATA[I&#8217;m being haunted by an ad, from site to site. Is it Flash? Nope. Was it made in Flash? Maybe. Notice anything familiar? If the ad were actually Flash and not a badly compressed JPG, I would have been waiting &#8230; <a href="http://justin.everett-church.com/2006/10/17/non-flash-flash-ad/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m being haunted by an ad, from site to site. Is it Flash? Nope.  Was it made in Flash? Maybe.</p>
<p><img src="http://images.trafficmp.com/tmpad/content/tmpexpress/creatives/300x250.jpg" alt="bad ad" /></p>
<p>Notice anything familiar?  If the ad were actually Flash and not a badly compressed JPG, I would have been waiting for one of the default audio clips that was included with Flash.</p>
<p>For those that aren&#8217;t seeing what is amusing in the ad, it is the blue arcade style button in the picture. If I put on my black turtleneck, I could criticize it in many ways, but there is a pretty simple one.  The button is a default asset that comes with Flash, for demonstrating how to make and use a button.  For Flash people it is the equivalent of seeing some of the default Microsoft clip art in an ad.  Its just strange.</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2006/10/17/non-flash-flash-ad/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Yahoo! Finance Charts, Now in Flash</title>
		<link>http://justin.everett-church.com/2006/07/31/yahoo-finance-charts-now-in-flash/</link>
		<comments>http://justin.everett-church.com/2006/07/31/yahoo-finance-charts-now-in-flash/#comments</comments>
		<pubDate>Mon, 31 Jul 2006 15:00:46 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=206</guid>
		<description><![CDATA[If you haven&#8217;t seen it yet, check out the new Yahoo! Finance (Beta) including the new charts built in Flash. I think the finance team did a beautiful job on the new Flash charts. At the beginning of the project, &#8230; <a href="http://justin.everett-church.com/2006/07/31/yahoo-finance-charts-now-in-flash/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="/jec/flashYFinance.jpg" alt="Y! Finance Flash charts" /></p>
<p>If you haven&#8217;t seen it yet, check out the new <a href="http://finance.yahoo.com" target="_blank">Yahoo! Finance</a> (Beta) including the new <a href="http://finance.yahoo.com/charts" target="_blank">charts</a> built in Flash. I think the finance team did a beautiful job on the new Flash charts. At the beginning of the project, Finance didn&#8217;t have any Flash developers. Rather than going down the hiring route for getting Flash expertise, they trained themselves and really knocked everyone&#8217;s socks off here.</p>
<p>You may also notice that the side panel of the charts is HTML-based.  The finance group decided to go with a hybrid AJAX/Flash application.  While I prefer Flash solutions overall for a variety of reasons, I think the overall feel is excellent.  Without right clicking I wouldn&#8217;t know where one technology stopped and the other begins, just as it should be.</p>
<p>To check out some of the features of the charts, try comparing some different stock symbols, the graphing styles and most importantly the technical indicators. The technical indicators are very interesting modules that provide different perspectives on the displayed data.  In addition though, they actually give information for novices such as me to know just what the heck I am looking at.</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2006/07/31/yahoo-finance-charts-now-in-flash/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>U10 Dots Background</title>
		<link>http://justin.everett-church.com/2006/03/06/u10-dots-background/</link>
		<comments>http://justin.everett-church.com/2006/03/06/u10-dots-background/#comments</comments>
		<pubDate>Mon, 06 Mar 2006 17:44:38 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Devices/Phones]]></category>
		<category><![CDATA[Flash Lite]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=182</guid>
		<description><![CDATA[In my previous post I talked about how to make the background of your U10 a Flash movie, so I thought I would post the source for my first background, a random generating background. It looks fairly plain on the &#8230; <a href="http://justin.everett-church.com/2006/03/06/u10-dots-background/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://justin.everett-church.com/index.php/2006/03/06/h4x0r1ng-the-u10-interface/" target="_blank">previous post</a> I talked about how to make the background of your U10 a Flash movie, so I thought I would <a href="/source/dotsBackground.zip" target="_blank" class="broken_link">post the source</a> for my first background, a random generating background.  It looks fairly plain on the desktop, but when you add in all of the menu items from the device, it looks a little more interesting. <img src='http://justin.everett-church.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In addition to adding the circle elements, I am altering the alpha level of the non-highlighted elements of the menu.  To make the menu work with any background color, the text elements are set at about 30% opacity. The Flash background I&#8217;ve been working on is a bit bold color-wise and the menu items are getting lost. By bumping the _alpha of <code>/all/currentMenu</code> up to 300%, you can make the text opaque.</p>
<p>Prior to doing a little more introspection I had previously been changing the alpha of the root, but that affects other UI elements like the translucent black overlay for system notifications like volume adjustments and connectivity. By more narrowly targeting the alpha setting, I can boost just menu text and arrows.</p>
<p>Another interesting thing that you can see when you start doing dynamic backgrounds is that the SWF is reloaded several times.  If the backlight turns off, the background will redraw when the light comes back on.  The same holds for when you change from portrait to landscape or launch and exit a game.  The strange thing is that right before it redraws, you still see the old state.  It isn&#8217;t that the background was ever unloaded; it was just reloaded.</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2006/03/06/u10-dots-background/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
		<item>
		<title>H4X0R1Ng the U10 Interface ;)</title>
		<link>http://justin.everett-church.com/2006/03/06/h4x0r1ng-the-u10-interface/</link>
		<comments>http://justin.everett-church.com/2006/03/06/h4x0r1ng-the-u10-interface/#comments</comments>
		<pubDate>Mon, 06 Mar 2006 09:39:05 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Devices/Phones]]></category>
		<category><![CDATA[Flash Lite]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=181</guid>
		<description><![CDATA[Making games for the U10 is fun, but I also want to be able to customize the Flash Lite UI that runs the rest of the device. I&#8217;ve gotten pretty far, so I thought I&#8217;d share what I learned in &#8230; <a href="http://justin.everett-church.com/2006/03/06/h4x0r1ng-the-u10-interface/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="/jec/U10BG1.jpg" alt="IRiver U10 custom backgrounds" /></p>
<p>Making games for the U10 is fun, but I also want to be able to customize the Flash Lite UI that runs the rest of the device.  I&#8217;ve gotten pretty far, so I thought I&#8217;d share what I learned in hopes that others are looking into this and can share what they have learned.</p>
<p><strong>The Problem</strong><br />
The Iriver does a really good job of protecting its UI SWF.  When you hook the device up to your computer you can see some directories, but there must be some that are simply not exposed.  There are two main directories on the device, media which holds the DRM audio/video and can&#8217;t be modified except through Windows media player.  The other directory is Data that can be modified as you wish.</p>
<p><strong>The Vulnerable Spot</strong><br />
When I got my U10, one of the first features that made me raise an eyebrow was picture viewing.  You use a tool to transfer JPGs from your desktop to the device where they can magically be loaded.  The thing is that as I have really good cause to know from my traffic cam viewer and Flickr tool, Flash Lite 1.1 can&#8217;t load JPGs. Looking at the files on the device (/data/system/pictures/) The files are .JFU and .JTH, which I assume stand for &#8220;JPG Full&#8221; and &#8220;JPG Thumbnail.&#8221;</p>
<p>If you transfer any of these files to your desktop and change the file extension to .SWF, the Flash Player can run the file. The image viewer works in a very similar way to my traffic cam viewer.  Instead of loading a JPG, it relies on an external solution to wrap the JPG as a SWF. This isn&#8217;t a server solution like mine though. The transfer tool does the conversion as part of the transfer process.</p>
<p>Knowing that, it is pretty easy to make your own Flash Lite 1.1 files and start loading Flash files into the UI.  The easiest way I&#8217;ve found is to export your file and take a screen shot and save it as a JPG.  Move that file over using the transfer tool to make the placeholder (and thumbnail file), then replace the JFU with your SWF remembering to alter the file extension.  When you disconnect your U10 and it re-boots, go to Settings&gt;Extra&gt;Background&gt;Pictures&gt;(your image directory) and select the thumbnail for your SWF.</p>
<p><strong>Introspecting the UI</strong><br />
With a Flash background you can do some pretty cool design things, but not a whole lot technically.  To do more, it is a matter of finding out more about the Flash file that loaded the background.  In Flash 5 and higher, there are a lot of tools that let you introspect into a parent SWF that another is loaded into.  With <code>for...in</code> you can find everything you could ever need to know.</p>
<p>Back in the reality of Flash Lite 1.1, we have a much more limited set of tools. The best tool in our small arsenal is <code>_target</code>.  For the background it is <code>/bgImg/photo/photoDown</code>.  It doesn&#8217;t get us as far as I&#8217;d like since you can&#8217;t find out what else is in each of the timelines.  Luckily there are other places that the images appears.  Some of these other locations are a bit more revealing.</p>
<p>&nbsp;&nbsp;<strong>Full SWF as the Background:</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;<code>/bgImg/photo/photoDown</code></p>
<p>&nbsp;&nbsp;<strong>Thumb SWF in the Background Selector:</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;UI in landscape:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<code>/all/currentMenu/setupPhotoList/listBox/list2/photo</code><br />
&nbsp;&nbsp;&nbsp;&nbsp;UI in portrait:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<code>/all/currentMenu/setupPhotoList/listBox/list3/photo</code></p>
<p>&nbsp;&nbsp;<strong>Full SWF viewed in the Photo Viewer:</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/all/nextMenu/photo/photo/photoDown</code></p>
<p>&nbsp;&nbsp;<strong>Thumb SWF in the Photo Selector menu:</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;UI in landscape:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<code>/all/currentMenu/PhotoList/listBox/list2/photo</code><br />
&nbsp;&nbsp;&nbsp;&nbsp;UI in portrait:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<code>/all/currentMenu/PhotoList/listBox/list3/photo</code></p>
<p>Also using <code>_currentframe</code> and <code>_totalframes</code> can reveal a little, but I haven&#8217;t had much chance to play with sending the various movie clips to different frames.  The root does have 70 frames though, so there could be some interesting things there.</p>
<p>I&#8217;ve been spending my time exploring the other timelines, specifically the menu timelines. Strangely, every time I try to modify <code>/all</code>&#8216;s properties, it really screws things up.  I have no idea how, but setting the <code>_y</code> of the movie clip, often makes the buttons non-functional and can even shift the UI into portrait mode. No clue why.  There are however some elements off-stage if you want to take a look. <img src='http://justin.everett-church.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Just be careful, you can seriously screw up your ability to interact with the device.  If you mess things up you can still generally connect up to your PC and replace your malfunctioning file.  When it asks you whether to do power only or power and data, you may have to try a variety of buttons. <img src='http://justin.everett-church.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   If you get seriously screwed up, you can always download the firmware update tool from iRiver and reformat the device (eep!).</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2006/03/06/h4x0r1ng-the-u10-interface/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Flash Forward 2006 &#8211; Seattle Flash Lite Presentation</title>
		<link>http://justin.everett-church.com/2006/02/28/flash-forward-2006-seattle-flash-lite-presentation/</link>
		<comments>http://justin.everett-church.com/2006/02/28/flash-forward-2006-seattle-flash-lite-presentation/#comments</comments>
		<pubDate>Tue, 28 Feb 2006 20:54:26 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Devices/Phones]]></category>
		<category><![CDATA[Flash Lite]]></category>

		<guid isPermaLink="false">http://justin.everett-church.com/?p=180</guid>
		<description><![CDATA[Sorry for the rather speedy post a bit ago, I was getting knocked off the network by the folks coming into the room right before the session. I was getting ready to start and I realized I had forgotten one &#8230; <a href="http://justin.everett-church.com/2006/02/28/flash-forward-2006-seattle-flash-lite-presentation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sorry for the rather speedy post a bit ago, I was getting knocked off the network by the folks coming into the room right before the session. <img src='http://justin.everett-church.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   I was getting ready to start and I realized I had forgotten one thing.  Having the files up <em>before</em> the session does seem an important point though. <img src='http://justin.everett-church.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Thanks to everyone that attended.  I was really pleasantly surprised by the turnout.  There were also some really good questions after the session.  If you would like to see the PPT file and the related Flash files, please download the source <a href="/source/FF06sea.zip" target="_blank" class="broken_link">here</a>.</p>
<p>The major points of the session focused on one of two topics.  The first part of the presentation was focused on what designers can do to optimize Flash Lite 1.1 performance.  I used a couple of my old files like Pellet Pop and Aces High plus a maze game I made for the iRiver U10 to demonstrate some of the design techniques:</p>
<ul>
<li>Smoothly animate small elements the eye is focused on and roughly animate (or not at all) large elements.  This gives user the perception of smooth moving content without the hit to performance.</li>
<li>Use  simple animations (scripted or tweened) to cover over processor intensive task.  If you need to run a harsh loop over several items, animate a transition and run the the loop as a frame loop rather than a while loop.  The example of this was using an explosion animation in Pellet Pop.  The trig for digging out each column of a dynamically created terrain that has been exploded is run at one column per frame during each from of the explosion animation.  The cumulative effect of the script is applied visually when the animation is finished.</li>
<li>Consider whether to use vectors or bitmaps in your application.  Scaling and rotation really require vectors, but otherwise you should use bitmaps for the performance benefits.</li>
<li>Interaction differences in the devices make all the difference.  Target specific devices, or classes of devices with your SWF. Flash does a great job of staying functional anywhere, but with varying screen sizes and pixel density, not to mention interaction patterns, each device is pretty unique.  By tying your layout to variables that can easily be changed, it is pretty easy to create a base file then make some <em>documented</em> design changes to target a new device.  I showed how by changing two variables, the stage size and one button event handler I was able to make a specific port of my U10 game for my Nokia that is consistent with the Nokia interactions.</li>
</ul>
<p>From there I moved on to Flash Lite 2.0 to show how much better life is about to get.  My original maze game was coded for Flash 6, and with only changing the stage size I was able to run the original game on my phone with only a very slight loss in performance.  I also showed how using Flash Lite keeps you from having to implement server solutions for XML and loading JPGs.  This ability really makes Flash Lite accessible to people that are purely focused on the client side.</p>
<p>I wrapped up my presentation by talking about how Flash Lite 2.0 is actually moving ahead of the desktop player in certain cases.  In Flash Lite 2.0 you can use right to left languages and can support any media type that your phone supports.  I showed an example from Adobe on how Flash can composite 3GP video  straight into the Flash movie.  I desperately wish Flash for the desktop had this capability.</p>
]]></content:encoded>
			<wfw:commentRss>http://justin.everett-church.com/2006/02/28/flash-forward-2006-seattle-flash-lite-presentation/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

