<?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>Mike Chambers &#187; fp10.1</title>
	<atom:link href="http://www.mikechambers.com/blog/tag/fp10-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mikechambers.com/blog</link>
	<description>code = joy</description>
	<lastBuildDate>Thu, 12 Aug 2010 17:31:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>On Adobe, Flash CS5 and iPhone Applications</title>
		<link>http://www.mikechambers.com/blog/2010/04/20/on-adobe-flash-cs5-and-iphone-applications/</link>
		<comments>http://www.mikechambers.com/blog/2010/04/20/on-adobe-flash-cs5-and-iphone-applications/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 22:47:05 +0000</pubDate>
		<dc:creator>mikechambers</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[fp10.1]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.mikechambers.com/blog/?p=2041</guid>
		<description><![CDATA[A little over a week ago Apple released a new draft of their iPhone developer program license which contained the following clause: 3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mikechambers.com%2Fblog%2F2010%2F04%2F20%2Fon-adobe-flash-cs5-and-iphone-applications%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mikechambers.com%2Fblog%2F2010%2F04%2F20%2Fon-adobe-flash-cs5-and-iphone-applications%2F&amp;source=mesh&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>A little over a week ago Apple released a new draft of their iPhone developer program license which contained the following clause:</p>
<blockquote><p>3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).</p></blockquote>
<p>Essentially, this has the effect of restricting applications built with a number of technologies, including Unity, Titanium, MonoTouch, and Flash CS5. While it appears that Apple may selectively enforce the terms, it is our belief that Apple will enforce those terms as they apply to content created with Flash CS5. Developers should be prepared for Apple to remove existing content and applications (100+ on the store today) created with Flash CS5 from the iTunes store.<br />
<span id="more-2041"></span><br />
We will still be shipping the ability to target the iPhone and iPad in Flash CS5. However, we are not currently planning any additional investments in that feature.</p>
<p>To be clear, during the entire development cycle of Flash CS5, the feature complied with Apple&#8217;s licensing terms. However, as developers for the iPhone have learned, if you want to develop for the iPhone you have to be prepared for Apple to reject or restrict your development at anytime, and for seemingly any reason. In just the past week Apple also changed its licensing terms to essentially <a href="http://www.wired.com/epicenter/2010/04/with-new-developer-agreement-apple-unlevels-the-iad-playing-field/#ixzz0lamm408R">prohibit ad networks other than its own on the iPhone</a>, and it came to light that <a href="http://www.niemanlab.org/2010/04/mark-fiore-can-win-a-pulitzer-prize-but-he-cant-get-his-iphone-cartoon-app-past-apples-satire-police/">Apple had rejected an application from a Pulitzer Prize winning cartoonist</a> on editorial grounds (which Apple later said was a &#8220;mistake&#8221;).</p>
<p>The primary goal of Flash has always been to enable cross browser, platform and device development. The cool web game that you build can easily be targeted and deployed to multiple platforms and devices. However, this is the exact opposite of what Apple wants. They want to tie developers down to their platform, and restrict their options to make it difficult for developers to target other platforms. There is plenty of commentary online about this, so I won&#8217;t belabor the point, but I have included some links below that cover it more depth:</p>
<ul>
<li><a href="http://slate.com/id/2250993">Apple Wants to Own You</a></li>
<li><a href="http://www.pcworld.com/article/194318/apple_locks_iphone_developers_in_its_walled_garden.html">Apple Locks iPhone Developers in Its Walled Garden</a></li>
</ul>
<p>So, was all of the work on the iPhone packager a waste of time and resources? No, I don&#8217;t believe so. We proved that:</p>
<ol>
<li>There is no technical reason that Flash can&#8217;t run on the iPhone</li>
<li>Developers can create well performing and compelling content for the device with Flash</li>
</ol>
<p>However, more importantly, the teams implemented features (such as hardware acceleration and Ahead of Time compilation) that we will now be able to leverage for other devices and platforms. We have gained knowledge and experience that are being directly applied to Flash Player 10.1 and Adobe AIR 2.0 for other mobile operating systems.</p>
<p>Fortunately, the iPhone isn&#8217;t the only game in town. Android based phones have been doing well behind the success of the Motorola Droid and Nexus One, and there are a number of <a href="http://mashable.com/2010/03/24/nvidia-tegra-android-tablet-demo/">Android based tablets</a> slated to be released this year. We are <a href="http://blogs.adobe.com/conversations/2010/04/adobe_air_on_the_android_platf.html">working closely with Google</a> to bring both Flash Player 10.1 and Adobe AIR 2.0 to these devices, and thus far, the results have been very promising.</p>
<p>Because this is Flash, it is rather trivial to port games created with Flash that target the iPhone to target other operating systems, such as Android. At <a href="http://flashcampsf.eventbrite.com">FlashCamp San Francisco</a> on Friday night, David Wadhwani (GM and VP of the Flash Platform) showed off a number of games running on Android that had been created with Flash, many of which had already been deployed as iPhone games. My personal favorites were <a href="http://www.youtube.com/watch?v=6WZrE1_7Dw4">Chroma Circuit</a> and GridShock created by Josh Tynjala of <a href="http://bowlerhatgames.com/">Bowler Hat Games</a>. Both games were originally developed as browser based games and were then updated to target the iPhone (Chroma Circuit was featured on the iTunes app store). Josh recently updated and optimized them to target Flash Player on Android, and the <a href="http://joshblog.net/2010/04/20/adobe-air-for-android-chroma-circuit-and-qrossfire-videos/">results</a> have been impressive. There have already been a couple of developers who have moved their Flash based content from the iPhone to Flash on Android (couple of examples below) and I expect that this is a trend we will be seeing more and more of.</p>
<p>Here are some links to developers who originally targeted the iPhone with their Flash content and are now deploying to Android:</p>
<ul>
<li><a href="http://joshblog.net/2010/04/20/adobe-air-for-android-chroma-circuit-and-qrossfire-videos/">Adobe AIR for Android: Chroma Circuit and Qrossfire Videos</a></li>
<li><a href="http://jobemakar.blogspot.com/2010/04/flash-is-speedy-on-android.html">Jobe Makar : Flash is Speedy on Android</a></li>
<li><a href="http://www.youtube.com/watch?v=R_ia7q2-yuM&#038;feature=player_embedded">Jobe Makar&#8217;s Fruit Smash Organic (Video)</a></li>
<li><a href="http://www.youtube.com/watch?v=dDQHCiFl7oc">Alan Queen&#8217;s Star Map Game (Video)</a></li>
</ul>
<p>Both Flash Player 10.1 and Adobe AIR 2.0 for Android are in pre-release testing. If you are interested in being notified when we expand the testing, you can sign up at:</p>
<ul>
<li><a href="https://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_flashplayer10_android_signup">Flash Player 10.1 for Android Beta</a></li>
<li><a href="https://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_air_android_signup">Adobe AIR 2.0 for Android Beta</a></li>
</ul>
<p>Personally, I am going to shift all of my mobile focus from iPhone to Android based devices (I am particularly interested in the Android based tablets coming out this year) and not focus on the iPhone stuff as much anymore. This includes both Flash based, and Objective-C based iPhone development. While I actually enjoy working in Objective-C, I don&#8217;t have any current plans to update and / or maintain my existing native iPhone applications (including the <a href="http://www.mikechambers.com/as3iphone/">AS3 Reference Guide</a>, and <a href="http://www.mikechambers.com/timetrocity/">Timetrocity</a>). As I wrote <a href="http://www.mikechambers.com/blog/2010/01/28/some-personal-thoughts-on-apple-and-the-trend-towards-closed-platforms/">previously</a>, I think that the closed system that Apple is trying to create is bad for the industry, developers and ultimately consumers, and that is not something that I want to actively promote. Don&#8217;t worry though, I definitely plan to get both <a href="http://www.flickr.com/photos/mikechambers/4005016921/">Pew Pew</a> and <a href="http://twitpic.com/q00ox">Bacon Unicorn Adventure</a> running on Android and am planning on open sourcing both.</p>
<p>We are at the beginning of a significant change in the industry, and I believe that ultimately open platforms will win out over the type of closed, locked down platform that Apple is trying to create. I am excited about Flash Player 10.1 and Adobe AIR 2.0 and all of the opportunities that they will make available to Flash developers across multiple platforms (desktop, Android, Palm, Windows Phone 7, RIM, etc&#8230;).</p>
<p>NOTE : Please keep comments constructive and on topic. Off topic comments will be moderated / deleted. (And yes, commenting that &#8220;Flash SUXXORS!&#8221; or calling me a &#8220;wanker&#8221; are considered off topic).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikechambers.com/blog/2010/04/20/on-adobe-flash-cs5-and-iphone-applications/feed/</wfw:commentRss>
		<slash:comments>333</slash:comments>
		</item>
		<item>
		<title>Flash Player content, Mouse Events, and Touch input</title>
		<link>http://www.mikechambers.com/blog/2010/02/22/flash-player-content-mouse-events-and-touch-input/</link>
		<comments>http://www.mikechambers.com/blog/2010/02/22/flash-player-content-mouse-events-and-touch-input/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 07:22:48 +0000</pubDate>
		<dc:creator>mikechambers</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[flashplayer]]></category>
		<category><![CDATA[fp10.1]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.mikechambers.com/blog/?p=1966</guid>
		<description><![CDATA[So, the Interwebs is all a buzz again around the latest article that &#8220;proves&#8221; that Flash will not be useful on mobile devices (much less the iPad). From the article: Current Flash sites could never be made work well on any touchscreen device, and this cannot be solved by Apple, Adobe, or magical new hardware. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mikechambers.com%2Fblog%2F2010%2F02%2F22%2Fflash-player-content-mouse-events-and-touch-input%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mikechambers.com%2Fblog%2F2010%2F02%2F22%2Fflash-player-content-mouse-events-and-touch-input%2F&amp;source=mesh&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>So, the Interwebs is all a buzz again around the latest <a href="http://www.roughlydrafted.com/2010/02/20/an-adobe-flash-developer-on-why-the-ipad-cant-use-flash/">article</a> that &#8220;proves&#8221; that Flash will not be useful on mobile devices (much less the iPad). From the article:</p>
<blockquote><p>Current Flash sites could never be made work well on any touchscreen device, and this cannot be solved by Apple, Adobe, or magical new hardware.</p>
<p>That’s not because of slow mobile performance, battery drain or crashes. It’s because of the hover or mouseover problem.</p></blockquote>
<p>Basically, the writer is arguing that because some Flash content uses Mouse over / hover events (MouseEvent.MOUSE_OVER), and because there is no such event as a hover on a touch devices, then apparently, most Flash content just flat out wont work on touch devices.</p>
<p>I wanted to make a quick post that corrects some of the false assumptions and conclusions presented in the article, which include:<br />
<span id="more-1966"></span><br />
1. Hover events do not work in Flash content on devices with touch screens. That is false, they do work.<br />
2. Any issue with hover or any other mouse events on a touch screen device, are specific to Flash. They are not. They affect HTML and any other web content as much as Flash.<br />
3. Most Flash content relies on hover events. Wrong. I dont have a scientific breakdown on how much Flash content RELIES on hover events, but at least in my experience with the Nexus one, almost all content I have come across has worked well with touch screen input, including those that use hover events. </p>
<p>First, lets look at all of the Mouse events that Flash developers normally have access to.</p>
<ul>
<li>MouseEvent.CLICK</li>
<li>MouseEvent.DOUBLE_CLICK</li>
<li>MouseEvent.MIDDLE_CLICK</li>
<li>MouseEvent.MIDDLE_MOUSE_DOWN</li>
<li>MouseEvent.MIDDLE_MOUSE_UP</li>
<li>MouseEvent.MOUSE_DOWN</li>
<li>MouseEvent.MOUSE_MOVE</li>
<li>MouseEvent.MOUSE_OUT</li>
<li>MouseEvent.MOUSE_OVER</li>
<li>MouseEvent.MOUSE_UP</li>
<li>MouseEvent.MOUSE_WHEEL</li>
<li>MouseEvent.RIGHT_CLICK</li>
<li>MouseEvent.RIGHT_CLICK_DOWN</li>
<li>MouseEvent.RIGHT_MOUSE_UP</li>
<li>MouseEvent.ROLL_OUT</li>
<li>MouseEvent.ROLL_OVER</li>
</ul>
<p>Now, lets look at a list of events that will not work on a device whose primary input is a touch screen:</p>
<ul>
<li>MouseEvent.MIDDLE_CLICK</li>
<li>MouseEvent.MIDDLE_MOUSE_DOWN</li>
<li>MouseEvent.MIDDLE_MOUSE_UP</li>
<li>MouseEvent.MOUSE_WHEEL</li>
<li>MouseEvent.RIGHT_CLICK</li>
<li>MouseEvent.RIGHT_CLICK_DOWN</li>
<li>MouseEvent.RIGHT_MOUSE_UP</li>
</ul>
<p>As you can see that list doesn&#8217;t include the MOUSE_OVER and ROLL_OVER events. It only includes middle and right mouse button events, as well as mouse wheel events, which in general, are used as a secondary means of user input / interaction.</p>
<p>Basically, hover events do work in Flash content on touch screen devices. The main difference is that on a touch device, you will get also get a MouseEvent.MOUSE_DOWN event prior to the MouseEvent.MOUSE_OVER event, where as on a desktop machine, you MAY only get the MouseEvent.MOUSE_OVER event.</p>
<p>I put together a very simple Flash example for the iphone, that shows all of the MouseEvents being generated. You can view the video here:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/tj1hiLnIp_g&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tj1hiLnIp_g&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><a href="http://www.youtube.com/watch?v=tj1hiLnIp_g">View Video on YouTube</a></p>
<p>Here is a list of the events which were generated in the video:</p>
<ul>
<li>doubleClick</li>
<li>mouseUp</li>
<li>mouseDown</li>
<li>click</li>
<li>mouseUp</li>
<li>mouseOver</li>
<li>rollOver</li>
<li>mouseDown</li>
<li>rollOut</li>
<li>mouseOver</li>
<li>rollOver</li>
<li>rollOut</li>
<li>mouseOut</li>
<li>click</li>
<li>mouseUp</li>
<li>mouseOver</li>
<li>rollOver</li>
</ul>
<p>So, to summarize:</p>
<ol>
<li>Hover events do work in Flash content on touch devices.</li>
<li>Any issues with mouse input on a touch device are not specific to Flash, but affect all content, including HTML based content.</li>
<li>If your content RELIES on MIDDLE, RIGHT and / or SCROLL_WHEEL mouse events, then you will need to update your content IF you want users on touch devices to be able to use it. This applies just as much to HTML content as it does to Flash content.</li>
</ol>
<p>Now, this doesn&#8217;t mean that all Flash content designed and developed for mouse input on a desktop computer will run well on a mobile device with touch input. Indeed, some content will not run well due to differences in input (such as keyboard input), user interface, or performance. However, again, those are all issues that affect HTML content as much as they affect Flash content.</p>
<p>Again, any potential input issues apply as much to HTML as they do to Flash, and as browsing the web on the iPhone has demonstrated, these have not been a major barrier to consuming content on a touch device.</p>
<p>As a content creator, you should focus on creating content that provides a good user experience across all platforms that you are targeting. However, even though most Flash content on the web today is not designed with mobile viewing and touch input in mind, my experience has been that existing content works surprisingly well when viewed on a mobile device with touch input.</p>
<p>Here are some links to videos of existing Flash content running on mobile devices. A lot of this content is content never designed to be run on a device with touch input.</p>
<ul>
<li><a href="http://www.adobe.com/devnet/devices/demos/">Demos of Flash Player 10.1 on various mobile devices</a> (iPhone, Palm Pre, Nexus One, Droid, and more&#8230;)</li>
<li><a href="http://vimeo.com/9596010">Flash Player content on Nexus One</a></li>
<li><a href="http://theflashblog.com/?p=1781">Unofficial Nexus One Flash Demos</a></li>
</ul>
<p>Please keep comments constructive and on topic. Off topic comments will be moderated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mikechambers.com/blog/2010/02/22/flash-player-content-mouse-events-and-touch-input/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		</item>
	</channel>
</rss>
