Symbian Blog: Articles by Hamish Willee

Life’s pretty straight without Twisties

Retweet Share on Facebook

I hope you all liked the new wiki extensions we gave you for Christmas - image maps, calendars and beautiful print-to PDF.

This week we added two more:

  • ToggleDisplay (a.k.a “Twisties”): hide/display text behind a (configurable) toggle link
  • TreeAndMenu: Create menus and trees using a simple nested bullet syntax – the content can even be created dynamically using the DPL extension

Enjoy – there is plenty more to come!

Very very Qt

Retweet Share on Facebook

There was some big news from Qt labs this week.  I hope you didn’t miss it amongst all all the other excitement around MWC. For those with a lay interest in Symbian development, Qt is a way for developers to create easier to use applications as well as have them work across different types of phone or “phone platforms”. It means another step towards better experiences.

Firstly, the latest release of Qt, 4.6.2, includes a (beta) smart installer for Symbian.  Qt applications on Symbian-based devices will now automatically fetch the correct version of Qt (and its dependencies) if they are not already on the phone. This means that Qt applications will be as small and deployable as native Symbian C++ applications.  It’s the next best thing to having Qt built in to the phone’s ROM.

There are lots of other good things for Symbian developers in the release too, including many bug fixes and incremental enhancements.

Other big news is the release of new UI extensions for mobile on the Qt Gitorious repository. This is the first real opportunity for you to look at the code behind the new UI coming in Symbian^4 (originally introduced in the Orbit and Direct UI proposals).

Lastly, a few more APIs from the Qt Mobility project have reached beta and preview levels – check out the Qt Labs blog for more details.

Merry Christmas: Presents for the Wiki!

Retweet Share on Facebook

We’ve recently updated the wiki with more great tools:

  • Export to PDF on the wiki toolbar creates a print-ready PDF of the page content
  • Calendar allows anyone to create calendars and events. We’re using this to track Symbian Community Events.
  • Images maps allow you to specify multiple clickable regions in an image, each which take the user to a different URL. This is useful in any circumstance where you want to “drill down” to other information from an image – for example to the states of a state diagram, information about individuals in a photograph, or locations in a map.

Next year we’ll be concentrating on improving WYSIWYG editing, and lots more!

Breaking news … feeds

Retweet Share on Facebook

Tracking changes on the developer wiki just got a whole lot easier!  Now you can get RSS or atom feeds that just include the articles in the categories that you’re interested in.

For example, to track my current obsession (Qt) I can use this feed: http://developer.symbian.org/wiki/index.php/Rss?categories=Qt&feed=rss.

If I’m interested in all C++ related topics, then I can use the pipe symbol (“|”) to add other categories I want into my feed e.g.: http://developer.symbian.org/wiki/index.php/Rss?categories=Qt|Symbian_C%2B%2B|C/C%2B%2B|&feed=rss.

Unfortunately I can’t be more restrictive – for example I can’t get a feed with only those articles that are in both Chinese AND Symbian C++ categories.

The wiki help page Help:Tracking Changes has links for some feeds I think developers are likely to find useful – such as the categories for Symbian’s main programming environments (Symbian C++, Qt, Web Runtime, Python etc …) and the main natural languages of our users (currently English, Chinese, Japanese, Korean, Spanish and Russian).  The page also has information on other ways to track changes in the wiki.

Most users won’t need to bother, but if you need to restrict your feed to a particular namespace or output format, there are instructions on how to do here.

We’re going to continue to improve the useability of the wiki over the coming months and years. If you’ve got any bright ideas, come along to our Birds of a Feather discussion “Building knowledge through wiki documentation” at SEE2009 at 3pm on Tuesday 27th October.

We speak your language!

Retweet Share on Facebook

If you haven’t visited our developer wiki recently, you’ll be surprised at how much it’s grown since we launched it in April. We now have over 1,200 pages of tutorial guides, FAQs, white papers, wiki books and package pages. And if English is not your first language, you might be interested to know that we recently made it a lot easier for you to use our developer wiki in your native language. Read more »

Using Qt and Symbian C++ Together

Retweet Share on Facebook

G’day, I’m Hamish Willee.

Some of you may know me from the many years I’ve hung out on Symbian developer forums and at Symbian developer events, or perhaps through my papers on the Symbian Foundation wiki.

HamishWillee2_1

Recently I’ve been working with Qt Developer Frameworks and Symbian’s Technical Communications team to write some wiki articles about developing with Qt on the Symbian platform.  The articles are designed to help developers understand what’s so special about Qt on Symbian (a lot!), how to begin developing as quickly as possible and how to use Qt and Symbian C++ together.

The articles are available for a sneak peak (in draft form) on our wiki now!

Getting started

The first wiki article is a Quick Start guide to Qt development on the Symbian platform.

qt-logo

In the style of all our Quick Start guides, it first explains where to get the tools and how to set up a Qt development environment.  It then provides a brief tutorial showing how to create, build and run a basic Qt application using the Carbide.c++ wizards.  The application isn’t anything fancy – it’s primarily designed to validate that your development environment is set up correctly!

The Qt Quick Start is accurate for the Qt Tower Pre-release. We will update the first section for Qt 4.6 in due course, when the Qt 4.6 Technology Preview becomes the recommended environment for Symbian platform development.

We have had quite a lot of positive feedback on the document, but constructive criticism and suggestions for further improvement, left as comments on the wiki article, would be very welcome!

As a side note, Qt developers that want to use Qt Creator can take heart from the linked article Qt Creator with the Symbian platform, which Salvatore discusses on a previous blog: http://blog.symbian.org/2009/09/28/2378/.

Using Qt and Symbian C++ Together

While Qt provides a rich set of APIs and development tools, inevitably some developers are going to need functionality from the underlying platform that Qt doesn’t provide.  When this happens they are going to need to mix Qt and Symbian C++ APIs and programming idioms.

Using Qt and Symbian C++ Together shows how to do so in a cross-platform and exception-safe manner, illustrating some of the key points with the example of a Bluetooth device discovery dialog.

The wiki article explains how to interwork strings, multitasking/asynchronous behaviour, geometry, containers, images, data, etc.  Each section provides a concise overview of what you need to do on each platform (with links to the key references), followed by examples/discussion on how they are mixed. Both Qt and Symbian C++ developers should get a good overview of what they can use of their existing knowledge, and where to go to get more.

The article is functionally complete for Qt 4.6 – meaning that we think the mix of topics and level of information is about right. Note however that it has not yet been sub-edited or reviewed by domain experts, so it is still subject to change. I would appreciate your feedback on what further needs to be covered, errors, or any suggestions on how sections could be improved.

Product Overview

Qt for the Symbian Platform isn’t written yet.

I’ll be starting it in the next few days. If you follow the link you’ll see the stub page I’ve created and the current list of topics to be covered. If there is anything that you think is particularly important that isn’t listed, please comment – or feel free to start the article off yourselves!

Where do we go from here?

As mentioned above, I’ll be working on the Qt Product Overview in the coming weeks, updating the Quick Start in line with Qt 4.6 technology preview releases, and ideally responding to your feedback on the other papers.

The next step will be to look at what other papers need to be written.  I’ve got some ideas:

  1. Using Libraries on Symbian Platform (static and DLL)
  2. Qt Dialog best-practises on Mobile devices
  3. Qt for Symbian Platform Application Tutorial

If you’ve any other ideas, please let us know (you can comment here, or Contact the technical communications team). And if you want to catch me in person to talk about Qt, I’ll be at SEE 2009 later this month, and at the San Francisco Qt Developer Day in early November.