<?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; j2me</title>
	<atom:link href="http://www.jappit.com/blog/tag/j2me/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>MidMaps: new Google Maps API for J2ME</title>
		<link>http://www.jappit.com/blog/2010/02/25/midmaps-new-google-maps-library-for-j2me/</link>
		<comments>http://www.jappit.com/blog/2010/02/25/midmaps-new-google-maps-library-for-j2me/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 09:13:40 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[sample code]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[geocoding]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[library]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1313</guid>
		<description><![CDATA[I finally found some time to finish and publish the first release of a tiny library that allow to easily integrate Google Maps in every J2ME application: MidMaps. You can read all the details, download the library together with sample code, and read the full JavaDocs here: MidMaps &#8211; J2ME Google Maps library.]]></description>
			<content:encoded><![CDATA[<p>I finally found some time to finish and publish the first release of a tiny <strong>library that allow to easily integrate Google Maps in every J2ME application</strong>: <a title="MidMaps - J2ME Google Maps API" href="http://www.jappit.com/blog/midmaps-google-maps-java-me-library/">MidMaps</a>.</p>
<p><a title="MidMaps - J2ME Google Maps library" href="http://www.jappit.com/blog/midmaps-google-maps-java-me-library/"><img class="alignnone size-full wp-image-1316" title="MidMaps - J2ME Google Maps library" src="http://www.jappit.com/blog/wp-content/midmaps_shots.png" alt="" width="640" height="289" /></a></p>
<p>You can read all the details, <strong>download the library together with sample code,</strong> and read the <strong>full JavaDocs</strong> here: <a title="MidMaps - J2ME Google Maps API" href="http://www.jappit.com/blog/midmaps-google-maps-java-me-library/">MidMaps &#8211; J2ME Google Maps library</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/25/midmaps-new-google-maps-library-for-j2me/feed/</wfw:commentRss>
		<slash:comments>5</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>API Bridge version 1.1: plug-in creation package released!</title>
		<link>http://www.jappit.com/blog/2010/02/11/api-bridge-version-1-1-plug-in-creation-package-released/</link>
		<comments>http://www.jappit.com/blog/2010/02/11/api-bridge-version-1-1-plug-in-creation-package-released/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 18:32:58 +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 runtime]]></category>
		<category><![CDATA[widgets]]></category>
		<category><![CDATA[apibridge]]></category>
		<category><![CDATA[flash lite]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1186</guid>
		<description><![CDATA[The announced new version of API Bridge is out! With the new 1.1 release it is finally possible to create custom plugins that access all the Symbian functionalities, so practically opening up the doors to a new generation of Flash Lite, Web Runtime and Java ME applications. Start downloading the new release from Forum Nokia: [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.jappit.com/blog/2010/02/11/platform-services-and-api-bridge-features-differences-and-advantages/">announced new version</a> of <a href="http://wiki.forum.nokia.com/index.php/APIBridge_Web_Runtime_API">API Bridge</a> is out! With the new <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/d697a64f-ddae-4937-8151-be157b542d26/ApiBridge.html">1.1 release</a> it is finally possible to <strong>create custom plugins that access all the Symbian functionalities</strong>, so practically opening up the doors to a <strong>new generation of Flash Lite, Web Runtime and Java ME applications</strong>.</p>
<p><a href="http://www.jappit.com/blog/wp-content/apibridge_custom_plugins2.png"><img class="alignnone size-full wp-image-1192" title="apibridge custom plugins" src="http://www.jappit.com/blog/wp-content/apibridge_custom_plugins2.png" alt="" width="620" height="400" /></a></p>
<p>Start downloading the new release from <strong>Forum Nokia</strong>: <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/d697a64f-ddae-4937-8151-be157b542d26/ApiBridge.html">API Bridge release 1.1</a>.</p>
<p>Then, check out this informative <a href="http://wiki.forum.nokia.com/">Wiki</a> articles, that explain <strong>how to build a new, custom plugin and how to use it</strong> from JavaScript:</p>
<ul>
<li><a title="APIBridge Plug-in API" href="http://wiki.forum.nokia.com/index.php/APIBridge_Plug-in_API">APIBridge Plug-in API</a></li>
<li><a title="Creating APIBridge JavaScript Binding Code" href="http://wiki.forum.nokia.com/index.php/Creating_APIBridge_JavaScript_Binding_Code">Creating APIBridge JavaScript Binding Code</a></li>
</ul>
<p>For more information about <strong>API Bridge</strong>, check out its <a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/Extensions/APIBridge/">Forum Nokia page</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/11/api-bridge-version-1-1-plug-in-creation-package-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Platform Services and API Bridge: features, differences and advantages</title>
		<link>http://www.jappit.com/blog/2010/02/11/platform-services-and-api-bridge-features-differences-and-advantages/</link>
		<comments>http://www.jappit.com/blog/2010/02/11/platform-services-and-api-bridge-features-differences-and-advantages/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 10:28:51 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[flash lite]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[apibridge]]></category>
		<category><![CDATA[forum nokia]]></category>
		<category><![CDATA[forumnokia]]></category>
		<category><![CDATA[platform services]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=1159</guid>
		<description><![CDATA[If you&#8217;re developing applications for Nokia devices, and more specifically Web Runtime, Flash Lite or Java ME applications, you probably already had to deal with the platform limitations, and with the tools and libraries that allow to go beyond these limitations by adding more capabilities. Basically, when you want to extend the functionalities of a [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re developing applications for <a title="Nokia" href="http://www.nokia.com">Nokia devices</a>, and more specifically <a title="Web Runtime" href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/">Web Runtime</a>, <a title="Flash IDE" href="http://www.adobe.com/products/flash/">Flash Lite</a> or <a title="Java ME" href="http://java.sun.com/javame/index.jsp">Java ME applications</a>, you probably already had to <strong>deal with the platform limitations</strong>, and with the tools and libraries that allow to go beyond these limitations by adding more capabilities.</p>
<p>Basically, when you want to <strong>extend the functionalities of a WRT widget or a Flash Lite application</strong>, you have two options:</p>
<ul>
<li><a title="Nokia Platform Services" href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-65AAF569-D347-462B-B59A-9D7CA184AB9C.html">Platform Services</a></li>
<li><a title="APIBridge" href="http://www.forum.nokia.com/info/sw.nokia.com/id/d697a64f-ddae-4937-8151-be157b542d26/ApiBridge.html">API Bridge</a></li>
</ul>
<p>Both of them provide a set of <strong>tools and libraries</strong> that, added to your applications, allow them to access <strong>more functionalities than the ones that each technology naively supports</strong>.</p>
<p><a href="http://www.jappit.com/blog/wp-content/apibridge_platformservices_scheme.png"><img class="alignnone size-full wp-image-1179" title="api bridge platform services scheme" src="http://www.jappit.com/blog/wp-content/apibridge_platformservices_scheme.png" alt="" width="620" height="450" /></a></p>
<p>So, <strong>which approach is the best one</strong>? It&#8217;s not easy to give a unique answer to this question, so let&#8217;s go into details.</p>
<h3>Ease of use</h3>
<p>The <strong>Platform Services</strong> library is available from <strong>more time</strong>, and there&#8217;s a <strong>well established set of resources and code examples</strong> that will help you to quickly get your functionalities ready and running.The primary source of information is <a title="Platform Services" href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-65AAF569-D347-462B-B59A-9D7CA184AB9C.html">Forum Nokia Library</a>, that has a detailed references of APIs and useful sample code. Then, also <a title="Forum Nokia Wiki" href="http://wiki.forum.nokia.com/">Forum Nokia Wiki</a> provides an extensive set of examples that cover all the possible usage scenarios. Even if there is some little parts where this information could be improved, you shouldn&#8217;t get much in trouble when using Platform Services in your application.</p>
<p><strong>API Bridge</strong> is a fresher technology, released on <strong>November 2009</strong>, and so it&#8217;s <strong>harder to find complete documentation</strong> and usage examples. Anyway, <a href="http://www.forum.nokia.com">Forum Nokia</a> released a set of libraries for various platforms (<a title="Flash Lite API Bridge Interface" href="http://wiki.forum.nokia.com/index.php/Flash_Lite_API_Bridge_Interface">Flash Lite</a>, <a href="http://wiki.forum.nokia.com/index.php/APIBridge_Web_Runtime_API">Web Runtime</a> and <a title="J2ME Api Bridge Interface" href="http://wiki.forum.nokia.com/index.php/J2ME_Api_Bridge_Interface">Java ME</a>) that will definitely help in starting to use API Bridge.</p>
<h3>Device support</h3>
<p><strong>Platform Services</strong> are fully supported starting from <a href="http://www.forum.nokia.com/devices/matrix_s60_5ed_1.html">S60 5th edition devices</a>, but are also compatible with a subset of <a href="http://www.forum.nokia.com/devices/matrix_s60_3ed_fp2_1.html">S60 3rd edition Feature Pack 2</a> devices: the full list of supported devices is available here: <a href="http://www.forum.nokia.com/devices/matrix_webruntime1_1_1.html">Web Runtime 1.1 compatible devices</a>. This means that you can use them only on the touch screen Nokia devices.</p>
<p>On the other side, <strong>API Bridge</strong> can work on all devices starting from <a href="http://www.forum.nokia.com/devices/matrix_s60_3ed_fp1_1.html">S60 3rd edition Feature Pack 1</a> onwards, so meaning:</p>
<ul>
<li><a href="http://www.forum.nokia.com/devices/matrix_s60_3ed_fp1_1.html">S60 3rd edition Feature Pack 1</a></li>
<li><a href="http://www.forum.nokia.com/devices/matrix_s60_3ed_fp2_1.html">S60 3rd edition Feature Pack 2</a></li>
<li><a href="http://www.forum.nokia.com/devices/matrix_s60_5ed_1.html">S60 5th edition</a></li>
</ul>
<h3>Available features</h3>
<p>Current Platform Services (version 1.0) allow to access a wide set of features:</p>
<ul>
<li><strong>Application Management</strong></li>
<li><strong>Calendar</strong></li>
<li><strong>Contacts</strong></li>
<li><strong>Landmarks</strong></li>
<li><strong>Location</strong></li>
<li><strong>Logging</strong></li>
<li><strong>Media Management</strong></li>
<li><strong>Messaging</strong></li>
<li><strong>Sensors</strong></li>
<li><strong>System Information</strong></li>
</ul>
<p>It is currently available also a <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/cccea743-f4e5-418f-ad9f-0a7a7f50868f/Nokia_Platform_Services_2_0.html">beta release of Platform Services 2.0</a>, that adds to this features&#8217; set also the access to the device <strong>camera</strong>.</p>
<p><strong>API Bridge</strong>, instead, has a more limited set of functionalities, currently including:</p>
<ul>
<li>Capture of <strong>photos, videos and audio</strong> streams</li>
<li><strong>Files uploading</strong></li>
<li><strong>Files reading</strong></li>
<li><strong>Image resizing</strong></li>
<li><strong>Location</strong></li>
<li><strong>Logging</strong></li>
<li><strong>Media Management</strong></li>
</ul>
<h3>Supported technologies</h3>
<p><strong>Platform Services</strong> are currently available for <strong>Flash Lite and Web Runtime</strong> applications.</p>
<p><strong>API Bridge</strong> libraries have been released for <strong>Flash Lite, Web Runtime and Java ME</strong>. Generally speaking, the API Bridge engine, working as a <strong>local HTTP server</strong> running on the device, is <strong>accessible from all technologies</strong>.</p>
<h3>Overall considerations</h3>
<p>The current implementation of <a href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-65AAF569-D347-462B-B59A-9D7CA184AB9C.html">Platform Services</a> and <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/d697a64f-ddae-4937-8151-be157b542d26/ApiBridge.html">API Bridge</a> don&#8217;t allow to decide which approach is the best one, and there is no need to do it anyway. Right now, if you&#8217;re working in <strong>Flash Lite or Web Runtime</strong>, and as long as your set of target devices support them, you can <strong>benefit of both technologies</strong>, including the two libraries in your application.</p>
<p>Talking about <strong>future perspectives</strong> of both approaches, we can see both of them evolving in <strong>more mature products</strong>.</p>
<p><a href="http://www.forum.nokia.com/info/sw.nokia.com/id/cccea743-f4e5-418f-ad9f-0a7a7f50868f/Nokia_Platform_Services_2_0.html">Platform Services 2.0</a> is already available as a beta release, so you can already start experimenting with the new APIs and features, including the access to the device camera. On the other side, <strong>API Bridge</strong> promises to allow everyone to <strong>create custom plugins</strong>, through the <strong>ECOM interface</strong>, as reported on <a href="http://blogs.forum.nokia.com/blog/forum-nokia-web-talks/2009/11/05/web-runtime-apibridge">Forum Nokia Blogs</a>.</p>
<p>Concluding, <strong>Platform Services</strong>, with the already mature and features-rich library, surely represents a simpler approach for <strong>developers who don&#8217;t want to deal with Symbian building and packaging</strong>, while <strong>API Bridge</strong>, with its plugin architecture becoming mature and open to developers, could definitely end up to be the best ally to <strong>allow widgets and Flash Lite apps access more and more features</strong>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2010/02/11/platform-services-and-api-bridge-features-differences-and-advantages/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New J2ME app released: X1 Mobil, discover the new BMW X1</title>
		<link>http://www.jappit.com/blog/2009/10/28/new-j2me-app-x1-mobil-discover-the-new-bmw-x1/</link>
		<comments>http://www.jappit.com/blog/2009/10/28/new-j2me-app-x1-mobil-discover-the-new-bmw-x1/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:52:41 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[bmw]]></category>
		<category><![CDATA[x1 mobil]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=637</guid>
		<description><![CDATA[A new Java ME application is available, currently only in Italian language, for all BMW fans! X1 Mobil allows to discover all the secrets of the new BMW X1, together with launch events, sport news, travel information and much more, with just a few clicks. The current version is compatible with various BlackBerry and Java [...]]]></description>
			<content:encoded><![CDATA[<p>A <strong>new Java ME application</strong> is available, currently only in Italian language, for all <a title="BMW website" href="http://www.bmw.com">BMW</a> fans!</p>
<p><img class="aligncenter" title="BMW X1 Mobil" src="http://www.jappit.com/images/blog/uploads/j2me_x1mobil.png" alt="" width="450" height="193" /></p>
<p><strong>X1 Mobil</strong> allows to discover <strong>all the secrets of the new BMW X1</strong>, together with <strong>launch events, sport news, travel information</strong> and much more, with just a few clicks.</p>
<p>The current version is compatible with various <a title="Blackberry website" href="http://www.blackberry.com">BlackBerry</a> and <a title="Java ME website" href="http://java.sun.com/javame/index.jsp">Java ME</a> enabled devices. Check out the <strong>app download page</strong> for more details: <a title="BMW X1 Mobil" href="http://www.bmw.it/it/it/newvehicles/x1/x1/2009/x1Mobil.html">BMW X1 Mobil download page</a>.</p>
<p><strong>Feedbacks are welcome</strong>! <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/2009/10/28/new-j2me-app-x1-mobil-discover-the-new-bmw-x1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gcal update: version 0.3.5 with manual timezone setting</title>
		<link>http://www.jappit.com/blog/2009/04/30/gcal-update-version-035-with-manual-timezone-setting/</link>
		<comments>http://www.jappit.com/blog/2009/04/30/gcal-update-version-035-with-manual-timezone-setting/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 15:47:36 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[google calendar]]></category>
		<category><![CDATA[google calendar mobile]]></category>
		<category><![CDATA[java me]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=372</guid>
		<description><![CDATA[After a while far from Gcal development (due to a lot of undercover work ) here is a new update for the Java ME Google Calendar client, specifically released to fix the different timezone issues that various users are reporting. With version 0.3.5 it&#8217;s now possible to manually set the preferred timezone from the application [...]]]></description>
			<content:encoded><![CDATA[<p>After a while far from <a title="J2ME Google Calendar" href="http://www.jappit.com/blog/2008/12/22/j2me-google-calendar-client/">Gcal</a> development (due to a lot of undercover work <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) here is a new update for the <strong>Java ME Google Calendar client</strong>, specifically released to <strong>fix the different timezone issues</strong> that various users are reporting.</p>
<p style="text-align: center;"><img class="aligncenter" title="GCal timezone settings" src="http://www.jappit.com/images/blog/uploads/GCal_timezone_settings.png" alt="" width="301" height="125" /></p>
<p>With <strong>version 0.3.5</strong> it&#8217;s now possible to <strong>manually set the preferred timezone from the application Settings screen</strong>. To do so, you have 2 choices:</p>
<ul>
<li>If you want to <strong>use the timezone sent by Google Calendar server</strong>, you can set to &#8220;<strong>Yes</strong>&#8221; the &#8220;<strong>Use server timezone?</strong>&#8221; option</li>
<li>If you want to <strong>explicitly set your timezone</strong>, then set the previous option to &#8220;<strong>No</strong>&#8220;, and then specify your timezone offset in the <strong>&#8220;Timezone&#8221; field</strong></li>
</ul>
<p>If you have <strong>problems with timezone</strong> in your <strong>GCal</strong> client, then <strong>you should definitely update</strong>. Just update from within GCal (<em>&#8220;Options&#8221; -&gt; &#8220;More..&#8221; -&gt; &#8220;Check updates&#8221;</em>), or <strong>download version 0.3.5</strong> from here:</p>
<p style="text-align: center;"><a href="http://www.jappit.com/download_j2me_google_calendar.htm"><img class="aligncenter" title="Download Google Calendar Mobile" src="http://www.jappit.com/images/blog/uploads/GCal_download.png" alt="" width="198" height="69" /></a></p>
<p><strong>JAD file</strong> is also available for download here: <a title="Gcal J2ME Google Calendar JAD" href="http://www.jappit.com/m/gcal/Gcal.jad">Gcal JAD download</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2009/04/30/gcal-update-version-035-with-manual-timezone-setting/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Gcal update: version 0.3.4 to fix login errors</title>
		<link>http://www.jappit.com/blog/2009/03/20/gcal-update-version-034-to-fix-login-errors/</link>
		<comments>http://www.jappit.com/blog/2009/03/20/gcal-update-version-034-to-fix-login-errors/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 10:47:40 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[google calendar]]></category>
		<category><![CDATA[google calendar mobile]]></category>
		<category><![CDATA[java me]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=361</guid>
		<description><![CDATA[Here&#8217;s a small update to Gcal, that will hopefully fix (or help to fix) the login errors that some users still encounter on specific devices. Give it a try and, if you still get error messages while logging in, leave a comment here specifying the exact message you get. Thanks! JAD file is also available [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a <strong>small update</strong> to Gcal, that will hopefully <strong>fix (or help to fix) the login errors</strong> that some users still encounter on specific devices.</p>
<p>Give it a try and, <strong>if you still get error messages</strong> while logging in, <strong>leave a comment here specifying the exact message</strong> you get. Thanks! <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 title="Download J2ME Google Calendar" href="http://www.jappit.com/download_j2me_google_calendar.htm"><img class="aligncenter" title="Download J2ME Google Calendar" src="http://www.jappit.com/images/blog/uploads/GCal_download.png" alt="" width="198" height="69" /></a></p>
<p>JAD file is also available for download here: <a title="Gcal J2ME Google Calendar JAD" href="http://www.jappit.com/m/gcal/Gcal.jad">Gcal JAD download</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2009/03/20/gcal-update-version-034-to-fix-login-errors/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Gcal version 0.3.3: more fixes and S60 1st/2nd edition support</title>
		<link>http://www.jappit.com/blog/2009/03/16/gcal-version-033-more-fixes-and-s60-1st2nd-edition-support/</link>
		<comments>http://www.jappit.com/blog/2009/03/16/gcal-version-033-more-fixes-and-s60-1st2nd-edition-support/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 16:16:40 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[google calendar]]></category>
		<category><![CDATA[google calendar mobile]]></category>
		<category><![CDATA[java me]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=350</guid>
		<description><![CDATA[After some days away from Gcal, due to a lot of work going on in these days, here&#8217;s an update that will hopefully solve some of the issues related to accessing your calendar data, and various other bugs, including: Wrong saving of &#8220;All day&#8221; events Wrong time of events saved on device calendar Various other [...]]]></description>
			<content:encoded><![CDATA[<p>After some days away from <a title="J2ME Google Calendar" href="http://www.jappit.com/blog/2008/12/22/j2me-google-calendar-client/">Gcal</a>, due to a lot of work going on in these days, here&#8217;s an update that will hopefully<strong> solve </strong>some of the <strong>issues related to accessing your calendar data</strong>, and various other bugs, including:</p>
<ul>
<li>Wrong saving of <strong>&#8220;All day&#8221; events</strong></li>
<li>Wrong time of <strong>events saved on device calendar</strong></li>
<li>Various other <strong>unhandled Exceptions</strong> that were causing crashes of the application</li>
</ul>
<p>In this release, a first <strong>support for previous Nokia Series60 editions</strong> (specifically: <strong>1st</strong> and <strong>2nd</strong> editions) has also been added, so you should now be able to use Gcal on your beloved <a title="Nokia 6600 specifications" href="http://www.forum.nokia.com/devices/6600" target="_blank">Nokia 6600</a> <img src='http://www.jappit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And, for those who still experience problems, <strong>more meaningful error messages</strong> have been set, so that it&#8217;ll be easier to spot out and solve the issues. So, <strong>when reporting a problem, please also add the exact error message</strong> you get in the related error popup. Thanks! <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 title="J2ME Mobile Google Calendar" href="http://www.jappit.com/download_j2me_google_calendar.htm"><img class="aligncenter" title="Download J2ME Google Calendar" src="http://www.jappit.com/images/blog/uploads/GCal_download.png" alt="" width="198" height="69" /></a></p>
<p style="text-align: left;">If your mobile phone also needs a <strong>JAD file</strong>, you can <strong>download it from here</strong>: <a title="Gcal J2ME Google Calendar JAD" href="http://www.jappit.com/m/gcal/Gcal.jad">download Gcal JAD</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2009/03/16/gcal-version-033-more-fixes-and-s60-1st2nd-edition-support/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gcal version 0.3: touch support, local events, and a bunch of fixes!</title>
		<link>http://www.jappit.com/blog/2009/02/16/gcal-version-03-touch-support-local-events-and-a-bunch-of-fixes/</link>
		<comments>http://www.jappit.com/blog/2009/02/16/gcal-version-03-touch-support-local-events-and-a-bunch-of-fixes/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 14:44:22 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[google calendar mobile]]></category>
		<category><![CDATA[j2me google calendar]]></category>
		<category><![CDATA[java me]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=282</guid>
		<description><![CDATA[Version 0.3 of Gcal, the J2ME Google Calendar client, is finally out! Most of the work was done to improve device compatibility and fix bugs on specific handsets (e.g.: BlackBerry devices, Nokia E61, and many more). Release details New cool features are introduced: Touch-screen support: if you have a device supporting touch, now you can [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Version 0.3</strong> of <strong>Gcal, the J2ME Google Calendar client</strong>, is finally out!</p>
<p><img class="alignnone" title="Gcal on BlackBerry 9500" src="http://www.jappit.com/images/blog/uploads/gcal_blackberry_9500.jpg" alt="" width="450" height="280" /></p>
<p>Most of the work was done to <strong>improve device compatibility</strong> and <strong>fix bugs</strong> on specific handsets (e.g.: <strong>BlackBerry devices</strong>, <strong>Nokia E61</strong>, and many more).</p>
<p style="text-align: center;"><a title="Download J2ME Google Calendar" href="http://www.jappit.com/download_j2me_google_calendar.htm"><img class="aligncenter" title="Download Gcal" src="http://www.jappit.com/images/blog/uploads/GCal_download.png" alt="" width="198" height="69" /></a></p>
<h3>Release details</h3>
<p><strong>N</strong><strong>ew cool features</strong> are introduced:</p>
<ul>
<li><strong>Touch-screen support</strong>: if you have a device supporting touch, now you can easily interact with Gcal with stylus/fingers!<br />
<strong> Touch gestures</strong> are also implemented: go from a day to another simply swiping!</li>
<li><strong>Event saving on local calendar</strong>: you can now save an event on your local calendar. If you&#8217;re creating a new event, just check the <em>&#8220;Save on local calendar&#8221;</em> option. Instead, if you&#8217;re viewing a saved event, choose <em>&#8220;Actions&#8221; -&gt; &#8220;Save locally&#8221;</em> from the options menu.</li>
</ul>
<p><strong>New settings</strong> are also available:</p>
<ul>
<li><strong>Font size</strong>: introduced to improve readability, and to allow users with touch-screen to have larger touchable areas</li>
<li><strong>Alternative soft-keys</strong>: devices without hardware soft-keys can now use <strong>&#8216;*&#8217; and &#8216;#</strong>&#8216; <strong>keys</strong> to substitute them, and so use <strong>Gcal</strong> without any more problems</li>
<li><strong>Show only calendars with events</strong>: this will allow users with a lot of calendars to show only the ones actually selected in the &#8220;Filter calendars&#8221; screen, greatly improving events readability</li>
</ul>
<p>Among the <strong>fixed bugs</strong>:</p>
<ul>
<li><strong>Calendar loading errors</strong> on various handsets</li>
<li><strong>Filters scrolling and selection</strong> in calendar filtering screen</li>
<li><strong>Screen size/orientation changes</strong> are now better handled</li>
</ul>
<h3>Give your feedback</h3>
<p>A lot of <strong>new features are still under development</strong>, and surely a lot are the missing features that <strong>you would like to see</strong> into your Gcal. Just <strong>leave your comment here</strong>, and your feedback will be surely considered for the next Gcal releases!</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2009/02/16/gcal-version-03-touch-support-local-events-and-a-bunch-of-fixes/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>JavaFX has gone mobile!</title>
		<link>http://www.jappit.com/blog/2009/02/12/javafx-has-gone-mobile/</link>
		<comments>http://www.jappit.com/blog/2009/02/12/javafx-has-gone-mobile/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 14:47:16 +0000</pubDate>
		<dc:creator>pit</dc:creator>
				<category><![CDATA[cool stuff]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[java me]]></category>
		<category><![CDATA[javafx]]></category>

		<guid isPermaLink="false">http://www.jappit.com/blog/?p=272</guid>
		<description><![CDATA[JavaFX Mobile has finally been released, and this is a great news for all Java ME developers out there!! JavaFX is an expressive rich client platform for creating and delivering rich Internet experiences across all screens of your life. [...] With JavaFX Mobile, Sun is bringing expressiveness to the most powerful and pervasive mobile platform. [...]]]></description>
			<content:encoded><![CDATA[<p><a title="JavaFX" href="http://www.javafx.com" target="_blank">JavaFX Mobile</a> <strong>has finally been released</strong>, and this is a great news for all Java ME developers out there!!</p>
<p><img class="alignnone" title="Java FX" src="http://www.jappit.com/images/blog/uploads/javafx.jpg" alt="" width="430" height="158" /></p>
<blockquote><p>JavaFX is an expressive rich client platform for creating and delivering rich Internet experiences across all screens of your life. [...] With JavaFX Mobile, Sun is bringing expressiveness to the most powerful and pervasive mobile platform.  On mobile devices, JavaFX runs directly on Java ME to take advantage of its ubiquity, security, and highly capable feature-set.</p></blockquote>
<p>To get an idea of <strong>what you can do with JavaFX</strong>, you can look at the <a title="JavaFX samples" href="http://www.javafx.com/samples/">samples posted on JavaFX website</a>, shipped with the <strong>source code</strong> used to achieve these results. They&#8217;re just <strong>impressive</strong>!</p>
<p><strong>Can&#8217;t wait</strong> anymore? Then <a title="Download JavaFX" href="http://www.javafx.com/downloads/">download JavaFX</a> and <a title="Learn JavaFX" href="http://www.javafx.com/learn/">start learning</a>!</p>]]></content:encoded>
			<wfw:commentRss>http://www.jappit.com/blog/2009/02/12/javafx-has-gone-mobile/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

