<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://blogs.forum.nokia.com/styles/rss.css" type="text/css"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
>
 <channel>
  <title>Alessandro La Rosa&#039;s Forum Nokia Blog</title>
  <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog</link>
  <description>A Forum Nokia Blog</description>
  <pubDate>Mon, 23 Nov 2009 07:14:56 +0200</pubDate>
  <generator>http://www.lifetype.net</generator>
  <itunes:author>Forum Nokia</itunes:author>
  <itunes:category text="Technology">
    <itunes:category text="Tech News"/>
  </itunes:category>
  <itunes:image href="http://www.forum.nokia.com/piazza/blogs/imgs/forum_nokia_rss_logo.jpg"/>
    <item>
   <title>Guarana UI online Components Browser</title>
   <description>
    &lt;p&gt;
&lt;a href=&quot;http://blogs.forum.nokia.com/blog/forum-nokia-web-talks/2009/11/18/guarana-ui-a-jquery-based-ui-library-for-nokia-wrt-available&quot; title=&quot;Guarana UI framework launch&quot;&gt;Yesterday&lt;/a&gt;, the &lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Guarana_UI:_a_jQuery-Based_UI_Library_for_Nokia_WRT&quot; title=&quot;Guarana UI&quot;&gt;Guarana UI framework&lt;/a&gt; has been launched, with a &lt;strong&gt;complete set of ready-to-use components&lt;/strong&gt; that will definitely be useful to all &lt;a href=&quot;http://www.forum.nokia.com/Resources_and_Information/Explore/Web_Technologies/Web_Runtime/&quot; title=&quot;Web Runtime website&quot;&gt;&lt;strong&gt;Web Runtime&lt;/strong&gt;&lt;/a&gt; developers.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;a href=&quot;http://www.jappit.com/m/guaranabrowser/&quot; title=&quot;Guarana UI Components Browser&quot;&gt;&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/guarana_ui_browser.png&quot; alt=&quot;Guarana UI Components Browser&quot; width=&quot;606&quot; height=&quot;202&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It&#039;s now available a &lt;a href=&quot;http://www.jappit.com/m/guaranabrowser/&quot; title=&quot;Guarana UI Components Browser&quot;&gt;Guarana UI online Components Browser&lt;/a&gt;, that allows developers to &lt;strong&gt;quickly preview and use all the Guarana UI Components&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Soon it will feature &lt;strong&gt;tutorials and guidelines on Components usage, testing and customization.&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
If you have a &lt;strong&gt;WRT widget, a new Component or a proof-of-concept built by using Guarana UI&lt;/strong&gt;, and want to &lt;strong&gt;feature it on this page&lt;/strong&gt;, just drop me an email or a comment on this post. 
&lt;/p&gt;
&lt;p&gt;
Hope you enjoy it! :) 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/11/19/guarana-ui-online-components-browser</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/11/19/guarana-ui-online-components-browser</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/11/19/guarana-ui-online-components-browser</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>S60</category>
      
    <category>Web Runtime (WRT)</category>
         <pubDate>Thu, 19 Nov 2009 16:35:28 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Guarana UI online Components Browser</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Adobe Flash Lite Distributable dropped</title>
   <description>
    &lt;p&gt;
Just came back from a relaxing weekend, with a totally unrelaxing news: as reported, among others, by &lt;a href=&quot;http://www.leonardorisuleo.info/blog/&quot; title=&quot;Leonardo Risuleo&quot;&gt;Leonardo&lt;/a&gt;,  &lt;a href=&quot;http://www.biskero.org/?p=4290&quot;&gt;Alessandro&lt;/a&gt; and &lt;a href=&quot;http://mariamdholkawala.com/mobile/?p=611&quot;&gt;Mariam&lt;/a&gt;, &lt;a href=&quot;http://www.adobe.com/&quot; target=&quot;_blank&quot; title=&quot;adobe&quot;&gt;Adobe&lt;/a&gt; just dropped the &lt;a href=&quot;http://labs.adobe.com/technologies/distributableplayer/&quot; target=&quot;_blank&quot; title=&quot;Flash Lite Distributable Player&quot;&gt;Flash Lite Distributable Player&lt;/a&gt;, to entirely focus on &lt;a href=&quot;http://labs.adobe.com/technologies/flashplayer10/&quot; title=&quot;Flash 10.1&quot;&gt; Flash 10.1&lt;/a&gt; (for the mobile browser), &lt;a href=&quot;http://learn.adobe.com/wiki/display/air/Developer+FAQ&quot; title=&quot;Air Mobile&quot;&gt;Air Mobile&lt;/a&gt; (for standalone) and &lt;a href=&quot;http://www.adobe.com/products/flashlite/&quot; title=&quot;Flash Lite&quot;&gt;Flash Lite 4&lt;/a&gt; (for low-end devices).
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;img src=&quot;http://blogs.forum.nokia.com/distributableplayer_557x235.jpg&quot; /&gt;&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/distributableplayer_557x235.jpg&quot; /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
This is a huge, even if &lt;a href=&quot;http://www.openscreenproject.org/&quot; title=&quot;Open Screen Project&quot;&gt;someway predictable&lt;/a&gt;, news for all mobile developers and companies that have been and are currently focusing their efforts around the &lt;strong&gt;Flash Lite Distributable player&lt;/strong&gt; to provide their content to users.
&lt;/p&gt;
&lt;p&gt;
Given the central role of &lt;a href=&quot;http://www.nokia.com&quot;&gt;Nokia&lt;/a&gt; in supporting and contributing to &lt;strong&gt;Flash Lite&lt;/strong&gt;, and the maybe-related news of &lt;a href=&quot;http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Flash_Lite/Flash_Packager_Introduction.xhtml&quot; title=&quot;Forum Nokia online packager&quot;&gt;Forum Nokia&lt;/a&gt; and &lt;a href=&quot;http://www.swfpack.com/&quot; title=&quot;SWFPack&quot;&gt;Kuneri&lt;/a&gt; online packagers shutting down, I imagine some more news coming in the following days or weeks, that would help to clarify &lt;strong&gt;how and when Nokia devices, distributions channels and development tools will evolve.&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
Right now, we can just guess it&#039;ll take some time to have a new, &lt;strong&gt;clear strategy built around Flash on mobile&lt;/strong&gt;, and I&#039;d be glad to hear your opinions about this.
&lt;/p&gt;
&lt;p&gt;
Meanwhile, let&#039;s join &lt;a href=&quot;http://dalerankine.com/&quot; title=&quot;Dale Rankine&quot;&gt;Dale&lt;/a&gt; in &lt;a href=&quot;http://dalerankine.com/index.php/2009/11/goodbye-dandelion-the-death-of-adobes-distributable-flash-lite-player-solution/&quot;&gt;his minute of silence&lt;/a&gt; for the brave &lt;strong&gt;Dandelion&lt;/strong&gt;! :) 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/11/16/adobe-flash-lite-distributable-dropped</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/11/16/adobe-flash-lite-distributable-dropped</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/11/16/adobe-flash-lite-distributable-dropped</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>Flash</category>
      
    <category>General</category>
      
    <category>S60</category>
      
    <category>Series 40</category>
         <pubDate>Mon, 16 Nov 2009 09:43:59 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Adobe Flash Lite Distributable dropped</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Next Mobile Monday events in Italy</title>
   <description>
    &lt;p&gt;
If you are an &lt;strong&gt;Italian mobile developer&lt;/strong&gt;, or happen to be &lt;strong&gt;in Italy during November or December&lt;/strong&gt;, then the following &lt;a href=&quot;http://www.mobilemonday.it&quot;&gt;Mobile Monday&lt;/a&gt; events could interest you:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/mobilemonday.png&quot; /&gt;
&lt;/div&gt;
 &lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h3&gt;November 23rd in Rome: The User Applications&lt;/h3&gt;
&lt;p&gt;
Talks about mobile user applications together with &lt;span style=&quot;font-weight: bold&quot;&gt;Giovanni Gasbarrone&lt;/span&gt; from &lt;a href=&quot;http://www.telecom.it&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Telecom Italia&lt;/span&gt;&lt;/a&gt; and &lt;span style=&quot;font-weight: bold&quot;&gt;Kari Tuovinen&lt;/span&gt; from &lt;a href=&quot;http://www.nokia.com&quot;&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Nokia&lt;/span&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;h3&gt;December 14th in Milan: Application Developer Event&lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;
Are you in the application development business and want to &lt;strong&gt;get connected with other developers&lt;/strong&gt;? Want to share the questions and ideas you have? Do you want to hear more about the &lt;strong&gt;support for developers&lt;/strong&gt;? Come and join us in the Developer Event! 
&lt;/p&gt;
&lt;p&gt;
For further details you can visit the &lt;a href=&quot;http://www.mobilemonday.it&quot;&gt;Mobile Monday Italy website&lt;/a&gt;. Photos from the last event in &lt;strong&gt;Milan, on October 19th&lt;/strong&gt;, are also available on &lt;a href=&quot;http://www.flickr.com&quot;&gt;Flickr&lt;/a&gt;: &lt;a href=&quot;http://www.flickr.com/photos/momoitaly/sets/72157622501977121/show/&quot;&gt;Mobile Application Stores event photos&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
If you plan to be at one of these events let me know, I&#039;d be glad to meet other Nokia developers :)
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/10/30/next-mobilemonday-events-in-italy</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/10/30/next-mobilemonday-events-in-italy</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/10/30/next-mobilemonday-events-in-italy</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Event</category>
         <pubDate>Fri, 30 Oct 2009 15:46:51 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Next Mobile Monday events in Italy</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Porting Opera mobile widgets to S60 Web Runtime</title>
   <description>
    &lt;p&gt;
In the past weeks I&#039;ve done some experience with &lt;strong&gt;Opera mobile widgets&lt;/strong&gt;, and would like to share first some &lt;strong&gt;tips and guidelines &lt;/strong&gt;about &lt;strong&gt;porting &lt;/strong&gt;a widget, originally developed for the Vodafone/Opera widget runtime, &lt;strong&gt;to the S60 Web Runtime platform&lt;/strong&gt;. Both platforms use &lt;strong&gt;Web standards such as HTML, CSS and JavaScript&lt;/strong&gt;, and the greatest differences are brought by the runtimes themselves, as will be explained by the following points.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/opera_to_webruntime.png&quot; border=&quot;0&quot; width=&quot;298&quot; height=&quot;92&quot; /&gt;
&lt;/div&gt;
 &lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;h3&gt;Differences&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Widgets&#039; structure is similar for both runtimes&lt;/strong&gt;. A widget must be composed of a single HTML file, and could allow multiple JS, CSS and image files. In both cases the widget is packed by using a &lt;strong&gt;standard ZIP compression&lt;/strong&gt;, but using &lt;strong&gt;different file extensions: WGZ for Web Runtime, and WGT for Opera widgets&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
The only important &lt;strong&gt;structure difference is represented by the configuration file&lt;/strong&gt;: config.xml for Opera widgets, Info.plist for Web runtime. Specifications for both files can be found here:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-BBA0299B-81B6-4508-8D5B-5627206CBF7B-GENIDd0e11802.html&quot;&gt;Info.plist specifications&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://oxine.opera.com/widgets/documentation/widget-configuration.html&quot;&gt;config.xml specifications&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Similarities&lt;/h3&gt;
&lt;p&gt;
Luckily enough, &lt;strong&gt;some useful objects and methods work on both environments&lt;/strong&gt;, allowing for faster and safer widget porting. Some examples are:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;widget &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-DF4D8745-B6D4-4BC4-AF2D-0F71F28E9F27.html&quot;&gt;setPreferenceForKey()&lt;/a&gt; and &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-E8E82EBC-05E6-49A2-9451-BF02986BCEE8.html&quot;&gt;preferenceForKey()&lt;/a&gt; methods&lt;/li&gt;
	&lt;li&gt;widget &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-EFCCE3CA-A1D2-4CD0-8D10-BD6320B19E5A.html&quot;&gt;openURL() method&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Not all methods of the widgets objects are supported by both runtimes. For full details:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-6CD2776F-A868-4280-967F-4EB426212556.html&quot;&gt;Web Runtime widget object&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://dev.opera.com/libraries/widgetobject/&quot;&gt;Opera widget object API&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;1. Managing the user interaction&lt;/h3&gt;
&lt;p&gt;
Both widget runtimes allow to choose between &lt;strong&gt;cursor navigation&lt;/strong&gt; (so, with the classical mouse cursor) or &lt;strong&gt;tabbed navigation&lt;/strong&gt;. What changes is the way to declare which mode the widget should use. On the &lt;strong&gt;Opera runtime&lt;/strong&gt;, the tabbed navigation mode must be declared in the configuration file, by using the &lt;strong&gt;&amp;lt;nocursor /&amp;gt;&lt;/strong&gt; tag, while on &lt;strong&gt;Web Runtime&lt;/strong&gt; this can be easily handled from JavaScript, by using the &lt;a href=&quot;http://library.forum.nokia.com/topic/Web_Developers_Library/GUID-87B333A2-FDA1-4BC3-8803-C5702C5869A1.html&quot;&gt;setNavigationEnabled()&lt;/a&gt; or &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-17919C9E-333E-4908-B6E4-38BBDCAADEB2.html&quot;&gt;setNavigationType()&lt;/a&gt; methods.
&lt;/p&gt;
&lt;h3&gt;2. Tabbed navigation differences&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Tabbed navigation works similarly in both cases&lt;/strong&gt;, allowing users to move focus by using the &lt;strong&gt;4-way navigation pad&lt;/strong&gt;. Anyway, there&#039;s an important difference in the way the Opera runtime moves focus: apart from standard links (&amp;lt;a&amp;gt; tags) and elements with onclick handlers, the &lt;strong&gt;Opera runtime also focuses standard images&lt;/strong&gt; (&amp;lt;img&amp;gt; tags) even if they have no onclick handlers defined. This could bring to &lt;strong&gt;weird behaviors if not appropriately taken into account&lt;/strong&gt;, and could confuse users in their interaction 
&lt;/p&gt;
&lt;h3&gt;3. Screen size&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Opera widgets&lt;/strong&gt; are currently constrained to a &lt;strong&gt;subportion of the available display resolution&lt;/strong&gt;, by leaving the upper part of the screen for the widget information (e.g.: title) and the lower part for standard softkeys. The &lt;strong&gt;Web Runtime allows for full-screen widgets&lt;/strong&gt;, so layouts should be appropriately resized to &lt;strong&gt;benefit from this extra space&lt;/strong&gt;.
&lt;/p&gt;
&lt;h3&gt;4. CSS opacity&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Web Runtime does not currently support alpha transparency for HTML elements&lt;/strong&gt;, while the Opera widget does. When porting, the opacity should be so appropriately managed, by choosing a suitable alternative effect, or by removing it. A possible way to implement opacity in Web Runtime is represented by the use of &lt;strong&gt;PNG24 images with alpha transparency&lt;/strong&gt;, well supported by the Web Runtime platform.
&lt;/p&gt;
&lt;h3&gt;5. GIF support&lt;/h3&gt;
&lt;p&gt;
A known issue with &lt;strong&gt;first Web Runtime versions&lt;/strong&gt; was the &lt;strong&gt;lack of support for animated GIF images&lt;/strong&gt;, so you should take this into account if your widget uses them. In this case, some &lt;strong&gt;JavaScript-based workarounds&lt;/strong&gt; are available on Forum Nokia Wiki:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/How_to_create_animated_images_in_Web_Runtime_widgets&quot; title=&quot;How to create animated images in Web Runtime widgets&quot;&gt;How to create animated images in Web Runtime widgets&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;6. Move the icon&lt;/h3&gt;
&lt;p&gt;
The &lt;strong&gt;Opera runtime allows to use any paths for the widget&#039;s icon&lt;/strong&gt;, just specifying it in the configuration file. When porting to &lt;strong&gt;Web runtime, the icon has instead to be moved to the predefined path, that is: &#039;&amp;lt;widget_root&amp;gt;/icon.png&#039;&lt;/strong&gt;, without the need to specify this in any configuration file.
&lt;/p&gt;
&lt;h3&gt;7. Display rotations&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Opera runtime does not allow to block the display orientation&lt;/strong&gt; to landscape or portrait. Web Runtime allows to do this, by using the JavaScript methods:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-A8DAB890-1BB6-42C6-8448-05F38EAFE985.html&quot;&gt;widget.setDisplayLandscape()&lt;/a&gt; to force landscape orietation&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-69A2FEC3-0BB7-4165-A473-76F1823A4534.html&quot;&gt;widget.setDisplayPortrait()&lt;/a&gt; to force portrait mode &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
So, you could use this functionality to &lt;strong&gt;let your widget display in only one orientation&lt;/strong&gt;, if your widget needs that.
&lt;/p&gt;
&lt;h3&gt;8. Home screen&lt;/h3&gt;
&lt;p&gt;
One of the cool features of WRT widgets is, on &lt;strong&gt;latest S60 5th edition devices&lt;/strong&gt;, the possibility to &lt;strong&gt;have your widget on the home screen of the device&lt;/strong&gt;, so always visible to the user.
&lt;/p&gt;
&lt;p&gt;
On the other side, &lt;strong&gt;Opera widgets allow for a &amp;quot;docked&amp;quot; version of the widget&lt;/strong&gt;, so allowing to display any dynamic information instead of its static icon.
&lt;/p&gt;
&lt;p&gt;
Home screen and docked widget &lt;strong&gt;concepts are really similar&lt;/strong&gt;, since they actually allow to display smaller versions of the widget. When porting, the &lt;strong&gt;resolution should be taken into account&lt;/strong&gt;: size available for docked widgets is usually smaller than the one available for home screen widgets. So, more space and more content :)
&lt;/p&gt;
&lt;h3&gt;9. Customizable softkeys&lt;/h3&gt;
&lt;p&gt;
One &lt;strong&gt;big plus of Web Runtime widgets&lt;/strong&gt;, when compared to Opera ones, is the &lt;strong&gt;possibility to customize the softkeys&lt;/strong&gt;, allowing to add &lt;strong&gt;custom items and functionalities&lt;/strong&gt; to both the left and right softkey menus.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
For full details, check out the &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-857CF71D-3398-40C2-981A-DEC428A7BA6B.html&quot;&gt;JavaScript menu object reference&lt;/a&gt;. 
&lt;/p&gt;
&lt;h3&gt;10. Network access&lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Opera mobile widgets need to declare the remote hosts&lt;/strong&gt; they want to connect to, as specified by the &lt;a href=&quot;http://dev.opera.com/articles/view/opera-widgets-security-model/&quot;&gt;Opera Widgets security model&lt;/a&gt;. When porting to &lt;strong&gt;Web Runtime, this step is no more necessary&lt;/strong&gt;: Web Runtime widgets can connect to any host, without the need to declare them in a configuration file. 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/08/28/porting-opera-mobile-widgets-to-s60-web-runtime</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/08/28/porting-opera-mobile-widgets-to-s60-web-runtime</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/08/28/porting-opera-mobile-widgets-to-s60-web-runtime</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>General</category>
      
    <category>S60</category>
      
    <category>Web Runtime (WRT)</category>
         <pubDate>Fri, 28 Aug 2009 12:27:54 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Porting Opera mobile widgets to S60 Web Runtime</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Mobilise your website, build a Web Runtime launcher in few easy steps!</title>
   <description>
    &lt;p&gt;
Today I&#039;d like to give a first preview a new little tool that &lt;strong&gt;allows users, developers and websites&#039; owners to create a mobile launcher WRT widget for their websites&lt;/strong&gt; in few, easy steps: the &lt;a href=&quot;http://www.jappit.com/mobiliseyourwebsite/&quot; title=&quot;Mobilise your website&quot;&gt;Website Launcher generator&lt;/a&gt;!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;a href=&quot;http://www.jappit.com/mobiliseyourwebsite/&quot; title=&quot;Mobilise your website&quot;&gt;&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/mobiliseyourwebsite.png&quot; alt=&quot;Mobilise your website: website screenshot&quot; width=&quot;480&quot; height=&quot;347&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The website offers a simple interface where, filling out some required fields (e.g.: widget&#039;s name, website URL) and optional fields (e.g: widget&#039;s icon) it&#039;s possible to &lt;strong&gt;create and immediately download the Web Runtime widget&lt;/strong&gt; for the desired website.
&lt;/p&gt;
&lt;p&gt;
A &lt;strong&gt;widgets&#039; gallery&lt;/strong&gt; is also available, to &lt;strong&gt;download widgets created and shared by other users&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;a href=&quot;http://www.jappit.com/mobiliseyourwebsite/index.php?page=gallery&quot; title=&quot;Widget&#039;s gallery&quot;&gt;&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/websitelaunchergallery.png&quot; alt=&quot;Gallery screenshot&quot; width=&quot;480&quot; height=&quot;215&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The service is still in its early development phase&lt;strong&gt;&lt;/strong&gt;, and I&#039;ll be glad to have any kinds of feedback :) 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/07/02/mobilise-your-website-build-a-launcher-in-few-easy-steps</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/07/02/mobilise-your-website-build-a-launcher-in-few-easy-steps</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/07/02/mobilise-your-website-build-a-launcher-in-few-easy-steps</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>General</category>
      
    <category>S60</category>
      
    <category>Web Runtime (WRT)</category>
         <pubDate>Thu, 02 Jul 2009 16:35:17 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Mobilise your website, build a Web Runtime launcher in few easy steps!</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>An alternative approach to Web Runtime widgets&#039; update</title>
   <description>
    &lt;p&gt;
Usually, when a &lt;strong&gt;mobile application needs an update&lt;/strong&gt;, it is necessary to &lt;strong&gt;release a new version&lt;/strong&gt;, and to &lt;strong&gt;deploy &lt;/strong&gt;this new version on all the devices where the old version was installed. This includes scenarios as bug fixing, releases of new features, and also the smallest code changes.
&lt;/p&gt;
&lt;p&gt;
While many mobile users know how to perform an update of an application, &lt;a href=&quot;http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/&quot; title=&quot;Web Runtime website&quot;&gt;Web Runtime&lt;/a&gt; widgets offer an &lt;strong&gt;attractive alternative approach&lt;/strong&gt; that could both help the less experienced users, and bring &lt;strong&gt;some important benefits&lt;/strong&gt; to &lt;a href=&quot;http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/&quot; title=&quot;Web Runtime website&quot;&gt;Web Runtime&lt;/a&gt; itself.
&lt;/p&gt;
&lt;p&gt;
Summarizing this approach in few words, &lt;strong&gt;a Web Runtime widget can download new code with simple HTTP requests&lt;/strong&gt;, and use it to &lt;strong&gt;replace existing code&lt;/strong&gt; (think about bug fixing, or code changes more in general) or to &lt;strong&gt;add new features&lt;/strong&gt; to itself, &lt;strong&gt;without requiring any extra efforts from the user&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
So, the &lt;strong&gt;update process become much smoother&lt;/strong&gt; than with the classical application updates. What this means is that updates become &lt;strong&gt;transparent to the user&lt;/strong&gt;, since all he needs to do is to allow its widget to connect to network, to retrieve the new code.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How it works&lt;/strong&gt; is detailed is this Forum Nokia Wiki article:
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/How_to_update_WRT_widgets_without_installing_a_new_version&quot; title=&quot;How to update WRT widgets without installing a new version&quot;&gt;How to update WRT widgets without installing a new version&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
To summarize the &lt;strong&gt;limits and benefits of this approach&lt;/strong&gt;: 
&lt;/p&gt;
&lt;h3&gt;Limits&lt;/h3&gt;
&lt;p&gt;
Current &lt;strong&gt;Web Runtime JavaScript APIs&lt;/strong&gt; allow widgets to &lt;strong&gt;locally save textual data&lt;/strong&gt;, with the &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-E8E82EBC-05E6-49A2-9451-BF02986BCEE8.html&quot; title=&quot;WRT preferenceForKey method&quot;&gt;preferenceForKey()&lt;/a&gt; and &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-DF4D8745-B6D4-4BC4-AF2D-0F71F28E9F27.html&quot; title=&quot;WRT setPreferenceForKey() method&quot;&gt;setPreferenceForKey()&lt;/a&gt; functions.
&lt;/p&gt;
&lt;p&gt;
So, the new &lt;strong&gt;JavaScript code can be easily saved and used&lt;/strong&gt; for all the subsequent usage sessions of the widget, without the need to download it each time. But all the &lt;strong&gt;binary data&lt;/strong&gt;, for example images, simply &lt;strong&gt;cannot&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
So, &lt;strong&gt;when some binary data needs to be added or updated, this approach doesn&#039;t work&lt;/strong&gt;, and the only way is to deploy a whole new version of the  widget, so updating in the classical way.
&lt;/p&gt;
&lt;h3&gt;Advantages&lt;/h3&gt;
&lt;p&gt;
One major problem with Web Runtime widgets is that, &lt;strong&gt;when a new
version is installed&lt;/strong&gt; over an older one, &lt;strong&gt;all the data saved from the previous version gets lost&lt;/strong&gt;. So, the new version of the widget cannot use the data saved by
its previous version.
&lt;/p&gt;
&lt;p&gt;
With the approach presented here this does not happen, since the widget isn&#039;t &amp;quot;actually&amp;quot; updated.
&lt;/p&gt;
&lt;p&gt;
Repeating what already told, the &lt;strong&gt;greatest advantage&lt;/strong&gt; of this approach is surely the &lt;strong&gt;better and smoother user-experience&lt;/strong&gt;, since updates (with the limits already mentioned) become simple as doing network requests.
&lt;/p&gt;
&lt;h3&gt;Security considerations&lt;/h3&gt;
&lt;p&gt;
One could think about this as a major security hole for Web Runtime widgets. While it is true that a &lt;strong&gt;malicious developer could inject evil code&lt;/strong&gt; in his own widgets, this is &lt;strong&gt;equally true with the other mobile technologies&lt;/strong&gt;, even if with different approaches than the one described here. 
&lt;/p&gt;
&lt;p&gt;
Also, and most important, the &lt;strong&gt;Web Runtime sandbox and security&lt;/strong&gt; measures guarantee that all the operations dealing with &lt;strong&gt;sensitive data&lt;/strong&gt; or with potentially costing functionalities (e.g.: network requests, sms sending) are &lt;strong&gt;prompted to the user for its explicit permission&lt;/strong&gt;.
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/06/13/an-alternative-approach-to-web-runtime-widgets-update</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/06/13/an-alternative-approach-to-web-runtime-widgets-update</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/06/13/an-alternative-approach-to-web-runtime-widgets-update</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>S60</category>
      
    <category>Web Runtime (WRT)</category>
         <pubDate>Sat, 13 Jun 2009 20:28:26 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>An alternative approach to Web Runtime widgets&#039; update</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Web Runtime JavaScript battery and network signal components</title>
   <description>
    &lt;p&gt;
Developing &lt;strong&gt;Widgets&lt;/strong&gt; for &lt;a href=&quot;http://www.forum.nokia.com/Technology_Topics/Web_Technologies/Web_Runtime/&quot; title=&quot;Web Runtime homepage&quot;&gt;&lt;strong&gt;Web Runtime&lt;/strong&gt;&lt;/a&gt; is absolutely &lt;strong&gt;easy and fun&lt;/strong&gt;, specially if you come from &lt;strong&gt;Web development&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
While there are a lot of libraries and components that can be easily adapted and used within &lt;strong&gt;WRT Widgets&lt;/strong&gt;, there are still not many &lt;strong&gt;components specifically tought and designed for WRT&lt;/strong&gt; itself.
&lt;/p&gt;
&lt;p&gt;
So, here are &lt;strong&gt;my first Web Runtime components&lt;/strong&gt;: the &lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Battery_JavaScript_component_for_WRT_1.0_and_1.1&quot; title=&quot;Web Runtime JavaScript battery component&quot;&gt;WRT JavaScript Battery&lt;/a&gt; and &lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Web_Runtime_Network_Signal_JavaScript_component&quot; title=&quot;WRT Network Signal JavaScript component&quot;&gt;Network Signal&lt;/a&gt; components, &lt;strong&gt;supporting both WRT 1.0 and 1.1&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/wrt_battery_widget.png&quot; alt=&quot;WRT Battery component screenshot&quot; width=&quot;209&quot; height=&quot;271&quot; /&gt; &lt;img src=&quot;http://www.forum.nokia.com/piazza/wiki/images/c/c0/Wrt_networksignal_widget.png&quot; alt=&quot;WRT Network Signal component screenshot&quot; width=&quot;200&quot; height=&quot;271&quot; /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
You can &lt;strong&gt;view and download the full implementation&lt;/strong&gt; of both components from &lt;a href=&quot;http://wiki.forum.nokia.com&quot; title=&quot;Forum Nokia Wiki&quot;&gt;Forum Nokia Wiki&lt;/a&gt;:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Battery_JavaScript_component_for_WRT_1.0_and_1.1&quot; title=&quot;Web Runtime JavaScript battery component&quot;&gt;Battery JavaScript component for WRT 1.0 and 1.1&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Web_Runtime_Network_Signal_JavaScript_component&quot; title=&quot;Web Runtime Network Signal JavaScript component&quot;&gt;Web Runtime Network Signal JavaScript component&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Feedbacks are welcome&lt;/strong&gt;! :)
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/06/04/web-runtime-javascript-battery-component</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/06/04/web-runtime-javascript-battery-component</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/06/04/web-runtime-javascript-battery-component</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>S60</category>
      
    <category>Web Runtime (WRT)</category>
         <pubDate>Thu, 04 Jun 2009 17:23:52 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Web Runtime JavaScript battery and network signal components</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Mobilising websites: guidelines for WRT Widgets development, part 2</title>
   <description>
    &lt;p&gt;
Some days ago I&#039;ve put together &lt;a href=&quot;http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/05/19/mobilising-websites-guidelines-for-widgets-development-part-1&quot; title=&quot;Mobilising websites: guidelines for WRT Widgets development, part 1&quot;&gt;5 first guidelines&lt;/a&gt; that I usually find useful when thinking about any new &lt;strong&gt;WRT Widget&lt;/strong&gt;. These can be summarized as follows:
&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;strong&gt;Widgets and Websites&lt;/strong&gt;: same technologies, but with some &lt;strong&gt;differences&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;Implement an &lt;strong&gt;update mechanism&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;Create &lt;strong&gt;viral effect&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Design an application&lt;/strong&gt;, not a website&lt;/li&gt;
	&lt;li&gt;Carefully consider &lt;strong&gt;network connectivity&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Today I would like to continue this series, with new points that will hopefully help &lt;strong&gt;Web Runtime Widgets developers&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;6. Think about scrolling&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, this could perfectly be a subpoint of section 4 (&amp;quot;Design an application, not a website&amp;quot;), but I really think this point is important when thinking about a WRT widget. While scrolling is something usual on any (mobile or not) website, when you think about a widget, compared to a website, you want a &lt;strong&gt;slicker and faster experience&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
So, while standard browser scrolling is a fast option to allow users to view large portions of data, there are surely better or refined alternatives, that will allow a better user experience. &lt;strong&gt;Usual scenarios&lt;/strong&gt;, where implementing &lt;strong&gt;custom scrolling is a good option&lt;/strong&gt;, could be:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;a classic widget with &lt;strong&gt;a header and a footer&lt;/strong&gt;, where you want to scroll content but want to always keep fixed and visible these top and bottom bars (as well as other elements)&lt;/li&gt;
	&lt;li&gt;a widget where you want to use and manage &lt;strong&gt;custom scrollbars&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;a scrolling mechanism where you want to allow users to do &lt;strong&gt;fast scrolling&lt;/strong&gt; (e.g.: pressing left/right keys, or double pressing up/down keys) &lt;/li&gt;
	&lt;li&gt;a &lt;strong&gt;smooth scrolling&lt;/strong&gt; (or similar) effect&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
While for some scenarios CSS properties will do the job (e.g.: set &lt;strong&gt;&amp;quot;overflow-y: auto&amp;quot;&lt;/strong&gt; to tell a single html container to &lt;strong&gt;vertically scroll its content&lt;/strong&gt;, if higher than its own height), for others you must dig into JavaScript, and write your own customized code. Check out how &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-78D2B232-BC16-4633-8B66-DCD0C496B354.html&quot; target=&quot;_blank&quot; title=&quot;STEW Web Runtime Widget&quot;&gt;STEW&lt;/a&gt; for an example of simple, CSS based scrolling with fixed header.
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/stew_scrollable_content.jpg&quot; alt=&quot;WRT Widget STEW vertical scrolling&quot; width=&quot;610&quot; height=&quot;235&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;7. Prepare different layouts for different resolutions
&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
When designing a WRT widget, you basically have 2 choices:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;design a &lt;strong&gt;layout that adapts to different screen resolutions&lt;/strong&gt; (e.g.: using css properties like &#039;width: 100%&#039;)&lt;/li&gt;
	&lt;li&gt;design a &lt;strong&gt;single layout for each resolution/orientation&lt;/strong&gt; that you want to support&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
While the first option could seem someway simpler, the second one turns out to be the more attractive, both for users and developers. The &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-78D2B232-BC16-4633-8B66-DCD0C496B354.html&quot; target=&quot;_blank&quot; title=&quot;STEW Web Runtime Widget&quot;&gt;STEW&lt;/a&gt; example Widgets shows 2 different layouts for the different display orientations.
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/stew_different_layouts.jpg&quot; alt=&quot;WRT Widget STEW different layouts&quot; width=&quot;610&quot; height=&quot;323&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
While this make sense for a simple display rotation, it does even more when you want to support both S60 3rd and 5th edition device with a single widget. Not only for the totally &lt;strong&gt;different display resolutions&lt;/strong&gt;, but also for the &lt;strong&gt;different input methods&lt;/strong&gt;, that allow users on 5th edition to &lt;strong&gt;interact by touches&lt;/strong&gt;, so needing particular &lt;strong&gt;attention to specific guidelines&lt;/strong&gt;, as you can read on Forum Nokia Library:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Design_and_User_Experience_Library/GUID-3143A96B-9285-4D4E-8BF1-1AA1E472C9AE.html&quot; target=&quot;_blank&quot;&gt;http://library.forum.nokia.com/index.jsp?topic=/Design_and_User_Experience_Library/GUID-3143A96B-9285-4D4E-8BF1-1AA1E472C9AE.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;8. Use Platform Services
&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Platform Service really are the key for success of Web Runtime. Without them, you could not build anything more than plain, installable websites. You must not use them &amp;quot;because it&#039;s cool&amp;quot;, but because their purpose its clear: &lt;strong&gt;access user- or device-related data, that can bring added value to your user, and so to your application&lt;/strong&gt;. Simple examples go from access to plain network signal/battery level, to access to Location for LBS applications.
&lt;/p&gt;
&lt;p&gt;
But, &lt;strong&gt;how to mantain compatibility between WRT 1.0 and 1.1&lt;/strong&gt;? This Forum Nokia Wiki article shows how to check if Platform Services are supported in a particular runtime, so that you can accordingly manage your widget functionalities depending on it, without building two different versions of your Widget:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Checking_for_S60_Platform_Services_support_in_a_WRT_widget&quot; target=&quot;_blank&quot;&gt;&amp;nbsp;http://wiki.forum.nokia.com/index.php/Checking_for_S60_Platform_Services_support_in_a_WRT_widget &lt;br /&gt;
	&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;9. Use animations and transitions
&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Remember the &amp;quot;good old&amp;quot; mobile Web? Ok, now forget it ;)
&lt;/p&gt;
&lt;p&gt;
As you probably already know, S60 browser offers a &lt;strong&gt;powerful JavaScript environment&lt;/strong&gt; to perform quite cool effects within your Widget. So, don&#039;t rely on the concept of a static, overly simple mobile Web, and consider all the &lt;strong&gt;benefits that good-designed transitions can bring to your application&lt;/strong&gt;. Do you want some hints, right? :)
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/Mobile_Design_Patterns:_Screen_Transitions&quot; target=&quot;_blank&quot;&gt;http://wiki.forum.nokia.com/index.php/Mobile_Design_Patterns:_Screen_Transitions&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=v1eqNkhh0eI&quot; target=&quot;_blank&quot;&gt;http://www.youtube.com/watch?v=v1eqNkhh0eI&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;10. It&#039;s full JavaScript, but it&#039;s not full power!&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, point 9 says you should not be shy to implement cool effects within your Widget. This is true, but &lt;strong&gt;full JavaScript engine does not mean you can do the same things you do on desktop browsers&lt;/strong&gt;. And so, never think you can use full-blown JavaScript libraries, without worrying that much about their content and functionalities. So, what to consider before adopting a particular library?
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Its size&lt;/strong&gt;: even if it&#039;s locally deployed (so network traffic and delay is not a problem), you could encounter &lt;strong&gt;slow responsiveness&lt;/strong&gt; of your Widget if you use BIG libraries (think about Dojo)&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Its purpose&lt;/strong&gt;: do you really need a library? Many libraries offers HTML components, but most of times they&#039;re not suitable for a mobile application, due to different factors (e.g.: screen size, different interaction modes). Also, most of times JavaScript libraries include big &lt;strong&gt;portions of code to solve desktop browsers&#039; incompatibilities&lt;/strong&gt;, but this code is (fortunately) useless in WRT environment.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Its support&lt;/strong&gt;: there are a lot of libraries that use objects still not available in S60 browser environment. An example is the &lt;strong&gt;&#039;canvas&#039; object&lt;/strong&gt;: WRT Widgets do not have it, so check if your library uses it.&lt;/li&gt;
&lt;/ul&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/05/21/mobilising-websites-guidelines-for-wrt-widgets-development-part-2</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/05/21/mobilising-websites-guidelines-for-wrt-widgets-development-part-2</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/05/21/mobilising-websites-guidelines-for-wrt-widgets-development-part-2</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>S60</category>
      
    <category>Web Runtime (WRT)</category>
         <pubDate>Thu, 21 May 2009 14:43:54 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Mobilising websites: guidelines for WRT Widgets development, part 2</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Mobilising websites: guidelines for WRT Widgets development, part 1</title>
   <description>
    &lt;p&gt;
Since there&#039;s a lot of excitement around &lt;strong&gt;mobile Web&lt;/strong&gt;, and particularly about &lt;strong&gt;WRT Widgets&lt;/strong&gt;, I started thinking about which possible guidelines could help both Web and mobile developers to face this new opportunity. Of course, for developers already familiar with WRT and/or mobile environment, most of these points could sound quite obvious: &lt;strong&gt;I would be glad to have any kind of feedbacks about them&lt;/strong&gt;, and to know which other points you consider important in WRT Widgets development.
&lt;/p&gt;
&lt;p&gt;
So, let&#039;s start. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;
1. Widgets are not Websites
&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Building Widgets with Web technologies does not mean that you can reuse all common patterns found on the Web itself. Some examples are:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Multiple pages&lt;/strong&gt;: Widgets are what commonly known as &amp;quot;&lt;strong&gt;single page applications&lt;/strong&gt;&amp;quot;. This means that, if you want to show another &amp;quot;page&amp;quot; to your users, you cannot simply let it &amp;quot;navigate&amp;quot; to another page: you have to do it by manually &lt;strong&gt;manipulating the DOM&lt;/strong&gt; of the only page you have. &lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Browsers&#039; back and forward button&lt;/strong&gt;: you have not such a navigation paradigm within widgets since, as told, widgets do not have the standard &amp;quot;page&amp;quot; concept. So, you cannot assume that your users will be automatically able to &amp;quot;go back&amp;quot; within your widgets screens: you must take care of implementing all the navigational logic by your own. Also, no standard &lt;strong&gt;&amp;quot;reload&amp;quot; functionality&lt;/strong&gt; is available: if you want to reload your Widget&#039;s content, you have to programmatically do it.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Content is (mainly) local&lt;/strong&gt;: one big plus of Widgets versus mobile Websites is that &lt;strong&gt;you can deploy all the resources you want (textual and image ones) on the device itself&lt;/strong&gt;, packaging them within the .wgz file itself, and avoiding the need for the user to connect to network to retrieve those resources. Of course, this makes sense only for static data, but it&#039;s anyway a point you should never forget when designing a new WRT widget. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;2. Let it update!
&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;
WRT Widgets are by all means mobile applications&lt;/strong&gt;. This means that, when you want to add or modify some of its functionalities, most of times you have to release a new version of the application itself. So, it is recommended that you &lt;strong&gt;implement an update mechanism within your Widget itself&lt;/strong&gt;, so that the user can check (or the widget itself, e.g. automatically at startup) if there&#039;s a new version of your widget.
&lt;/p&gt;
&lt;p&gt;
Fortunately, you can find a &lt;strong&gt;ready-to-use code snippet&lt;/strong&gt; that does exactly this on &lt;strong&gt;Forum Nokia Wiki&lt;/strong&gt;:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/How-to_create_self-updating_WRT_widgets&quot; target=&quot;_blank&quot;&gt;http://wiki.forum.nokia.com/index.php/How-to_create_self-updating_WRT_widgets&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;3. Create viral effect&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
When you&#039;re on a website, you can often &lt;strong&gt;suggest a webpage to a friend&lt;/strong&gt; by sending him an email. So, why should you not do it on a mobile device? So, you could let your users send your Widget download link by email, just putting a link as the following:
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;font-family: courier new,courier&quot;&gt;&amp;lt;a href=&amp;quot;mailto:test@test.com&amp;amp;subject=My Widget&amp;amp;body=Dowload this great Widget! http://www.yourwidgetlink.com&amp;quot;&amp;gt;Email&amp;lt;/a&amp;gt; &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
but, being on a mobile phone, why not allow them to send a simple SMS message? You can do it with a link like this:
&lt;/p&gt;
&lt;p&gt;
&lt;span style=&quot;font-family: courier new,courier&quot;&gt;&amp;lt;a href=&amp;quot;sms:1234567890&amp;amp;body=download this great Widget! http://www.yourwidgetlink.com&amp;quot;&amp;gt;SMS&amp;lt;/a&amp;gt; &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Both these links open up the email/SMS editor, respectively, with some precompiled data. So that your user has only to push the &amp;quot;Send&amp;quot; button.
&lt;/p&gt;
&lt;p&gt;
But, wouldn&#039;t be great to &lt;strong&gt;integrate this functionality within your own Widget&lt;/strong&gt;, without letting the user leave your app? If you think so (and you should :)), check out this Forum Nokia Wiki article, that explains &lt;strong&gt;how to send SMS messages using Platform Services&lt;/strong&gt;: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://wiki.forum.nokia.com/index.php/CS001242_-_Sending_SMS_messages_in_WRT&quot; target=&quot;_blank&quot;&gt;http://wiki.forum.nokia.com/index.php/CS001242_-_Sending_SMS_messages_in_WRT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;4. Design an application, not a website
&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Ok, I&#039;m insisting a bit on this point :)
&lt;/p&gt;
&lt;p&gt;
Even if technologies are the same, you should be aware of the &lt;strong&gt;differences between approaches of an user toward a mobile website and a WRT Widget&lt;/strong&gt;. For an end user, it has never been that important which technology you use to develop an application. Basically, &lt;strong&gt;if he sees an icon, he thinks about an application&lt;/strong&gt;, and behaves accordingly. So, apart from the already mentioned ones (local content, different navigation paradigms) another important point to mention is that (hopefully) most of times your WRT widget will use a &lt;strong&gt;tabbed nagivation mode&lt;/strong&gt;, or a &lt;strong&gt;totally custom approach implemented via JavaScript&lt;/strong&gt;. So, differently from a Website, you&#039;ll have your users moving around jumping from a focusable item to the next, instead of moving a cursor around. Consider this, its limits, but above all the potential to build the best possible navigation for your end users. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;5. Go remote only if needed (and if covered..)&lt;/span&gt;&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
This will seem quite obvious for any mobile application developers but, seeing it from a Web developer perspective, going remote isn&#039;t really an option, since the &lt;strong&gt;Web IS remote&lt;/strong&gt; (ok, forget about the cache ;)). So, when mobilising your website, you should take care of considering some basic points related to network access:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Network traffic costs&lt;/li&gt;
	&lt;li&gt;Network coverage is not everywhere&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
So, to really use the potential of a WRT widget, when compared to a standard mobile Website, here are some key points to consider:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Implement your own local cache&lt;/strong&gt;: current WRT capabilites allow you to save only textual data, and &lt;strong&gt;persist this data between different usage sessions&lt;/strong&gt;, by using &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-DF4D8745-B6D4-4BC4-AF2D-0F71F28E9F27.html&quot; target=&quot;_blank&quot;&gt;setPreferenceForKey()&lt;/a&gt; and &lt;a href=&quot;http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-E8E82EBC-05E6-49A2-9451-BF02986BCEE8.html&quot; target=&quot;_blank&quot;&gt;preferenceForKey()&lt;/a&gt; method. By using this capability, you can avoid unnecessary requests and give more responsiveness to your Widget.&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Design your Widget also for offline usage&lt;/strong&gt;: this is surely not suited for all scenarios (imagine a real-time quotes widget) but, even if your widget accesses network to retrieve information, you could let your users use it even when offline, with a someway limited subset of functionalities (e.g.: you could let them view the last downloaded information)&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Implement a delayed update mechanism&lt;/strong&gt;: imagine you&#039;re building a WRT game with remote scores table. You could let your user play your game even when offline, and then send its scores to your server only when he&#039;s under network coverage again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;Feedbacks are welcome!&lt;/span&gt;&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
These are the first 5 points (not necessarily in order of importance) I would like to comment with you all. Meanwhile, part 2 of this guide is on the go :)
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/05/19/mobilising-websites-guidelines-for-widgets-development-part-1</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/05/19/mobilising-websites-guidelines-for-widgets-development-part-1</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2009/05/19/mobilising-websites-guidelines-for-widgets-development-part-1</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Browsing</category>
      
    <category>S60</category>
      
    <category>Web Runtime (WRT)</category>
         <pubDate>Tue, 19 May 2009 10:13:39 +0300</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Mobilising websites: guidelines for WRT Widgets development, part 1</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Happy Christmas with Java ME Google Calendar :)</title>
   <description>
    &lt;p&gt;
Hi all!
&lt;/p&gt;
&lt;p&gt;
This is my first post on these Blogs as Forum Nokia Champion, so here&#039;s a bit about me.
&lt;/p&gt;
&lt;p&gt;
My name is &lt;strong&gt;Alessandro La Rosa&lt;/strong&gt;, and I&#039;m a &lt;strong&gt;mobile developer&lt;/strong&gt; from Rome, working as CTO for &lt;strong&gt;FuelMobile&lt;/strong&gt;, an Italian mobile company, while in free time I manage a personal blog about mobile development: &lt;a href=&quot;http://www.jappit.com&quot; target=&quot;_blank&quot; title=&quot;Jappit blog&quot;&gt;www.jappit.com&lt;/a&gt;. I divide my mobile passion mainly among &lt;a href=&quot;http://java.sun.com/javame/index.jsp&quot; target=&quot;_blank&quot; title=&quot;Java ME website&quot;&gt;Java ME&lt;/a&gt; (my first love :)), &lt;a href=&quot;http://www.adobe.com/products/flashlite/&quot; target=&quot;_blank&quot; title=&quot;FlashLite website&quot;&gt;Flash Lite&lt;/a&gt; and &lt;a href=&quot;http://www.forum.nokia.com/Resources_and_Information/Explore/Web_Technologies/Web_Runtime/&quot; target=&quot;_blank&quot; title=&quot;Web Runtime&quot;&gt;Web Runtime&lt;/a&gt; (being an old school JavaScript addicted.. &lt;img src=&quot;http://blogs.forum.nokia.com/js/tinymce/plugins/emotions/images/smiley-cool.gif&quot; border=&quot;0&quot; alt=&quot;Cool&quot; title=&quot;Cool&quot; /&gt;). 
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.jappit.com/images/sprites/cap_man1.png&quot; alt=&quot;Jappit&#039;s avatar&quot; width=&quot;48&quot; height=&quot;48&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
Now, coming to important things, It&#039;s &lt;strong&gt;Christmas time&lt;/strong&gt;! And so here&#039;s a little gift for all calendar-addicted folks: a &lt;strong&gt;Java ME Google Calendar client&lt;/strong&gt;!
&lt;/p&gt;
&lt;p&gt;
Here are some &lt;strong&gt;screenshots&lt;/strong&gt; (if you have some doubts: no, I&#039;m not a graphic designer &lt;img src=&quot;http://blogs.forum.nokia.com/js/tinymce/plugins/emotions/images/smiley-smile.gif&quot; border=&quot;0&quot; alt=&quot;Smile&quot; title=&quot;Smile&quot; /&gt;) 
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/GCal_splash2.gif&quot; border=&quot;1&quot; alt=&quot;J2ME Google Calendar splash screen&quot; width=&quot;240&quot; height=&quot;309&quot; align=&quot;middle&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/GCal_entryList.gif&quot; border=&quot;1&quot; alt=&quot;J2ME Google Calendar daily entries&quot; width=&quot;240&quot; height=&quot;309&quot; align=&quot;middle&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/GCal_createEvent.gif&quot; border=&quot;1&quot; alt=&quot;J2ME Google Calendar new entry&quot; width=&quot;240&quot; height=&quot;291&quot; align=&quot;middle&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/GCal_map.gif&quot; border=&quot;1&quot; alt=&quot;J2ME Google Calendar map viewing&quot; width=&quot;240&quot; height=&quot;309&quot; align=&quot;middle&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
Features of this  (very) first release include &lt;strong&gt;events browsing, searching and creation&lt;/strong&gt;, &lt;strong&gt;calendar filtering&lt;/strong&gt;, and &lt;strong&gt;map viewing&lt;/strong&gt; for events location. 
&lt;/p&gt;
&lt;p&gt;
You can &lt;strong&gt;download&lt;/strong&gt; v0.1 here: &lt;a href=&quot;http://www.jappit.com/blog/2008/12/22/j2me-google-calendar-client/&quot; title=&quot;J2ME Google Calendar&quot;&gt;Java ME Google Calendar client&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.jappit.com/images/blog/uploads/merry_christmas.jpg&quot; alt=&quot;Merry Christmas&quot; width=&quot;350&quot; height=&quot;200&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Merry Christmas to you all&lt;/strong&gt;! 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2008/12/23/happy-christmas-with-java-me-google-calendar</link>
   <comments>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2008/12/23/happy-christmas-with-java-me-google-calendar</comments>
   <guid>http://blogs.forum.nokia.com/blog/alessandro-la-rosas-forum-nokia-blog/2008/12/23/happy-christmas-with-java-me-google-calendar</guid>
      <dc:creator>jappit</dc:creator>
      
    <category>Java</category>
      
    <category>S60</category>
      
    <category>Series 40</category>
         <pubDate>Tue, 23 Dec 2008 10:42:41 +0200</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Happy Christmas with Java ME Google Calendar :)</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300067&amp;profile=rss20">Alessandro La Rosa&#039;s Forum Nokia Blog</source>
     </item>
   </channel>
</rss>