<?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>Mobiledevworld.com &#124; Mobile Developers Community &#187; beginner guides</title>
	<atom:link href="http://mobiledevworld.com/tag/beginner-guides/feed/" rel="self" type="application/rss+xml" />
	<link>http://mobiledevworld.com</link>
	<description>Mobile Developers and Professionlas Community</description>
	<lastBuildDate>Sun, 09 May 2010 18:20:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>innerActive mobile ads for Widgets</title>
		<link>http://mobiledevworld.com/2010/05/07/inneractive-mobile-ads-for-widgets/</link>
		<comments>http://mobiledevworld.com/2010/05/07/inneractive-mobile-ads-for-widgets/#comments</comments>
		<pubDate>Fri, 07 May 2010 06:37:29 +0000</pubDate>
		<dc:creator>Rafi Ton</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code examples]]></category>
		<category><![CDATA[beginner guides]]></category>
		<category><![CDATA[code example]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://mobiledevworld.com/?p=709</guid>
		<description><![CDATA[




I&#8217;ve been developing widgets for mobile phones for quite a while now. One the most pressing issues I always face is how to make money from my widgets.
I tested many services that seemed to be promising only to be frustrated from the revenue they generate, the amount of control I had over the ad or [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been developing widgets for mobile phones for quite a while now. One the most pressing issues I always face is how to make money from my widgets.</p>
<p>I tested many services that seemed to be promising only to be frustrated from the revenue they generate, the amount of control I had over the ad or the complexity of integration (if at all available for widgest).</p>
<p>Finally I found a solution that I like, simple to integrate and offers me some control over the ad life cycle from innerActive. I moved all my mobile apps to innerActive and this solution works like a charm (and NO &#8211; I don&#8217;t work there).</p>
<h1><strong>Just follow these few simple steps and start making money from your app:</strong></h1>
<p>1. get an Application ID for you widget/app from innerActive (contact Aviv Fishler from innerActive: aviv@inner-active.com)</p>
<p>2. load jQuery in your all (I hear that they have a pure JS version coming soon) using something like:</p>
<pre class="brush: xml;">&lt;script src=&quot;jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>3. load the innerActive js file in your widget header from: http://cd1.inner-active.com/innerActive.js</p>
<pre class="brush: xml;">&lt;script src=&quot;http://cd1.inner-active.com/innerActive.js&quot;&gt;&lt;/script&gt;</pre>
<p>4. add a div for you ad in every place you want to put your add.</p>
<pre class="brush: xml;">&lt;div id=&quot;banner1&quot;&gt;Banner 1 - without text goes here&lt;/div&gt;</pre>
<p>please remember to name your divs. This way you can control the ad afterwards</p>
<p>5. set your application id as a global variable:</p>
<pre class="brush: jscript;">var innerActive_aid = 'your_app_id_goes_here';</pre>
<p>6. set your mode (test or real ads) in your js file:</p>
<pre class="brush: jscript;">var innerActive_test = 'true'; // or false to get production ads</pre>
<p>7. Load the ad in your div by using the following js code:</p>
<pre class="brush: jscript;">getSmallBannerAd(&quot;#banner1&quot;,&quot;&quot;);</pre>
<p>Calling this function with the div id reloads the ad. So if you want to load a new ad from your add on a certain event just call this function. This is very useful is I need to refresh an ad after it appears on the screen for too long.</p>
<p>See a full implementation below:</p>
<p>index.html</p>
<pre class="brush: xml;">

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
 &lt;head&gt;
 &lt;title&gt;Sample Widget&lt;/title&gt;
 &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
 &lt;script src=&quot;jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 &lt;script src=&quot;http://cd1.inner-active.com/innerActive.js&quot;&gt;&lt;/script&gt;
 &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;basic.js&quot;&gt;&lt;/script&gt;
 &lt;link rel=&quot;stylesheet&quot; href=&quot;basic.css&quot; type=&quot;text/css&quot;&gt;
 &lt;META NAME=&quot;Generator&quot; CONTENT=&quot;Nokia WRT plug-in for Aptana Studio 2.3.0&quot; /&gt;
 &lt;/head&gt;
 &lt;body onLoad=&quot;javascript:init();&quot;&gt;
 &lt;div id=&quot;banner1&quot;&gt;Banner 1 - without text goes here&lt;/div&gt;
 &lt;br/&gt;&lt;br/&gt;
 &lt;div id=&quot;banner2&quot;&gt;Banner 1 - without text goes here&lt;/div&gt;
 &lt;p&gt;Hello World&lt;/p&gt;
 &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>basic.js</p>
<pre class="brush: jscript;">

/*
 * JavaScript file
 */

var innerActive_aid = 'CasualMobile_TicTacToe';
var innerActive_test = 'true';

function init()
{
 getSmallBannerAd(&quot;#banner1&quot;,&quot;&quot;);
 getSmallBannerAd(&quot;#banner2&quot;,&quot;showAdText&quot;);
}
</pre>
<p>Download these example widget:<br />
<a href="http://mowiwo.com/wp-content/plugins/download-monitor/download.php?id=1"> http://mowiwo.com/wp-content/plugins/download-monitor/download.php?id=1</a><br />
<a href="http://mowiwo.com/wp-content/plugins/download-monitor/download.php?id=2"> http://mowiwo.com/wp-content/plugins/download-monitor/download.php?id=2</a> </p>
<div class='wp_likes' id='wp_likes_post-709'>
<div  class='text'><b>1</b> people like this post.</div>
<div><a href=' javascript:wp_likes.like(709)' class='like' title='like this post'>Like</a>&nbsp;<img class='loader' src='http://mobiledevworld.com/wp-content/plugins/wp-likes/images/spinner.gif' alt=''/></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://mobiledevworld.com/2010/05/07/inneractive-mobile-ads-for-widgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginners’ guide to Mobile App development with Nokia WRT &#8211; Designing the widget</title>
		<link>http://mobiledevworld.com/2009/07/18/beginners%e2%80%99-guide-to-mobile-app-development-with-nokia-wrt-designing-the-widget/</link>
		<comments>http://mobiledevworld.com/2009/07/18/beginners%e2%80%99-guide-to-mobile-app-development-with-nokia-wrt-designing-the-widget/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 08:19:19 +0000</pubDate>
		<dc:creator>Rafi Ton</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[beginner guides]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://mobiledevworld.com/?p=21</guid>
		<description><![CDATA[In this part we will start building a simple Nokia WRT widget for the mobile mini blogging site &#8211; woofim.com. First, I would like to have the following functionality:

Have a simple menu to navigate
Be able to see the latest photos woof, video woofs and text posts on the site;
See a larger image of the photos
Use [...]]]></description>
			<content:encoded><![CDATA[<p>In this part we will start building a simple Nokia WRT widget for the mobile mini blogging site &#8211; woofim.com. First, I would like to have the following functionality:</p>
<ol>
<li>Have a simple menu to navigate</li>
<li>Be able to see the latest photos woof, video woofs and text posts on the site;</li>
<li>See a larger image of the photos</li>
<li>Use the soft keys to navigate and have a simple about screen</li>
</ol>
<p>As I previously noted, Nokia WRT widgets are basically html, css and javascript pages but unlike standard web pages where you use multiple pages, Nokia WRT uses a single html page where you turn on and off various sections of the page to show different content.</p>
<p>Lets see a practical example:</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;title&gt; Woofim WRT Widget - tutorial&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;jquery-1.3.2.min.js&quot;&gt;&lt;/script&gt;
                &lt;script type=&quot;text/javascript&quot; src=&quot;WRTKit/WRTKit.js&quot;&gt;&lt;/script&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;basic.js&quot;&gt;&lt;/script&gt;
    	&lt;link rel=&quot;stylesheet&quot; href=&quot;basic.css&quot; type=&quot;text/css&quot;&gt;
    	&lt;META NAME=&quot;Generator&quot; CONTENT=&quot;Nokia WRT plug-in for Aptana Studio 2.0.0&quot; /&gt;
&lt;/head&gt;
  &lt;body onload=&quot;init()&quot;&gt;
&lt;!-- woofim.com logo --&gt;
&lt;div id=&quot;logo&quot;&gt;
&lt;img src=&quot;images/woofim_logo_356px.png&quot; width=&quot;220&quot;/&gt;
&lt;/div&gt;

&lt;span style=&quot;color: #008000;&quot;&gt;&lt;!-- main menu section --&gt;	&lt;/span&gt;
&lt;div id=&quot;mainMenuDiv&quot;&gt;
&lt;div id=&quot;menuLatestPhotos&quot;&gt;
&lt;h2&gt;&lt;a href=&quot;#&quot;&gt;Latest Photos&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;

&lt;div id=&quot;menuLatestVideos&quot;&gt;
&lt;h2&gt;&lt;a href=&quot;#&quot;&gt;Latest videos&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;

&lt;div id=&quot;menuLatestTexts&quot;&gt;
&lt;h2&gt;&lt;a href=&quot;#&quot;&gt;Latest Text Woofs&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- content sections --&gt;
&lt;div id=&quot;latestPhotos&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;latestVideos&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;latestTexts&quot;&gt;&lt;/div&gt;

&lt;center&gt;
&lt;div id=&quot;woofItemMedia&quot;&gt;&lt;/div&gt;
&lt;/center&gt;

  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Which creates the following main screen:</p>
<div>
<dl>
<dt><img src="http://mobiledevworld.com/files/2009/07/picture-71.png" alt="WRT woofim.com main screen" /></dt>
<dd>WRT woofim.com main screen</dd>
</dl>
</div>
<p>As you can see things are a bit messy here &#8211; all the divs are shown as a long single list. This is where the css file kicks in. We need basically to hide all the elements except for the logo and main menu. As you can see in the html above, I assigned to all the main sections the same class &#8220;mainSections&#8221; &#8211; so I just need to hide all the items which are assigned the same class:<br />
basic.css:</p>
<pre class="brush: css;">
.mainSections {
   display:none;
}
</pre>
<p>The result is better:</p>
<div>
<dl>
<dt><img src="http://mobiledevworld.com/files/2009/07/picture-61.png" alt="main screen with css implemented" /></dt>
<dd>main screen with css implemented</dd>
</dl>
</div>
<p>As you can see I divided the html body into main 3 parts:</p>
<ol>
<li>upper logo area;</li>
<li>main menu section &#8211; where I display the menu;</li>
<li>the content section at the bottom where I will load the actual content to when I press the menu items (which are now hidden).</li>
</ol>
<p>Next, I want to show the content of the different main sections when I click the relevant link. When I click the link &#8220;latest photos&#8221; I want to show the content of the div with the id &#8220;latestPhotos&#8221; and so on. Since the entire widget is built as a single page I cant just link to another page but I need to un-hide the relevant div. To do that I will use jquery (you can also use plain javascript but why should you when you can do this with jquery in a much simpler way?).</p>
<p>As we said before, we place all javascript code in basic.js &#8211; so open the file and and just delete its entire content (the existing code is just Nokia&#8217;s hello sample widget which we don&#8217;t need) and add the following jquery code just below the existing code:</p>
<pre class="brush: jscript;">
$(function() {
$(&quot;#menuLatestPhotos&quot;).click(function () {
$(&quot;#mainMenuDiv&quot;).hide();
$(&quot;#latestPhotos&quot;).show();
});

$(&quot;#menuLatestVideos&quot;).click(function () {
$(&quot;#mainMenuDiv&quot;).hide();
$(&quot;#latestVideos&quot;).show();
});

$(&quot;#menuLatestTexts&quot;).click(function () {
$(&quot;#mainMenuDiv&quot;).hide();
$(&quot;#latestTexts&quot;).show();
});

});
</pre>
<p>As you can see (and I&#8217;m assuming that you are at least familiar with jquery), the code is basically has 3 similar parts. Each part tells the WRT engine to listen to &#8220;click&#8221; event on the object with the id specified in the quotes and execute the code between the brackets when the object is clicked. Taking a closer look at the first of the three you can see that when the div with the id &#8220;menuLatestPhotos&#8221; is clicked, the WRT engine will hide the div with the id &#8220;mainMenuDiv&#8221; which will hide the main menu, and will show the div with the id &#8220;latestPhotos&#8221;. A similar process happens when clicking &#8220;menuLatestVideos&#8221; and &#8220;menuLatestTexts&#8221;.</p>
<p>When clicking the &#8220;show latest photos&#8221; link you should be the following screen:</p>
<div>
<dl>
<dt><img src="http://mobiledevworld.com/files/2009/07/picture-81.png" alt="empty latest photos view" /></dt>
<dd>empty latest photos view</dd>
</dl>
</div>
<p>Problem &#8211; how I return back to the main menu? One option is to click &#8220;Exit&#8221; and restart the widget &#8211; but this is not a great solution for a real-life application. OK &#8211; then we need to create a &#8220;Main menu&#8221; option under the &#8220;Options&#8221; menu (assigned to the left soft key).</p>
<p>What we need to do is to tell the app to create a menu item under &#8220;Options&#8221; immediately when the app is started. To do that we will use the javascript init() function which is called immediately when the body is loaded.</p>
<p>So, lets consider the following javascript code:</p>
<p>basic.js:</p>
<pre class="brush: jscript;">
 function init() {
 var mainMenuItem = new MenuItem(&quot;Main Menu&quot;, 1000);
 mainMenuItem.onSelect = menuItemSelected;
 menu.append(mainMenuItem);

// set tab-navigation mode and show softkeys
 // (only if we are in the WRT environment)
 if (window.widget) {
 widget.setNavigationEnabled(false);
 menu.showSoftkeys();
 }
 }

function menuItemSelected(id) {
 switch (id) {
 case 1000:
 $(&quot;.mainSections&quot;).hide();
 $(&quot;#mainMenuDiv&quot;).show();
 break;
 }
 }
</pre>
<p>As you can see these are two functions &#8211; the first is called <span style="color: #0000ff">init()</span> which is executed when the page is loaded and the second one <span style="color: #0000ff">menuITemSelected()</span> is called within<span style="color: #0000ff"> init()</span> when a menu item is selected.</p>
<p><span style="color: #0000ff">var mainMenuItem = new MenuItem(&#8221;Main Menu&#8221;, 1000);</span> &#8211; this line defines a new menu item with the label &#8220;Main Menu&#8221; and a relative position of 1000. This means that menu items with lower relative position will appear before this item in the menu and items with a higher relative position will appear after this item. The number 1000 is arbitrary and you can use any other number so long as you remember that these are relative positioning numbers.</p>
<p><span style="color: #0000ff">mainMenuItem.onSelect = menuItemSelected;</span> &#8211; this line says that when the mainMenuItem is selected execute the function menuItemSelected;</p>
<p><span style="color: #0000ff">menu.append(mainMenuItem);</span> &#8211; tells the WRT engine to append the menu item to the menu of the app.</p>
<p>The rest of the init() function tells the WRT engine to allow menu navigation and show the soft keys.</p>
<p>The function menuItemSelected(id) receives a parameter (id) from the onSelect property and performs the following task in case the value of id is 1000 (which means that we selected the &#8220;Main menu&#8221; option) &#8211; again, I&#8217;m using the jquery syntax to simplify the code:</p>
<p><span style="color: #0000ff">$(&#8221;.mainSections&#8221;).hide();</span> &#8211; this line hides all divs which are assigned with the class &#8220;mainSections&#8221;.<br />
<span style="color: #0000ff">$(&#8221;#mainMenuDiv&#8221;).show();</span> &#8211; this line shows the div with the id &#8220;mainMenuDiv&#8221; which is our main menu.</p>
<p>Now we have a menu navigation which brings back the main menu when I need it.</p>
<div>
<dl>
<dt><img src="http://mobiledevworld.com/files/2009/07/picture-101.png" alt="WRT tutorial - main screen with soft key menu" /></dt>
<dd>WRT tutorial &#8211; main screen with soft key menu</dd>
</dl>
</div>
<p>Right now, we have the scaffold of the widget working. We have a simple main menu which shows different content when the user presses menu items and we have a soft key menu item which returns us back to the main menu.</p>
<p>In the next section, we will load &#8220;real&#8221; data into the different sections from woofim.com using jquery ajax capabilities. </p>
<div class='wp_likes' id='wp_likes_post-21'>
<div style='display:none' class='text'><b>0</b> people like this post.</div>
<div><a href=' javascript:wp_likes.like(21)' class='like' title='like this post'>Like</a>&nbsp;<img class='loader' src='http://mobiledevworld.com/wp-content/plugins/wp-likes/images/spinner.gif' alt=''/></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://mobiledevworld.com/2009/07/18/beginners%e2%80%99-guide-to-mobile-app-development-with-nokia-wrt-designing-the-widget/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beginners&#8217; guide to Mobile App development with Nokia WRT &#8211; Creating a project and Adding Componenets</title>
		<link>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-creating-a-project-and-adding-componenets/</link>
		<comments>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-creating-a-project-and-adding-componenets/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 08:16:55 +0000</pubDate>
		<dc:creator>Rafi Ton</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[aptana studio]]></category>
		<category><![CDATA[beginner guides]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://mobiledevworld.com/?p=19</guid>
		<description><![CDATA[Ok, we have the development environment all set up &#8211; what&#8217;s next? Now, we need to understand how WRT widgets are structured. In general, a widget is designed from few sections in a single html page that we can activate or deactivate in accordance with that we want to do (I know that I&#8217;m oversimplifying [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, we have the development environment all set up &#8211; what&#8217;s next? Now, we need to understand how WRT widgets are structured. In general, a widget is designed from few sections in a single html page that we can activate or deactivate in accordance with that we want to do (I know that I&#8217;m oversimplifying this, but nonetheless, for most cases it encompasses the general idea).</p>
<p>As I said in the first part of the tutorial, I&#8217;m writing a WRT widget for my <a href="http://woofim.com/">mini-blogging service called woofim.com</a>. As such, lets start with creating a simple widget that will display the latest photos, videos and text posts on the site.</p>
<h3>Creating a new WRT project in Aptana Studio</h3>
<p>First we need to create a new project to work with. Open Aptana Studio and select File -&gt; New -&gt; Project. This will open the following window:</p>
<p><img class="size-full wp-image-40" src="http://mobiledevworld.com/files/2009/07/picture-11.png" alt="Aptana Studio - Project Selection" />Select &#8220;New Nokia Web Runtime Widget&#8221; &#8211; which will show the next screen:</p>
<p><img class="size-full wp-image-42" src="http://mobiledevworld.com/files/2009/07/picture-21.png" alt="Aptana Studio - Creating a Nokia WRT Project" />Click NEXT and enter the project name (e.g. woofim) -&gt; NEXT -&gt; NEXT -&gt; Finish. This will create a basic WRT project with the framework for css, javascript and html files.</p>
<p>Next, lets go over the basic structure of the index.html file &#8211; open it and it should look like this:</p>
<pre><span style="color: #0000ff">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;head&gt;
        &lt;title&gt; Sample Widget&lt;/title&gt;
        &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
        <span style="color: #ff0000">&lt;script language="javascript" type="text/javascript" src="basic.js"&gt;&lt;/script&gt;</span>
        <span style="color: #ff0000">&lt;link rel="stylesheet" href="basic.css" type="text/css"&gt;</span>
        &lt;META NAME="Generator" CONTENT="Nokia WRT plug-in for Aptana Studio 2.0.0" /&gt;
    &lt;/head&gt;
    <span style="color: #ff0000">&lt;body onLoad="javascript:init();"&gt;</span>
    &lt;/body&gt;
&lt;/html&gt;

</span></pre>
<p><span style="color: #000000">Let&#8217;s focus on 3 important statements marked in red:</span></p>
<ol>
<li><span style="color: #000000">the html imports basic.js which holds the javascript for our widget;</span></li>
<li><span style="color: #000000">the html uses basic.css as stylesheet;</span></li>
<li><span style="color: #000000">when the body is loaded it will automatically launch the javascript function init() which we will use later on.</span></li>
</ol>
<p>As I explained before, Nokia WRT 1.1 supports jQuery which simplifies many Javascript tasks. Therefore, we need also to load the jquery library in our project. You can download the latest version of jquery <a href="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js">here</a> or simply visit the  <a href="http://www.jquery.com" target="_blank">jquery site</a> and click download.</p>
<p>After you have downloaded jquery, just copy the file to your project folder (usually under &#8220;My Documents/Aptana/ProjectName&#8221;). Now we need to tell the html file to load the library when the index.html loads. This is what the following line does:</p>
<pre><span style="color: #0000ff">&lt;script src="jquery-1.3.2.min.js" type="text/javascript"&gt;&lt;/script&gt;</span></pre>
<p>Just add it right before the &lt;/head&gt;. Now we have also jquery to our disposal &#8211; good.</p>
<p>Now we can start designing the basic widget. </p>
<div class='wp_likes' id='wp_likes_post-19'>
<div  class='text'><b>11</b> people like this post.</div>
<div><a href=' javascript:wp_likes.like(19)' class='like' title='like this post'>Like</a>&nbsp;<img class='loader' src='http://mobiledevworld.com/wp-content/plugins/wp-likes/images/spinner.gif' alt=''/></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-creating-a-project-and-adding-componenets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Beginners&#8217; guide to Mobile App development with Nokia WRT &#8211; Selecting the IDE</title>
		<link>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-selecting-the-ide/</link>
		<comments>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-selecting-the-ide/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 08:12:57 +0000</pubDate>
		<dc:creator>Rafi Ton</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[beginner guides]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://mobiledevworld.com/?p=16</guid>
		<description><![CDATA[Selecting the development environment (IDE)
As we discussed before in part 1 of this tutorial, WRT is basically a browser app without the browser, therefore, we should be able to use our preferred web development tools to develop our widget.

Luckily, quite a few development environments already implemented plug-ins to simplify the development of the widgets. 
Nokia [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="font-weight: bold">Selecting the development environment (IDE)</span></h3>
<p>As we discussed before in part 1 of this tutorial, WRT is basically a browser app without the browser, therefore, we should be able to use our preferred web development tools to develop our widget.<br />
<span style="font-weight: bold"><br />
</span>Luckily, quite a few development environments already implemented plug-ins to simplify the development of the widgets.<span style="font-weight: bold"> </span></p>
<h3>Nokia WRT Plug-in 2.0 for Aptana Studio</h3>
<p><a href="http://mobiledevworld.com/files/2009/07/Aptana_logo2.png"><img style="margin-right: 10px;float: left" src="http://mobiledevworld.com/files/2009/07/Aptana_logo2.png" alt="" width="180" height="65" /></a><a href="http://www.aptana.com/">Aptana Studio</a> is a complete web development environment that combines powerful authoring tools with a collection of online hosting and collaboration services that help you and your team do more.</p>
<p>I actually was using Aptana for my day-to-day php development so for me it was a nice to learn that I can still <a href="http://www.aptana.com/nokia">use Aptana also for WRT development</a>.</p>
<p>Aptana supports all the latest Nokia Javascript Service APIs for accessing device contacts,  				      geo-location, accelerometers, cameras, and other device capabilities.</p>
<p>It supports also development of home-screen widgets (which we will address later in this series) which are small, live views of Nokia WRT widgets. The home screen widget can be developed by coding it inline with the main widget that it will link to, then preview the home screen widget by exiting the main widget preview.</p>
<p>Best of all, Aptana Studio is based on Eclipse hence, the standard version is free. You can download Aptana either as standalone app or as a plugin for Eclipse in the <a href="http://www.aptana.com/studio/download">Aptana Studio download page</a>.</p>
<p>Since I&#8217;m using Aptana, my examples and screen shots will be based on Aptana Studio with the WRT plug-in.</p>
<h3>Nokia WRT Extension for Adobe Dreamweaver</h3>
<p><img style="margin-right: 10px;float: left" src="http://mobiledevworld.com/files/2009/07/Dreamweaver_logo.jpg" alt="" width="80" height="80" />The popular Adobe Dreamweaver has also a plugin which simplifies the development of WRT widgets which can be downloaded from <a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&amp;loc=en_us&amp;extid=1794522">Adobe&#8217;s extension exchange page</a>.</p>
<p>Not sure if this is a mistake but according to Adobe&#8217;s pages they support only  Web Runtime 1.0 API and not 1.1&#8230;In any event, if you are using Dreamweaver as web development environment you should check this out.</p>
<h3>Nokia WRT Plug-in for Visual Studio</h3>
<p><img style="margin-right: 10px;float: left" src="http://mobiledevworld.com/files/2009/07/visual_studio_logo.jpg" alt="" width="180" height="59" />Web developers who have chosen Microsoft Visual Studio 2008 as their development platform, can now plug-in features that dramatically simplify the process of creating WRT widgets. The Nokia WRT Plug-in adds tools to create or import, edit, preview, debug, validate, package, and deploy WRT widgets. To simplify coding Web Runtime 1.0 API is supported in Visual Studio’s code completion feature.</p>
<p>You can download the plugin <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/f1875dc1-b3c1-4261-bc58-25c2702b200a/Nokia_WRT_Plug_in_for_Visual_Studio.html">here</a>.</p>
<p>Next, Designing the widget.</p>
<ul>
<li><a href="http://mobiledevworld.com/post/2009-06-24/Beginners-guide-to-Mobile-App-development-with-Nokia-WRT">Introduction</a></li>
<li>Selecting the IDE</li>
<li>Designing the widget</li>
<li>Our first Basic Nokia WRT Widget</li>
<li>Deploying our Widget</li>
</ul>
<div class='wp_likes' id='wp_likes_post-16'>
<div  class='text'><b>1</b> people like this post.</div>
<div><a href=' javascript:wp_likes.like(16)' class='like' title='like this post'>Like</a>&nbsp;<img class='loader' src='http://mobiledevworld.com/wp-content/plugins/wp-likes/images/spinner.gif' alt=''/></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-selecting-the-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginners&#8217; guide to Mobile App development with Nokia WRT &#8211; Introduction</title>
		<link>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-introduction/</link>
		<comments>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-introduction/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 08:01:07 +0000</pubDate>
		<dc:creator>Rafi Ton</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[beginner guides]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false">http://mobiledevworld.com/?p=12</guid>
		<description><![CDATA[How it all began
I would like to start with few facts about myself:

I have never developed an application for mobile phones.
I always argued that development for mobile phones is a total pain and is years behind web development.
I do some web development mainly using PHP, MySQL and jQuery.
I&#8217;m an entrepreneur &#8211; (founder and CEO of [...]]]></description>
			<content:encoded><![CDATA[<h2><span style="font-weight: bold">How it all began</span></h2>
<p>I would like to start with few facts about myself:</p>
<ol>
<li>I have never developed an application for mobile phones.</li>
<li>I always argued that development for mobile phones is a total pain and is years behind web development.</li>
<li>I do some web development mainly using PHP, MySQL and jQuery.</li>
<li>I&#8217;m an entrepreneur &#8211; (founder and CEO of NewACT,  Cellibre and developer and admin of several web sites including this one and woofim.com which is a <a href="http://woofim.com/">mobile mini blogging service</a>)</li>
</ol>
<p>The last point is important since I&#8217;m mostly interested in fast to very fast development of prototypes which some of them will turn to &#8220;real&#8221; products and some of them will be abandoned.</p>
<p>As I said above, I was arguing time after time to anyone who is willing to listen that development of applications and services for mobile phones is years behind web development. Just compare the development on J2ME or Symbian to Web&#8230;Things that take just a few days in the web world take months when trying to implement as a mobile application.</p>
<h2>Web technologies find their way to mobile phone apps</h2>
<p>And no, I&#8217;m not taking about mobile web or WAP sites. I&#8217;m talking about developing a full blown app using html, css, javascript or jQuery &#8211; which behaves as a &#8220;traditional&#8221; app and looks like an app and not as a web page.</p>
<p>There are few examples for these technologies &#8211; one is <a href="http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/">Nokia WRT</a> (Web Runtime widgets) which allows development of mobile apps using Javascript, html and CSS (and yes, even <a href="http://jquery.com/">jQuery</a> !!!), another one is <a href="http://www.phonegap.com/">PhoneGap</a> which allows similar development methodology for the iPhone, Android and BlackBerry storm.</p>
<h2>But first, what is WRT?</h2>
<div style="text-align: justify">
<div style="text-align: left"><img style="margin-right: 10px;width: 75px;height: 155px;float: left" src="http://mobiledevworld.com/files/2009/07/nokia-n97.jpg" alt="" width="97" height="200" />WRT or S60 Web Runtime &#8220;Widgets&#8221; is a portable and lightweight application framework that makes mobile web apps easy. It is an extension to the <a class="external text" title="http://opensource.nokia.com/projects/S60browser/" rel="nofollow" href="http://opensource.nokia.com/projects/S60browser/">Webkit</a> based browser engine on the S60 Platform &#8211; that allows instances of the browser to be run as if they are applications.</div>
<p>One the most immediate advantages offered by WRT is the ease with which they can be created &#8211; using HTML, CSS and JavaScript (did someone say jQuery??). Web Runtime Technology allows these applications to be easily distributed and installed.</p>
</div>
<h2>Getting started with WRT</h2>
<p>In this tutorial I will try to share with you the process of developing a WRT widget for woofim.com from scratch. From selecting the IDE to submitting the app to OVI. I promise that I will do many mistakes (which I will share with you as well) but eventually we will have a WRT for my hobby <a href="http://woofim.com/">mobile mini blogging service &#8211; woofim.com</a>.</p>
<p>Next, selecting the IDE</p>
<ul>
<li>Introduction</li>
<li><a href="http://mobiledevworld.com/post/2009-07-03/Beginners-guide-to-Mobile-App-development-with-Nokia-WRT-Selecting-the-IDE">Selecting the IDE</a></li>
<li>Designing the widget</li>
<li>Our first Basic Nokia WRT Widget</li>
<li>Deploying our Widget</li>
</ul>
<div class='wp_likes' id='wp_likes_post-12'>
<div style='display:none' class='text'><b>0</b> people like this post.</div>
<div><a href=' javascript:wp_likes.like(12)' class='like' title='like this post'>Like</a>&nbsp;<img class='loader' src='http://mobiledevworld.com/wp-content/plugins/wp-likes/images/spinner.gif' alt=''/></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://mobiledevworld.com/2009/07/18/beginners-guide-to-mobile-app-development-with-nokia-wrt-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
