AR.Drone (Featured Project)

project icon​AR.Drone by osterbye is a control app for the ​ParrotAR.Drone v1, written in Qt and tested on Nokia Belle and Harmattan.

While this is a well run project which demonstrates some useful Qt code, we’ve selected it primarily because the AR.Drone is one of the coolest toys we’ve ever seen. We love that this project gives you the ability to guide it from your Symbian or Harmattan device while viewing the live video feed (learn how to fly it on the ​project wiki, along with an overview of the app architecture). We want one, and we’re pretty sure the project’s other 26 followers agree!


As a project, we like that the project owner has used their ​announcements discussion board to keep followers updated on new releases, and that these releases are available on the Summary page and from Nokia Store. Osterbye has also been really responsive to all user queries on the ​discussion boards, which is one of the keys to a successful project.

We’d like to see more tickets, and in particular a roadmap for the development of an update to support the new ​AR.Drone v2. The project owner hasn’t been able to commit to the evolution of this project for personal and work-related reasons – please show your thanks and support for the work done so far by following this project from its ​summary page, or even contributing to it.

– Hamish Willee (on behalf of the Projects Moderation team)

Qt Telephony Utility (Featured Project)

project icon​Qt Telephony Utility by galazzo is a Qt library which exposes all the useful functionality in the Symbian C++ public Telephony API (CTelephony). This library makes it easy to make and answer phone calls and get the IMEI, in both Qt C++ and Qt Quick.

We like that this project delivers a very useful API which developers would otherwise have to roll out themselves. It is well documented with good examples so there is no guesswork involved when including it in your projects (see API reference and example documentation on the main wiki: ​How to manage phone calls with QS60Telephony). In addition, the fact that it has been used in an app published on Nokia Store (​Blacklist Manager) means that it will get regular real-world testing.

The author has already responded to requests to improve the documentation and removed unnecessary dependencies (making the project easier to use). Please provide any further feedback and suggestions for the API or ​Blacklist Manager in the project discussion boards.

– Hamish Willee (on behalf of the Projects Moderation team)

QZXing (Featured Project)

project icon​QZXing by ​favoritas37 is a Qt Library for 1D/2D Barcode Image Processing. The library, which is a Qt C++ and QML wrapper around the C++ part of ​ZXing library provides decoding of many common barcode formats: Qr Codes, DataMatrix (v1.1), UPC_E, UPC_A etc. It runs on Symbian, Maemo and Windows.

The project is well documented both in its own wiki and in the main wiki article ​Qr Decoder in Qt (the project wiki is more up-to-date). The API is straightforward to use and exposes the most useful functionality from the ZXing library in both QML and Qt. Integrating with the camera is simple (particularly in QML), but if you have problems, there are two project example apps that you try out to understand what is going on. The project moderation team love that this useful open source library is now available and easy to use by the developer community.

The author has achieved an extraordinary amount in a short amount of time. We like that the author has made the broad use of the Project’s infrastructure including ticketing and discussion boards. Going forward we hope to see more of the open discussions answered and a clear roadmap on what comes next!

– Hamish Willee (on behalf of the Projects Moderation team)

Tantalum2 J2ME Library (​Featured Project of the Month April 2012)

Tantalum iconTantalum by ​Paul Houghton (and team!) is a very lightweight and elegant back end utility library for mobile Java. It includes (at time of writing): Clean utility model threading, Simplified XML and JSON parsing into value objects, HTTP GET with automatic retry, RAM and RMS caching to enable online-offline apps which start and run really quickly, and Logging convenience classes.

The library was originally written by Paul (a Nokia Certified Trainer) to show students the proper way to address these use cases with minimal code. The library has now evolved through its second major revision (having been in consistent development since the end of 2010) and is used in a number of commercial apps.

We really like this project because these are tools many developers will need time and time again. Weighing in at only 30Kb, with an elegant API, example code, a permissive open source license, a lot of project members, and the fact that its been used “in anger” on commercial apps, makes choosing to use the library an easy decision.

The project has a number of milestones and tickets open, so there are a few small features that community members can work on already. We’d love to see more enhancements in the queue and for these to be assigned milestones so we can get a better idea of the great features coming. We’d also love to see some more user documentation in the wiki, although this is not vital given the good quality of the example code.

We recommend you check this library out. The project team are interested to hear your feedback, proposals, and sutiable contributions.

Project Explorer update, along with stability and security improvements

We’ve just released a new set of updates to Nokia Projects. The main focus of the release was to improve stability and security, but we also managed to slip in some much needed usability improvements.

Project Explorer

The most visible change is an update to the Project Explorer.

Following a thorough usability review we’ve made a lot of relatively minor changes that make it a lot easier to use:

  • All search parameters are now displayed at the top of the results page along with the number of results displayed and found (total). From
    here we can also clear the search parameters individually or as a group.

    • This makes it easy to see what is filtered, even if the sidebar is collapsed.
  • Selected categories are better highlighted in the sidebar using colour, bold text and a checkbox
  • The sidebar displays more key categories, and provides separate sections for filtering projects against license, development status and natural language.
  • You can now display many more results on a page – up to 100.
  • UI text for buttons and headings is now unambiguous
  • URL links to the explorer open the sidebar to the correct locations.

We’ve also improved the UI logic for selecting parents and subcategories:

  • Selection of a parent category silently includes articles in any subcategory in the search
  • Subsequent selection of a subcategory deselects the parent category.
  • As before, the search returns only those articles which have all selected categories. 

We don’t think you’ll need any instructions to be able to use Project Explorer effectively, but if you do, its fully documented in the Community Help & Support Wiki here.

We hope you like it! See #105 for more information.

Stability and Security 

Most of the work done this release was to improve our tools and processes for early detection and debugging of stability and security issues. In particular we’ve:

  • Improved logging – we now make significantly more use of native Trac logging and fixed bugs in our custom logging solution in the Multi-Project plugging. All logs are now in one place, and the new logging code is significantly easier to manage and maintain
  • Added basic load testing – we’ve created a simple performance load test using FunkLoad.

With these improved tools we’ve been able to discover and fix a number of intermittent stability bugs.

For more information see #107

Other improvements

We’ve also replaced the banner on the project home page. It was much too big, and now you get to the information about projects a lot faster.

For more information about the above improvements see the milestone report in Community Help & Support. We also welcome additional suggestions for improvement.

Opening the Nokia Developer Knowledge Base

Once upon a time, the Nokia Developer Knowledge Base was established to be a library of articles and known issues created or verified by Nokia Developer Technical Experts.

While these articles are extremely useful, many of the reasons behind why the Knowledge Base was originally created as a separate library have since disappeared (for example, we can now use bug databases instead of “known issues”; and many of our developer-contributed articles are of very high quality). After much thought, we’ve decided that the time has come to merge the Knowledge Base into the Nokia Developer Wiki.

One of the main benefits of moving the Knowledge Base to the Wiki is that all of the entries can be edited by any logged in user, increasing the likelihood that articles will be improved and maintained by the community as a whole.

Another benefit for all members of the community is that there will no longer be a need to separately browse the Knowledge base – the same articles will just as easy to find within the main Wiki categories and lists. We think this will be a positive change for everyone using the site.

You can expect to see these changes rolling out in the coming months. In the interest of transparency, here’s our plan:

  • First, we’ll review all of the current Knowledge Base articles, and either update or archive that content as needed.
  • We will then strip the articles of the ID number in their title, unprotect them, and merge them into the Wiki.
  • At the end of the process, we’ll delete the Knowledge Base home page, and it will cease to exist as a separate entity.

RIP Knowledge Base 2012 – long live the Wiki!

Improved support for non-English languages

While English is the native language of this wiki, we encourage developers to form communities around their own languages and to translate content to help those developers who aren’t so proficient with English.

We’ve recently been working to improve the support for non-English languages on the wiki. This month we’ve fixed printing of non-English characters in PDF – so now if you select "Download as PDF" in the wiki sidebar the resulting PDF will correctly display all charactes. Check it out for this Chinese topic: 使Windows Phone应用程序根据主题改变配色方案 - of course it works for Russian, Portuguese and Japanese too!

In addition, in my last post I highlighted that you can now add a link to translations of a topic and these will be displayed in the sidebar.

Using a script I’ve now added these translation links for most translations in Portuguese, Russian and Japanese. This makes it easy to see what has been translated, to find translations, and to jump to the original article to see if it has changed since translation. I’m still working on adding the links for Chinese topics – there are a lot of them, and in many cases there was no way to automatically "guess" what the original topic was using a script.

If you’re interested in translating articles or want to discuss further, add a response!

Wiki updates 2011Q4

We’ve just improved the wiki … again:

  • Update to MediaWiki 1.17. This has fixed copy-paste bugs in the wiki editor – which now works perfectly
  • We’ve made it easier to find non-English translations by adding Wikipedia-style Inter-language linking. This means that you can find out the translations of a page from the sidebar as shown (see Help:Translating Wiki Articles and Help:Language Policy for more information) 
  • Now you can add arbitrary line numbers to your code snippets (see Help:Code Syntax Highlighting). 
  • You can see the full list of fixed defects in our Community Help And Support Bug Tracking.

We’re also working on the content, adding ArticleMetaData to make it easier to work out whether an article is relevent and up to date, and reviewing the updated articles to track and fix basic errors.  You can join us in the review project if you want to help!

New category chooser for the wiki

This month’s new wiki infrastructure update delivers a better way of selecting article categories. Rather than hoping you guess the right categories we now present group and list the key categories you’re likely to want to apply. 

Improved selector image 

You can also search for other categories in the search box (with autocomplete) or launch the "Category Chooser" to see all categories in the ontology or the wiki.

Category Chooser
There is more information and guidance on category selection in the help topic: http://www.developer.nokia.com/Community/Wiki/Help:Categories