Episode 7

Wednesday, April 28, 2010


  • Nokia announces the N8 phone
  • Nokia announces the Nokia Qt SDK for Symbian and Maemo
  • Nokia announces Qt Mobility 1.0.0
Peter Winston and Justin Noel

Intro: Welcome to ICSNetwork's This Week in Qt, the ten minute podcast that keeps you informed of significant events that may impact your engineering projects. If you have not yet heard about ICS, please visit our website at www.ics.com. As an organization, we believe we have the best independent team of Qt engineers in the world. Whether you're starting a new project or need help removing that insurmountable roadblock that every project has, please contact us at sales@ics.com.

Peter: Hi. This is Peter Winston. I'm the President of ICS. I'm here with Justin Noel, and you're listing to This Week in Qt. So Justin, it seems like we had a busy week. What's going on?

Justin: Yes, it's good to be back and it's been a very exciting week. In fact, it was an incredibly exciting yesterday. Nokia announced a brand new flagship phone called the N8. Nokia also announced a new Nokia Qt SDK for Symbian and Maemo, which does support said new phone. And they released the Qt Mobility library 1.0.0.

P: Well I know this is Qt this week, but I'm a phone guy, so why don't you start with that N8 and tell me what's going on.

J: So the N8 is the first phone to run the Symbian 3 operating system, which is going to be the first version of Symbian to come with Qt and 3rd party applications going to be written with Qt. Its biggest feature looking at the press release and looking at images online is that it has a 12 megapixel camera which records full HD and it looks really well put together. It's extremely thin. It's only half an inch in depth and it has an aluminum unibody case.

P: So I looked at that picture online and the screen looks really interesting. There are lots of things going on - your mail and your calendar and clocks and stuff. How are they going to do that with Symbian? Is Symbian multitasking? Is it single tasking? I don't understand.

J: Yes, Symbian is a multitasking operating system. And it has this concept of widgets that actually run on your desktop and will update in real time, so you can basically make your own homescreen. And that's something you can even do right now on things like the N97.

P: By the desktop, you mean your phonetop?

J: Exactly, yes. Your homescreen shall we say. And it's also the same concept on Maemo and the N900 and you can have multiple of these desktops that you can flick through. So you can have a bit of your mail up, you can have what's playing on your audio, and you can have what tasks you need to do today up.

P: So is this a breakthrough revolutionary new phone? Or how does fit into where we think things are and where they're going?

J: Well Nokia has this master plan for Symbian that steps through Symbian 3, which they're developing right now, and ends at Symbian 4. Now with Symbian 4, Nokia says it will be a completely revolutionary rethinking of how Symbian works, and Symbian 3 is a stepping stone towards that. So I think we're going to see a mixture of things that are currently available such as those widgets on your homescreen combined with brand new things, like writing your applications in Qt.

P: Well while we're talking about writing your applications in Qt, what do the SDKs look like for this new phone?

J: Well Nokia did announce a brand new product that they are branding, Nokia Qt SDK. And it's out of the box - meant to be downloaded in one huge download. It includs all the compilers and all the emulators and all of the libraries necessary to develop applications for both Symbian and Maemo.

P: Wait a second. They already have a Qt SDK out there. Is this the same?

J: In some senses, yes, and in interesting senses, no. What happened is that Nokia announced a product called Qt SDK months ago that was basically the combination of a single download where you would download Qt Creator and your Qt for say Windows or X11 in one package. You would install it once, start Qt Creator, and get right to work. This is sort of the next step except in this release it only comes with the mobile development API. So you download the Nokia Qt SDK and it comes out of the box with all of the emulators and all the compilers and everything you need to get going for the mobile environment. There actually takes an extra step if you download this new product and you want to write desktop applications, you have to download another version of Qt and then configure Qt Creator to go find it. The guys at Nokia, on the blogosphere, do say that they plan on merging these two products with almost the exact same name sometime between now and quarter 3.

P: Well I'm all in favor of progress and new features, I think that's great, but one thing to keep our eye on as time goes on is to make sure that Qt does not fork. I think that's a really important thing as they merge these things forward. What else can you tell us about the Nokia Qt SDK?

J: Well it's brand new and it comes with a new system called Qt Emulator. So not only do you have the libraries and the compilers and an IDE, but you also have this new Emulator system which will allow you to run your applications' look and execute as they would on an actual device. So if you write something for Maemo, it runs on an arm and you actually get a Hildon desktop, and you're running basically inside an emulated phone. It is still a little three quarters baked right now because there is a difference between the Windows version and the Linux version that will be straightened out before final release. Right now the Windows version supports development for both Maemo and Symbian. The Linux version only supports Maemo right now. While the Symbian compilers work on Linux, there still is no emulator available for Symbian on Linux. Once again, Nokia says that they will have this straightened out and Symbian development will work entirely with Qt SDK around quarter 3.

P: So the Nokia Qt SDK is fundamentally Qt working on Maemo and working on Symbian? Does it have other layers of functionality that isn't currently in the Qt SDK?

J: Yes, not only does it come with an emulator but you can actually run your application if you plug your device in via usb, you can actually run the application on your device and use the debugger on your desktop.

P: No, but I meant the SDK. So from a programmer point of view, are the feature sets functionally equivalent or not functionally equivalent?

J: Yes, you look like you're using the exact same program just with more build targets.

P: Okay. And what's going on in the Mobility SDK? There's some work there, isn't there?

J: Yes, included inside this Nokia Qt SDK for Symbian and Maemo are the Qt Mobility 1.0.0 libraries. That is something they've been working on for a long time and we've actually used them here at ICS on a couple of projects. And what it is, is a cross-platform way of getting access to things like the GPS, contacts, playing video and audio. You can instantiate these classes on any platform and expect to get back your correct contacts and GPS location and things like that.

P: So I noticed a 1.0.0 release, should I be worried about using that?

J: We've had pretty good luck here at ICS with the actual stability of the product. The most important thing right now for a 1.0.0 release is that the APIs are stable, which means that you can actually use this library and you're not going to get binary or source incompatible with the code that you write. So you won't have the rug pulled out under you from Nokia. And the Qt Mobility in this 1.0.0 is feature complete for the Symbian and Maemo platforms. Which means that on their matrix of features vs. platform it actually runs of Linux embedded and also runs on Windows mobile - Symbian and Maemo all have green check marks. They all work. Mobility also runs on straight embedded Linux and it runs on Windows mobile. Windows mobile is actually very feature-complete as well.

P: Well that's great. I think that's about all we were going to talk about in This Week in Qt. This is Peter Winston. Thanks for joining us. And Justin thanks for sharing all of your great knowledge with us today. And we'll see you next week same time, same channel.