<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Mark Wilcox&#039;s Forum Nokia Blog</title> 
<subtitle type="html">&lt;p&gt;Random musings on mobile software development...&lt;/p&gt;
</subtitle>
 
<updated>2008-12-16T17:03:33+02:00</updated> 
<id>http://www.lifetype.net,1.2/</id>
<link rel="alternate" type="text/html"  hreflang="en" href="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog" />
 
<rights>Copyright (c) Sorcery-ltd</rights>
<generator uri="http://www.lifetype.net/" version="1.2">LifeType at Forum Nokia</generator> 
 
<entry> 
<title>Multi-language Programming, Python, Flash Lite, C++, Java, Widgets</title>
<link rel="alternate" type="text/html" href="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog/2008/12/16/multi-language-programming-python-flash-lite-c-java-widgets" /> 
<id>tag:blogs.forum.nokia.com,2008-12-16:1897</id>
 
<updated>2008-12-16T17:03:33+02:00</updated> 
<published>2008-12-16T17:03:33+02:00</published> 
<summary type="html"> 
I&#039;ve been working with some other Forum Nokia Champions and expert developers in the last few months to create some resources for Multi-language programming (mixing your favourite ...</summary> 
<author> 
 
<name>Sorcery-ltd</name> 
<uri>http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog</uri> 
</author> 
<dc:subject>
General 
Flash 
Games 
Java 
Python 
Symbian C++ 
Web Run-Time (WRT) 
Widget 
</dc:subject> 
<content type="text/html" xml:lang="en" xml:base="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog"> 
&lt;p&gt;
I&#039;ve been working with some other Forum Nokia Champions and expert developers in the last few months to create some resources for Multi-language programming (mixing your favourite runtimes).&amp;nbsp; The result is a &lt;a href=&quot;http://developer.symbian.com/main/documentation/runtime_environments/multi/&quot; target=&quot;_blank&quot;&gt;series of papers for the Symbian Developer Network&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
In them you can find out about:
&lt;/p&gt;
&lt;p&gt;
1) The architecture for applications mixing languages
&lt;/p&gt;
&lt;p&gt;
2) The strengths and weaknesses of various combinations of languages
&lt;/p&gt;
&lt;p&gt;
3) How to combine Flash Lite with C++ or Java (with examples from KuneriLite and Jarpa)
&lt;/p&gt;
&lt;p&gt;
4) How to combine Python with Flash Lite or C++ (with examples from Flyer and a tutorial on writing PyS60 extensions)
&lt;/p&gt;
&lt;p&gt;
5) How to extend WRT widgets
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
One of the suggestions I made on my blog here before and also in the papers has already been done.&amp;nbsp; One of the authors of the paper covering Python, Jussi Toivola (aka GameDude) has &lt;a href=&quot;http://discussion.forum.nokia.com/forum/showthread.php?t=152969&quot; target=&quot;_blank&quot;&gt;ported pygame to PyS60 Community Edition&lt;/a&gt;.&amp;nbsp; Now you can write games with sound effects in Python, taking advantage of the native performance provided by the SDL.
&lt;/p&gt;
&lt;p&gt;
Please read and enjoy!&amp;nbsp; Many thanks are due to Bernd Wiegmann, Felipe Andrade, Ugur Kaner, Jukka Hamalainen, Mikko Ohtamaa &amp;amp; Jussi Toivola, as well as the wonderful folks at the SDN.
&lt;/p&gt;
&lt;p&gt;
Mark
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt; 
</content> 
</entry> 
 
<entry> 
<title>Code Camps - a great way to learn a new environment</title>
<link rel="alternate" type="text/html" href="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog/2008/09/15/code-camps-a-great-way-to-learn-a-new-environment" /> 
<id>tag:blogs.forum.nokia.com,2008-09-15:1733</id>
 
<updated>2008-09-15T23:46:17+03:00</updated> 
<published>2008-09-15T23:46:17+03:00</published> 
<summary type="html"> 
I was in Berlin last week at MDD08.&amp;nbsp; Some of it was good, some not so.&amp;nbsp; However, one bit that I really enjoyed was the chance to learn some more about Flash Lite and write my first ...</summary> 
<author> 
 
<name>Sorcery-ltd</name> 
<uri>http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog</uri> 
</author> 
<dc:subject>
General 
Flash 
Games 
</dc:subject> 
<content type="text/html" xml:lang="en" xml:base="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog"> 
&lt;p&gt;
I was in Berlin last week at MDD08.&amp;nbsp; Some of it was good, some not so.&amp;nbsp; However, one bit that I really enjoyed was the chance to learn some more about Flash Lite and write my first Flash Lite application with some experts on hand to smooth the learning curve.
&lt;/p&gt;
&lt;p&gt;
I got this chance at the Forum Nokia code camp.&amp;nbsp; Here&#039;s FN&#039;s own Riku Salminen evangelising about Flash Lite.
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_1778&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300018/11092007051.jpg&quot;&gt;&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300018/previews-med/11092007051.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
So, having never written anything in Flash before, and not having hacked a bit of JavaScript (which is very like the ActionScript language used in Flash Lite) for many years, I opened up Adobe Creative Suite 3 and set to work.
&lt;/p&gt;
&lt;p&gt;
I had some good advice from fellow FNC Chall3ng3r (aka Faisal Iqbal) and he helped me fix my first bug - so thanks for that.&amp;nbsp; He&#039;s recently released a new version of his tool for Flash Lite developers - &lt;a href=&quot;http://www.swf2go.com/&quot; target=&quot;_blank&quot;&gt;SWF2Go&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
In one afternoon I created a simple breakout clone where the blocks advance down the screen every 5 seconds.&amp;nbsp; It isn&#039;t finished - it doesn&#039;t actually keep track of the score yet or tell you when you run out of lives and give you the chance to start again for instance - but it&#039;s fairly playable already.&amp;nbsp; Of course the graphics are very basic but that&#039;s not the point - they can easily be replaced later.&amp;nbsp; I&#039;d never be able to acheive that much with native Symbian C++ coding in an afternoon, particularly if I&#039;d never written anything before.&amp;nbsp; I don&#039;t think it would have been possible if I hadn&#039;t been at the code camp with some experts on hand to help either.
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_1780&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300018/Simple_game.fla&quot; target=&quot;_blank&quot;&gt;Simple_game.swf&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a id=&quot;res_1780&quot; href=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300018/Simple_game.fla&quot; target=&quot;_blank&quot;&gt;Simple_game.fla&lt;/a&gt; - use &amp;quot;save target as&amp;quot; on these links if you want to mess with my simple creation, the keys aren&#039;t enabled if you play the above link in the desktop Flash Player in your browser. 
&lt;/p&gt;
&lt;p&gt;
That said, ActionScript debugging is a nightmare - the run-time doesn&#039;t produce any errors, it just carries on as best it can if there&#039;s a problem.&amp;nbsp; I found what seems like an obscure bug with where you can and can&#039;t access movie clips from using the global this[] array syntax but it took about an hour out of my afternoon tracking it down (Riku &amp;amp; Faisal couldn&#039;t even help with that one!) otherwise I might have finished.&amp;nbsp; I don&#039;t think I&#039;m a converted Flash Lite enthusiast after this experience but I&#039;ll definitely be having another look at it.
&lt;/p&gt;
&lt;p&gt;
If there&#039;s a code camp near you, give it a try!&amp;nbsp; You never know what you might create.
&lt;/p&gt;
&lt;p&gt;
Mark
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt; 
</content> 
</entry> 
 
<entry> 
<title>Python for Series 60 Community Edition!</title>
<link rel="alternate" type="text/html" href="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog/2008/09/04/python-for-series-60-community-edition" /> 
<id>tag:blogs.forum.nokia.com,2008-09-04:1713</id>
 
<updated>2008-09-04T13:36:53+03:00</updated> 
<published>2008-09-04T13:36:53+03:00</published> 
<summary type="html"> 
Ever wanted to add modules to the core PyS60 distribution rather than having to find them from all over the place?
 
 
Ever wanted to build a single executable for your Python application ...</summary> 
<author> 
 
<name>Sorcery-ltd</name> 
<uri>http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog</uri> 
</author> 
<dc:subject>
Games 
Python 
S60 
Symbian C++ 
</dc:subject> 
<content type="text/html" xml:lang="en" xml:base="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog"> 
&lt;p&gt;
Ever wanted to add modules to the core PyS60 distribution rather than having to find them from all over the place?
&lt;/p&gt;
&lt;p&gt;
Ever wanted to build a single executable for your Python application that didn&#039;t need the interpreter installed separately or as an embedded SIS file AND have no clashes with other interpreter versions or problems with uninstallation and dependencies?
&lt;/p&gt;
&lt;p&gt;
Ever wanted to try out a new build system for Symbian OS, where the build scripts are written in Python (SCons for Symbian anyone)?
&lt;/p&gt;
&lt;p&gt;
If you had these things what would you do with them?&amp;nbsp; You could:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Write commercial PyS60 applications!&lt;/li&gt;
	&lt;li&gt;Port/Intergrate new modules more easily.&lt;/li&gt;
	&lt;li&gt;Fix bugs in PyS60 core or modules that affect your apps rather than work around them.&lt;/li&gt;
	&lt;li&gt;Much, much more...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Thankfully the fantastic folks at &lt;a href=&quot;http://www.redinnovation.com/&quot; target=&quot;_blank&quot;&gt;Red Innovation&lt;/a&gt; have brought us &lt;a href=&quot;http://blog.redinnovation.com/2008/09/01/introducing-python-for-series-60-community-edition/&quot; target=&quot;_blank&quot;&gt;Python for Series 60 Community Edition&lt;/a&gt; that provides all of this.&amp;nbsp; I can take no credit here, I&#039;ve only tested that the build system works.&amp;nbsp; At the moment it&#039;s still really only for enthusiasts and early adopters as the installation and setup is a bit complex to start working on it, but there are plans to simplify things in the future. 
&lt;/p&gt;
&lt;p&gt;
The project is hosted at &lt;a href=&quot;https://launchpad.net/pys60community&quot; target=&quot;_blank&quot;&gt;Launchpad&lt;/a&gt; so that&#039;s the place to go with your questions and bug reports.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Personally, I&#039;d love to see what people could do if we add &lt;a href=&quot;http://www.pygame.org&quot; target=&quot;_blank&quot;&gt;Pygame&lt;/a&gt; support, since the main dependency, SDL, is &lt;a href=&quot;http://koti.mbnet.fi/mertama/sdl.html&quot; target=&quot;_blank&quot;&gt;already ported to S60&lt;/a&gt;.&amp;nbsp; Unfortunately I have no idea when I&#039;ll have time to work on this.&amp;nbsp; If anyone else wants to get started I&#039;ll be happy to support/mentor them if they need it though - just comment this blog or drop me an email via the discussion boards.&amp;nbsp; I&#039;ve already added a &amp;quot;blueprint&amp;quot; for this to Launchpad, but there&#039;s no detail yet.  
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://blogs.forum.nokia.com//data/blogs/resources/300018/pygame.jpg&quot; alt=&quot;Pygame banner&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
Perhaps one day Nokia will be able to take patches and extensions from the community release back to the official release...
&lt;/p&gt;
&lt;p&gt;
Anyway, enjoy this great new resource.
&lt;/p&gt;
&lt;p&gt;
Mark
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt; 
</content> 
</entry> 
 
<entry> 
<title>N-Gage - first impressions</title>
<link rel="alternate" type="text/html" href="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog/2008/04/29/n-gage-first-impressions" /> 
<id>tag:blogs.forum.nokia.com,2008-04-29:1481</id>
 
<updated>2008-04-29T18:31:55+03:00</updated> 
<published>2008-04-29T18:31:55+03:00</published> 
<summary type="html"> 
For anyone interested in seeing just how far their favourite platform can be pushed, games are the place to look.
 
 
In case you&#039;ve missed it  Nokia&#039;s N-Gage service  has been on a limited ...</summary> 
<author> 
 
<name>Sorcery-ltd</name> 
<uri>http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog</uri> 
</author> 
<dc:subject>
Games 
</dc:subject> 
<content type="text/html" xml:lang="en" xml:base="http://blogs.forum.nokia.com/blog/mark-wilcoxs-forum-nokia-blog"> 
&lt;p&gt;
For anyone interested in seeing just how far their favourite platform can be pushed, games are the place to look.
&lt;/p&gt;
&lt;p&gt;
In case you&#039;ve missed it &lt;a href=&quot;http://www.n-gage.com&quot; target=&quot;_blank&quot;&gt;Nokia&#039;s N-Gage service&lt;/a&gt; has been on a limited release for a little while now.&amp;nbsp; It&#039;s limited in terms of supported devices at the moment but I&#039;ve been able to try it out on my N95 (after upgrading the firmware of course).
&lt;/p&gt;
&lt;p&gt;
I can see why there hasn&#039;t been a lot of fanfare and publicity yet.&amp;nbsp; The client software in my phone has had a few of the developers old favourite &amp;quot;Kern-Exec 3&amp;quot; errors and also networking errors using my home WLAN that I could only fix by exiting the application and loading it again (plus when I held END to stop it using my GPRS connection before I&#039;d selected WLAN the whole thing locked up and I had to take the battery off).
&lt;/p&gt;
&lt;p&gt;
However, teething probelms aside, these are the best games I&#039;ve ever seen on a phone and they are generally very playable and they all have a free trial.&amp;nbsp; FIFA 2008 suffers from the classic problem of football games with very simple controls - there are a number of very repeatable ways to score, after a few games you&#039;ve discovered some and then most of the challenge is gone.&amp;nbsp; Not enough longevity there to tempt me to pay for the full version.&amp;nbsp; The Tetris and breakout versions are classics but the trials are so short you barely get started (mind you, if you don&#039;t know these games already you&#039;ve probably been living in a cave for the last 20 years, plus you can try other versions out for free on the web).&amp;nbsp; Space Impact Kappa Base looks like a good 2D scrolling shooter it&#039;s just not to my taste.&amp;nbsp; I might be tempted to pay for Asphalt 3 Street Rules (again the trial could be a bit longer to help decide, only 1 lap) certainly in preference to System Rush Evolution (although that&#039;s not bad either).&amp;nbsp; My favourite so far, with extremely simple gameplay and great for 5-15 minutes on the train (not sure about longevity beyond that though - further playtesting required) is &lt;a href=&quot;http://www.mobileangler.com/&quot; target=&quot;_blank&quot;&gt;Hooked On: Creatures of the Deep&lt;/a&gt; - a very enjoyable mostly one button fishing game.
&lt;/p&gt;
&lt;p&gt;
If I could provide one major piece of feedback it would be that the platform needs to allow the game developers (if it doesn&#039;t already, and if it does the games need to take advantage) to over-ride the system keys (e.g. for application switching and music player - send, end, copy/paste and cancel would be good to use for controlling the games too when customising the keys).&amp;nbsp; These keys are placed around the directional pad on my N95 (many other phones too) and in the heat of a gaming session it&#039;s very easy to accidentally press one.&amp;nbsp; This generally results in your game being paused while something else opens - not the best experience.&amp;nbsp; I expect that app switching and the music key are captured before they even get to the game in the current architecture but this needs fixing.&amp;nbsp; When the phone is being used for gaming, gaming needs to take over as the primary function.&amp;nbsp; You only need one button or action to break out of the in game controls and return to normal control.&amp;nbsp; This could of course be customisable for those that don&#039;t want it. 
&lt;/p&gt;
&lt;p&gt;
Overall I&#039;d say not quite ready for the mass market yet but a very promising start. 
&lt;/p&gt;
&lt;p&gt;
Mark
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt; 
</content> 
</entry> 
 
</feed>