<?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>Daniel Rocha&#039;s Forum Nokia Blog</title>
  <link>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog</link>
  <description>&lt;p&gt;A blog about everything that sounds interesting to me and Forum Nokia audience.&lt;/p&gt;
</description>
  <pubDate>Mon, 23 Nov 2009 16:08:45 +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>Which technology should I use for development? Round 2: C++</title>
   <description>
    &lt;p&gt;
&lt;a id=&quot;res_1702&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300002/holy_grail_660.jpg&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300002/previews-med/holy_grail_660.jpg&quot; border=&quot;0&quot; width=&quot;468&quot; height=&quot;258&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;em&gt;&amp;nbsp;The Holy Grail, according to Monty Python&lt;/em&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
So let us talk now about the Holy Grail of mobile development in Nokia platforms: Symbian/S60 C++. It is the language in which the operating system is developed (about 95%), it is the language that allows developing all sorts of applications, from simple expense trackers to VoIP and geotagging and video-sharing applications. It is the language about which odes are written, flowers strewn at is feet, and virgins sacrificed to its altar.
&lt;/p&gt;
&lt;p&gt;
It is also one of the hardest development environments there is to learn: it&#039;s not standard C++, you have to instrument a lot of the memory management yourself, the learning curve is very steep, and the amount of code it takes to write even a simple &amp;quot;Hello World&amp;quot; GUI application is larger than any other technology we&#039;ll talk about. However, if you have the skills to learn it, the patience to develop apps with it, and want to power your application with the most sophisticated features available, it can be a very rewarding experience using it after all.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Obs.: I know I promised Python this time but I felt like covering the two core technologies first.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;First part of this article:&lt;/strong&gt; &lt;a href=&quot;http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/web-run-time-wrt/2008/05/27/which_technology&quot;&gt;Which technology should I use for development? Round 1: Java&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;
Technology:&lt;/strong&gt; Symbian/S60 C++ 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Good for:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;u&gt;Games&lt;/u&gt; - Full-fledged commercial complex games, such as N-Gage&#039;s, as the APIs for direct screen access, 3D graphics, audio and video and camera manipulations are very powerful and enrich and gaming experience. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Multimedia applications&lt;/u&gt; - You can write very complex applications which integrate a handful of different powerful features such as: location, geo-tagging, video and audio low-level manipulation, VoIP, camera access and so on. As examples, check &lt;a href=&quot;http://www.shozu.com&quot;&gt;Shozu&lt;/a&gt;, &lt;a href=&quot;http://www.fring.com&quot;&gt;Fring&lt;/a&gt;, &lt;a href=&quot;http://europe.nokia.com/A4491268&quot;&gt;Windows Live&lt;/a&gt;, &lt;a href=&quot;http://www.google.com/mobile/search/index.html&quot;&gt;Google Search,&lt;/a&gt; and many others.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Mapping and location apps&lt;/u&gt; - These leverage the powerful Location APIs along with the OS-provided Assisted GPS and the Map and Navigation framework (3.2 only) to give you a very fine-grained control over obtaining the location of your device and integrating it with other features or APIs. For example, Shozu integrates GPS location with EXIF JPEG data manipulation to upload pictures which are geotagged to known services such as Flickr, where they are placed automatically on a map. Very creative. Check also &lt;a href=&quot;http://www.wayfinder.com&quot;&gt;WayFinder&lt;/a&gt;, &lt;a href=&quot;http://www.google.com/mobile/gmm/index.html&quot;&gt;Google Maps&lt;/a&gt;, &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;ct=res&amp;amp;cd=6&amp;amp;url=https%3A%2F%2Fwww.nokiausa.com%2FA4686841&amp;amp;ei=PiVASMmGMYSywwHP9bC4CA&amp;amp;usg=AFQjCNET4-K3pumOImjHNmJmIC78b3pXPQ&amp;amp;sig2=AgMt2LeA_BQAdJ-0w739mw&quot;&gt;Nokia Maps&lt;/a&gt;, &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;ct=res&amp;amp;cd=2&amp;amp;url=http%3A%2F%2Fwww.allaboutsymbian.com%2Fnews%2Fitem%2F4008_Route_66_for_S60_3rd_Edition_n.php&amp;amp;ei=ayVASJ-ZD6OwwQHHh6SnCA&amp;amp;usg=AFQjCNHsxe6zChiFkT7dM40XcNOYZAdIxg&amp;amp;sig2=oOwWS2DrDKBEUoZ5ZN0CcQ&quot;&gt;Route 66&lt;/a&gt;. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;VoIP Applications&lt;/u&gt; - There are simply too many to list, just check for yourself.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;E-mail applications&lt;/u&gt; - Your e-mail apps can talk to Microsoft Exchange using ActiveSync protocol, and also be integrated into the standard Messaging application so users can access it without having to go to the menu. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Many others&lt;/u&gt; - Enablers, virtual machines, services, device drivers, file managers, are all examples of sophisticated applications which can be written in C++.&amp;nbsp;&lt;u&gt;&lt;/u&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Why?&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;u&gt;API/functionality availability&lt;/u&gt; - Programming with Symbian C++ is almost like programming desktop applications: you will get a stagerring number of APIs, powerful features, sophisticated integration between applications and services; those allow you to do more with your device than any other technology. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Performance&lt;/u&gt; - Native C++ applications have the best performance of all analyzed technologies (unless you&#039;re a really really bad programmer). &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Porting from other platforms&lt;/u&gt; - This used to be a nightmare, but with the introduction of Open C and Open C++ porting layers, it became much easier to port from other POSIX platforms. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Tools&lt;/u&gt; - Although the building tools themselves are not standard, Carbide.c++ does a fine job of hiding the complexity from you the programmer, allowing for faster application development. Its debugging tools are specially worth mentioning. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Bad for:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;u&gt;Simple applications&lt;/u&gt; - If you need to develop an expense or sports tracker, a blogging tool, casual game or such, using C++ is probably an overkill. You can achieve the same in much less time using Java, Flash Lite or Python.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Rapid prototyping&lt;/u&gt; - Symbian C++&#039;s complexity will add much more time to your development projects, so it&#039;s not well suited for protopying. Do it in Python or Java and if needed, write the final version in C++. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Casual games&lt;/u&gt; - That would be another overkill. You will end up writing 7000 lines of code or so per game, and your productivity when compared to your competitors using lighter technologies will suffer. A lot.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Web applications&lt;/u&gt; - At risk of souding repetitive, another case where you&#039;re better off with technologies whose focus is Web services. I&#039;m talking Widgets, Widsets and Python here. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Why?&amp;nbsp;&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;u&gt;Harder to learn than any other technology&lt;/u&gt; -&amp;nbsp; Even an experienced
	programmer, coming from other C/C++
	languages, will have a hard time learning Symbian C++, using the
	non-standard tools and proprietary features, such as resource and
	registration files. It can take a long time to get a decent working
	knowledge of how everything
	works and even then you will find yourself.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Slower development time&lt;/u&gt; - Due to the steep learning curver and overall complexity, native development in S60 is generally though to take 3 to 10 times more time than Java or Flash Lite projects.&amp;nbsp; &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Portability&lt;/u&gt; - First off, there&#039;s a binary compatibility break between S60 3rd. Edition and its previous editions. Secondly, even within the same versions there some API incompatibilities/deprecations you&#039;ll only find out about when you&#039;re deep into development. In this case you&#039;ll have to produce a workaround or ask technical support from Forum Nokia to fix you an update, workaround or private API that does the job. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Platform security&lt;/u&gt; - Although it&#039;s very noble on its purpose (securing users&#039; devices against malware), platform security can be a pain to live with during the development cycle. The whole Symbian Signed environment and platform security API restrictions slow down development time and can increase development costs, because of test fees, certificate purchasing, re-test, etc.&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;br /&gt;
&amp;quot;With great power, comes great responsibility&amp;quot;, once said Spider-Man&#039;s uncle. In this case, however, with great power you&#039;ll get great complexity. If after careful evaluation of requirements you decide you should go with C++, commit yourself and your development team to learn the plaform right, and well. Otherwise it will cost you time and money. We know that time = money, so it will end up costing you money&amp;sup2;. 
&lt;/p&gt;
&lt;p&gt;
Symbian/S60 C++ offers you the opportunity of leveraging as much functionality as the device can provide. This can be a real differentiation factor for your applications and can result in more users, thus more money. Just make sure it&#039;s the right technology for you before you start up your project.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
OK, now I&#039;m not lying: next round will be about Python. 
&lt;/p&gt;
&lt;p&gt;
See you! 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/05/30/which_technology_c</link>
   <comments>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/05/30/which_technology_c</comments>
   <guid>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/05/30/which_technology_c</guid>
      <dc:creator>dcrocha</dc:creator>
      
    <category>General</category>
      
    <category>Business Opportunities/Services</category>
      
    <category>Enterprise</category>
      
    <category>Entertainment</category>
      
    <category>Games</category>
      
    <category>Location Based Services</category>
      
    <category>Messaging</category>
      
    <category>Open C</category>
      
    <category>S60</category>
      
    <category>Symbian C++</category>
      
    <category>Web Run-Time (WRT)</category>
         <pubDate>Fri, 30 May 2008 15:39:41 +0000</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Which technology should I use for development? Round 2: C++</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300002&amp;profile=rss20">Daniel Rocha&#039;s Forum Nokia Blog</source>
                    </item>
    <item>
   <title>Which technology should I use for development? Round 1: Java</title>
   <description>
    &lt;p&gt;
If I had just made a dollar each time I heard this question...&amp;nbsp; *&lt;strong&gt;sigh&lt;/strong&gt;*.
&lt;/p&gt;
&lt;p&gt;
With the availability of so many different development technologies in Nokia&#039;s platforms today, sometimes is hard to decide which of them we should use to build our application, isn&#039;t it? There&#039;s Java, Symbian C++, Open C, Flash Lite, WidSets, WRT Widgets, Python, and the list is still growing. 
&lt;/p&gt;
&lt;p&gt;
This is good news for developers, since not everybody has the same technical background nor is developing the same kinds of applications; this means at least one of the technologies will fit our experience and purpose like a glove, and we are going to use it. On the other side, this may confuse newcomers to the wonderful but fragmented mobile software world. Usually it goes like this:&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Question: &lt;/strong&gt;&amp;quot;I want to write an application that opens a file and sends it out to a web server. What should I use to create it?&amp;quot;&lt;br /&gt;
&lt;strong&gt;Answer 1: &lt;/strong&gt;&amp;quot;Java ME, FileConnection API&amp;quot;&lt;br /&gt;
&lt;strong&gt;Answer 2: &lt;/strong&gt;&amp;quot;Don&#039;t bother, use C++ or you will get a lot of security prompts.&amp;quot;&lt;br /&gt;
&lt;strong&gt;Answer 3: &lt;/strong&gt;&amp;quot;Why use C++ when you can do the same with Python? C++ is way too hard!&amp;quot; &lt;br /&gt;
&lt;strong&gt;Answer 4: &lt;/strong&gt;&amp;quot;Python does not run on S40, use Java.&amp;quot;&lt;br /&gt;
&lt;strong&gt;Answer 5: &lt;/strong&gt;&amp;quot;Do you really need all that jazz? Why don&#039;t you go with Flash Lite and use server-based persistence? Your application will look great!&amp;quot;&lt;br /&gt;
&lt;strong&gt;Answer 6: &lt;/strong&gt;&amp;quot;Flash Lite is too fragmented. Use Java, but beware of the MIDlet signing issues or your app&#039;s user experience will be crap!&amp;quot;
&lt;/p&gt;
&lt;p&gt;
Go check the &lt;a href=&quot;http://discussion.forum.nokia.com&quot;&gt;Discussion Boards&lt;/a&gt;. It is crowded with examples of conversations like the one above. Having answered this question so many times before, I decided to summarize my answers in this blog, in the hopes of helping developers decide what use from the growing technology options pool offered in mobile devices these days. Please keep in mind that the following are my opinions on the subject; yours may differ and even prove mine wrong, but that&#039;s the beauty of interacting with people within a community. As the number of technologies it too big for a single post, I will continue my analysis in the upcoming posts. I will start off with the most popular mobile developmentp platform, Java ME.
&lt;/p&gt;
&lt;hr width=&quot;100%&quot; size=&quot;2&quot; /&gt;
&lt;p&gt;
&lt;strong&gt;
Technology:&lt;/strong&gt; Java
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Good for:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;u&gt;Productivity applications&lt;/u&gt; - Examples: sports trackers, expense control apps, Personal Information Management (calendar, phonebook, etc.). &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Games&lt;/u&gt; - Both casual and complex.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Enterprise applications&lt;/u&gt; - These don&#039;t require fancy user interfaces. Using LCDUI and the standard packages can go a long way pretty fast.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Rapid prototyping&lt;/u&gt; and &lt;u&gt;proof-of-concept&lt;/u&gt; applications. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Network applications&lt;/u&gt; - RSS readers, weather services, blogging applications, mobile versions of Web applications. &lt;/li&gt;
	&lt;li&gt;Creating truly &lt;u&gt;portable apps&lt;/u&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Why?&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;u&gt;Java and its mobile version are very simple to use and learn&lt;/u&gt; -&amp;nbsp; An experienced programmer, even coming from other C/C++-based languages, can get a pretty good working knowledge of how everything works in a matter of weeks and start producing applications quickly. This leads to faster time-to-market for Java ME apps. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Applications are generally portable&lt;/u&gt; between S60 and S40 platforms - Although there are some differences in implementation, supported packages, audio/video formats and so on, those are few in number and thus easier to work around. You don&#039;t need to entirely rewrite your application so it will run on N95 instead of 6131: a few runtime checks and versioning tools will be enough. &lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Game API&lt;/u&gt; combined with optional packages makes it a killer for game development &lt;/li&gt;
	&lt;li&gt;S&lt;u&gt;traightforward network API makes it easy to communicate with web services&lt;/u&gt; - The GCF (Generic Connection Framework) is a simple and unified way of using the network on Java ME applications. Once you learn how to do one kind of connection, you will have learned them all.  
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Bad for:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;u&gt;Accessing device resources&lt;/u&gt; - Examples: SMS Inbox, file system, gallery, hardware.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Multimedia applications&lt;/u&gt; - Examples: Video streaming players, audio and video recorders, camera applications.&lt;/li&gt;
	&lt;li&gt;&lt;u&gt;Performance-intensive applications&lt;/u&gt; - Scientific computing, image processors, video decoders, sound processors. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Why?&amp;nbsp;&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Java&#039;s functionalities depend on Java Community Process process:
	if there&#039;s no official, industry-standard API for what you want to do,
	you are out of luck. Example: accessing SMS inbox. &lt;/li&gt;
	&lt;li&gt;Mobile Media API implementation is (too) highly modular, a lot of runtime checks are needed. Also, most functionality is implemented on the native side and then made available to Java&#039;s virtual machine, such as the camera access. This may have a serious impact on performance. &lt;/li&gt;
	&lt;li&gt;Fine-grained control over video, audio and camera is generally not available. Although JSR 234 (Advanced Multimedia Supplements) tackles some of these issues, it still can&#039;t be compared to what&#039;s available on other technologies, and its device availability is still low.  &lt;/li&gt;
	&lt;li&gt;Access to the file system is provided by FileConnection API, but it&#039;s somewhat restricted and requires the midlet to be signed, otherwise multiple security prompts will be displayed, taking your user to tears (believe me). The signing process itself costs money and has some bureaucracy, so be prepared.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
As I said before, these are my opinions on the technologies. It does not mean that X is better than Z, and Z should be thrown into the dirt and kicked in the head, like XML in the funny &lt;a href=&quot;http://burningbird.net/writing/the-parable-of-the-languages/&quot;&gt;The Parable of the Languages&lt;/a&gt;. If you get your requirements right, it&#039;s very likely that your question of &amp;quot;what to use&amp;quot; will answer itself. Need to access the Inbox? Down with Java. Need portability? Down with Python and C++. Fancy UI? Flash. Requirements management is a science, not an art, so when you get it right from the start, the development technology to use will pop up naturally.&lt;br /&gt;
&lt;p&gt;
Next time I will cover the darling of all Internet programmers, now getting much of the attention on S60 platform: Python.
&lt;/p&gt;
&lt;p&gt;
See you! 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/05/27/which_technology</link>
   <comments>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/05/27/which_technology</comments>
   <guid>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/05/27/which_technology</guid>
      <dc:creator>dcrocha</dc:creator>
      
    <category>General</category>
      
    <category>Enterprise</category>
      
    <category>Entertainment</category>
      
    <category>Flash</category>
      
    <category>Games</category>
      
    <category>Java</category>
      
    <category>Open C</category>
      
    <category>Python</category>
      
    <category>S60</category>
      
    <category>Series 40</category>
      
    <category>Symbian C++</category>
      
    <category>Web Run-Time (WRT)</category>
         <pubDate>Tue, 27 May 2008 18:29:05 +0000</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Which technology should I use for development? Round 1: Java</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300002&amp;profile=rss20">Daniel Rocha&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Make your widgets and Flash Lite applications fly!</title>
   <description>
    &lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300002/flying.jpg&quot; /&gt; 
&lt;/p&gt;
&lt;p&gt;
As I mentioned in my &lt;a href=&quot;http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/web-run-time-wrt/2008/03/20/hurrah-widgets-and-more&quot;&gt;last post&lt;/a&gt;, I have been thinking a lot lately about how to extend applications that run on sandboxed environments, such as Java ME, Flash Lite and Widgets, using some powerful native technologies such as C++, Python and Mobile Web Server. 
&lt;/p&gt;
&lt;p&gt;
I did my research and turns out some people have already been thinking (and doing) this for a while now, so I wanted to share this with you, for a reason I will explain later:
&lt;/p&gt;
&lt;p&gt;
- Our very own Sr. Technology Expert Petro Soininen has created a widget that&#039;s able to send text messages and read the SMS inbox of an S60 device, using a creative combination of Widgets, Python, PHP and the &lt;a href=&quot;http://wiki.opensource.nokia.com/projects/Mobile_Web_Server&quot;&gt;Mobile Web Server&lt;/a&gt;. Here&#039;s the link for the article with complete source code: &lt;a href=&quot;http://wiki.forum.nokia.com/index.php/How_to_utilize_device_resources_from_a_WRT_widget&quot;&gt;http://wiki.forum.nokia.com/index.php/How_to_utilize_device_resources_from_a_WRT_widget&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
- &lt;a href=&quot;http://www.felipeandrade.org/blog/&quot;&gt;Forum Nokia Champion Felipe Andrade&lt;/a&gt; and &lt;a href=&quot;http://www.i2tecnologia.com.br/&quot;&gt;his company&lt;/a&gt; have been working for quite some time in the &lt;a href=&quot;http://www.flyerframework.org&quot;&gt;Flyer Framework&lt;/a&gt;, a server application written in &lt;a href=&quot;http://opensource.nokia.com/projects/pythonfors60/&quot;&gt;Python for S60&lt;/a&gt; whose goal is to provide enhanced native functions to Flash Lite applications. It looks pretty mature, and I wonder if it could be used with Widgets as well with some adjusts in connectivity (full HTTP vs XML sockets).
&lt;/p&gt;
&lt;p&gt;
I mentioned these two ways of extending widgets and Flash Lite apps because of the &lt;a href=&quot;http://www.forum.nokia.com/main/contests/global_application_contest.html&quot;&gt;Global Code Camp Contest&lt;/a&gt;. I figured that an application/widget with enhanced functionality has more room for being innovative and delight users in many different ways.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
As nothing was mentioned in the contest rules, I asked the Forum Nokia team responsible for the competition whether applications produced with these extension methods would be valid or not. An the answer is that these turbo web widgets and Flash apps are allowed, so you have a lot more options to introduce cool features in your apps via sweet Python and PHP scripts.
&lt;/p&gt;
&lt;p&gt;
So take a look at them both and make your widgets and Flash apps fly higher than ever! 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/03/24/flying_widgets</link>
   <comments>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/03/24/flying_widgets</comments>
   <guid>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/03/24/flying_widgets</guid>
      <dc:creator>dcrocha</dc:creator>
      
    <category>Browsing</category>
      
    <category>Entertainment</category>
      
    <category>Flash</category>
      
    <category>Python</category>
      
    <category>S60</category>
      
    <category>Web Run-Time (WRT)</category>
         <pubDate>Mon, 24 Mar 2008 19:09:47 -0100</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Make your widgets and Flash Lite applications fly!</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300002&amp;profile=rss20">Daniel Rocha&#039;s Forum Nokia Blog</source>
     </item>
    <item>
   <title>Hurrah! Widgets! - and more</title>
   <description>
    &lt;p&gt;
If you have been reading Forum Nokia web site regularly, you&#039;ve probably noticed the big &lt;strong&gt;Win 15k Euros! &lt;/strong&gt;posted on the main page since March 18th. If you click the link, you&#039;ll be redirected to the &lt;a href=&quot;http://www.forum.nokia.com/main/contests/global_application_contest.html&quot;&gt;Forum Nokia Code Camp Competion&lt;/a&gt; we&#039;re hosting. It&#039;s all about you developing a winning Web Run-Time (WRT) or Flash Lite application and raking in a lot of nice prizes from Forum Nokia.
&lt;/p&gt;
&lt;p&gt;
Registration has already begun, so come up with your bright idea for either platform and enter the competition!
&lt;/p&gt;
&lt;p&gt;
If you have a concept but don&#039;t have a command in any of these technologies, a good idea would be to register for one of the &lt;a href=&quot;http://www.forum.nokia.com/main/events/regional_code_camps_and_contest.html &quot;&gt;Forum Nokia Regional Code Camps&lt;/a&gt; happening worldwide and get started with both WRT and Flash in nice hands-on workshops. 
&lt;/p&gt;
&lt;p&gt;
Yours truly will be probaly hosting a Flash Lite somewhere in April, stay tuned. 
&lt;/p&gt;
&lt;p&gt;
If you&#039;re more into widgets, you can also get started by checking out this article I wrote back in November 07. It covers everything you need to know to develop your first widget, including SDK and live testing with our Remote Device Access service:  
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.newlc.com/widgets&quot;&gt;Widgets on S60: Web Runtime&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
* * * 
&lt;/p&gt;
&lt;p&gt;
I have been thinking a lot about Python for S60, Mobile Web Server and how to extend Flash and Java applications using the former technologies. I wonder if it would be possible to extend Widgets as well, having a C++ or Python light web server running on the phone while a widget makes local XMLHttpRequest connections to this service, thus getting more native-related functionality. Mobile Web Server seems like a good candidate for this type of experimentation. I may give it a try soon. (evil laugh) 
&lt;/p&gt;
   </description>
   <link>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/03/20/hurrah-widgets-and-more</link>
   <comments>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/03/20/hurrah-widgets-and-more</comments>
   <guid>http://blogs.forum.nokia.com/blog/daniel-rochas-forum-nokia-blog/2008/03/20/hurrah-widgets-and-more</guid>
      <dc:creator>dcrocha</dc:creator>
      
    <category>Event</category>
      
    <category>Flash</category>
      
    <category>Python</category>
      
    <category>Web Run-Time (WRT)</category>
         <pubDate>Thu, 20 Mar 2008 17:43:40 -0100</pubDate>
   <itunes:author>Forum Nokia</itunes:author>
   <itunes:subtitle>Hurrah! Widgets! - and more</itunes:subtitle>
   <source url="http://blogs.forum.nokia.com/rss.php?blogId=300002&amp;profile=rss20">Daniel Rocha&#039;s Forum Nokia Blog</source>
     </item>
   </channel>
</rss>