<?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>Jappit.com &#187; web</title>
	<atom:link href="http://www.jappit.com/blog/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jappit.com/blog</link>
	<description>Mobile blog by Alessandro La Rosa</description>
	<lastBuildDate>Wed, 23 Nov 2011 10:38:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>News Italy brings the latest headlines from Italy to your home screen</title>
		<link>http://www.jappit.com/blog/2010/09/09/news-italy-brings-the-latest-headlines-from-italy-to-your-home-screen/</link>
		<comments>http://www.jappit.com/blog/2010/09/09/news-italy-brings-the-latest-headlines-from-italy-to-your-home-screen/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 16:14:00 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[home screen]]></category>
		<category><![CDATA[italy]]></category>
		<category><![CDATA[n97]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[notizie]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1489</guid>
		<description><![CDATA[News Italy is a new app, available on the Ovi Store, that allows you to read the latest news coming from the major Italian online newspapers, directly on the home screen of your Nokia device. This first release includes the following newspapers: Ansa Corriere della Sera Corriere dello Sport Gazzetta dello Sport Il Giornale Il [...]]]></description>
			<content:encoded><![CDATA[<p><strong>News Italy</strong> is a new app, <a href="http://store.ovi.com/content/53027">available on the Ovi Store</a>, that allows you to read the <strong>latest news coming from the major Italian online newspapers</strong>, directly on the home screen of your <strong>Nokia</strong> device.</p>
<p style="text-align: center;"><a href="http://store.ovi.com/content/53027"></a><a href="http://store.ovi.com/content/53027"><img class="aligncenter size-full wp-image-1490" title="Notizie Italia" src="http://www.jappit.com/blog/wp-content/blog_newsitaly.png" alt="" width="598" height="293" /></a></p>
<p>This first release includes the following newspapers:</p>
<ul>
<li>Ansa</li>
<li>Corriere della Sera</li>
<li>Corriere dello Sport</li>
<li>Gazzetta dello Sport</li>
<li>Il Giornale</li>
<li>Il Mattino</li>
<li>Il Messaggero</li>
<li>Il Sole 24 Ore</li>
<li>La Repubblica</li>
<li>La Stampa</li>
<li>Tuttosport</li>
</ul>
<p>You can <strong>download News Italy</strong> from the <a href="http://store.ovi.com/content/53027">Ovi Store</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/09/09/news-italy-brings-the-latest-headlines-from-italy-to-your-home-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ovi Show! gets updated: optimizations and bug fixes</title>
		<link>http://www.jappit.com/blog/2010/06/07/ovi-show-gets-updated-optimizations-and-bug-fixes/</link>
		<comments>http://www.jappit.com/blog/2010/06/07/ovi-show-gets-updated-optimizations-and-bug-fixes/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 20:36:03 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[home screen]]></category>
		<category><![CDATA[n97]]></category>
		<category><![CDATA[n97 mini]]></category>
		<category><![CDATA[ovi show]]></category>
		<category><![CDATA[ovi store]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1424</guid>
		<description><![CDATA[Ovi Show!, the Ovi Store home screen widget, gets its first update containing some fixes and optimizations. Specifically: Fixed the 3 star rating bug: now the correct rating will be shown for all items Broken content removed: items with missing pieces (e.g.: title, thumbnail) now will not be visible anymore Optimized data loading: new data [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a title="Ovi Show!" href="http://www.jappit.com/blog/2010/05/23/explore-the-ovi-store-on-your-home-screen-with-ovi-show/">Ovi Show!</a></strong>, the <a title="Ovi Store" href="http://store.ovi.com">Ovi Store</a> home screen widget, gets its first update containing some <strong>fixes and optimizations</strong>.</p>
<p><img class="aligncenter size-full wp-image-1426" title="Ovi Show! update available" src="http://www.jappit.com/blog/wp-content/ovishow_update.png" alt="" width="361" height="317" /></p>
<p>Specifically:</p>
<ul>
<li>Fixed the <strong>3 star rating bug</strong>: now the correct rating will be shown for all items</li>
<li><strong>Broken content</strong> removed: items with missing pieces (e.g.: title, thumbnail) now will not be visible anymore</li>
<li><strong>Optimized data loading</strong>: new data is now loaded only when necessary, to optimize network traffic</li>
<li><strong>JavaScript code reduced</strong>, to diminish start-up time</li>
<li>Other small fixes</li>
</ul>
<p>So, this download is <strong>recommended for all users</strong> that have already downloaded <strong>Ovi Show!</strong>, and have experienced these or other issues. You can download it using the following link, or by using the Ovi Show! <strong>inbuilt update mechanism</strong>.</p>
<p style="text-align: center;"><a title="Ovi Show the Ovi Store home screen widget" href="http://www.jappit.com/uploads/wrt/OviShow.wgz"><img class="aligncenter" title="Download Ovi Show - the Ovi Store home screen widget" src="http://www.jappit.com/blog/wp-content/ovishow_icon.png" alt="" width="88" height="88" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/06/07/ovi-show-gets-updated-optimizations-and-bug-fixes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile development revamped, on MobileRevamp.org</title>
		<link>http://www.jappit.com/blog/2010/05/25/mobile-development-revamped-on-mobilerevamp-org/</link>
		<comments>http://www.jappit.com/blog/2010/05/25/mobile-development-revamped-on-mobilerevamp-org/#comments</comments>
		<pubDate>Tue, 25 May 2010 16:15:49 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[flash lite]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[maemo]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[mobilerevamp]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1405</guid>
		<description><![CDATA[A new community for all mobile developers, designers and everything-else gets officially launched today, thanks to the efforts of Giorgio Natili, Leonardo Risuleo, and Alessandro La Rosa (me ): http://www.mobilerevamp.org With different backgrounds, we all aim at providing useful information about the mobile environment, in all its aspects. From its manifesto: The aim of this [...]]]></description>
			<content:encoded><![CDATA[<p>A <strong>new community for all mobile developers, designers and everything-else</strong> gets officially launched today, thanks to the efforts of <a href="http://www.gnstudio.com">Giorgio Natili</a>, <a href="http://www.leonardorisuleo.info/blog/">Leonardo Risuleo</a>, and <a href="http://www.jappit.com">Alessandro La Rosa</a> (me <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ): <strong><a title="MobileRevamp.org" href="http://www.mobilerevamp.org">http://www.mobilerevamp.org</a></strong></p>
<p><a href="http://www.mobilerevamp.org"><img class="aligncenter size-full wp-image-1406" title="MobileRevamp.org" src="http://www.jappit.com/blog/wp-content/mobilerevamp.png" alt="" width="620" height="302" /></a></p>
<p>With different backgrounds, we all aim at <strong>providing useful information about the mobile environment</strong>, in all its aspects. From its manifesto:</p>
<blockquote><p>The aim of this community is to <strong>share as much as possible</strong> information  related to the mobile development using all the social networks and the  new capabilities of the NET to make easier find updated contents and to  create a deep feeling of connection between developers.</p></blockquote>
<p>The <strong>journey</strong> is at the beginning, hope you&#8217;ll join in! <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/05/25/mobile-development-revamped-on-mobilerevamp-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Explore the Ovi Store on your home screen, with Ovi Show!</title>
		<link>http://www.jappit.com/blog/2010/05/23/explore-the-ovi-store-on-your-home-screen-with-ovi-show/</link>
		<comments>http://www.jappit.com/blog/2010/05/23/explore-the-ovi-store-on-your-home-screen-with-ovi-show/#comments</comments>
		<pubDate>Sun, 23 May 2010 10:38:13 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[home screen]]></category>
		<category><![CDATA[ovi store]]></category>
		<category><![CDATA[s60]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1386</guid>
		<description><![CDATA[Ovi Show! is a new widget that allows you to discover new content on the Ovi Store directly from the home screen of your Nokia device! How to use it? Just add it to your home screen and, when you see some cool content, click on it and you&#8217;ll be redirected to its Ovi Store [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ovi Show!</strong> is a new widget that allows you to <strong>discover new content</strong> on the <a href="http://store.ovi.com">Ovi Store</a> <strong>directly from the home screen of your Nokia device</strong>!</p>
<p><img class="aligncenter size-full wp-image-1388" title="Ovi Show! on N97 home screen" src="http://www.jappit.com/blog/wp-content/ovishow_homescreen_n97.jpg" alt="" width="533" height="242" /></p>
<p>How to use it? Just <strong>add it to your home screen</strong> and, when you see some cool content, <strong>click</strong> on it and you&#8217;ll be <strong>redirected to its Ovi Store download page</strong>. Simple! <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.jappit.com/blog/wp-content/ovishow_settings.jpg"><br />
</a><img class="aligncenter size-full wp-image-1391" title="ovishow_scheme" src="http://www.jappit.com/blog/wp-content/ovishow_scheme.jpg" alt="" width="640" height="321" /></p>
<p><strong>Ovi Show!</strong> is <strong>configurable</strong> through a settings menu, that you find opening the widget from its icon, in your phone&#8217;s menu. You can choose <strong>which content categories to filter</strong>, and <strong>how to sort</strong> the content retrieved from the store, choosing from <strong>&#8220;Top Free&#8221;</strong>, <strong>&#8220;Best Seller&#8221;</strong> and <strong>&#8220;New&#8221;</strong>.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1387" style="border: 1px solid black;" title="Ovi Show! Settings screen" src="http://www.jappit.com/blog/wp-content/ovishow_settings.jpg" alt="" width="360" height="640" /></p>
<p>Once you have chosen the desired settings, don&#8217;t forget to <strong>click on &#8220;Save&#8221;</strong>, or your preferences will not be applied.</p>
<p>Being just  a first release, <strong>Ovi Show! can be improved thanks to your feedback</strong>, so please post here your comments or thoughts about it! <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Ovi Show!</strong> is available for download here:</p>
<p style="text-align: left;"><a title="Download Ovi Show!" href="http://www.jappit.com/uploads/wrt/OviShow.wgz"><img class="aligncenter size-full wp-image-1396" title="Download Ovi Show!" src="http://www.jappit.com/blog/wp-content/ovishow_icon.png" alt="" width="88" height="88" /></a><strong>Note: </strong>to use <strong>Ovi Show!</strong>, your Nokia device must support home screen widgets. Currently the devices supporting home screen widgets are: <a title="Nokia N97" href="http://www.forum.nokia.com/devices/N97/">Nokia N97</a> and <a href="http://www.forum.nokia.com/devices/N97_mini/">Nokia N97 mini</a>.</p>
<p style="text-align: left;">]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/05/23/explore-the-ovi-store-on-your-home-screen-with-ovi-show/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Forum Nokia Web Developer&#8217;s Library 1.9 available</title>
		<link>http://www.jappit.com/blog/2010/03/17/forum-nokia-web-developers-library-1-9-available/</link>
		<comments>http://www.jappit.com/blog/2010/03/17/forum-nokia-web-developers-library-1-9-available/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 09:20:57 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[forum nokia]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[mobile web]]></category>
		<category><![CDATA[wdl]]></category>
		<category><![CDATA[web developer's library]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1339</guid>
		<description><![CDATA[Forum Nokia has just updated its excellent resource for mobile Web development, the Web Developer&#8217;s Library, adding a lot of resources to support the design and development of Web Runtime widgets. Changes in this last release include: Samples and packaging information for Platform Services 2.0 Guidelines and how-to&#8217;s for home-screen widgets Optimization of performances and [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Forum Nokia" href="http://www.forum.nokia.com">Forum Nokia</a> has just updated its excellent resource for <strong>mobile Web development</strong>, the <a title="Forum Nokia Web Developer's Library" href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-4D13AF3F-4733-44E7-996F-F27A11C9D6BF_cover.html">Web Developer&#8217;s Library</a>, adding a lot of resources to support the design and development of <a title="Web Runtime" href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/">Web Runtime widgets</a>.</p>
<p><a title="Forum Nokia Web Developer's Library" href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-4D13AF3F-4733-44E7-996F-F27A11C9D6BF_cover.html"><img class="alignnone size-full wp-image-1341" title="Forum Nokia Library" src="http://www.jappit.com/blog/wp-content/forum_nokia_library.png" alt="" width="620" height="107" /></a></p>
<p>Changes in this last release include:</p>
<ul>
<li><a href="http://library.forum.nokia.com/topic/Web_Developers_Library/GUID-9B5ACA61-9BBB-4F67-A994-22016FB36A1E.html#GUID-9B5ACA61-9BBB-4F67-A994-22016FB36A1E">Samples</a> and <a href="http://library.forum.nokia.com/topic/Web_Developers_Library/GUID-0084E4E8-4A60-41C8-8CEB-93A08A0292FF.html#GUID-0084E4E8-4A60-41C8-8CEB-93A08A0292FF">packaging information</a> for Platform Services 2.0</li>
<li><a href="http://library.forum.nokia.com/topic/Web_Developers_Library/GUID-FB279BC9-9751-4F03-B00E-A0406324BC47.html#GUID-FB279BC9-9751-4F03-B00E-A0406324BC47">Guidelines</a> and <a href="http://library.forum.nokia.com/topic/Web_Developers_Library/GUID-249C566A-7F14-4D42-8117-1EADAB137838.html#GUID-249C566A-7F14-4D42-8117-1EADAB137838">how-to&#8217;s</a> for home-screen widgets</li>
<li><a href="http://library.forum.nokia.com/topic/Web_Developers_Library/GUID-40782DAD-F6E2-44A5-8036-1D1FD8860ABA.html#GUID-40782DAD-F6E2-44A5-8036-1D1FD8860ABA">Optimization</a> of performances and battery life</li>
</ul>
<p>If you&#8217;re a mobile Web developer, <a title="Forum Nokia Web Developer's Library" href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-4D13AF3F-4733-44E7-996F-F27A11C9D6BF_cover.html">check it out</a>!</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/03/17/forum-nokia-web-developers-library-1-9-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deploying API Bridge apps the easy way: the delayed deploy model</title>
		<link>http://www.jappit.com/blog/2010/02/18/deploying-api-bridge-apps-the-easy-way-the-delayed-deploy-model/</link>
		<comments>http://www.jappit.com/blog/2010/02/18/deploying-api-bridge-apps-the-easy-way-the-delayed-deploy-model/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 09:35:06 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[flash lite]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[apibridge]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1246</guid>
		<description><![CDATA[When developing a Flash Lite, Web Runtime or Java ME application based on API Bridge, one of the things you know you&#8217;ll have to deal with is the Symbian packaging and signing process. For single-person and small developer teams, the whole Symbian process could be a not suitable option. For this reason, I&#8217;ve looked for [...]]]></description>
			<content:encoded><![CDATA[<p>When developing a <a title="Adobe Flash Lite" href="http://www.adobe.com/products/flash/">Flash Lite</a>, <a title="Web Runtime" href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/">Web Runtime</a> or <a title="Java ME" href="http://java.sun.com/javame/index.jsp">Java ME</a> application based on <a title="APIBridge" href="http://www.forum.nokia.com/info/sw.nokia.com/id/d697a64f-ddae-4937-8151-be157b542d26/ApiBridge.html">API Bridge</a>, one of the things you know you&#8217;ll have to deal with is the <strong><a title="Symbian" href="http://www.symbian.org">Symbian</a> packaging and <a title="Symbian Signed" href="http://www.symbiansigned.com">signing process</a></strong>.</p>
<p>For <strong>single-person and small developer teams</strong>, the whole Symbian process could be a <strong>not suitable</strong> option. For this reason, I&#8217;ve looked for an <strong>alternative deployment approach</strong> that could bypass this process. The approach presented here is based on a <em><strong>delayed deploy model</strong></em>, meaning that the API Bridge engine is not deployed with your application, but in a successive moment: actually, it is <em>deployed only when the application needs it</em>.</p>
<p><a href="http://www.jappit.com/blog/wp-content/apibridge_delayed_deploy_model2.png"><img class="alignnone size-full wp-image-1263" title="API Bridge delayed deploy model" src="http://www.jappit.com/blog/wp-content/apibridge_delayed_deploy_model2.png" alt="" width="620" height="400" /></a></p>
<p>How this can be achieved? Basically, there are <em>2 possible options</em> to implement this model, and they&#8217;re based on:</p>
<ul>
<li><strong>AppManager API from Platform Services</strong></li>
<li><strong>Local HTTP calls</strong></li>
</ul>
<h3>Using the AppManager API to check API Bridge</h3>
<p>If the target devices support <a title="Platform Services" href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-65AAF569-D347-462B-B59A-9D7CA184AB9C.html">Platform Services</a>, the <a title="AppManager API" href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-2D651505-F68C-4053-B565-9FF826C5B897.html">AppManager API</a> can be used to retrieve the <strong>list of installed applications</strong>, and so to <strong>check if API Bridge is installed</strong> on the device itself.</p>
<p>The code below shows how this can be achieved by <strong>using JavaScript in a WRT widget</strong>. The same approach can be easily ported to ActionScript, and so used in a Flash Lite application.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> apiBridgeFound <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> apiBridgeCheckError <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> so <span style="color: #339933;">=</span> device.<span style="color: #660066;">getServiceObject</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Service.AppManager&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;IAppManager&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> criteria <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Object<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
criteria.<span style="color: #660066;">Type</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'Application'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> result <span style="color: #339933;">=</span> so.<span style="color: #660066;">IAppManager</span>.<span style="color: #660066;">GetList</span><span style="color: #009900;">&#40;</span>criteria<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>result.<span style="color: #660066;">ErrorCode</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> iterator <span style="color: #339933;">=</span> result.<span style="color: #660066;">ReturnValue</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #003366; font-weight: bold;">var</span> application<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>application <span style="color: #339933;">=</span> iterator.<span style="color: #660066;">getNext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> undefined<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>application.<span style="color: #660066;">Uid</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'0x20023710'</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			apiBridgeFound <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span>
<span style="color: #009900;">&#123;</span>
	apiBridgeCheckError <span style="color: #339933;">=</span> result.<span style="color: #660066;">ErrorMessage</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The code works by checking the <strong>UID</strong> of all the installed applications, comparing them with the API Bridge UID (<em>0&#215;20023710</em>). This code snipped defined 2 variables, that can be used to check for API Bridge availability:</p>
<ul>
<li><em>apiBridgeFound</em>: if <strong>true</strong>, it means that the <strong>API Bridge engine is installed</strong> on the device. If <strong>false</strong>, the API Bridge engine is <strong>not installed</strong>.</li>
<li><em>apiBridgeCheckError</em>: if <strong>not null</strong>, it means that <strong>there was an error while checking for API Bridge</strong>, due to the <em>AppManager API</em>. In this case, the application <strong>cannot actually know</strong> if the API Bridge engine is installed or not.</li>
</ul>
<p>So, once these 2 variable have been set, the application can perform the most appropriate operation, based on the AppManager call result. The code snippet below shows a possible implementation:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>apiBridgeCheckError <span style="color: #339933;">!=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;There was an error! &quot;</span> <span style="color: #339933;">+</span> apiBridgeCheckError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>apiBridgeFound<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">confirm</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;You have to install API Bridge to continue, press OK to download it&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		widget.<span style="color: #660066;">openURL</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'http://www.yourserver.com/APIBridge_v1_1.sis'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;API Bridge is already installed on the device!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>And below you can see this code running on a <a href="http://www.forum.nokia.com/devices/5800_XpressMusic/">Nokia 5800 XpressMusic</a>:</p>
<p><a href="http://www.jappit.com/blog/wp-content/apibridge_delayed_installation.png"><img class="alignnone size-full wp-image-1266" title="API Bridge delayed installation" src="http://www.jappit.com/blog/wp-content/apibridge_delayed_installation.png" alt="" width="620" height="292" /></a></p>
<h3>Using local HTTP calls to check API Bridge</h3>
<p>Since the <strong>API Bridge engine works as a local HTTP server</strong> running on the mobile phone, the other possible approach is to make an HTTP request, and to check if any response from API Bridge comes.</p>
<p><strong>Note:</strong> this approach works by using the <strong>API Bridge default port</strong> (<em>9080</em>). There are no guarantees that this port number is fixed, and that it will not be changed in future API Bridge releases. For this reason, my advice would be to <strong>use this second approach only when Platform Services are not available</strong>.</p>
<p>The code below shows how to make a <strong>request to the local API Bridge HTTP server</strong>, and how to check if it&#8217;s running or not: if it is running, the <strong>response status</strong> of the XMLHttpRequest object has to be <strong>different than zero</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> pollApiBridgeServer<span style="color: #009900;">&#40;</span>_callback<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> request <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	request.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;GET&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;http://127.0.0.1:9080&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	request.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	request.<span style="color: #660066;">onreadystatechange</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span> request.<span style="color: #660066;">readyState</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>request.<span style="color: #000066;">status</span> <span style="color: #339933;">!=</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				_callback<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000066; font-weight: bold;">else</span>
			<span style="color: #009900;">&#123;</span>
				_callback<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The approach described here can be used also when using <em>API Bridge</em> from other languages, as <strong>Flash Lite</strong> or <strong>Java ME</strong>. Anyway, when working with <strong>Flash Lite</strong>, in the scenario where API Bridge is not yet installed, you will incur in the <a href="http://discussion.forum.nokia.com/forum/showthread.php?t=136572"><strong>typical (and horrible) error popups</strong></a>, that will inform you (and so the user) that the network call failed.</p>
<p>How to use the code above? First, define a callback:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> pollApiBridgeCallback<span style="color: #009900;">&#40;</span>apiBridgeInstalled<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>apiBridgeInstalled<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;API Bridge is already installed on the device&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">else</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">confirm</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;You have to install API Bridge to continue, press OK to download it&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			widget.<span style="color: #660066;">openURL</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'http://www.yourserver.com/APIBridge_v1_1.sis'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Then, just <strong>call the pollApiBridgeServer() method</strong> by passing a reference to this callback:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">pollApiBridgeServer<span style="color: #009900;">&#40;</span>pollApiBridgeCallback<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Pros and cons</h3>
<p>Using one of the two approaches discussed above as some important <strong>advantages</strong> over the <em>standard API Bridge deployment mechanism</em>:</p>
<ul>
<li>You don&#8217;t have to <strong>build</strong> a SIS package</li>
<li>You don&#8217;t have to <strong>sign</strong> your application to distribute it</li>
<li>You will <strong>save money</strong> <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>On the other side, these approaches have the main drawback on the <strong>user-experience</strong> side, since your users could be asked to <strong>download and install an additional component</strong> when they start to use your application. Anyway, this event will happen only once at most, so it could be considered <strong>reasonable</strong> in most scenarios.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/18/deploying-api-bridge-apps-the-easy-way-the-delayed-deploy-model/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Rich Internet Application developer&#8217;s guide for Nokia devices</title>
		<link>http://www.jappit.com/blog/2010/02/16/rich-internet-application-developers-guide-for-nokia-devices/</link>
		<comments>http://www.jappit.com/blog/2010/02/16/rich-internet-application-developers-guide-for-nokia-devices/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 10:17:55 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[flash lite]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[developers guide]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[forum nokia]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1230</guid>
		<description><![CDATA[Forum Nokia has recently published a very informative guide about developing RIAs for mobile devices: A developer’s guide to creating Rich Internet Applications for Nokia devices. The document focuses on three kind of applications: websites, web apps, and stand-alone Adobe Flash applications, covering all topics involved in design and development of a RIA, from development [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Forum Nokia" href="http://www.forum.nokia.com">Forum Nokia</a> has recently published a very <strong>informative guide about developing RIAs for mobile devices</strong>: <a title="A developer’s guide to creating Rich Internet Applications for Nokia devices" href="http://www.forum.nokia.com/info/sw.nokia.com/id/fd380812-9ef6-4c83-97d2-7430fc4a9861/RIA_Developers_Guide.html">A developer’s guide to creating Rich Internet Applications for Nokia devices</a>.</p>
<p><a href="http://www.jappit.com/blog/wp-content/ria_developers_guide.png"><img class="alignnone size-full wp-image-1231" title="ria developers guide" src="http://www.jappit.com/blog/wp-content/ria_developers_guide.png" alt="" width="620" height="172" /></a></p>
<p>The document focuses on three kind of applications: <strong>websites, web apps, and stand-alone <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash</a> applications</strong>, covering all topics involved in design and development of a RIA, from <strong>development tools</strong> to <strong>user experience</strong> design and evaluation, from <strong>testing</strong> to <strong>going to market</strong>.</p>
<blockquote><p>Mobile offers significant opportunities for RIAs. The ability to <em>access data and information anywhere there is a suitable network connection</em> is of significant appeal to mobile users. The knowledge that their <em>data is also securely stored on a remote server</em>, regardless of what happens to the mobile device, is a significant attraction as well.<br />
With <em>many hundreds of millions of Nokia</em> devices already in the market place that can run RIAs now, there has never been a better time to go mobile with your RIA.</p></blockquote>
<p><a href="http://www.forum.nokia.com/info/sw.nokia.com/id/fd380812-9ef6-4c83-97d2-7430fc4a9861/RIA_Developers_Guide.html">Check it out</a>!</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/16/rich-internet-application-developers-guide-for-nokia-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ovi Maps: a flexible platform for web and mobile location based services</title>
		<link>http://www.jappit.com/blog/2010/02/14/ovi-maps-a-flexible-platform-for-web-and-mobile-location-based-services/</link>
		<comments>http://www.jappit.com/blog/2010/02/14/ovi-maps-a-flexible-platform-for-web-and-mobile-location-based-services/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 22:03:43 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[forum nokia]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[ovi maps]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1214</guid>
		<description><![CDATA[This week Forum Nokia Wiki features an article explaining the opportunities that the Ovi Maps service offers to web and mobile developers. Ovi Maps offers a complete and flexible platform to build rich location-based services. By providing a consistent set of components and libraries, Ovi Maps allows developers to build both a web a mobile [...]]]></description>
			<content:encoded><![CDATA[<p>This week <a title="Forum Nokia Wiki" href="http://wiki.forum.nokia.com/">Forum Nokia Wiki</a> features an article explaining the <a href="http://wiki.forum.nokia.com/index.php/Ovi_%E2%80%93_Opportunities_for_developers">opportunities that the Ovi Maps service offers to web and mobile developers</a>.</p>
<p><a href="http://www.jappit.com/blog/wp-content/ovi_opportunities.png"><img class="alignnone size-full wp-image-1215" title="Ovi opportunities for developers" src="http://www.jappit.com/blog/wp-content/ovi_opportunities.png" alt="" width="620" height="176" /></a></p>
<p><a title="Ovi Maps" href="http://www.forum.nokia.com/Ovi/">Ovi Maps</a> offers a complete and flexible platform to build <strong>rich location-based services</strong>. By providing a <strong>consistent set of components and libraries</strong>, <a href="http://www.forum.nokia.com/Ovi/">Ovi Maps</a> allows developers to build <strong>both a web a mobile version</strong> of their applications with <strong>minimum effort</strong>.</p>
<p>Interested in <strong>what can be done</strong> with Ovi Maps? Here are some links taken from the article:</p>
<ul>
<li><a title="http://www.youtube.com/watch?v=cwOCXBmDP6A" rel="nofollow" href="http://www.youtube.com/watch?v=cwOCXBmDP6A">Interactive features of the Ovi Maps Player</a></li>
<li> <a title="http://www.youtube.com/watch?v=HNWa7GRjhv0" rel="nofollow" href="http://www.youtube.com/watch?v=HNWa7GRjhv0">Lonely Planet showcasing its Ovi Maps Player mash up</a></li>
<li><a title="http://www.youtube.com/watch?v=ZSpoewL4ROU" rel="nofollow" href="http://www.youtube.com/watch?v=ZSpoewL4ROU">Associated Press showcasing its Ovi Maps Player mash up</a></li>
</ul>
<p><strong>Next steps?</strong> Check out the whole article: <a title="Ovi – Opportunities for developers" href="http://wiki.forum.nokia.com/index.php/Ovi_%E2%80%93_Opportunities_for_developers">Ovi – Opportunities for developers</a>, and then sign up for the <a href="http://www.forum.nokia.com/Ovi/ovimaps_signup.xhtml">Ovi Maps beta</a> program!</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/14/ovi-maps-a-flexible-platform-for-web-and-mobile-location-based-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Runtime and Flash Lite integrated development on Eclipse</title>
		<link>http://www.jappit.com/blog/2010/02/08/web-runtime-and-flash-lite-integrated-development-on-eclipse/</link>
		<comments>http://www.jappit.com/blog/2010/02/08/web-runtime-and-flash-lite-integrated-development-on-eclipse/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 15:51:31 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[flash lite]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[fdt]]></category>
		<category><![CDATA[flashlite]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[mtasc]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1074</guid>
		<description><![CDATA[Nokia devices offer a wide range of technologies and languages that can be used to create mobile applications. Two of these are strictly related each other, and can be used together to create applications that benefit of both sides: Flash Lite and Web Runtime. For this reason, in this article I&#8217;ll try to explain how [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Nokia" href="http://www.nokia.com">Nokia</a> devices offer a <strong>wide range of technologies and languages</strong> that can be used to create mobile applications. Two of these are strictly related each other, and can be used together to create applications that benefit of both sides: <a title="Adobe Flash Lite" href="www.adobe.com/products/flashlite">Flash Lite</a> and <a title="Web Runtime" href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/">Web Runtime</a>.</p>
<p>For this reason, in this article I&#8217;ll try to explain how to setup <strong>a single environment that may allow development on both technologies</strong>, so leveraging the development phase from continuous swaps between different IDEs, and by boosting it all thanks to the powerful <a title="Eclipse" href="http://www.eclipse.org/">Eclipse</a> platform.</p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_aptana_overall1.png"><img class="alignnone size-full wp-image-1139" title="eclipse fdt aptana overall" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_aptana_overall1.png" alt="" width="600" height="139" /></a></p>
<h3>Installing Eclipse and plugins</h3>
<p>First of all, <a title="Eclipse downloads" href="http://www.eclipse.org/downloads/">download Eclipse</a>. I currently use <strong>version 3.5</strong> on my own machine, but other versions should work as well.</p>
<p>Once downloaded, proceed installing the following plugins:</p>
<ol>
<li><a href="http://www.aptana.org">Aptana</a> plugin for Eclipse: <a href="http://www.aptana.org/studio/plugin">http://www.aptana.org/studio/plugin</a></li>
<li><a title="Web Runtime" href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/">Web Runtime</a> plugin for Aptana: <a href="http://tools.ext.nokia.com/wrt/prod/aptana/plugin/">http://tools.ext.nokia.com/wrt/prod/aptana/plugin/</a></li>
<li><a href="http://www.fdt.powerflasher.com">FDT</a> plugin for Eclipse: <a href="http://www.fdt.powerflasher.com/developer-tools/fdt-3/download/">http://www.fdt.powerflasher.com/developer-tools/fdt-3/download/</a></li>
</ol>
<p>After you&#8217;ve installed the above plugins, you&#8217;ll notice <strong>two new project types</strong> in your Eclipse project wizard: <strong>Flash and Nokia Web Runtime</strong> projects.</p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_wizard_new_project.png"><img class="alignnone size-full wp-image-1076" title="Eclipse new project wizard " src="http://www.jappit.com/blog/wp-content/eclipse_wizard_new_project.png" alt="" width="508" height="504" /></a></p>
<p>Basically, these 3 plugins are all you need to start developing both Web Runtime and Flash Lite applications. Anyway, <strong>FDT needs some further configuration steps</strong> to properly work with Flash Lite apps.</p>
<h3>Configure the FDT plugin</h3>
<p>FDT needs to know <strong>how to compile your Flash Lite projects</strong>. You basically have two choices: use the <a href="http://www.adobe.com/products/flash/">Adobe Flash IDE</a>, or use <a title="MTASC" href="http://www.mtasc.org/">MTASC</a>.</p>
<ul>
<li>The first choice is available <strong>if you have already installed a copy of a <a title="Flash IDE" href="http://www.adobe.com/products/flash/">Flash IDE</a></strong>, and can be configured by going into the <em>&#8220;Window&#8221; -&gt; &#8220;Preferences&#8221; -&gt; &#8220;FDT&#8221; -&gt; &#8220;Tools&#8221; -&gt; &#8220;Flash&#8221;</em> settings panel. Once there, just <strong>enter the paths of your Flash IDE and Player</strong>.</li>
</ul>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_flash_settings.png"><img class="alignnone size-full wp-image-1082" title="eclipse fdt flash settings" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_flash_settings.png" alt="" width="633" height="329" /></a></p>
<ul>
<li>The second one, <strong>quicker and free</strong>, needs <a title="MTASC" href="http://www.mtasc.org/">MTASC</a> to be installed on your machine (<a title="MTASC" href="http://www.mtasc.org/">you can get it here</a>), and configured in the <em>&#8220;Window&#8221; -&gt; &#8220;Preferences&#8221; -&gt; &#8220;FDT&#8221; -&gt; &#8220;Tools&#8221; -&gt; &#8220;MTASC&#8221;</em> panel. I actually prefer this option, as it allows you to develop Flash Lite applications also on machines where the Flash IDE is not available.</li>
</ul>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_mtasc_settings.png"><img class="alignnone size-full wp-image-1083" title="eclipse fdt mtasc settings" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_mtasc_settings.png" alt="" width="632" height="334" /></a></p>
<h4>Add Flash Lite-specific classes and functions</h4>
<p>FDT uses the standard ActionScript 2 classes to allow you to compile your Flash Lite project. Anyway, these <strong>lack some Flash Lite-specific classes and functions</strong>, as <strong>ExtendedKey</strong> and <strong>SharedObject.addListener()</strong> method, that have to be manually added, as also explained <a href="http://www.blocketpc.com/2009/07/05/flash-lite-extendedkey-y-sharedobject-en-eclipse-con-fdt/">here</a>.</p>
<p>To do this, <strong>go into the <em>&#8220;&lt;ECLIPSE_ROOT_FOLDER&gt;\configuration\com.powerflasher.fdt.core\.config\core\as2\&#8221;</em> folder</strong> and:</p>
<ol>
<li>Create a file called <strong>&#8220;ExtendedKey.as&#8221;</strong> with this content:

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">intrinsic <span style="color: #000000; font-weight: bold;">class</span> ExtendedKey
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT1:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft1&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT2:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft2&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT3:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft3&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT4:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft4&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT5:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft5&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT6:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft6&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT7:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft7&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT8:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft8&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT9:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft9&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT10:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft10&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT11:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft11&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> SOFT12:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;soft12&quot;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

</li>
<li>Open <strong>&#8220;SharedObject.as&#8221;</strong> and add these lines to the class definition:

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> scope : <span style="color: #0066CC;">Object</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> GetMaxSize<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Number</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">addListener</span><span style="color: #66cc66;">&#40;</span>objectName:<span style="color: #0066CC;">String</span>, notifyFunction:<span style="color: #000000; font-weight: bold;">Function</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Void</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">removeListener</span><span style="color: #66cc66;">&#40;</span>objectName:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Void</span>;</pre></div></div>

</li>
<li>Now, <strong>switch to the <em>&#8220;&lt;ECLIPSE_ROOT_FOLDER&gt;\configuration\com.powerflasher.fdt.core\.config\topLevel\&#8221;</em> folder</strong>, open <strong>TopLevel.as</strong>, and add this function definition:

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> fscommand2<span style="color: #66cc66;">&#40;</span>command:<span style="color: #0066CC;">String</span>, parameters:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>;</pre></div></div>

</li>
</ol>
<ul></ul>
<p><strong>If you plan to use MTASC</strong> to compile your Flash Lite applications, the above changes have to be performed also to the <strong>ActionScript files used by </strong><strong>MTASC</strong> itself. These files are typically placed in the <em>&#8220;&lt;MTASC_ROOT_FOLDER&gt;\std&#8221;</em> folder: go there and repeat the 3 steps above for <em>ExtendedKey.as, SharedObject.as </em>and <em>TopLevel.as</em>.</p>
<p>That&#8217;s all! Now let&#8217;s give FDT a quick test to check if all is correctly configured.</p>
<h3>Testing the FDT configuration</h3>
<p>Creating a new Flash Lite project is straightforward: just <strong>select &#8220;New Flash project&#8221; from the Eclipse project wizard</strong>, and then choose a name for your project. In the Project Language section, be sure to <strong>select &#8220;ActionScript 2&#8243;</strong>.</p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_new_project_settings.png"><img class="alignnone size-full wp-image-1088" title="eclipse fdt new project settings" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_new_project_settings.png" alt="" width="505" height="285" /></a></p>
<p>Once the project has been created, <strong>switch to the &#8220;Flash FDT&#8221; perspective</strong> by selecting &#8220;Window&#8221; -&gt; &#8220;Open perspective&#8221; -&gt; &#8220;Flash FDT&#8221;.</p>
<p>Now, <strong>create the project&#8217;s main class</strong>. The only required method to be implemented is the static main(), that has to perform all the initialization operations:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> com.<span style="color: #006600;">jappit</span>.<span style="color: #006600;">flashlitetest1</span>.<span style="color: #006600;">MainMovie</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> MainMovie<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> main<span style="color: #66cc66;">&#40;</span>container : <span style="color: #0066CC;">MovieClip</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Void</span>
  <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">Stage</span>.<span style="color: #0066CC;">align</span> = <span style="color: #ff0000;">&quot;TL&quot;</span>;
    <span style="color: #0066CC;">Stage</span>.<span style="color: #0066CC;">scaleMode</span> = <span style="color: #ff0000;">&quot;noScale&quot;</span>;
    container.<span style="color: #0066CC;">createTextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;tf&quot;</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #000000; font-weight: bold;">var</span> tf : <span style="color: #0066CC;">TextField</span> = container<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;tf&quot;</span><span style="color: #66cc66;">&#93;</span>;
    tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;Hello World&quot;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Now, if the FDT configuration was properly done, you shouldn&#8217;t get any errors. So, if all is ok, <strong>open the &#8220;Run Configurations&#8230;&#8221; panel</strong> from the &#8220;Run&#8221; menu.</p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_run_configurations.png"><img class="alignnone size-full wp-image-1090" title="eclipse fdt run configurations" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_run_configurations.png" alt="" width="365" height="199" /></a></p>
<p>Under &#8220;FDT MTASC&#8221; <strong>create a new launch configuration</strong>. In the &#8220;Main&#8221; sub-panel select the main class created just above.</p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_run_configurations1.png"></a><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_new_launch_configuration.png"><img class="alignnone size-full wp-image-1092" title="eclipse fdt new launch configuration" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_new_launch_configuration.png" alt="" width="609" height="199" /></a></p>
<p>Then, go to the &#8220;Miscellaneous&#8221; sub-panel and <strong>check the &#8220;Start SWF after compilation&#8221; option</strong>. This way, the SWF will be immediately launched, after each build, in the <strong>Eclipse&#8217;s internal SWF viewer</strong>.</p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_new_launch_configuration_miscellaneous.png"><img class="alignnone size-full wp-image-1096" title="eclipse fdt new launch configuration miscellaneous" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_new_launch_configuration_miscellaneous.png" alt="" width="610" height="184" /></a></p>
<p>Now, <strong>all is ready</strong> to be tested: just <strong>run the created launch configuration</strong>, and enjoy your new Flash Lite app <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_internal_swf_viewer.png"><img class="alignnone size-full wp-image-1097" title="eclipse fdt internal swf viewer" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_internal_swf_viewer.png" alt="" width="466" height="264" /></a></p>
<p>And here&#8217;s the generated SWF <strong>running on a real device</strong>:</p>
<p><a href="http://www.jappit.com/blog/wp-content/eclipse_fdt_device_deploy.png"><img class="alignnone size-full wp-image-1100" title="eclipse fdt device deploy" src="http://www.jappit.com/blog/wp-content/eclipse_fdt_device_deploy.png" alt="" width="250" height="517" /></a></p>
<h3>What&#8217;s next?</h3>
<p>Next tutorials will focus on using both Web Runtime and FDT plugins to develop <strong>Flash Lite-enabled widgets</strong>. So, stay tuned!</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/08/web-runtime-and-flash-lite-integrated-development-on-eclipse/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Preview Mobile Joomla! with the online simulator</title>
		<link>http://www.jappit.com/blog/2010/02/04/preview-mobile-joomla-with-the-online-simulator/</link>
		<comments>http://www.jappit.com/blog/2010/02/04/preview-mobile-joomla-with-the-online-simulator/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 12:21:40 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[kuneri]]></category>
		<category><![CDATA[mobilejoomla]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[simulator]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=947</guid>
		<description><![CDATA[I had some fun putting together an online simulator for MobileJoomla!, that allows to preview and test the MobileJoomla! features directly on your Web browser. In this first version, the online simulator allows you to pick one of 4 devices (Nokia 5800 XpressMusic, Nokia N95 8GB, Apple iPhone and HTC Dream), and see how the [...]]]></description>
			<content:encoded><![CDATA[<p>I had some fun putting together an <a title="MobileJoomla! online simulator" href="http://www.jappit.com/m/mobilejoomla/">online simulator for MobileJoomla!</a>, that allows to <strong>preview and test the <a title="MobileJoomla!" href="http://www.mobilejoomla.com/blog/30-mobile-joomla-082-released.html">MobileJoomla!</a> features</strong> directly on your Web browser.</p>
<p><a title="MobileJoomla! online simulator" href="http://www.jappit.com/m/mobilejoomla/"><img class="alignnone size-full wp-image-956" title="MobileJoomla! online simulator" src="http://www.jappit.com/blog/wp-content/joomla_online_simulator.png" alt="" width="632" height="383" /></a></p>
<p>In this first version, the online simulator allows you to pick one of 4 devices (<a title="Nokia 5800 XpressMusic" href="http://www.forum.nokia.com/devices/5800_XpressMusic/">Nokia 5800 XpressMusi</a>c, <a title="N95 8GB" href="http://www.forum.nokia.com/devices/N95_8GB/">Nokia N95 8GB</a>, <a title="Apple iPhone" href="http://www.apple.com/iphone/">Apple iPhone</a> and <a title="HTC G1" href="http://www.htc.com/www/product/g1/overview.html">HTC Dream</a>), and <strong>see how the MobileJoomla! website looks on that</strong>.</p>
<p><a title="MobileJoomla!" href="http://www.mobilejoomla.com/">MobileJoomla!</a> allows you to turn your <a title="Joomla" href="http://www.joomla.org">Joomla</a> web site into a mobile one, <strong>compatible with all the existing mobile phones</strong>. For more information, you can take a look at <a title="MobileJoomla! Wiki" href="http://www.mobilejoomla.com/wiki/">MobileJoomla! Wiki</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/04/preview-mobile-joomla-with-the-online-simulator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

