The Qt Ambassador Kit and my first impressions of Nokia C7

A few months ago, I submitted my personal audio player project Audactile to the Nokia’s Qt Ambassador program. They seem to have liked it and I was accepted into the program.

The good surprise is that they sent me a Qt Ambassador kit: a t-shirt, some stickers and a Nokia C7 mobile phone. The pictures I took aren’t very good, but here they are:

Qt Ambassador Kit

The stickers are beautiful and I’m thinking of where I’ll put them. 🙂 The most attractive item is, obviously, the Nokia C7. It runs Symbian^3, and it was the very first time I could use a device with it. My first impressions:

  • The capactive touch screen is very good. I already test devices from Apple, Motorola, Sony Ericsson and HTC, and I can say that it’s very sensitive. It has support for pinch zoom on images.
  • Symbian^3’s UI is way better than its predecessors. It’s like a mix of the old Symbian (since it’s still Symbian…), iOS and Android. You have non-intrusive alerts at the top of the screen (like a desktop) instead of the old ugly rectangles that older versions of Symbian used for their notifications. The menus still are a bit confusing, but are better than my old Nokia E71’s menus.
  • The AMOLED display is very sharp, its colours are brilliant and the images look great. You have an ambient light detector that changes the display’s illumination, like my MacBook does.
  • The stereo sound from its back outputs are clear and powerful. Nokia knows how to put a good sound into its devices.
  • Its camera has 8.0MP, dual flash and face recognition. It can record videos in HD resolution, but I haven’t tested it yet.

Nokia C7 has a very powerful hardware. Its software is pretty cool and as friendly as Android IMHO (unfortunately Nokia will use Windows Phone instead of Symbian in some time…). The mobile phone was given to me with a short letter asking to develop for it, so that’s what I’ll do. I’ll try to write some Qt application for Symbian, and I’ll report any progress here. 🙂

Firefox 4.0 pre-beta released

Lifehacker shown a screenshot of the new Firefox 4.0 pre-beta for Windows. Here it is (Mozilla names Firefox beta versions “Minefield”):

Nice, isn’t it? So, I downloaded the new beta for Linux, and it looks like the screenshot below. I had to set the tabs to be on top; Windows version brings this for default (at least the one that I installed using Wine).

Firefox 4.0 pre-beta on Linux

Compare. The screenshot below is Firefox 3.6.4.

Firefox 3.6.4 on Linux

It’s a little far from the mockups of Firefox for Linux at Mozilla’s site. I hope I can see it soon. 🙂

Haiku OS R1 alpha 2

I’ve been reading about Haiku OS for some years. Haiku is an operating system inspired by the extinct BeOS, and for me it’s like an Unix clone with a good and clean interface, like Mac OS, but free.

Some months ago its developers released their first alpha, that I’ve already talked about and shown some screenshots. Some days ago they released a new version, Haiku R1 alpha 2. The interface is even better than before and the new features are great. My favourite one is WebPositive, a WebKit-based browser:

WebPositive

I maximised the WebPositive window and its menubar became like a Mac OS apllication menubar:

WebPositive's menubar

Something I didn’t notice in the latest release: Haiku has support for desktop applets. And OpenGL support is already there too:

Haiku Desktop

Why I chose Qt

A few months ago, I planned to learn some graphic toolkit. As a GNOME user, GTK was my natural choice. Although I’m a Python lover, I chose C++ because I just wanted to learn a new language and stop being afraid of pointers. So I started to read the gtkmm documentation, like tutorials and API, and to program a simple music player. I was learning gtkmm and it all seemed okay.

But I read a little about Qt and, after talking with some friends about the pros and cons of GTK and Qt, I decided to do with Qt the same things that I’ve already done with GTK up to that point. So I would know what choice was better for me. Notice that I’m not saying that Qt is better for everybody and that GTK must die, but that Qt looked better for me and my personal project. After this disclaimer, and can tell my reasons:

  • Look & feel. I’m a look&feel fanatic, and sometimes I move from GNOME to KDE only to check its new features. But I hate how GTK applications look in KDE. You can use gtk-qt-engine, but you’ll still notice the differences. You can set GTK to use the excellent QtCurve theme, that have identical versions to Qt and GTK, but you’ll get tied to a theme. But look what you have if you run a Qt application in GNOME (gedit is a GTK-based application and Picard is a Qt-based application):

    Thanks to QGtkStyle, Qt applications detect if you are in GNOME and your Qt application gets an almost perfect GTK look & feel. And yeah, it includes open and save dialogs.
  • Documentation. Qt has a very, very rich and well-organised documentation, with tutorials, API references, and examples. gtkmm also have all these items, but they didn’t look very friendly to me. And the documentation of Qt 4.7, still in development, will be even better.
  • A simple, but good IDE. A good programmer must not be dependent on IDEs, but they really help you. I tried to use Anjuta (unstable sometimes), MonoDevelop (very good for .NET platform, but not a good IDE for C/C++ development) and Netbeans as IDE when I was using gtkmm, and I was not satisfied with them. But Qt has its official IDE, Qt Creator:

    Qt Creator is clean, simple, and complete. It has quick access to documentation, breakpoints, project configuration, native support for CVS, Subversion and Git, good code completion, a good GUI designer (like the GTK’s Glade), among other features.
  • Runs well on many platforms. Qt is smart enough to run well – and with native look & feel, I really like this – in Linux, Mac, Windows, and others.

But Qt still has some cons:

  • Users should have it installed to run Qt applications, and this is not very usual in Linux environments based on GNOME, neither on Windows systems.
  • Qt is free only if you’re using it in a free project. For commercial applications, you must obtain a commercial Qt licenceUpdate: this is not exactly a con. You still can use Qt under LGPL in commercial applications, but if you make any change to Qt you must publish them or purchase a commercial Qt licence (thanks, krok, for the comment).

If you’re beginning to learn to program for graphical environments or you’re looking for a good graphical library to use in your project, you really should give Qt a try, implement some examples and feel which option is better for you.


GNOME 2.30

O GNOME 2.30 foi lançado nesse 1º de abril, e os pacotes rapidamente foram disponibilizados pro Arch Linux. 🙂 Assim que atualizei o sistema, aproveitei pra conferir algumas das novidades. A maioria delas, na minha opinião, foram discretas.

Talvez a maior exceção seja o Nautilus, de interface renovada. Agora é possível dividir a visualização em duas, o que facilita muito a troca de arquivos entre dois locais diferentes. O Konqueror faz isso há alguns anos, e era uma funcionalidade que fazia falta no Nautilus.

Dois bugs que me enchiam o saco há algum tempo também parecem ter sido resolvidos. Ao usar dois monitores, alguns applets trocavam de lugar ao iniciar o GNOME e o papel de parede da área de trabalho era esticado entre os dois monitores. Agora o papel de parede é simplesmente replicado para os dois monitores.

Mais detalhes das mudanças na nova versão estão presentes no site do GNOME. Como todo mundo gosta de screenshots, aqui vai um da minha área de trabalho: