<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://blogs.forum.nokia.com/styles/rss.css" type="text/css"?>
<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns="http://my.netscape.com/rdf/simple/0.9/"
>

 <channel>
  <title>Andreas Jakl&#039;s Forum Nokia Blog</title>
  <link>http://blogs.forum.nokia.com/blog/andreas-jakls-forum-nokia-blog</link>
  <description>&lt;p&gt;As an Assistant Professor, I&#039;m teaching Symbian OS at the University of Applied Sciences in Hagenberg, Austria. My company &amp;quot;Mopius&amp;quot; is developing mobile software with a special focus on Symbian OS.&lt;/p&gt;
</description>
 </channel>
    <item>
   <title>Fundamental changes in native Symbian OS development</title>
   <description>&lt;p&gt;
Just announced rather silently in the Symbian Developer Newsletter, one of the biggest changes in the world of Symbian OS development is on its way. It&#039;s all about the letter L, which represents the new idiom of &lt;a href=&quot;http://developer.symbian.com/main/documentation/symbian_cpp/symbian_cpp/lclasses.jsp&quot;&gt;L-classes&lt;/a&gt;. According to the documentation PDF: &amp;quot;The &lt;strong&gt;L&lt;/strong&gt; prefix denotes that these classes may be &lt;strong&gt;L&lt;/strong&gt;iberal when it comes to &lt;strong&gt;L&lt;/strong&gt;eaving, while being &lt;strong&gt;L&lt;/strong&gt;eave-safe themselves.&amp;quot;
&lt;/p&gt;
&lt;p&gt;
When working with Symbian OS and of course especially when teaching it, the biggest issue have always been the descriptors. While they are a nice concept and a good example of polymorphism, even the simplest string modifications often required looking up some code examples or documentation. Now, the new LString class can finally take care of automatically resizing its buffer (on the heap) and memory cleanup. Additionally, the LString is also derived from TDesC, making it possible to use it with all the standard Symbian OS APIs. 
&lt;/p&gt;
&lt;p&gt;
Other changes include the possibiliy to put everything from the two-phase construction into a single C++ constructor, by using macros and special templates. Makes the code easier to read and shorter, and is therefore also a welcome change. Memory management (plus cleanup stack) usage has also been simplified through the use of new class templates (LCleanedupX and LManagedX), which provide automatic resource management.
&lt;/p&gt;
&lt;p&gt;
We&#039;ll see how these new additions work out in real life, but at least on paper, they do sound promising and make it easier for newcomers to start developing with Symbian OS. The only problem is that those new concepts are added to many other already existing idioms, increasing the total amount of information you have to know when you really want to do a lot - and it&#039;ll not be possible to get entirely rid of old descriptor classes like the HBufC, as they&#039;re still used by many system APIs. Also, that these resource management tasks are done automatically usually means less efficiency compared to the manual way that has always been in Symbian OS - one of the reasons why the OS is so fast, even on low spec hardware. Most probably, you&#039;d use native Symbian OS C++ code for the more low-level and highest performance code (and do resource management manually), and prefer Qt or Widgets instead for other applications in the future. 
&lt;/p&gt;
&lt;p&gt;
Another interesting sidenote: if you take a look at the new header files, you&#039;ll see that they are already released under the &amp;quot;Symbian Foundation License v1.0&amp;quot; (even though the source code is not included yet) and that they are contributed by Nokia. In case I didn&#039;t miss anything, this is most probably the first public third party contribution to the Symbian Foundation. Let&#039;s hope we&#039;ll see more of those welcome additions in the future - even though it means that I&#039;ll have to rewrite many parts of the Symbian OS course slides when there&#039;s time...
&lt;/p&gt;
&lt;p&gt;
Read more about the &lt;a href=&quot;http://developer.symbian.com/main/documentation/symbian_cpp/symbian_cpp/lclasses.jsp&quot;&gt;L-classes at the Symbian Developer Network&lt;/a&gt;, especially at the &lt;a href=&quot;http://developer.symbian.com/main/downloads/papers/LClasses.pdf&quot;&gt;pdf&lt;/a&gt; linked to at the end of the article. 
&lt;/p&gt;</description>
   <link>http://blogs.forum.nokia.com/blog/andreas-jakls-forum-nokia-blog/2009/03/27/l-classes</link>
      <pubDate>Fri, 27 Mar 2009 11:41:39 +0200</pubDate>   
  </item>
    <item>
   <title>Mopoid Workshop - Your Own Arkanoid-like Game for S60</title>
   <description>&lt;p&gt;
&lt;table align=&quot;right&quot; border=&quot;0&quot; cellspacing=&quot;10&quot; width=&quot;240&quot;&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/105214/Mopoid-Screenshot.png&quot; alt=&quot;Develop a full-blown Arkanoid-like game - and play it!&quot; /&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td align=&quot;center&quot;&gt;&lt;em&gt;Develop a full-blown Arkanoid-like game - and play it!&lt;/em&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
Probably the largest and longest free workshop for S60 development is now available in a completely rewritten and updated version. The unique aspect: everything is explained based on a fully working Arkanoid-like game called &lt;a href=&quot;http://www.symbianresources.com/tutorials/mopoid.php&quot;&gt;Mopoid&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
While reading through 76 pages and 175 slides, you will explore most of the important concepts behind Symbian OS / S60 &amp;ndash; including using the UI designer of Carbide.c++, scalable vector graphics, localizable text and of course all the traditional topics like the cleanup stack, descriptors or periodic timers.
&lt;/p&gt;
&lt;h2&gt;
The Origins
&lt;/h2&gt;
&lt;p&gt;
In 2004, I prepared my very first Symbian OS workshop at the University of Applied Sciences in Hagenberg. Its aim was to give a compressed overview of the most important concepts of development for S60 &amp;ndash; in form of a large, fully working game. Students would implement certain parts; the specialities of native Symbian OS C++ development were explained right when they were relevant. I still remember working through the whole night on the day before the workshop, testing everything ten times to make sure that everything really worked as expected.
&lt;/p&gt;
&lt;h2&gt;
The Update
&lt;/h2&gt;
&lt;p&gt;
Back then, the tutorial was based on the free &lt;a href=&quot;http://www.newlc.com/en/A-first-sight-at-Borland-C-Builder.html&quot;&gt;Borland C++ Builder Mobile Edition&lt;/a&gt;, which already featured a UI designer. While the IDE had potential, it was slow and buggy. Soon after, it was abandoned.
&lt;/p&gt;
&lt;p&gt;
The mobile world moves quickly, and the tutorial soon got outdated. Still based on S60 1st Edition, the game wouldn&amp;rsquo;t run on current devices. Also, Borland C++ Builder does no longer exist, with the (much better) &lt;a href=&quot;http://www.forum.nokia.com/Resources_and_Information/Tools/IDEs/Carbide.c++/&quot;&gt;Carbide.c++&lt;/a&gt; IDE now being the standard for Symbian OS development.
&lt;/p&gt;
&lt;p&gt;
As it would have been a pity to simply let dust settle on Mopoid and watch it disappear, I decided to take on the task of updating the tutorial for today&amp;rsquo;s environment. The game has now been greatly extended and improved - for example, it includes support for scalable screens. Of course, most parts of the tutorial had to be rewritten as well. The slides are completely new.
&lt;/p&gt;
&lt;h2&gt;
The Future
&lt;/h2&gt;
&lt;p&gt;
The workshop was just published on the &lt;a href=&quot;http://developer.symbian.com/main/documentation/example_app_code/cpp/index.jsp&quot; title=&quot;Mopoid at the Symbian Developer Network&quot;&gt;Symbian Developer Network&lt;/a&gt; and is now also available from &lt;a href=&quot;http://www.symbianresources.com/tutorials/mopoid.php&quot; title=&quot;Mopoid at symbianresources.com&quot;&gt;symbianresources.com&lt;/a&gt;. The whole tutorial might be a bit too steep if you don&amp;rsquo;t have any experience with Symbian OS at all, but for a little more advanced developers, it&amp;rsquo;ll be interesting to see how all the idioms and concepts fit together in a real game.
&lt;/p&gt;
&lt;p&gt;
The source code is released using the GPL license. Mopoid already supports level files, saving the high score and much more. If someone wants to add more features or levels, it&amp;rsquo;d be great to release a polished game without some rough edges to the public in the future!
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/105214/t_Mopoid-Tutorial.jpg&quot; alt=&quot;The Mopoid tutorial comes with 76 pages and 175 slides full of free Symbian OS information.&quot; /&gt; 
&lt;/p&gt;</description>
   <link>http://blogs.forum.nokia.com/blog/andreas-jakls-forum-nokia-blog/2009/01/14/mopoid</link>
      <pubDate>Wed, 14 Jan 2009 00:23:36 +0200</pubDate>   
  </item>
    <item>
   <title>New Qt Training Materials</title>
   <description>&lt;p&gt;
As you will most likely have noticed, Qt for S60 is going to be really big. Therefore, it&amp;rsquo;s a good idea to start learning Qt as soon as possible.
&lt;/p&gt;
&lt;p&gt;
One chance to do this is going to be the first public &lt;a href=&quot;(http://www.forum.nokia.com/Events/Webinars.xhtml&quot; title=&quot;Qt for S60 Webinars&quot;&gt;&amp;ldquo;Qt on S60&amp;rdquo; webinar&lt;/a&gt; (as announced by &lt;a href=&quot;http://blogs.forum.nokia.com/blog/lucian-tomutas-forum-nokia-blog/2008/12/09/let-s-talk-about-...-qt&quot; title=&quot;FN Blog posting about Qt on S60 Webinars&quot;&gt;Lucian Tomuta&lt;/a&gt;), which will be broadcasted in just two days (December 17th).
&lt;/p&gt;
&lt;p&gt;
To get an overview of what Qt can do for you and how to get Qt to do just that, you might additionally want to take a look at the new &lt;a href=&quot;http://www.symbianresources.com/tutorials/qt.php&quot; title=&quot;Qt course materials&quot;&gt;Qt course materials&lt;/a&gt; that have just been published at &lt;a href=&quot;http://www.symbianresources.com/&quot; title=&quot;symbianresources.com&quot;&gt;symbianresources.com&lt;/a&gt;.

&lt;/p&gt;
&lt;p&gt;
Three modules are already finished, which cover many of the general aspects of Qt cross-platform development, including:
&lt;/p&gt;
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Qt overview&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Signals and Slots&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Meta-Objects, Properties&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Widgets, Dialogs, Main Window&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Menus, Toolbars, Actions&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Events&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Layouts and Styles, low level painting&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Data types&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Internationalization&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Settings&lt;br /&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp; Sockets / Files
&lt;/p&gt;
&lt;p&gt;
In the future, new modules with a special focus on unique aspects of Qt for S60 will be added. Due to the cross-platform nature of Qt, the features that have been covered in the general slide sets are of course fully applicable to all platforms that Qt runs on, including S60.
&lt;/p&gt;
&lt;p&gt;
Comments are very welcome, as this is a brand new addition to our curriculum in order to react as quickly as possible to future developments in the mobile world. I&amp;rsquo;m curious to see in what way it&amp;rsquo;ll all turn out and what kind of impact Qt will have on the Symbian OS-based community and the mobile community in general!
&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a id=&quot;res_1880&quot; href=&quot;http://www.symbianresources.com/tutorials/qt.php&quot; title=&quot;Qt training materials&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/105214/qt-slides-small.jpg&quot; border=&quot;0&quot; alt=&quot;New Qt training materials at symbianresources.com&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;</description>
   <link>http://blogs.forum.nokia.com/blog/andreas-jakls-forum-nokia-blog/2008/12/15/qtmaterials</link>
      <pubDate>Mon, 15 Dec 2008 18:11:05 +0200</pubDate>   
  </item>
  </rdf:RDF>

