<?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>Steve On Java &#187; Mobile</title>
	<atom:link href="http://steveonjava.com/tag/mobile/feed/" rel="self" type="application/rss+xml" />
	<link>http://steveonjava.com</link>
	<description>Hacking Java, JavaFX, and Flash with Agility</description>
	<lastBuildDate>Sun, 20 May 2012 16:57:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Turbocharging Performance with Caching</title>
		<link>http://flash.steveonjava.com/turbocharging-performance-with-caching/</link>
		<comments>http://flash.steveonjava.com/turbocharging-performance-with-caching/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 16:00:35 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1911</guid>
		<description><![CDATA[This is the third installation of my Flex Mobile series.  In my first post I talked about multitouch, and my second post I dug in on how to control the soft keyboard.  This post goes into detail on performance, specifically caching. Flash applications tend to use a lot more vector graphics than other UI platforms. [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Fturbocharging-performance-with-caching%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Turbocharging%20Performance%20with%20Caching%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/turbocharging-performance-with-caching/";
		var dzone_title = "Turbocharging Performance with Caching";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>This is the third installation of my Flex Mobile series.  In my <a href="http://flash.steveonjava.com/flash-android-touch-checker/">first post </a>I talked about multitouch, and my <a href="http://flash.steveonjava.com/taking-control-of-the-flex-soft-keyboard/">second post </a>I dug in on how to control the soft keyboard.  This post goes into detail on performance, specifically caching.</p>
<p>Flash applications tend to use a lot more vector graphics than other UI platforms. This is a great thing for designers who can directly use all their path art and graphics.  However, on mobile devices it increases the challenge to build high performing applications.</p>
<p>Fortunately, there is a feature of the Flash platform called cacheAsBitmap (and its newer sibling, cacheAsBitmapMatrix) that lets you speed up rendering performance at the expense of memory.</p>
<p><strong>Cache as Bitmap</strong></p>
<p>CacheAsBitmap is a boolean property of DisplayObject, and by extension all the visual elements you use in Flash and Flex includings Sprites and UIComponents, have access to this variable. When set to true, each time the DisplayObject or one of its children changes it will take a snapshot of the current state and save it to an offscreen buffer. Then for future rendering operations it will redraw off the saved offscreen buffer, which can be orders of magnitude faster for a complicated portion of the scene.</p>
<p>To enable cacheAsBitmap on a DisplayObject you would do the following:</p>
<pre class="brush: jscript; title: ; notranslate">
cacheAsBitmap = true;
</pre>
<p>Flex UIComponents have a cache policy that will automatically enable cacheAsBitmap based on a heuristic. You can override this behavior and force cacheAsBitmap to be enabled by doing the following:</p>
<pre class="brush: jscript; title: ; notranslate">
cachePolicy = UIComponentCachePolicy.ON;
</pre>
<p>While cacheAsBitmap is a very powerful tool for optimizing the redraw of your application, it is a double-edged sword if not used properly. A full size screen buffer is kept and refreshed for each DisplayObject with cacheAsBitmap set to true, which can consume a lot of device memory or exhaust the limited GPU memory if you are running in graphics accelerated mode.</p>
<p>Also, if you have an object that updates frequently or has a transform applied, then cacheAsBitmap will simply slow down your application with unnecessary buffering operations.</p>
<p><strong>Cache as Bitmap Matrix</strong></p>
<p>CacheAsBitmapMatrix is also a property on DisplayObject, and works together with cacheAsBitmap. For cacheAsBitmapMatrix to have any effect cacheAsBitmap must also be turned on.</p>
<p>CacheAsBitmap does not work when a transformation, such as a rotation or a skew, is applied to the object. The reason for this is that applying such a transformation to a saved bitmap produces scaling artifacts that would degrade the appearance of the final image. Therefore, if you would like to have caching applied to objects with a transform applied, Flash requires that you also specify a transformation matrix for the bitmap that is stored in the cacheAsBitmapMatrix property.</p>
<p>For most purposes, setting cacheAsBitmapMatrix to the identify matrix will do what you expect. The offscreen bitmap will be saved in the untransformed position and any subsequent transforms on the DisplayObject will be applied to that bitmap. The following code shows how to set cacheAsBitmapMatrix to the identify transform:</p>
<pre class="brush: jscript; title: ; notranslate">
cacheAsBitmap = true;
cacheAsBitmapMatrix = new Matrix();
</pre>
<p class="note">Tip: If you plan on setting cacheAsBitmapMatrix on multiple objects, you can reuse the same matrix to get rid of the cost of the matrix creation.</p>
<p>The downside to this is that the final image may show some slight aliasing, especially if the image is enlarged or straight lines are rotated. To account for this, you can specify a transform matrix that scales the image up prior to buffering it. Similarly, if you know that the final graphic will always be rendered at a reduced size you can specify a transform matrix that scales down the buffered image to save on memory usage.</p>
<p>If you are using cacheAsBitmapMatrix to scale the image size down you need to be careful that you never show the DisplayObject at the original size. The following figure shows an example of what happens if you set a cache matrix that reduces and rotates the image first, and then try to render the object at its original size:</p>
<p><a href="http://steveonjava.com/wp-content/uploads/2011/07/32315f1005.png"><img class="alignnone size-large wp-image-1913" title="Cache As Bitmap Matrix" src="http://steveonjava.com/wp-content/uploads/2011/07/32315f1005-650x229.png" alt="" width="650" height="229" /></a></p>
<p>Notice that the final image has quite a bit of aliasing from being scaled up. Even though you are displaying it with a one-to-one transform from the original, Flash will upscale the cached version resulting in a low fidelity image.</p>
<p>The optimal use of cacheAsBitmapMatrix is to set it slightly larger than the expected transform so you have enough pixel information to produce high quality transformed images.</p>
<h2>Flash Mobile Bench</h2>
<p>The Flash Mobile Bench is a simple application that lets you test the affect of different settings on the performance of your deployed mobile application.</p>
<p>The functionality that it lets you test includes the following:</p>
<ul>
<li>Addition of a large number of shapes to the display list</li>
<li>Animation speed of a simple x/y translation</li>
<li>Animation speed of a simple clockwise rotation</li>
<li>Impact of cacheAsBitmap on performance</li>
<li>Impact of cacheAsBitmapMatrix on performance</li>
<li>Impact of the automatic Flex cache heuristic on performance</li>
</ul>
<p>The code that updates the cache behavior of the shape group is shown below:</p>
<pre class="brush: jscript; title: ; notranslate">
private var identityMatrix:Matrix = new Matrix();

private function cacheOff():void {
  shapeGroup.cachePolicy = UIComponentCachePolicy.OFF;
}

private function cacheAuto():void {
  shapeGroup.cachePolicy = UIComponentCachePolicy.AUTO;
}

private function cacheAsBitmapX():void {
  shapeGroup.cachePolicy = UIComponentCachePolicy.ON;
  shapeGroup.cacheAsBitmapMatrix = null;
}

private function cacheAsBitmapMatrixX():void {
  shapeGroup.cachePolicy = UIComponentCachePolicy.ON;
  shapeGroup.cacheAsBitmapMatrix = identityMatrix;
}
</pre>
<p>Even though we have only one instance of an object to apply the cacheAsBitmapMatrix on, we follow the best practice of reusing a common identity matrix to avoid extra memory and garbage collection overhead.</p>
<p>Upon running the Flash Mobile Bench, you will immediately see the FPS counter max out on your given device. Click on the buttons to add some shapes to the scene, set the cache to your desired setting, and see how your device performs. The following figure shows the Flash Mobile Bench application running on a Motorola Droid 2 with 300 circles rendered using cacheAsBitmapMatrix:</p>
<p><a href="http://steveonjava.com/wp-content/uploads/2011/07/32315f1006.png"><img class="alignnone size-full wp-image-1912" title="Flex Mobile Bench" src="http://steveonjava.com/wp-content/uploads/2011/07/32315f1006.png" alt="" width="480" height="854" /></a></p>
<p>How does the performance of your device compare?</p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/turbocharging-performance-with-caching/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/turbocharging-performance-with-caching/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Taking Control of the Flex Soft Keyboard</title>
		<link>http://flash.steveonjava.com/taking-control-of-the-flex-soft-keyboard/</link>
		<comments>http://flash.steveonjava.com/taking-control-of-the-flex-soft-keyboard/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 11:35:55 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[keyboard]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1900</guid>
		<description><![CDATA[This is part 2 of my Flex Mobile series.  Please see my first post for information on getting started. When using the text components, the Android soft keyboard will automatically trigger upon focus as you would expect. However, sometimes you need finer grained control over when the soft keyboard gets triggered and what happens when [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Ftaking-control-of-the-flex-soft-keyboard%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Taking%20Control%20of%20the%20Flex%20Soft%20Keyboard%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/taking-control-of-the-flex-soft-keyboard/";
		var dzone_title = "Taking Control of the Flex Soft Keyboard";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>This is part 2 of my Flex Mobile series.  Please see my <a href="http://flash.steveonjava.com/flash-android-touch-checker/">first post</a> for information on getting started.</p>
<p>When using the text components, the Android soft keyboard will automatically trigger upon focus as you would expect. However, sometimes you need finer grained control over when the soft keyboard gets triggered and what happens when it gets activated.</p>
<p>The soft keyboard in Flex is controlled by the application focus. When a component that has the needsSoftKeyboard property set to true is given the focus, the soft keyboard will come to the front and the stage will scroll so that the selected component is visible. When that component loses focus, the soft keyboard will disappear and the stage will return to its normal position.</p>
<p>With the understanding of the focus, you can control the soft keyboard by doing the following:</p>
<ul>
<li>To show the soft keyboard declaratively – Set needsSoftKeyboard to true for your component</li>
<li>To show the soft keyboard programmatically – Call requestSoftKeyboard() on a component that already has needsSoftKeyboard set.</li>
<li>To hide the soft keyboard – Call setFocus() on a component that does not have needsSoftKeyboard set.</li>
</ul>
<p>This works fine for components that do not normally trigger the soft keyboard; however, for components that automatically raise the keyboard, setting needsSoftKeyboard to false has no effect. A workaround to prevent the keyboard from popping up on these components is to listen for the activating event and suppressing it with code like the following:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;fx:Script&gt;
  &lt;![CDATA[
    private function preventActivate(event:SoftKeyboardEvent):void {
      event.preventDefault();
    }
  ]]&gt;
&lt;/fx:Script&gt;
&lt;s:TextArea text=&quot;I am a text component, but have no keyboard?&quot;
  softKeyboardActivating=&quot;preventActivate(event)&quot;/&gt;
</pre>
<p>This code catches the softKeyboardActivating event on the TextArea component and suppresses the default action of raising the soft keyboard.</p>
<p>In addition to getting events on activation, you can also catch softKeyboardActivate and softKeyboardDeactivate events in order to perform actions based on the soft keyboard status.</p>
<p>The following is the full code listing for a soft keyboard sample application that demonstrates all these techniques used together to take complete control over the soft keyboard.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;s:Application xmlns:fx=&quot;http://ns.adobe.com/mxml/2009&quot;
         xmlns:s=&quot;library://ns.adobe.com/flex/spark&quot;
         splashScreenImage=&quot;@Embed('ProAndroidFlash400.png')&quot;&gt;
  &lt;fx:Script&gt;
    &lt;![CDATA[
      [Bindable]
      private var state:String;

      [Bindable]
      private var type:String;

      private function handleActivating(event:SoftKeyboardEvent):void {
        state = &quot;Activating...&quot;;
        type = event.triggerType;
      }

      private function handleActivate(event:SoftKeyboardEvent):void {
        state = &quot;Active&quot;;
        type = event.triggerType;
      }

      private function handleDeactivate(event:SoftKeyboardEvent):void {
        state = &quot;Deactive&quot;;
        type = event.triggerType;
      }

      private function preventActivate(event:SoftKeyboardEvent):void {
        event.preventDefault();
      }
    ]]&gt;
  &lt;/fx:Script&gt;
  &lt;s:VGroup left=&quot;20&quot; top=&quot;20&quot; right=&quot;20&quot; gap=&quot;15&quot;
        softKeyboardActivating=&quot;handleActivating(event)&quot;
        softKeyboardActivate=&quot;handleActivate(event)&quot;
        softKeyboardDeactivate=&quot;handleDeactivate(event)&quot;&gt;
    &lt;s:HGroup&gt;
      &lt;s:Label text=&quot;Keyboard State: &quot; fontWeight=&quot;bold&quot;/&gt;
      &lt;s:Label text=&quot;{state}&quot;/&gt;
    &lt;/s:HGroup&gt;
    &lt;s:HGroup&gt;
      &lt;s:Label text=&quot;Trigger Type: &quot; fontWeight=&quot;bold&quot;/&gt;
      &lt;s:Label text=&quot;{type}&quot;/&gt;
    &lt;/s:HGroup&gt;
    &lt;s:Button id=&quot;needy&quot; label=&quot;I Need the Keyboard&quot; needsSoftKeyboard=&quot;true&quot; emphasized=&quot;true&quot;/&gt;
    &lt;s:TextArea text=&quot;I am a text component, but have no keyboard?&quot;
          softKeyboardActivating=&quot;preventActivate(event)&quot;/&gt;
    &lt;s:HGroup width=&quot;100%&quot; gap=&quot;15&quot;&gt;
      &lt;s:Button label=&quot;Hide Keyboard&quot; click=&quot;{setFocus()}&quot; width=&quot;50%&quot;/&gt;
      &lt;s:Button label=&quot;Show Keyboard&quot; click=&quot;{needy.requestSoftKeyboard()}&quot; width=&quot;50%&quot;/&gt;
    &lt;/s:HGroup&gt;
  &lt;/s:VGroup&gt;
&lt;/s:Application&gt;
</pre>
<p>This code creates several controls and attaches actions to them so that you can hide and show the soft keyboard at will, as well as see the current soft keyboard state as reported by the events that trickle up. When you run the application it should look like this:</p>
<p><a href="http://steveonjava.com/wp-content/uploads/2011/07/32315f0313.png"><img class="size-full wp-image-1906 alignnone" title="Flex Focus Example" src="http://steveonjava.com/wp-content/uploads/2011/07/32315f0313.png" alt="" width="480" height="854" /></a></p>
<p>Notice that the TextArea control, which normally triggers the soft keyboard no longer brings it up, while the highlighted button immediately raises the soft keyboard whenever it gets focus. The two buttons at the bottom to show and hide the keyboard merely play focus tricks to get Flash to show and hide the keyboard at will.</p>
<p>You can use the same techniques in your own application to take full control over the soft keyboard.</p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/taking-control-of-the-flex-soft-keyboard/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/taking-control-of-the-flex-soft-keyboard/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>&#8220;Flash On&#8230;&#8221; Group Kicked Off!</title>
		<link>http://flash.steveonjava.com/flash-on-group-kicked-off/</link>
		<comments>http://flash.steveonjava.com/flash-on-group-kicked-off/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 13:04:14 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[burrito]]></category>
		<category><![CDATA[flash on]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1689</guid>
		<description><![CDATA[We did a double header meeting in the North and South bay to kick off the Flash On group. It was a lot of work to coordinate and present back-to-back meetings, but it all came together. A big thanks to my co-presenter Oswald Campesator, my co-coordinators Keith Sutton and Justin Webb, and also, Nick Turner, [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Fflash-on-group-kicked-off%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fbu0VCE%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5C%22Flash%20On...%5C%22%20Group%20Kicked%20Off%21%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/flash-on-group-kicked-off/";
		var dzone_title = "&#8220;Flash On&#8230;&#8221; Group Kicked Off!";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>We did a double header meeting in the North and South bay to kick off the <a href="http://www.meetup.com/flashon/">Flash On group</a>.  It was a lot of work to coordinate and present back-to-back meetings, but it all came together.  A big thanks to my co-presenter Oswald Campesator, my co-coordinators Keith Sutton and Justin Webb, and also, Nick Turner, from <a href="http://www.meetup.com/pnpmobile/">Plug and Play&#8217;s Mobile Meetup</a>, who did an outstanding job on Thursday evening.</p>
<p>Here is what some of our new members had to say:<br />
<a id="image_10692905" href="http://www.meetup.com/flashon/members/10692905/"><img class="alignleft" style="margin-right: 10px;" src="http://photos4.meetupstatic.com/photos/member/1/8/0/f/thumb_8286159.jpeg" alt="" width="60" height="80" /></a><a href="http://www.meetup.com/flashon/members/10692905/">Tony Constantinides</a><br />
“ Great meetup and very informative. Many  good issues were raised at the meeting by developers which will lead to a  followup meetup which will be hands-on hopefully. With Mobile nothing beats hands on with the fun devices! The  possibilities of Android  development with TV, tablets and mobile seem endless! ”</p>
<p><a id="image_10022903" href="http://www.meetup.com/flashon/members/10022903/"><img class="alignleft" style="margin-right: 10px;" src="http://photos1.meetupstatic.com/photos/member/c/f/d/9/thumb_11093209.jpeg" alt="" width="75" height="75" /></a><a href="http://www.meetup.com/flashon/members/10022903/">Drew Dara-Abrams</a><br />
“ A useful introductory presentation and  discussion. The mix of formal presentation and informal question and  discussion worked well. ”</p>
<p><span style="color: #ffffff;">.</span></p>
<p><a id="image_5616963" href="http://www.meetup.com/flashon/members/5616963/"><img class="alignleft" style="margin-right: 10px;" src="http://img1.meetupstatic.com/img/noPhoto_50.gif" alt="" width="50" height="50" /></a><a href="http://www.meetup.com/flashon/members/5616963/">Aaron Tong</a><br />
“ This was a great meetup! Lets have more of the same! ”</p>
<p><span style="color: #ffffff;">.</span></p>
<p>As promised, here is the presentation that Oswald and I gave (skip to page 30 for the links):</p>
<div style="width:425px" id="__ss_5767172"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/steveonjava/android-flash-development" title="Android Flash Development">Android Flash Development</a></strong><object id="__sse5767172" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=androidflashdevelopment-101113064109-phpapp02&#038;stripped_title=android-flash-development&#038;userName=steveonjava" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5767172" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=androidflashdevelopment-101113064109-phpapp02&#038;stripped_title=android-flash-development&#038;userName=steveonjava" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/steveonjava">Stephen Chin</a>.</div>
</div>
<p>If you haven&#8217;t already, sign up for the Flash On meetup group to get informed of upcoming events:<br />
<a href="http://www.meetup.com/flashon/">http://www.meetup.com/flashon/</a></p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/flash-on-group-kicked-off/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/flash-on-group-kicked-off/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash On&#8230; Meetup Premiere</title>
		<link>http://flash.steveonjava.com/flash-on-meetup-premiere/</link>
		<comments>http://flash.steveonjava.com/flash-on-meetup-premiere/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 08:29:08 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1658</guid>
		<description><![CDATA[I am pleased to announce the Flash On&#8230; user group that I am kicking off together with Keith Sutton, Oswald Campesato, and Justin Webb.  The focus is Flash on consumer devices from Mobile to Tablet to TV. Oswald and I will be doing the inaugural presentation on Flash mobile technologies this evening.  You can catch [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Fflash-on-meetup-premiere%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Flash%20On...%20Meetup%20Premiere%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/flash-on-meetup-premiere/";
		var dzone_title = "Flash On&#8230; Meetup Premiere";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>I am pleased to announce the <a href="http://meetup.com/flashon/">Flash On&#8230; user group</a> that I am kicking off together with Keith Sutton, Oswald Campesato, and Justin Webb.  The focus is Flash on consumer devices from Mobile to Tablet to TV.</p>
<p>Oswald and I will be doing the <a href="http://www.meetup.com/flashon/calendar/15056595/">inaugural presentation</a> on Flash mobile technologies this evening.  You can catch the live stream on Adobe Connect here:</p>
<p><a href="http://experts.na3.acrobat.com/flashondevices/">http://experts.na3.acrobat.com/flashondevices/</a><br />
(Stream starts at 7PM PST!)</p>
<p>For those of you who haven&#8217;t been following the Flash Mobile headlines, there have been a lot of great announcements that make this platform worth developing for:</p>
<p><strong>Mobile</strong></p>
<ul>
<li>With the <a href="http://get.adobe.com/air/">AIR 2.5 release</a>, Android devices are fully supported</li>
<li>Apple has <a href="http://www.apple.com/pr/library/2010/09/09statement.html">relaxed their license</a> to allow Flash-based applications in the App Store</li>
<li>Similar announcements have come from other vendors such as <a href="http://pressroom.palm.com/releasedetail.cfm?ReleaseID=519951">Palm</a>, <a href="http://www.engadget.com/2010/10/25/adobe-confirms-flash-player-10-1-is-coming-to-blackberry-window/">Windows 7, and others</a></li>
</ul>
<p><strong>TV</strong></p>
<ul>
<li><a href="http://www.google.com/tv/features.html">Google TV</a> prominently features Flash support</li>
<li> Adobe also announced <a href="http://eon.businesswire.com/news/eon/20101024005146/en/Adobe-Extends-AIR-Applications-Screens">AIR support for Samsung devices</a> such as Smart TVs and Blu-ray Players</li>
</ul>
<p><strong>Tablet</strong></p>
<ul>
<li> Blackberry announced <a href="http://us.blackberry.com/newsroom/news/press/release.jsp?id=4674">Adobe AIR support</a> for their Playbook Tablet</li>
</ul>
<p>Here is an excerpt from the Adobe Max 2010 keynote that shows off the Blackberry Playbook Tablet running Flash:<br />
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/zyJVNK7aSW4?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/zyJVNK7aSW4?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<p>When put together, Flash is well poised to become the defacto standard for building rich user experiences across different screens.</p>
<p>We will cover all this and more in our <a href="http://www.meetup.com/flashon/calendar/15056595/">presentation</a> tonight.  As usual, we will have high production values for the talk with side-by-side presenter video and slides plus a chat area to ask questions.  I hope to see you there!</p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/flash-on-meetup-premiere/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/flash-on-meetup-premiere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Android Development at Code Camp</title>
		<link>http://flash.steveonjava.com/flash-android-development-at-code-camp/</link>
		<comments>http://flash.steveonjava.com/flash-android-development-at-code-camp/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 12:58:07 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[code camp]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1486</guid>
		<description><![CDATA[I haven&#8217;t talked much about Flash technology on my blog, but we use quite a bit of Flash/Flex for developing enterprise apps at my day job.  With the Open Screen Project from Adobe making Flash available on mobile and embedded devices, Flash has become a viable cross-platform toolkit fulfilling a lot of what I hoped [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fflash.steveonjava.com%252Fflash-android-development-at-code-camp%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fd3c19Y%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Flash%20Android%20Development%20at%20Code%20Camp%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://flash.steveonjava.com/flash-android-development-at-code-camp/";
		var dzone_title = "Flash Android Development at Code Camp";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>I haven&#8217;t talked much about Flash technology on my blog, but we use quite a bit of Flash/Flex for developing enterprise apps at my day job.  With the Open Screen Project from Adobe making Flash available on mobile and embedded devices, Flash has become a viable cross-platform toolkit fulfilling a lot of what I hoped JavaFX Mobile would become.</p>
<p>Yesterday at Silicon Valley Code Camp I did a talk on Flash Android development to a packed room.  About half the audience were Flash/Flex users, with a smaller, but very vocal, contingent of Android developers.  The goal of the talk was to help get folks off the ground with Flash  Mobile development using the Android SDK in combination with Flash CS5 or Flash Builder 4.</p>
<p>The examples for the talk came from the upcoming <a href="http://www.amazon.com/Pro-Android-Flash-Building-Smartphones/dp/1430232315">Pro Android Flash</a> book that I am writing for Apress together with Oswald Campesato and Dean Iverson.  This book will be coming out around Spring 2011, but there is already quite a lot of good content that we have finished.  The responses I got from attendees of the talk were extremely positive, but check out the presentation and see for yourself:</p>
<div id="__ss_5405247" style="width: 650px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Android Flash Development" href="http://www.slideshare.net/steveonjava/android-flash-development">Android Flash Development</a></strong><object id="__sse5405247" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="650" height="523" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=androidflashdevelopment-101010072434-phpapp01&amp;rel=0&amp;stripped_title=android-flash-development&amp;userName=steveonjava" /><param name="name" value="__sse5405247" /><param name="allowfullscreen" value="true" /><embed id="__sse5405247" type="application/x-shockwave-flash" width="650" height="523" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=androidflashdevelopment-101010072434-phpapp01&amp;rel=0&amp;stripped_title=android-flash-development&amp;userName=steveonjava" name="__sse5405247" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p class="download"><a href="http://steveonjava.com/wp-content/uploads/2010/10/Android-Flash-Development.pdf">Download the PDF</a></p>
<p>As I continue working on the book, I plan to increase the coverage on Flash and Flex Mobile in this blog.  It is a slight shift, but consistent with my philosophy around promoting rich client technologies, and won&#8217;t decrease my focus on JavaFX.  Hopefully you find some value in this as a technology that integrates well with Java and opens up some new mobile deployment capabilities.</p>
<div class="plus-one-wrap"><g:plusone href="http://flash.steveonjava.com/flash-android-development-at-code-camp/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://flash.steveonjava.com/flash-android-development-at-code-camp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hinkmond&#8217;s JavaFX Mobile Dojo</title>
		<link>http://javafx.steveonjava.com/hinkmonds-javafx-mobile-dojo/</link>
		<comments>http://javafx.steveonjava.com/hinkmonds-javafx-mobile-dojo/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 20:19:19 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[SvJugFx]]></category>
		<category><![CDATA[hinkmond wong]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=819</guid>
		<description><![CDATA[In case you missed the big event last week, I have finished post-processing and uploading the video.  We took the quality up a notch by getting a direct screen capture from the presenter laptop.  This means that you will not only get crystal clear slides, but also full-screen demos and a nice tight head-shot of [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fhinkmonds-javafx-mobile-dojo%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fc9WL9m%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Hinkmond%27s%20JavaFX%20Mobile%20Dojo%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/hinkmonds-javafx-mobile-dojo/";
		var dzone_title = "Hinkmond&#8217;s JavaFX Mobile Dojo";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>In case you missed the big event last week, I have finished post-processing and uploading the video.  We took the quality up a notch by getting a direct screen capture from the presenter laptop.  This means that you will not only get crystal clear slides, but also full-screen demos and a nice tight head-shot of the presenter.  This moves our video setup firmly up from a Level 4 to a premium Level 1 operation as detailed in <a href="http://blog.parleys.com/?p=211">Stephan Janssen&#8217;s blog</a>.</p>
<p>Without further ado, here is the Parleys version of Hinkmond&#8217;s JavaFX Mobile Dojo talk:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="381" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="pageId" value="1870" /><param name="src" value="http://www.parleys.com/share/parleysshare2.swf?pageId=1870" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="381" src="http://www.parleys.com/share/parleysshare2.swf?pageId=1870" pageid="1870" allowfullscreen="true"></embed></object></p>
<p>I got a lot of requests for just the slides last time, so I am also making them available here:</p>
<div id="__ss_3227800" style="text-align: left; width: 425px;"><object style="margin: 0px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=svjfugjavafxmobilev10-100219135855-phpapp01&amp;stripped_title=hinkmonds-javafx-mobile-dojo" /><param name="allowfullscreen" value="true" /><embed style="margin: 0px;" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=svjfugjavafxmobilev10-100219135855-phpapp01&amp;stripped_title=hinkmonds-javafx-mobile-dojo" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>Finally, a quick plug for our next SvJugFx event.  We will be doing a double feature with folks from the Java Store and JFrog Artifactory presenting back-to-back.  Even if you plan to attend online, make sure to sign-up here:<br />
<a href="http://www.svjugfx.org/calendar/12559455/">http://www.svjugfx.org/calendar/12559455/</a></p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/hinkmonds-javafx-mobile-dojo/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/hinkmonds-javafx-mobile-dojo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>JavaFX Mobile Ready for Primetime!</title>
		<link>http://javafx.steveonjava.com/javafx-mobile-ready-for-primetime/</link>
		<comments>http://javafx.steveonjava.com/javafx-mobile-ready-for-primetime/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 13:44:02 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Pro JavaFX]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=491</guid>
		<description><![CDATA[I was the very first person to buy an HTC Diamond at JavaOne.  (Jacob Lehrbaum probably thought he was about to be mugged as I stalked him into the Java Store.)  It worked out great for my presentations, but I had to tip-toe around some issues that showed up only on applications deployed to the [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fjavafx-mobile-ready-for-primetime%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JavaFX%20Mobile%20Ready%20for%20Primetime%21%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/javafx-mobile-ready-for-primetime/";
		var dzone_title = "JavaFX Mobile Ready for Primetime!";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>I was the very first person to buy an HTC Diamond at JavaOne.  (Jacob Lehrbaum probably thought he was about to be mugged as I stalked him into the Java Store.)  It worked out great for my presentations, but I had to tip-toe around some issues that showed up only on applications deployed to the phone.</p>
<p>However, the latest <a href="http://blogs.sun.com/javafx/entry/want_to_try_javafx_on">JavaFX 1.2 EA release</a> is ready for primetime!  The installation was a breeze and all of the JavaFX applications I have tried on it so far have worked great.  This includes:</p>
<ul>
<li><a href="http://jfxtras.org/portal/pro-javafx-platform/-/asset_publisher/1Bl5/content/mobilehelloearthrise">Hello Earthrise</a> &#8211; Starter application from the Pro JavaFX book</li>
<li><a href="http://jfxtras.org/portal/pro-javafx-platform/-/asset_publisher/1Bl5/content/mobiledrawjfx">DrawJFX</a> &#8211; Draw on your phone using the touchscreen, also from the Pro JavaFX book</li>
<li><a href="http://widgetfx.org/portal/library">Nabaztag widget</a> &#8211; I demonstrated this at JavaOne; now is your chance to impress your co-workers with silly bunny tricks</li>
</ul>
<div id="attachment_492" class="wp-caption alignright" style="width: 182px"><a href="http://jfxtras.org/portal/pro-javafx-platform/-/asset_publisher/1Bl5/content/mobilehelloearthrise"><img class="size-full wp-image-492  " title="helloearthrise-htc" src="http://steveonjava.files.wordpress.com/2009/07/helloearthrise-htc.jpg" alt="helloearthrise-htc" width="172" height="300" /></a><p class="wp-caption-text">Hello Earthrise on the HTC Diamond</p></div>
<p>Here is what to like about the latest JavaFX Mobile release running on the HTC Diamond:</p>
<ul>
<li>Excellent resolution &#8211; It takes advantage of the native 480&#215;640 resolution of the Diamond HTC device, allowing for some very detailed graphics.</li>
<li>Improved performance &#8211; Startup time and application performance are orders of magnitude faster than with JavaFX 1.1.</li>
<li>Some cool demo apps &#8211; TwitterFX Mobile takes the cake as the most interesting and useful app, and is bundled with the JavaFX 1.2 EA Release. Kudos to Liang Zhu and Jungeun Woo on the port and Steven Herod on inventing <a href="http://kenai.com/projects/twitterfx">TwitterFX</a>!</li>
<li>Available for download &#8211; Unlike previous JavaFX Mobile releases, which were Sun internal or pre-installed on a device, this is a free download from the <a href="http://javafx.com/downloads/windows.jsp">JavaFX website</a>.  While it is only officially supported on the HTC Diamond and LG Incite, it reportedly works on other Windows Mobile devices, such as the <a href="http://blogs.sun.com/rakeshmenonp/entry/javafx_for_windows_mobile_ea">XPeria X1</a>.</li>
</ul>
<p>If you have a Windows Mobile 6 or 6.1 device available, it is definitely worth giving this early access release a try.  Who knows, your JavaFX applications may already be mobile ready!</p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/javafx-mobile-ready-for-primetime/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/javafx-mobile-ready-for-primetime/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WidgetFX @ M3DD Conference</title>
		<link>http://javafx.steveonjava.com/widgetfx-m3dd-conference/</link>
		<comments>http://javafx.steveonjava.com/widgetfx-m3dd-conference/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 12:59:18 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=97</guid>
		<description><![CDATA[I had the opportunity to attend the Mobile, Media &#38; eMbedded Developer Days (M3DD) Conference down in Santa Clara where there was lots of cool stuff, most notably the upcoming JavaFX Mobile release.  The official release is due out in February, which will include full support for deploying JavaFX applications that use the common profile to mobile devices.]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fjavafx.steveonjava.com%252Fwidgetfx-m3dd-conference%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22WidgetFX%20%40%20M3DD%20Conference%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://javafx.steveonjava.com/widgetfx-m3dd-conference/";
		var dzone_title = "WidgetFX @ M3DD Conference";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>Through a generous invitation by Sun, I had the opportunity to attend the Mobile, Media &amp; eMbedded Developer Days (M3DD) Conference down in Santa Clara.</p>
<p>There was definitely some very cool stuff going on, most notably the upcoming JavaFX Mobile release.  Is it real?  Well, here is a screenshot of JavaFX running on a real device:</p>
<div id="attachment_98" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-98" title="JavaFX Mobile on a Real Device" src="http://steveonjava.files.wordpress.com/2009/01/dsc_0001.jpg?w=300" alt="JavaFX Mobile on a Real Device" width="300" height="200" /><p class="wp-caption-text">JavaFX Mobile Running at M3DD</p></div>
<p>The official release is due out in February, which will include full support for deploying JavaFX applications that use the common profile to mobile devices.  The JavaFX Mobile team has been super busy cranking out the last few bits for the upcoming release, but were at the conference in force, armed with a myriad of devices to show the platform capabilities.<span id="more-97"></span></p>
<p>Also of note was a cool presentation by Ariel Levin showing mobile widgets deployed to a consumer portal written in LWUIT.  Right now their technology is not interoperable with JavaFX Mobile, but they definitely have support of JavaFX widgets in their future roadmap.</p>
<div id="attachment_99" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-99" title="Mobile Widgets Written in LWUIT" src="http://steveonjava.files.wordpress.com/2009/01/dsc_0013_edited.jpg?w=300" alt="Mobile Widgets Written in LWUIT" width="300" height="200" /><p class="wp-caption-text">Mobile Widgets Written in LWUIT</p></div>
<p>Although, I have to give it up to Ken Gilmer of <a href="http://www.buglabs.net/">Bug Labs</a> for coolest demo.  While it is not a mobile phone, the BUG has dozens of modules that allow low level access to motion sensors, cameras, GPSs, and other sensors.  Ken also has invented a new demo style called redo programming where he did a fully functional demo with real code exclusively using the undo buffer in Eclipse!</p>
<div id="attachment_100" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-100" title="Ken Gilmer Gets the Bug" src="http://steveonjava.files.wordpress.com/2009/01/dsc_0008.jpg?w=300" alt="Ken Gilmer Gets the Bug" width="300" height="200" /><p class="wp-caption-text">Ken Gilmer Gets the BUG</p></div>
<p>This was all great motivation to do some more work on deploying WidgetFX widgets to mobile devices.  More on this once JavaFX Mobile is released, but look forward to some exciting widget action in your pocket!</p>
<div class="plus-one-wrap"><g:plusone href="http://javafx.steveonjava.com/widgetfx-m3dd-conference/"></g:plusone></div><div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://javafx.steveonjava.com/widgetfx-m3dd-conference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

