You Are Here:

Community: Blogs

Who am I?

dcrocha

I'm a software engineer with 10 years experience in application development, having worked with Web (Perl, PHP, JavaScript, JSP, Servlets, Flash, ASP), Enterprise (Java EE) and Mobile software (Symbian C++, Java ME, Flash Lite, Python). Currently working as Forum Nokia Technology Expert with many exciting technologies.

Check my blog for more articles and fun stuff: http://rawsocket.org

 

Calendar

« November 2008 »
Mo Tu We Th Fr Sa Su
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
 

Daniel Rocha's Forum Nokia Blog

Commercial S60 applications in Python

dcrocha | 28 November, 2008 18:10

Why aren't there (m)any commercial apps written in Python for S60? This is a question I have been asking myself since I started working with this technology back in late 2006.

Mikko Ohtamaa from Red Innovation wrote a very interesting piece on the topic back in February, and from his post plus practical experience plus I have put together a list of the main issues (not in any particular order):

  • Symbian Signed compatibility: Python apps do not have sophisticated memory control, therefore they may fail some SS tests related to performing well under scarce memory conditions. The new Symbian Signed "Express Signed" feature partially solves this issue (?) since it does not involve sending an app for testing by a test house - so the standard test criteria is not used.
  • Packaging and distribution: Packaging Python applications in .sis files is hard. If a developer does it without the Python runtime (distributed as a separate file), users have to be instructed to download the runtime from another place, which is less than ideal since we want our applications to be installed in a single shot. Also if two different applications are packaged with the different versions of the runtime, problems will arise as Symbian prevents installing conflicting binaries with the same UIDs. Python for S60 Community Edition presents a valid solution for this problem, since it allows to package a Python app, customized runtime, C++ extensions and everything else into a single .sis file that can be installed as if it were a native application.
  • API set: I would say that Python API set is situated between C++ and Java sets. It has more features than Java (in general) but less than C++. This can generate high expectations on developers, who think of Python as an easier way of writing native apps. But when they realize the API set is greatly reduced from what's available in C++, they may get frustrated on having to write their own extensions. There's a healthy amount of activity happening around creating C++ extensions for PyS60, so that helps a bit as well.
  • Culture: Python developers are hackers, used to a lot of freedom in other platforms. They may get quickly annoyed by the constraints of mobile development, specially PlatSec and Symbian Signed, and give up trying to get their apps to commercial quality. I see no solution for this problem as of now.

That being said, I wish to say I am a supporter of the idea that Python for S60 can be used for commercial apps, not only for rapid prototyping, and that's exactly why I am puzzled by the lack of commercial apps in this technology.

What do you think is the reason for that?

[]s
Daniel

Mobile Drummer with N95

dcrocha | 28 November, 2008 17:23

Fun moment of the Friday. FN Champion Jackson Feijo and his mobile drum kit, composed of three Nokia N95s plus some Symbian C++ code. I would call it a "poor man's drum kit" but as real drums cost less than three N95s I will just call it "mobile man's drum kit".

Enjoy:

Mobile Drummer with N95

 
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fblogE2fpaulE2dcoultonsE2dforumE2dnokiaE2dblogE2farchivesE2f2009E2f04E2fX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZBlogContentQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtypeQUqfntypeZBlogContentQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZBlogContentQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ