<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>mobilenation</title>
	<atom:link href="http://nhippe.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nhippe.com</link>
	<description>Flash for a Mobile Nation</description>
	<pubDate>Tue, 24 Jun 2008 23:34:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Adobe Presenter 7 and Mobile Learning</title>
		<link>http://nhippe.com/2008/06/12/adobe-presenter-7-and-mobile-learning/</link>
		<comments>http://nhippe.com/2008/06/12/adobe-presenter-7-and-mobile-learning/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 18:04:37 +0000</pubDate>
		<dc:creator>nhippe</dc:creator>
		
		<category><![CDATA[Flash Lite]]></category>

		<category><![CDATA[Mobile Learning Content]]></category>

		<category><![CDATA[mobile learning]]></category>

		<category><![CDATA[Adobe Presenter]]></category>

		<category><![CDATA[Flash Learning]]></category>

		<category><![CDATA[mobile education]]></category>

		<category><![CDATA[Flashlite]]></category>

		<category><![CDATA[Flash Mobile]]></category>

		<guid isPermaLink="false">http://mobilenation.wordpress.com/?p=45</guid>
		<description><![CDATA[Considerations:
After writing a couple of articles I realized that some people do not know that there are both open and closed cellphones. Open devices allow you to create and load applications on the device where closed devices do not. Open devices, for the most part, include Symbian, Windows Mobile and sometimes Linux.    [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Considerations:</strong></p>
<p>After writing a couple of articles I realized that some people do not know that there are both open and closed cellphones. Open devices allow you to create and load applications on the device where closed devices do not. Open devices, for the most part, include Symbian, Windows Mobile and sometimes Linux.    Some examples of open devices include the Nokia N95, N73,  E62 and Palm Treo 700w (Windows Mobile).</p>
<p>The reason that I am making a point of explaining open versus closed is that you will need the Flash Lite player installed on a device in order to player converted Adobe Presenter content. Adobe makes developer versions of the Flash Lite player available for <a title="Flash Lite developer version" href="http://labs.adobe.com/technologies/flashlite3/" target="_blank">download </a>on the developer network site. For the time being the only Flash Lite 3 player available is for Symbian (e.g. N95, N73, etc&#8230;). I would assume that there will be a Windows Mobile version later this year but if you want to get started today and do not have an open handset buy a Nokia device with the Symbian OS. Because Flash Lite requires a decent amount of performance and memory I would buy an N95 or an N73 or equivalent.</p>
<p>The Nokia N95 8GB has Flash Lite 3 integrated into the browser. Before you get too happy I tested Presenter content on this device using the browser with Flash Lite 3 in a number of different scenarios including accessing the content on a Connect server, using an html wrapper for the viewer-lite.swf on a standard web server and using an html wrapper for the view.swf on a standard web server and none of the scenarios loaded the content. There seems to be a problem playing Adobe Presenter content using http, I would assume that at least in part the problem is a security sandbox issue as there is no way to set the security settings for the converted Adobe Presenter content. In addition to the previous issue there is a strange bug that affects the ability to play video on the N95 8GB, when you play a slide that has embedded video the screen rotates to landscape. This is not a problem if you are already in landscape mode. I would assume that Nokia will have a fix for the video problem soon but for now I would stick with content loaded onto an Nokia N95. I will use the term device and Nokia N95 (non-8GB model) interchangeably in this article.</p>
<p>The object of this article is to show how you can create content using <a title="Adobe Presenter 7" href="http://www.adobe.com/products/presenter/" target="_blank">Adobe Presenter 7</a> that will run on an open handset running Flash Lite 3. If you are not familiar with Adobe Presenter check out the following  <a title="Selecting the right microphone" href="http://my.adobe.acrobat.com/microphones" target="_blank">example </a>. If you are still looking for additional Adobe Presenter information you will find a number of PDFs that go into some detail on the resource site for <a title="Adobe Presenter Resources" href="http://www.adobe.com/resources/acrobatconnect/presenter/" target="_self">Adobe Presenter</a> and Adobe Connect.</p>
<p><strong>Authoring:</strong></p>
<p>It should go with out saying that we need to use every available pixel of these small screens for content. With that said it should also be obvious that some content will simply not work on some devices based on the resolution of the device, input device requirements(mouse) as well as memory and processor requirements.</p>
<p>There is an unwritten rule that you should not use more that five or six bullets on a slide when creating a PowerPoint presentation. I would say that when creating a presentation for a small screen that it should be more like three or four bullets at most. Using a larger font will go a long way to improving readability of text. In addition the issue of readability is abrogated to some degree by adding audio to the presentation using the Adobe Presenter plug-in.  In the following the image on the right is a screen capture of the original slide from a PC and the image on the left is a screen capture from a Nokia N95, with a 320 by 240 resolution, running the converted content.</p>
<p><a href="http://mobilenation.files.wordpress.com/2008/06/n95-on-left_laptop-screen-on-right.png"><img class="alignnone size-full wp-image-49" src="http://mobilenation.files.wordpress.com/2008/06/n95-on-left_laptop-screen-on-right.png?w=450&h=172" alt="Original Image from PC on Right Image from N95 on Left" width="450" height="172" /></a></p>
<p>As you can see the fidelity of the conversion is very good. The image is scaled and placed correctly as is the text content. The image should also help make the point that it is a good idea to use a slightly larger font if you are thinking of using the converted content on a device with a small screen.</p>
<p>The original image that was added to the presentation was approximately 4004KB.  The size of the slide with out the image was approximately  1KB. When I added the image and published the presentation the slide with the image was 231KB. This is still fairly large for some devices, you may want to optimize your images before adding them to PowerPoint and converting them with Adobe Presenter.</p>
<p><a href="http://mobilenation.files.wordpress.com/2008/05/presenter_content_example.jpg"><img class="alignnone size-full wp-image-46" src="http://mobilenation.files.wordpress.com/2008/05/presenter_content_example.jpg?w=450&h=344" alt="Adobe Presenter Content Example" width="450" height="344" /></a></p>
<p>There are several problems that may or may not be obvious with the preceding content image. First the content requires a mouse to start, stop and pause the content not to mention use the sidebar functionality (thumbs, notes, search), most cellphones do not have a mouse. Second too much screen real estate is used by the sidebar. Third the images of the headphones and microphone are too big for small screens. The good news is that Presenter 7 addresses most of the issues for us either during the publish process or at runtime.  When you publish the PowerPoint content using Presenter 7 there are two swf files, used as viewers, created in the publish folder the viewer.swf and viewer-lite.swf. The viewer.swf is the file that is used to play the content on PCs while the viewer-lite.swf is the file used to play the content on non-PC devices with a minimum client requirement of Flash Lite 3. The view-lite.swf solves some of the previously mentioned issues by removing the mouse requirement and not loading the sidebar.</p>
<p><strong>Audio:</strong></p>
<p>Audio works the way that you would expect it to in Adobe Presenter content. The Presenter plugin for PowerPoint gives you the ability to record and edit audio for each slide in the presentation. When the viewer-lite.swf and the data folder are moved to the device you will hear the recorded audio for the given slide.</p>
<p><strong>Video:</strong></p>
<p>Video is a favorite media type for learning content authors.  Adobe Presenter allows a content author to import and set preferences for video. When importing video you have the option to place the video on the slide or the sidebar. In order to use video in content converted by Adobe Presenter on a device the video needs to be placed on the slide not the sidebar as the sidebar will not be loaded by the viewer-lite.swf. As a test I imported a Quicktime video that was fairly small (200 x 160 pixels)  and set the placement to slide and the datarate to 400kbps. The video played well with no visible dropped frames and decent quality audio on a Nokia N95.</p>
<p><strong>Themes and Custom Animations:</strong></p>
<p>Adobe Presenter gives the content author the ability to create and reuse themes as well as the ability to retain custom animations created in the PowerPoint presentation. Since a different viewer is used to play converted content on a device(viewer-lite.swf) than on a PC (viewer.swf) and that viewer does not support themes, they are not retained.</p>
<p>Custom animations are created in PowerPoint and retained after conversion by Adobe Presenter. I tested several custom animations including Fade, Dissolve In, Fly In, Checkerboard and Spin and all worked as expected on the device.</p>
<p><strong>Imported Flash Content:</strong></p>
<p>Using Adobe Presenter a content author has the ability to import Flash content and place it on a slide or the sidebar. As mentioned previously the Flash content will need to be placed on the slide not the sidebar. <a title="Adobe Presenter Inserting Flash Content" href="http://help.adobe.com/en_US/Presenter/7.0/help.html?content=WS7F9E951C-D7FF-42c6-8B0B-AE3F7E1A8114.html" target="_blank">Most Flash content</a> imported using the Adobe Presenter plugin for Powerpoint is retained but will have limited use on devices based on the limited input options available on devices. For instance the lack of a mouse means that you use the navigation keys on the device to advance the converted PowerPoint slides. Which means that the content author cannot use those keys to interact with imported Flash content. It would be helpful if Adobe Presenter had a method for remapping the keys used for slide navigation to adjust for the input requirements of the imported Flash content. Since content converted by Adobe Presenter uses different keys to advance slide content on the device based on the orientation of the content it is impossible to use the devices navigation keys for Flash content as it would move the slides forward or back. If you could remap the keys you could have converted content always use the same navigation keys to advance the slides. For instance when you start the presenter content in portrait mode the right navigation button on your 4-way rocker is used to advance the slide content. When you switch to landscape it is the down navigation button on your 4-way rocker that advances slide content. This will limit the amount of interactivity that you can expect on a mobile device as the author of the Flash content would have to take into account whether the slide content was in portrait or landscape mode. One solution would be to use screenResolutionX and screenResolutionY from the <span class="searchhilite">Capabilities</span> class in your Flash content to figure out if the content is being run in portrait or landscape and adjusting input keys accordingly.</p>
<p>Fonts can also be a source of confusion when targeting a device. I recently found that the use of device fonts, fonts that rely on the host to have the type face, do not work in Flash content imported using Presenter. If you use a font such as Arial or Times New Roman the outlines are embedded with the content and work well. If you have dynamic text you will need to embed the characters you intend to use (e.g. Lowercase, Uppercase, Numerals, etc&#8230;).</p>
<p><strong>Quizzes</strong><strong>:</strong></p>
<p>Adobe Presenter allows the content author to create or import a quiz that will be published with the other content from the presentation. Unfortunately the quiz functionality from the Presenter plugin for PowerPoint is not supported when using viewer-lite.swf as the viewer on a device. A nice feature for a future release would be to enable quizzes with out reporting so that learners could at least test their knowledge of a subject. Of course it would be great to get reporting as well but this would be a good first step.</p>
<p><strong>Move Content to Device:</strong></p>
<p>Another important consideration is how will the content author get the content onto the device. Since, as previously mentioned, it is not possible to access Presenter content from a device using a browser (http) the content, for now, will need to be manually loaded onto the device. I am hoping that someone proves me wrong on this point as it would greatly increase the usefulness of this content if it could be accessed across the Internet. The good news is that you will find it is a simple process to load content onto the device using <a title="Nokia PC Suite" href="http://www.nokiausa.com/A4986252" target="_blank">Nokia&#8217;s PC Suite</a>.</p>
<p>From the following image  of the Adobe Presenter publish directory you will notice that there are six files and one directory. You will only need to move the viewer-lite.swf and the data directory to the device in order to play the content. You can leave behind all the other files as they will not be used on the device to play Presenter content.</p>
<p><a href="http://mobilenation.files.wordpress.com/2008/06/published-file-list1.jpg"><img class="alignnone size-full wp-image-51" src="http://mobilenation.files.wordpress.com/2008/06/published-file-list1.jpg?w=450&h=328" alt="Adobe Presenter Publish Folder" width="450" height="328" /></a></p>
<p><strong>Summary:</strong></p>
<p>The ability to play content from Adobe Presenter on a mobile device is a welcome ability that portends the beginning of a trend that I have been talking about for some time, mobile learning. With that said there are a few features that I would like to see added to the product in future releases.</p>
<p><strong>Feature Requests:</strong></p>
<ol>
<li>Configurable key mapping inside Adobe Presenter</li>
<li>Ability to access content over the Internet via http</li>
<li>Ability to use quizzes and store results locally to submit when connected</li>
<li>Client-side API to enable the manipulation of Presenter content from other Flash content using Actionscript (e.g. fullscreen)</li>
<li>Ability to set security settings</li>
</ol>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mobilenation.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mobilenation.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mobilenation.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mobilenation.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mobilenation.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mobilenation.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mobilenation.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mobilenation.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mobilenation.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mobilenation.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mobilenation.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mobilenation.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nhippe.com&blog=951762&post=45&subd=mobilenation&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://nhippe.com/2008/06/12/adobe-presenter-7-and-mobile-learning/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/nhippe-128.jpg" medium="image">
			<media:title type="html">nhippe</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/06/n95-on-left_laptop-screen-on-right.png" medium="image">
			<media:title type="html">Original Image from PC on Right Image from N95 on Left</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/05/presenter_content_example.jpg" medium="image">
			<media:title type="html">Adobe Presenter Content Example</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/06/published-file-list1.jpg" medium="image">
			<media:title type="html">Adobe Presenter Publish Folder</media:title>
		</media:content>
	</item>
		<item>
		<title>Flash Lite 3 and Flash Media Server Video</title>
		<link>http://nhippe.com/2008/04/22/flash-lite-3-and-flash-media-server-video/</link>
		<comments>http://nhippe.com/2008/04/22/flash-lite-3-and-flash-media-server-video/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 01:38:42 +0000</pubDate>
		<dc:creator>nhippe</dc:creator>
		
		<category><![CDATA[Flash Lite Video]]></category>

		<guid isPermaLink="false">http://mobilenation.wordpress.com/?p=21</guid>
		<description><![CDATA[Examples Used in this article:
simpleStreamingExample.fla
bwcheckExample.fla
In this article I am going to cover two scenarios for streaming Flash video from the Flash Media Server to Flash Lite 3. The first is the simplest possible example the second will use script based bandwidth detection to determine the bandwidth available to the device and then stream the appropriate [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Examples Used in this article:<br />
simpleStreamingExample.fla<br />
bwcheckExample.fla</p>
<p>In this article I am going to cover two scenarios for streaming Flash video from the Flash Media Server to Flash Lite 3. The first is the simplest possible example the second will use script based bandwidth detection to determine the bandwidth available to the device and then stream the appropriate video based on that information.</p>
<p>Flash Lite 3 as has support for streaming content from Flash Media Server. I am sure that most of you already know that it cannot be the same support that is in the desktop Flash player and you would be right. There are several exceptions, for example you can stream content to a device with the FashLite 3.0 player but not from a device with the FlashLite 3 player to the Flash Media Server.  I hope that one day soon we will be able to stream video from a cellphone to a Flash Media Server and broadcast to the world but for now we will have to settle for consuming that content on our FlashLite 3 enabled devices. The approach for creating a Flash Lite 3 application that receives streaming content from a Flash Media Server is very similar to creating that content and targeting the desktop player. I should also say that for now you cannot create FlashLite applications using Flex, I hope that changes soon but today the Flex component foot print is too large for devices. I will use Flash CS3 and Device Central for the examples in this article.</p>
<p>The example we are about to create should be familiar to you if you have created an application that took advantage of the Adobe Flash Media Server in the past. We will use <span style="color:#0000ff;">NetConnection</span> and <span style="color:#0000ff;">NetStream </span>to create the connection and <span style="color:#0000ff;">video.attachVideo()</span> and <span style="color:#0000ff;">NetStream.play()</span> to attach and play the stream. Two notable exceptions to functionality as compared to the desktop Flash player are the lack of support for Remote SharedObjects and one-way streaming as I mentioned earlier. We are going to focus on video in this article, I will cover data in a separate article in the near future.</p>
<p>In order to test this example you will need to have Flash Media Interactive server 3 installed. If you do not already have it installed you can use the <a title="FMS developer version" href="https://www.adobe.com/cfusion/tdrc/index.cfm?product=flashmediaserver&amp;loc=en%5Fus" target="_blank">developer version</a> which provides a connection limited development server. It is fully functional but will only allow a limited number of connections.</p>
<p>You can download this example (simpleStreamingExample.fla) and other examples from <a title="mobileNation Meeting Room" href="http://mmse.acrobat.com/mobilenation/" target="_blank">my Connect meeting room</a>. When you download this example you will need to substitute your FMS servers name or ip address for the following <span style="color:#0000ff;">yourserver.com</span> in the actionscript of the simpleStreamingExample.fla file. If you have the FMS server installed locally that would be <span style="color:#0000ff;">localhost </span>or <span style="color:#0000ff;">127.0.0.1</span>. In addition you will need to substitute the name of a video file that you created and placed in the <span style="color:#000000;">_definst_</span> directory under your FMS applications folder for the following <span style="color:#0000ff;">melissaInterview </span>in the actionscript of the simpleStreamingExample.fla file. You could also use one of the flv files on <a title="mobileNation Meeting Room" href="http://mmse.acrobat.com/mobilenation/" target="_blank">my Connect meeting room</a> in the zip file called videos_for_streaming_example.zip.<span style="color:#0000ff;"> </span></p>
<p>The first part of the process will be to choose a target device. In other words what device or devices are we going to target with this application? Launch Device Central and sort the list by the version of FlashLite then choose 3.0. You should see a few devices in the list, if you don&#8217;t make sure to download the newest <a title="device profile update" href="http://www.adobe.com/devnet/devices/" target="_blank">device profile update #5</a>. For this example I am going to use a generic Flash Lite 3 (240 x 320) profile because there is a problem with the new Nokia N95 8GB profile and DoCoMo removed support for video from the 905i series.  The issue with the Nokia N95 8GB profile is a known issue and should be fixed shortly and DoCoMo will add video support to the 906i series.  Before you wonder why I asked you to download the update, I just wanted to see if I could get you to do it. Just kidding there will be other updates and I want you to get in the habit so that you always have the latest intel on devices that support Flash. Now that you have a new blank Flash file open in Flash CS3 we will move on to the next major step which is to create the video object that we will use to attach our streaming video. Open the Flash library from the Windows menu in Flash CS3 or you can use the short cut keys (cntrl &amp; L). From the Display panel menu options of the library panel select &#8220;New Video&#8230;&#8221;.</p>
<p><a title="Create The Video Object" href="http://mobilenation.files.wordpress.com/2008/02/createvideoobject.jpg"><img src="http://mobilenation.files.wordpress.com/2008/02/createvideoobject.jpg" alt="Create The Video Object" /></a></p>
<p>Give the video object a name (&#8221;vid&#8221;) and drag it to the stage.  Once it is on the stage you will need to give it an instance name. Simply click on the video object that you moved to the stage then look at the property inspector at the bottom of the stage.</p>
<p><a title="Flash CS3 Property Inspector" href="http://mobilenation.files.wordpress.com/2008/02/propertyinspector.jpg"><img src="http://mobilenation.files.wordpress.com/2008/02/propertyinspector.jpg" alt="Flash CS3 Property Inspector" /></a></p>
<p>The instance name is &#8220;vid_video&#8221;. We will use this name in the Actionscript to attach the video stream to this object. Now its time for a little Actionscript. This is a very simple example and in order to keep it simple I am going to place my Actionscript on the first frame of a layer that I named &#8220;AS&#8221;.</p>
<p>I am using an &#8220;<span style="color:#0000ff;">if(inited</span>&#8221; code block as the starting point of my application. Inside of this &#8220;<span style="color:#0000ff;">if</span>&#8221; statement I am setting up a connection to my Flash Media server using the &#8220;connect&#8221; method of the NetConnection Class.</p>
<p><span style="color:#0000ff;">if (inited == null) {<br />
inited = true;</span></p>
<blockquote><p><span style="color:#0000ff;"> nc = new NetConnection();</span><br />
<span style="color:#0000ff;"> nc.connect(&#8221;rtmp://localhost/simpleVideo/&#8221;);</span><br />
<span style="color:#0000ff;"> playvid();</span></p></blockquote>
<p><span style="color:#0000ff;"> }</span></p>
<p><span style="color:#0000ff;">function playvid(){<br />
</span></p>
<blockquote><p><span style="color:#0000ff;"> ns = new NetStream(nc);</span><br />
<span style="color:#0000ff;"> vid_video.attachVideo(ns);</span><br />
<span style="color:#0000ff;"> ns.play(&#8221;melissaInterview&#8221;);</span></p></blockquote>
<p><span style="color:#0000ff;"> }</span></p>
<p>The parameter in  <span style="color:#0000ff;">&#8220;nc.connect(&#8221;rtmp://localhost/simpleVideo/&#8221;)&#8221;</span> points to the application on the FMS server. &#8220;<span style="color:#0000ff;">RTMP</span>&#8221; is the protocol used to carry the content. There are several types of RTMP but Flash Lite 3 only supports basic RTMP no tunneling or encryption.</p>
<table border="0" cellspacing="0" cellpadding="0" width="592">
<tbody>
<tr>
<th>
<p align="left">Protocol</p>
</th>
<th>
<p align="left">Description</p>
</th>
</tr>
<tr>
<td>RTMP</td>
<td>Real-Time Messaging Protocol</td>
</tr>
<tr>
<td>RTMPT</td>
<td>Real-Time Messaging Protocol tunneled over HTTP</td>
</tr>
<tr>
<td>RTMPE</td>
<td>128-bit encrypted Real-Time Messaging Protocol</td>
</tr>
<tr>
<td>RTMPTE</td>
<td>128-bit encrypted Real-Time Messaging Protocol tunnelled over HTTP</td>
</tr>
<tr>
<td>RTMPS</td>
<td>Real-Time Messaging Protocol over SSL</td>
</tr>
</tbody>
</table>
<p>The default port for FMS is 1935, that can be changed if you use the default you do not have to include the port in the server reference. Finally the application name (i.e. simpleVideo), simply means that there is a folder in the applications folder inside the installation folder of the Flash Media Server called simpleVideo.</p>
<p>C:\Program Files\Adobe\Flash Media Server 3\applications\simpleVideo<br />
<a title="FMS Folder Structure" href="http://mobilenation.files.wordpress.com/2008/02/directory_listss.jpg"><img src="http://mobilenation.files.wordpress.com/2008/02/directory_listss.jpg" alt="FMS Folder Structure" /></a></p>
<p><a title="FMS Folder Structure" href="http://mobilenation.files.wordpress.com/2008/02/directory_lists.jpg"><br />
</a></p>
<p>Using a reference to the connection created in the previous step we create a one way channel inside the connection using NetStream.</p>
<p><span style="color:#0000ff;"> ns = new NetStream(nc);</span></p>
<p>Using the reference from the previous step we attach the stream to the video object on stage.</p>
<p><span style="color:#0000ff;"> vid_video.attachVideo(ns);</span></p>
<p>Finally we start to play the video. Notice that we leave off the &#8220;.flv&#8221; file extension.</p>
<p><span style="color:#0000ff;">ns.play(&#8221;melissaInterview&#8221;);</span></p>
<p>Pretty simple huh?</p>
<p>Now lets add a little control to this example. I would assume that most people viewing video might want to pause and play that video.  I am going to create a function called &#8220;pausePlayVid()&#8221; and inside of that function I am going to add the pause method of the Netstream class.</p>
<p><span style="color:#0000ff;">function pausePlayVid(){<br />
</span></p>
<blockquote><p><span style="color:#0000ff;"> ns.pause();</span></p></blockquote>
<p><span style="color:#0000ff;"> }</span></p>
<p>To keep it simple I am going to use a component that I created to map navigation keys to function names. In other words I would assume that your device has left,right,up and down navigation keys, this component allows you to pick one of those navigation keys, in this case I will use the right navigation key, and map that to the function we just added to the example called &#8220;pausePlayVid&#8221;.  This is a simple component that you can download with the samples for this article. Now when I test this example in Device Central and the video starts to play if we hit the right navigation key it will pause and if we hit it again it will play.</p>
<p>There is one more thing we should consider if we want this to work on mobile phones, bandwidth! I am sure you have noticed that you can have a conversation with someone on your cellphone and simply turn around and loose the connection? If you haven&#8217;t then you must live in cell tower heaven. For all the rest of us we should consider a way to stream different content based on available bandwidth. There is nothing we can do for a lost connection although that would be a neat trick. At this point I was planning to show how we could use the native bandwidth detection of FMS 3(Flash Media Server) to automatically select the best streaming content for the current bandwidth of the FlashLite enabled device but unfortunately there is a problem that will not allow this functionality to be used with Flash Lite 3.x.</p>
<p>I am still looking into the cause of this but all is not lost. Even though we cannot use the native bandwidth detection we can use an approach developed back in the days of Flash Communication Server (i.e. predecessor to FMS) and described by <a title="Bandwidth Detection Article" href="http://www.adobe.com/devnet/flashcom/articles/flvideo_bandwidth.html" target="_blank">Stefan Richter on Adobe&#8217;s Developer Connection</a>.</p>
<p>This is a very good article that covers in detail the approach for bandwidth detection that will work with FlashLite 3 content. In this article you will also find tutorial files and the server side script that performs the bandwidth detection. The approach involves a call from the client to a server side script. The server side script calls a method on the client to determine the devices bandwidth and sends the value back to the device. At this point the device can use this information to choose the most appropriate content. You will need to download the server side script (bwcheck.asc) and place it in a folder called &#8220;bwcheck&#8221; under the applications directory of the Flash Media Server 3 installation directory.</p>
<p><a href="http://mobilenation.files.wordpress.com/2008/04/dirlistingbwcheck.jpg"><img class="alignnone size-full wp-image-31" src="http://mobilenation.files.wordpress.com/2008/04/dirlistingbwcheck.jpg" alt="" /></a></p>
<p>For all those not familiar with the Flash Media Server, the &#8220;.asc&#8221; extension denotes this as a server side script.</p>
<p>Now lets take a look at an example (bwcheckExample.fla) that uses bandwidth detection to determine the appropriate video to play on the device. You can download this example and other examples from <a title="mobileNation Meeting Room" href="http://mmse.acrobat.com/mobilenation/" target="_blank">my Connect meeting room</a>. When you download this example you will need to substitute your FMS servers name or ip address for the following <span style="color:#0000ff;">yourserver.com</span> in the actionscript of the bwcheckExample file.  The video files for this example are in the videos_for_streaming_example.zip archive. Unzip the video files and place them in the _definst_ directory inside the streams folder of the Flash Media Server as the following screen capture illustrates.</p>
<p><a href="http://mobilenation.files.wordpress.com/2008/04/videoforstreamingdirlist.jpg"><img class="alignnone size-medium wp-image-43" src="http://mobilenation.files.wordpress.com/2008/04/videoforstreamingdirlist.jpg" alt="directory for videos on FMS server" width="450" height="312" /></a></p>
<p>There is a brief description of the approach in the <a title=" ActionScript 2.0 native bandwidth detection" href="http://www.adobe.com/livedocs/flashmediaserver/3.0/hpdocs/help.html?content=00000073.html" target="_blank">help files</a> for Flash Media Server. Even though the description mentions &#8220;native bandwidth detection&#8221; the actionscript will work for script based detection as well with one exception. You will need to set the following to false in the &#8220;<span>Application.xml&#8221; file on your Flash Media Server.</span></p>
<p>&lt;BandwidthDetection enabled=&#8221;true&#8221;&gt;</p>
<p><span style="color:#0000ff;"><span style="color:#000000;">In the following example we will use two connections to the server. The first is a connection to get the available bandwidth and the second is to connect and play the appropriate stream. Just to be clear I had to create the different video files (&#8221;.flv&#8221;) manually. There are server solutions to realtime transcoding but they are either too expensive or outside the scope of this article to explain, that maybe a topic for a future article. It is also worth noting that in this example we only check the bandwidth once, it would be a good idea to check the bandwidth again in the event of an error or possibly poor video play back performance.  That might also be the topic of a future article as well. As I have already covered the basics I will only cover the bandwidth detection in this example. </span></span><span style="color:#0000ff;"><span style="color:#000000;">The following example starts the same way the previous example started with a </span></span><span style="color:#0000ff;">new NetConnection(). <span style="color:#000000;">When the connection is made and accepted by the server side script (&#8221;<span style="color:#0000ff;">bwcheck.asc</span>&#8220;) the process of detecting the bandwidth begins. The server calls the method &#8220;<span style="color:#0000ff;">onBWCheck</span>&#8221; and sends packets of data in order to determine the clients bandwidth. When the process is complete the server sends the results to &#8220;</span></span><span style="color:#0000ff;">onBWDone&#8221;. </span><span style="color:#0000ff;"> </span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">We create the connection that will be used to check the bandwidth of the client.</span><br />
nc = new NetConnection();</span></p>
<p><span style="color:#000000;">On the server the following code in the bwcheck.asc file on the FMS server accepts the connection and kicks off the detection process by calling the function </span><span style="color:#0000ff;">calculateClientBw<span style="color:#000000;"> inside the same file.</span><br />
</span></p>
<p><span style="color:#0000ff;"> application.onConnect = function(p_client, p_autoSenseBW){<br />
this.acceptConnection(p_client);<br />
if (p_autoSenseBW)<br />
this.</span><span style="color:#0000ff;">calculateClientBw</span><span style="color:#0000ff;">(p_client);<br />
</span></p>
<p>The following is method on the client is called by the server to assist in determining the bandwidth of the client.</p>
<p><span style="color:#0000ff;"> nc.onBWCheck = function() {<br />
return ++counter;<br />
};</span></p>
<p>When the process is complete the server calls the client with the following and passes in the <span style="color:#000000;">bandwidth, </span><span style="color:#000000;">deltaDown, deltaTime and latency.</span></p>
<p><span style="color:#0000ff;">p_client.call(&#8221;onBWDone&#8221;);</span></p>
<p>On the client the following method retrieves the bandwidth, <span style="color:#000000;">deltaDown, deltaTime and latency and then calls the function on the client that will determine the appropriate video file to use.<br />
</span></p>
<p><span style="color:#0000ff;">nc.onBWDone = function(p_bw, </span><span style="color:#0000ff;">deltaDown, deltaTime, latency</span><span style="color:#0000ff;">) {<br />
initVideo(p_bw);<br />
};<br />
</span></p>
<p>The following function uses the bandwidth information passed to it to set a variable called <span style="color:#0000ff;">useVideo </span>to the appropriate video file. For simplicity I named the video files for the bandwidth they will use (e.g. 200kbps). In addition I am also changing the amount of video that will be buffered before playing each video.</p>
<p><span style="color:#0000ff;">function playVideo(param_detected_bw:Number) {<br />
var detected_bw:Number = param_detected_bw;<br />
if (detected_bw&gt;200) {<br />
bdwdth_txt.text = &#8220;connected @ &#8220;+detected_bw +&#8221;kbps playing 256kbps_Stream&#8221;;<br />
useVideo = &#8220;200kbps&#8221;;<br />
bufferlength = 4;<br />
} else if (detected_bw&lt;200 &amp;&amp; detected_bw&gt;=160) {<br />
bdwdth_txt.text = &#8220;connected @ &#8220;+detected_bw +&#8221;kbps playing 150kbps_Stream&#8221;;<br />
useVideo = &#8220;150kbps&#8221;;<br />
bufferlength = 7;<br />
} else if (detected_bw&lt;160 &amp;&amp; detected_bw&gt;=120) {<br />
bdwdth_txt.text = &#8220;connected @ &#8220;+detected_bw +&#8221;kbps playing 100kbps_Stream&#8221;;<br />
useVideo = &#8220;100kbps&#8221;;<br />
bufferlength = 9;<br />
} else if (detected_bw&lt;120 &amp;&amp; detected_bw&gt;=85) {<br />
bdwdth_txt.text = &#8220;connected @ &#8220;+detected_bw +&#8221;kbps playing 75kbps_Stream&#8221;;<br />
useVideo = &#8220;75kbps&#8221;;<br />
bufferlength = 10;<br />
} else if (detected_bw&lt;85 &amp;&amp; detected_bw&gt;=65) {<br />
bdwdth_txt.text = &#8220;connected @ &#8220;+detected_bw +&#8221;kbps playing 50kbps_Stream&#8221;;<br />
useVideo = &#8220;50kbps&#8221;;<br />
bufferlength = 12;<br />
} else {<br />
bdwdth_txt.text = &#8220;bandwidth too low. Sorry&#8221;<br />
};<br />
</span></p>
<p>Well thats it. I hope that helps get you started creating streaming Flash video content for Flash Lite 3.x. The following articles will help you round out your understanding of Flash video support in Flash Lite 3.</p>
<p><a title="Flash Lite 3 video capabilities" href="http://www.adobe.com/devnet/devices/articles/fl3_video.html" target="_blank">Flash Lite 3 video capabilities </a></p>
<p><a title="How to play FLV video from YouTube using Flash Lite 3" href="http://www.adobe.com/devnet/devices/articles/youtube_fl3_video.html" target="_blank">How to play FLV video from YouTube using Flash Lite 3</a></p>
<p>I hope you found this article useful.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mobilenation.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mobilenation.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mobilenation.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mobilenation.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mobilenation.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mobilenation.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mobilenation.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mobilenation.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mobilenation.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mobilenation.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mobilenation.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mobilenation.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nhippe.com&blog=951762&post=21&subd=mobilenation&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://nhippe.com/2008/04/22/flash-lite-3-and-flash-media-server-video/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/nhippe-128.jpg" medium="image">
			<media:title type="html">nhippe</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/02/createvideoobject.jpg" medium="image">
			<media:title type="html">Create The Video Object</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/02/propertyinspector.jpg" medium="image">
			<media:title type="html">Flash CS3 Property Inspector</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/02/directory_listss.jpg" medium="image">
			<media:title type="html">FMS Folder Structure</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/04/dirlistingbwcheck.jpg" medium="image" />

		<media:content url="http://mobilenation.files.wordpress.com/2008/04/videoforstreamingdirlist.jpg" medium="image">
			<media:title type="html">directory for videos on FMS server</media:title>
		</media:content>
	</item>
		<item>
		<title>Stock Data Application Symbian 3rd Edition</title>
		<link>http://nhippe.com/2008/01/27/stock-data-application-symbian-3rd-edition/</link>
		<comments>http://nhippe.com/2008/01/27/stock-data-application-symbian-3rd-edition/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 19:38:09 +0000</pubDate>
		<dc:creator>nhippe</dc:creator>
		
		<category><![CDATA[Flash Lite]]></category>

		<category><![CDATA[Flash Lite Examples]]></category>

		<category><![CDATA[Adobe Flash]]></category>

		<category><![CDATA[stock tracker]]></category>

		<category><![CDATA[symbian]]></category>

		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://mobilenation.wordpress.com/?p=22</guid>
		<description><![CDATA[Well I tried to get the stock quote application signed so that I could create an installer for Nokia phones but I finally had to give up. I do not think the process is ready for prime time. At any rate I posted the swf files for four resolutions (i.e. 176&#215;208, 240&#215;320, 240&#215;240, 320X240).  [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Well I tried to get the stock quote application signed so that I could create an installer for Nokia phones but I finally had to give up. I do not think the process is ready for prime time. At any rate I posted the swf files for four resolutions (i.e. 176&#215;208, 240&#215;320, 240&#215;240, 320X240).  I wish that I could make this a little easier but in order to install this application you will need to create a folder called &#8220;Trusted&#8221; at the following location on your Symbian device &#8220;c:\Data\Others\Trusted&#8221; this is only required on 3rd edition Symbian devices. You can use the Nokia PC Suite to create the &#8220;Trusted&#8221; folder previously mentioned as well as to move the Flash swf file appropriate for your device into that folder. If you have not installed the Nokia PC Suite you can find it at the following url:</p>
<p>http://www.nokiausa.com/A4735050</p>
<p>This application should work where ever a Flash Lite player (version 2.x) is present. In other words if you have a Windows Mobile device with one of the previously mentioned resolutions it should work.</p>
<p>You will find the swf files at the following location:</p>
<p><a href="http://mmse.acrobat.com/mobilenation/" target="_blank">http://mmse.acrobat.com/mobilenation/</a></p>
<p>Simply logon as a guest with your first and last name. The Connect meeting room will load and you will see the following:</p>
<p><a href="http://mobilenation.files.wordpress.com/2008/01/download_files1.jpg" title="Download Stock Data Application for Symbian 3rd Edition"><img src="http://mobilenation.files.wordpress.com/2008/01/download_files1.jpg" alt="Download Stock Data Application for Symbian 3rd Edition" /></a></p>
<p>Download the Flash swf file appropriate for the resolution of your device. In order words if you have an N73 or an N95 you would download &#8220;stockQuote_240&#215;320.swf&#8221; and place it in the &#8220;Trusted&#8221; folder mentioned earlier. You must have the <a href="https://www.adobe.com/cfusion/entitlement/index.cfm?e=flashlite2%5F1%5Fsymbian%5Fdownload" title="Download Flash Lite Player" target="_blank">Flash Lite 2.x</a> player installed on the device.</p>
<p>If you have a 1st or 2nd edition you can download the sis file and the install should work with out issue. I have not tested this n windows mobile but if you have a palm device with a resolution of 240&#215;240 you will find a swf file that works for that resolution as well.</p>
<p>If have a few planned updates to this application, stay tuned.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mobilenation.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mobilenation.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mobilenation.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mobilenation.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mobilenation.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mobilenation.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mobilenation.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mobilenation.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mobilenation.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mobilenation.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mobilenation.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mobilenation.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nhippe.com&blog=951762&post=22&subd=mobilenation&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://nhippe.com/2008/01/27/stock-data-application-symbian-3rd-edition/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/nhippe-128.jpg" medium="image">
			<media:title type="html">nhippe</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/01/download_files1.jpg" medium="image">
			<media:title type="html">Download Stock Data Application for Symbian 3rd Edition</media:title>
		</media:content>
	</item>
		<item>
		<title>Stock Data Application Posted</title>
		<link>http://nhippe.com/2008/01/09/stock-data-application-posted/</link>
		<comments>http://nhippe.com/2008/01/09/stock-data-application-posted/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 07:54:00 +0000</pubDate>
		<dc:creator>nhippe</dc:creator>
		
		<category><![CDATA[Flash Lite]]></category>

		<category><![CDATA[Flash Lite Examples]]></category>

		<guid isPermaLink="false">http://mobilenation.wordpress.com/2008/01/09/stock-data-application-posted/</guid>
		<description><![CDATA[I have posted the first edition of the Stock Data application. This version was formatted for a Nokia 6680 (176 by 208). It will work on slightly different screen sizes but not 320 by 240. I will post a version for QVGA in the next couple of weeks. I have not done extensive testing but [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have posted the first edition of the Stock Data application. This version was formatted for a Nokia 6680 (176 by 208). It will work on slightly different screen sizes but not 320 by 240. I will post a version for QVGA in the next couple of weeks. I have not done extensive testing but I have found a few problems.  Please let me know if you find any problems.</p>
<p>Start by entering stock symbols into the &#8220;Symbl&#8221; column. Use the navigation keys on the phone to move the selection rectangle to the first field under the title &#8220;Symbl&#8221;. Press the select button to allow entry into the field. Enter a stock symbol then press enter again to exit the text editing mode. Once you have entered one or more symbols hit the right softkey &#8220;update&#8221; to initiate a look up for the symbols that were entered. If you have a connection the application should update the stock data. If there is no connection it will wait the number of minutes set for the interval and try again.  The application updates on an interval that can be adjusted under the menu and settings. You will also notice two dates near the top of the application &#8220;Last Trade&#8221; represents the last time that a stock was traded while &#8220;Last Update&#8221; is the last time data was loaded from the server.</p>
<p>You can download the sis file at the following url:<br />
<a href="http://mmse.acrobat.com/mobilenation/" target="_blank">http://mmse.acrobat.com/mobilenation/</a></p>
<p>Simply select the file &#8220;StockQuote.sis&#8221; and click the button called &#8220;Save to my computer&#8221;. When you install the application you can launch it from the icon in the application folder. The icon is</p>
<p><a href="http://mobilenation.files.wordpress.com/2008/01/logo_initals_145_x_100.jpg" title="Mobile Nation Logo"><img src="http://mobilenation.files.wordpress.com/2008/01/logo_initals_145_x_100.jpg" alt="Mobile Nation Logo" /></a></p>
<p>What can I say I am not an artist. I am looking forward to any feedback you might have. Thanks</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mobilenation.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mobilenation.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mobilenation.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mobilenation.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mobilenation.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mobilenation.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mobilenation.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mobilenation.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mobilenation.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mobilenation.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mobilenation.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mobilenation.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nhippe.com&blog=951762&post=19&subd=mobilenation&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://nhippe.com/2008/01/09/stock-data-application-posted/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/nhippe-128.jpg" medium="image">
			<media:title type="html">nhippe</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2008/01/logo_initals_145_x_100.jpg" medium="image">
			<media:title type="html">Mobile Nation Logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Stock Data Application</title>
		<link>http://nhippe.com/2007/12/20/stock-data-application/</link>
		<comments>http://nhippe.com/2007/12/20/stock-data-application/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 16:56:40 +0000</pubDate>
		<dc:creator>nhippe</dc:creator>
		
		<category><![CDATA[Flash Lite]]></category>

		<category><![CDATA[Flash Lite Examples]]></category>

		<guid isPermaLink="false">http://mobilenation.wordpress.com/2007/12/20/stock-data-application/</guid>
		<description><![CDATA[It has been a while but I have some news. I have been working on a Flashlite stock data application that takes advantage of the localshared object for storing stock info when not connected. I hope to have it completed shortly. The high level is that when you first run the application it will ask [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It has been a while but I have some news. I have been working on a Flashlite stock data application that takes advantage of the localshared object for storing stock info when not connected. I hope to have it completed shortly. The high level is that when you first run the application it will ask you to enter an interval in minutes. The application uses this interval to update the information based on the symbols that the user enters into the symbol column. After you have entered the stock symbols you would like to track hit the right softkey (update) and the application will fetch the data for the symbols that you entered. This data is stored locally so that if for some reason you are disconnected the data will persist. You will not need to enter the symbols every time you launch the application because they are stored locally. I will leave you with a screen shot until I post the application. Please drop me a note to let me know if you are interested in the application.<br />
<a href="http://mobilenation.files.wordpress.com/2007/12/stocktracker.png" title="Stock Tracker application"><img src="http://mobilenation.files.wordpress.com/2007/12/stocktracker.png" alt="Stock Tracker application" /></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mobilenation.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mobilenation.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mobilenation.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mobilenation.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mobilenation.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mobilenation.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mobilenation.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mobilenation.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mobilenation.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mobilenation.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mobilenation.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mobilenation.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nhippe.com&blog=951762&post=16&subd=mobilenation&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://nhippe.com/2007/12/20/stock-data-application/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/nhippe-128.jpg" medium="image">
			<media:title type="html">nhippe</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2007/12/stocktracker.png" medium="image">
			<media:title type="html">Stock Tracker application</media:title>
		</media:content>
	</item>
		<item>
		<title>Authoring Mobile Video Content for Flash Lite 2.x</title>
		<link>http://nhippe.com/2007/04/05/hello-world/</link>
		<comments>http://nhippe.com/2007/04/05/hello-world/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 03:07:02 +0000</pubDate>
		<dc:creator>nhippe</dc:creator>
		
		<category><![CDATA[Flash Lite]]></category>

		<category><![CDATA[Flash Lite Video]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[***Download the examples and components from the following url  http://mmse.acrobat.com/mobilenation/  Use the guest logon and enter your full name***
A basic understanding of Flash is assumed in order to follow along with the Flash editing portion of this article. The examples are provided as is. You will have to provide the name of your [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><i>***Download the examples and components from the following url  <a href="http://mmse.acrobat.com/mobilenation/" target="_blank">http://mmse.acrobat.com/mobilenation/</a>  Use the guest logon and enter your full name***</i></p>
<p>A basic understanding of Flash is assumed in order to follow along with the Flash editing portion of this article. The examples are provided as is. You will have to provide the name of your own 3gp video for these examples to function. You will find a local video and a streaming video example. The local video requires that you load the video on the device in the same directory as the swf. The streaming example requires that you have access to a streaming server that supports rtsp. I have also included the components discussed as I have made a couple of changes recently and the changes are not yet posted to the Adobe Exchange. You will need a way to install the examples on your device. If you are using a Nokia device <a href="http://www.nokiausa.com/A4410027" title="PC Suite" target="_blank">PC Suite</a> will allow you to easily move files to your device. If you have a BREW device you will want <a href="http://brew.qualcomm.com/brew/en/developer/overview.html" title="AppLoader" target="_blank">AppLoader</a>, although you will have to register as a BREW developer in order to download it. If you have a Windows Mobile device <a href="http://msdn2.microsoft.com/en-us/windowsmobile/bb264327.aspx" title="ActiveSync" target="_blank">ActiveSync </a>allows you to move files to your device.</p>
<p>There are many considerations when authoring video content to play back on the desktop Flash Player so you can imagine the possible difficulties when authoring video content to play back on a hand-held device.</p>
<p>To start, there are many devices, operating systems and operators as well as several different versions of the Flash Lite Player to consider. For the sake of this article we are going to focus on the <a href="http://en.wikipedia.org/wiki/Mobile_software" target="_blank">Symbian</a>, <a href="http://en.wikipedia.org/wiki/Mobile_software" target="_blank">BREW </a>and <a href="http://en.wikipedia.org/wiki/Mobile_software" target="_blank">Windows Mobile</a> environments running the Flash Lite 2.x player.  All of the platforms discussed in this article are considered <a href="http://en.wikipedia.org/wiki/Symbian_OS#Openness">open</a>, in other words you can install Flash applications on the device.</p>
<p>One of the first considerations for an end user thinking about viewing the content will be cost. What will my operator charge me to watch this video? There are several operators with unlimited <a href="http://usatoday.jiwire.com/cellular-data-choosing-a-cell-data-plan.htm" target="_blank">data plans</a> that make it easier to consider the use of video in your application. The potential cost will be something you should consider communicating to your potential users prior to them playing the content.</p>
<p><b>Where To  Start </b><br />
The first thing the reader needs to understand is that Flash Lite 2 does not play Flash video it plays device video. In other words Flash Lite 2 provides the rectangle for the device to play the video and passes several rudimentary commands to the system for control of that video. It appears that the video is being played by the Flash Lite player inline but the heavy lifting is being done by the device. Because the video playback is device dependent we will need to pay close attention to the devices capability. For instance what video format and codec is supported by the device? For instance does the device require 3gpp or 3gpp2 video and will you need to target the H.264, H.263 as well as MPEG-4 codecs?</p>
<p>There are several organizations working on mobile video standards <a href="http://www.3gpp.org/" title="3GPP" target="_blank">3GPP </a>(3rd Generation Partership Project), <a href="http://www.3gpp2.org/" title="3GPP2" target="_blank">3GPP2 </a>(3rd Generation Partnership Project 2) and ISMA (Internet Streaming Media Alliance). If you were to look at the membership of both 3GPP and 3GPP2 you would see that these organizations are divided down company and technology lines. In other words you would find that Cingular and T-Mobile are in 3GPP and Verizon, Sprint and ALLTEL are members of 3GPP2.</p>
<p>These kinds of issues greatly complicate the life of a content developer. When a Flash developer, targeting the desktop player (e.g. Flashplayer 9), wants to add video to an application they do not need to know if there is a specific <a href="http://en.wikipedia.org/wiki/Codec" target="_blank">codec</a> on the target system but this is a critical first step when considering the use of video for Flashlite 2.x content on a hand-held device.</p>
<p>If you are new to the mobile space you will hear and read about many unrecognizable abbreviations like 3gpp2, <a href="http://en.wikipedia.org/wiki/QCIF">CIF</a>, QCIF, QVGA, etc&#8230; Just when you thought you knew all the abbreviations along comes the mobile space with an entirely new set. The great news is that the mobile emulator also known as <a href="http://www.adobe.com/products/creativesuite/devicecentral/?xNav=WPDC" target="_blank">Device Central</a> in Adobe&#8217;s Creative Suite 3 does a great deal to remove the need to investigate each and every device that you might target. Of course this does not remove the need to test on a device just as Dreamweaver does not remove the need to test your CSS content in a browser but it does give the Flash mobile developer a significant productivity boost.</p>
<p><a href="http://mobilenation.files.wordpress.com/2007/04/devicecentralcs3.jpg" title="Device Central" target="_blank"><img src="http://mobilenation.files.wordpress.com/2007/04/devicecentralcs3.jpg?w=533&h=272" alt="Adobe Creative Suite Device Central" align="top" height="272" hspace="3" width="533" /></a></p>
<p><i>click to enlarge</i></p>
<p><span id="more-1"></span></p>
<p class="MsoPlainText">&nbsp;</p>
<p><b>More Device Requirements </b><br />
There are many other considerations beyond whether the device is capable of playing video, for instance device memory, processor performance, screen size, aspect ratio and orientation to name a few. You will need to consider the length of the video content as well based on whether you plan to stream the video or deliver it with your content as a package. If you decide that streaming is the best option based on the video&#8217;s characteristics you will need to target devices that support <a href="http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol" title="Real Time Streaming Protocol">RTSP</a>. No I did not mean to say RTMP, RTSP is a standard developed by the <a href="http://en.wikipedia.org/wiki/Internet_Engineering_Task_Force" target="_blank">IETF</a> where as <a href="http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol" target="_blank">RTMP</a> is the protocol used to stream Flash video. As far as memory and processor speed I have had good luck streaming to a Nokia 6682 with an ARM 9 processor running at 220 Mhz with 8MB of total memory and 2MB dedicated to the Flash player.</p>
<p><b>Device Video and Devices </b><br />
The unfortunate out come of supporting device video is that it is dependent on the device.  In other words you will find that H.264 is supported on some devices and not on others. You will also find that streaming video is supported on some devices and not others. Lets take a look at a couple of examples. It is possible to stream video to a Nokia 6682 (Symbian OS) from a streaming server via the RTSP protocol. It is not possible to stream device video to a Windows Mobile device using RTSP although local device video works fine. With that said I am sure that I will get a response from someone that has knowledge of a mystical combination of patches and drivers that will make this possible, I will leave those combinations up to the individual tester to validate. You will find the same kinds of issues when using BREW devices.  When  attempting to test streaming video on the <a href="http://us.lge.com/products/model/detail/mobile%20phones_select%20by%20carrier_verizon_VX8100.jhtml" target="_blank">LG VX8100</a> it was found that it does not “officially” support any  video format let alone streaming. Running the same test on the <a href="http://www.motorola.com/motoinfo/product/details.jsp?globalObjectId=129" target="_blank">Motorola V3C</a> revealed that this device does support streaming. Anyone familiar with Flash video understands that it is possible to access video in a number of ways. You can embed the video in a swf file, you can stream the video from a Flash Media Server and you can access video via http also known as progressive download with little concern for the hardware it is playing on. This is not the case with device video which requires a great deal more preparation and testing.</p>
<p>Device Central is an incredible resource when considering the use of device video. You can think of Device Central as the update and upgrade from the mobile emulator in Flash8. The Flash8 emulator was a good start but pales in comparison to Device Central. Device Central has a great deal of information about device capabilities (updated quarterly via the web) as well as an emulator that can be used from nearly every tool in Adobe&#8217;s Creative Suite 3. It provides information about the color depth, screen size, Flash version, memory, video formats, content scaling, etc. The only information that I would like to see added to Device Central is whether or not a given device supports RTSP. Device Central can educate you on a given set of devices it cannot address the issues associated with using device video namely the differences presented by those same devices.</p>
<p><a href="http://mobilenation.files.wordpress.com/2007/04/device_central_updates.jpg" title="Device Central Update" target="_blank"><img src="http://mobilenation.files.wordpress.com/2007/04/device_central_updates.jpg" alt="Device Central Update" /></a></p>
<p><i>click to enlarge</i></p>
<p>The mobile emulator in Flash 8 was just that an emulator. There is very little device information and what is there is nearly impossible to compare to other target devices. There were also few problems with the emulator for instance when attempting to load device video via http it appeared to work in the emulator but when you moved the swf in question to a Symbian device such as the Nokai 6682 or E62 you got an error.</p>
<p style="font-weight:bold;">Encoding Your Video</p>
<p>There are many solutions for encoding video from one format to another.  For instance Adobe&#8217;s Premiere Pro CS3 can export to mobile formats and allows you to test in Device Central. You could also use Quicktime to encode your device video. I will cover Adobe&#8217;s Premiere Pro CS3 in a future article, in this article we will keep it simple and use Quicktime. For the purpose of this article I will walk through encoding two videos. The first is a standalone video that will be loaded and accessed from the device. The second will be a streaming video file loaded and accessed from a streaming server, in this case <a href="http://developer.apple.com/opensource/server/streaming/" title="Darwin" target="_blank">Darwin</a>.</p>
<p>For the on device video, I started with a fairly large video file in Quicktime format (approx ~5.5 MB) converted it to 3gpp qcif(176 by 144) and ended up with a file that was approximately 580 KB. There is additional information about video formats on the <a href="http://helpqt.apple.com/qthelpwr3/english/QuickTimeHelp/" title="QuickTime help pages" target="_blank">QuickTime help pages</a>. The following are the settings I used from the Quicktime export settings dialog.</p>
<p><a href="http://mobilenation.files.wordpress.com/2007/07/nonstreaming_3gpp_mobile_mp4_qcif_autokeyframe.png" title="Quicktime Export" target="_blank"><img src="http://mobilenation.files.wordpress.com/2007/07/nonstreaming_3gpp_mobile_mp4_qcif_autokeyframe.png" alt="Quicktime Export" align="top" height="461" hspace="3" /></a></p>
<p><i>click to enlarge</i></p>
<p>I will leave the settings the same for the streaming example with two exceptions. Under the streaming settings I will check the box called &#8220;Enable streaming&#8221; as well as the checkbox called &#8220;Optimize for server&#8221;. Thats all there is to creating a video file capable of being streamed from a media server.</p>
<p><a href="http://mobilenation.files.wordpress.com/2007/07/streaming.png" title="Stream Settings in Quicktime" target="_blank"><img src="http://mobilenation.files.wordpress.com/2007/07/streaming.png" alt="Stream Settings in Quicktime" align="top" height="461" hspace="3" /></a></p>
<p><i>click to enlarge</i></p>
<p>Setting up a streaming server is outside the scope of this article but I will say that <a href="http://developer.apple.com/opensource/server/streaming/" target="_blank">Darwin</a> has worked for my purposes.  It can stream 3gp video over rtsp to devices that have the appropriate codec and support for rtsp.</p>
<p style="font-weight:bold;">Creating The Flash Files</p>
<p> When creating the Flash file you will need to take into account screen size, Flash Player and ActionScript  version for the targeted device. If you have Flash 8 you can simply go to the &#8220;File&#8221; menu and select &#8220;New&#8221;. When the document is visible select the modify menu and the document submenu to set the dimensions to the appropriate size (e.g. 176 width by 208 height). In order to set the Flash Player and ActionScript version select the &#8220;File&#8221; menu and the &#8220;Publish Settings&#8221; submenu. When the publish settings dialog opens select the &#8220;Flash&#8221; tab and then select to Flash Player version and ActionScript version appropriate for the device. What player version and ActionScript version should you choose? That is one of the many reasons to upgrade to Creative Suite 3 and more specifically Device Central.  If you are using Flash 8 you will need to create the document choose a Flash Lite and ActionScript version and test (i.e. Control &gt; Test Movie) to confirm whether your settings will work on the target device. On the other hand if you have Flash CS3 Professional with Device Central installed you first investigate the devices capabilities using Device Central and then create the file based on that information. In Flash CS3 select the &#8220;File&#8221; menu and the &#8220;New&#8221; submenu. When the &#8220;New Document&#8221; dialog is visible select &#8220;Flash File (Mobile)&#8221; and click the &#8220;OK&#8221; button. Device Central will open and you will have an opportunity to learn about the target device before you make your selections for Flash Player and ActionScript version.</p>
<p>For this example I might want to target the Nokia N95 and need to confirm the device capabilities. When Device Central opens there are two tabs at the top of the application &#8220;Device Profiles&#8221; and &#8220;New Document&#8221;. I select &#8220;Device Profiles&#8221; and find the N95 on the left under &#8220;Available Devices&#8221;. I can sort the catalog of devices by vendor, Flash Player version, carrier, etc&#8230; Once I find the N95 I can select it to see information about screen size, Flash Player version, video codecs and much more. In addition I can select multiple devices to compare features. In this case I have confirmed that the Nokia N95 ships with the Flash Lite 2 player and has a 240 x 320 pixel screen. I return to the &#8220;New Document&#8221; tab to confirm that I am targeting the N95. I make sure that the &#8220;Player version&#8221; is &#8220;Flash Lite 2.0&#8243; and the &#8220;ActionScript Version&#8221; is also 2.0 and finally the &#8220;Content Type&#8221; is set to &#8220;Standalone Player&#8221;. Unlike PCs today most Flash Players on cellphones are installed as standalone in other words not browser plug-ins.  You will also find the content type information in Device Central under the &#8220;Flash&#8221; category.</p>
<p><a href="http://mobilenation.files.wordpress.com/2007/07/devicecentraldetail.jpg" title="Device Central Device Detail" target="_blank"><img src="http://mobilenation.files.wordpress.com/2007/07/devicecentraldetail.jpg" alt="Device Central Device Detail" align="top" height="376" hspace="3" vspace="3" /></a></p>
<p><i>click to enlarge</i></p>
<p>Now that we have the Flash file created we need to add the video object. Open the library panel from the &#8220;Window&#8221; menu or by using the shortcut ctrl &amp; L. From the options menu button in the Library panel&#8217;s title bar select &#8220;New Video&#8221;, name the symbol &#8220;vid&#8221; and confirm that the &#8220;Video (ActionScript-controlled)&#8221; is selected. You should see the new video object in the library, simply drag it to the stage. If at any point you are having difficulty following these instructions you can download the finished files from the top of this article.  We are going to start with the local video example (i.e. the video file is on the device). If you would like to add a battery and signal indicator to your project you will find both on the Adobe Exchange in the &#8220;Business&#8221; category. The component name is <a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&amp;extid=1046967" title="Mobile Components" target="_blank">Mobile Components</a>. Now lets add the ActionScript required to play the video.</p>
<p><i>fscommand2(&#8221;FullScreen&#8221;, true);</i></p>
<p><i>function playVid(){<br />
vid_video.play(&#8221;</i><i>myLocalVideo.3gp</i><i>&#8220;);<br />
status_txt.text = &#8220;&#8221;;<br />
status_txt.text = &#8220;Play&#8221;;<br />
}<br />
function pauseVid(){<br />
vid_video.pause();<br />
status_txt.text = &#8220;&#8221;;<br />
status_txt.text = &#8220;pause&#8221;;<br />
}<br />
function resumeVid(){<br />
vid_video.resume();<br />
status_txt.text = &#8220;&#8221;;<br />
status_txt.text = &#8220;resume&#8221;;<br />
}<br />
function closeVid(){<br />
vid_video.close();<br />
status_txt.text = &#8220;&#8221;;<br />
status_txt.text = &#8220;close&#8221;;<br />
}<br />
vid_video.onStatus = function(info){<br />
status_txt.text = &#8220;&#8221;;<br />
status_txt.text = info.level +&#8221; :: &#8220;+info.code;<br />
} </i></p>
<p>You will notice there are a couple of oddities in the preceding ActionScript. The ActionScript is very simple, if you remember this is because Flash is not playing the video, the device is playing the video.  You will also notice that the name of the video myLocalVideo.3gp ends in a .3gp extension this again is based on the fact that the device is playing the video not Flash Lite. This is not all of the ActionScript required to play the video, we will need to capture key events from the device that will call our functions. I have created a couple of simple components, mentioned earlier, that provide some basic functionality that I will use in this example. The battery and signal indicators are self explanatory but the keypad mapping component will simplify this example because it has the key listener already created. All we have to do is install the components and restart Flash and you will see the mobile_NAH category in the components panel. You can drag the keypad_mapping component onto the stage. It does not matter where because it will not be visible in your published swf. Once the keypad mapping component is in your working file you can select it and set the mappings in the component inspector.</p>
<p><a href="http://mobilenation.files.wordpress.com/2007/07/keypad_mapping.jpg" title="keypad mapping component" target="_blank"><img src="http://mobilenation.files.wordpress.com/2007/07/keypad_mapping.jpg" alt="keypad mapping component" align="top" height="375" hspace="3" vspace="3" width="533" /></a></p>
<p><i>click to enlarge</i></p>
<p>Notice that I simply copied the function name to the component parameters for the &#8220;keypad_mapping&#8221; component&#8217;s &#8220;key_Right&#8221; event. When you move the swf to your device and press the right navigation key this component will call the function &#8220;playVid&#8221; and the left navigation key will call &#8220;pauseVid&#8221;. You can publish and move to find to your device for testing. To finish the streaming example we are going to make one change to the ActionScript. Instead of <i> vid_video.play(</i><i>&#8220;</i><i>myLocalVideo.3gp</i><i>&#8220;</i><i>); </i>we are going to change the local file <i>  &#8220;</i><i>myLocalVideo.3gp</i><i>&#8221; </i>to the url for a streaming server <i>rtsp://yourRTSPServerIPorName/yourVideoFileName.3gp. </i>That is the only change required. If you have access to a streaming server you can publish and move the file to your device for testing.</p>
<p><b>Conclusion </b></p>
<p>I am sure that you are wondering if all this is worth the effort. There are so many devices with different capabilities creating video content that plays across the largest possible number of devices requires a significant amount of work. There is good news, similar to the way that Flash has revolutionized video for PCs on the internet the next version of <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200702/021207FlashVideo.html" title="Flash Lite" target="_blank">Flash Lite</a> promises a similar revolution for devices. I will cover Flash Lite 3 in a future article.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mobilenation.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mobilenation.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mobilenation.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mobilenation.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mobilenation.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mobilenation.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mobilenation.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mobilenation.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mobilenation.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mobilenation.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mobilenation.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mobilenation.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nhippe.com&blog=951762&post=1&subd=mobilenation&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://nhippe.com/2007/04/05/hello-world/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/nhippe-128.jpg" medium="image">
			<media:title type="html">nhippe</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2007/04/devicecentralcs3.jpg" medium="image">
			<media:title type="html">Adobe Creative Suite Device Central</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2007/04/device_central_updates.jpg" medium="image">
			<media:title type="html">Device Central Update</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2007/07/nonstreaming_3gpp_mobile_mp4_qcif_autokeyframe.png" medium="image">
			<media:title type="html">Quicktime Export</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2007/07/streaming.png" medium="image">
			<media:title type="html">Stream Settings in Quicktime</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2007/07/devicecentraldetail.jpg" medium="image">
			<media:title type="html">Device Central Device Detail</media:title>
		</media:content>

		<media:content url="http://mobilenation.files.wordpress.com/2007/07/keypad_mapping.jpg" medium="image">
			<media:title type="html">keypad mapping component</media:title>
		</media:content>
	</item>
	</channel>
</rss>