III. Mardi 12 octobre, Keynotes et conférences▲
III-A. Keynotes▲
III-A-1. Keynote de bienvenue▲
Les keynotes cette année se sont déroulées devant 1000 personnes ce qui représente les plus grandes Qt Dev Days jamais connus réalisant le double de ce qui avait déjà été un record en 2008, à savoir 520 personnes. L'introduction a été réalisé par Sebastian Nyström, Vice-président Application & Service chez Nokia, présentant les différentes types de conférences et démos qui vont avoir lieu durant les deux journées restantes.
Qt ne cesse de grandir avec plus de 1 500 000 téléchargement en 2010 alors qu'il se trouvait sous la barre des 250 000 il y a 2 ans de cela. Il est maintenant livré avec l'ensemble des smartphones Nokia et devient de plus en plus présent sur tous types de périphériques. Depuis les dernières Qt Dev Days (1 an), Nokia a sortie Qt en version 4.7 pour laquelle les efforts ont été portés sur les performances et bien sûr Qt Quick, permettant de réaliser des interfaces déclaratives en Qt. Aujourd'hui, le bug tracker de Qt enregistre 6000 comptes utilisateurs ce qui est en grande partie dû au succès de la mise en open source du framework Qt et de l'ensemble des projets apparentés. Quelques nouveautés avec les certifications Qt Specialist, le site internet Qt DevNet, le programme Qt Ambassador et la présence de Qt dans 10% des 100 meilleures universités.
III-A-2. Rich Green, directeur technique de Nokia▲
Sebastian passe ensuite la parole à Rich Green, le nouveau directeur technique de Nokia, après avoir travaillé 20 ans dans la Silicon Valley pour différentes sociétés dans un grand éventail de technologies. Il continue sa présentation en nous expliquant ce qu'est le travail d'un directeur technique à travers deux tâches principales :
- il doit fournir des plateformes et des outils au plus grand nombre de développeurs ;
- il doit également s'assurer que Nokia crée des produits fournissant une bonne expérience pour le client.
Pour Rich Green, sa mission est de fournir des outils performants avec une installation homogène sur les différentes plateformes à destination des développeurs pour qu'ils apprécient un développement rapide et qui a fait ses preuves pour leurs produits. Nokia concentre maintenant tous ses efforts sur Qt qui va devenir LA plateforme pour l'ensemble de ces produits (notamment à travers Symbian et MeeGo) et travaille donc à ce que le plus grand nombre de développeurs viennent à l'utiliser. Rich Green utilise alors l'expression "Eating our own dog food" (Manger notre propre nourriture pour chien), précisant ainsi que Nokia ne demande pas simplement aux utilisateurs de choisir Qt mais que en interne, ils vont migrer l'ensemble de leurs frameworks et applications vers Qt. Il précise que cela est un investissement et que ça ne sera pas réalisé demain, mais qu'il s'agit cependant de l'objectif principal de Nokia d'un point de vue technique.
Les engagements de Nokia pour Qt sont :
- une évolution continue : améliorer la performance et la stabilité ;
- une ouverture open source du framwork permettant une participation par la communauté ;
- une expérience utilisateur sensationnelle : Qt Quick et QML ;
- une concentration sur les applications mobiles.
Aujourd'hui, 175 millions de périphériques Nokia sur le marché sont capables d'exécuter les plateformes Qt et QML, parmi ceux-ci, 45 millions sont actuellement actifs (environ un contact par mois avec les serveurs de Nokia) et exécutent ces plateformes. À ceux-là, on peut ajouter 50 millions de téléphones portables avec Symbian qui vont être livrés avec Qt ce qui porte une cible pour les développeurs d'applications à pratiquement 100 millions de périphériques. Pour rester dans les chiffres, Nokia a versé 1 million de dollars à un développeur kenyan vainqueur des Nokia awards et a récolté avec ATT 10 millions de dollars pour les développeurs qui réaliseront des applications à destination des N8. Tout cela prouve un encouragement certain à investir dans Qt et à l'utiliser dans le développement d'applications.
III-B. Roadmap de Qt▲
Sebastian Nyström est également l'orateur de la conférence "Qt Roadmap". Il commence par présenter les retours du marché avec ce que les utilisateurs attendent du framework Qt :
- amélioration des performances : cela permet d'améliorer l'expérience utilisateur dans le cas de grosses applications en gardant l'interface fluide et prête à répondre ;
- une intégration du Web sur tous les périphériques : Internet est maintenant partout et utilisé dans la majorité des applications ;
- une amélioration des capteurs : les capteurs sont essentiels pour les applications embarquées et une amélioration de l'intégration des données est attendue ;
- la 3D : pouvoir intégrer de plus en plus d'éléments en 3D et plus facilement dans des applications Qt ;
- les écrans gérant plusieurs points de toucher : de plus en plus de périphériques utilisent le toucher pour contrôler les applications, il est important que Qt améliore la gestion du "multi-touch".
Le projet Scene Graph (graphe de scène) est l'un des projets sur lequel a travaillé l'équipe Qt en vue d'améliorer les performances entre QML et OpenGL (ES) 2.0. Le schéma ci-dessous présente les différentes étapes qui sont nécessaires dans Qt 4.7 et qui sont remplacées par ce nouveau graphe de scène permettant d'avoir un grand gain de performance. Le projet Scene Graph ne fait actuellement pas partie de Qt 4.7 mais sera intégré à la future version 4.8.
Le projet Lighthouse fait également partie de ce qui va améliorer considérablement la performance de Qt dans le domaine de l'accélération graphique sur périphériques embarqués. Il s'agit de quelque chose qui n'est pas directement perçu par les développeurs mais qui va permettre un gain de performance important même sur les plateformes à venir. Une conférence a été dédiée à ce projet.
QtWebKit est l'un des modules qui avancent le plus rapidement étant donné que les mises à jour sont indépendantes du framework Qt. Il est primordial pour les développeurs qui veulent intégrer des pages Web dans leur applications. QtWebKit s'adapte au fur et à mesure à l'avancement des spécifications de HTML5 et de CSS3 et pourra donc être utilisé pour afficher des pages écrites dans ces langages. L'équipe de QtWebKit travaille également sur le déplacement par toucher sur du contenu Web.
De nouvelles API sont également disponibles avec Qt Mobility 1.1 permettant de manipuler des données de périphériques mobiles, des capteurs et également d'utiliser des services intégrés. Vous pouvez également retrouver la liste des API sur l'annonce de leur sortie.
Qt/3D est une interface C++ portable et facile à utiliser pour créer des éléments graphiques en 3D. Qt/3D peut bien sûr être utilisé avec QML. Il s'agit d'une fonctionnalité qui sera peut-être intégrée à Qt 4.8 dans son propre module.
L'une des questions qui reviennent le plus souvent est : quel est l'investissement de Nokia sur les différentes plateformes que Qt supporte ? Le schéma ci-dessous décrit clairement quels sont les futurs investissements de Nokia et permet de voir qu'ils sont ciblés principalement sur les périphériques mobiles (Symbian et MeeGo) ainsi que QML et l'ensemble des projets présentés ci-dessus (Qt 3D, Scene Graph, Qt Mobility, Qt WebKit).
Cette présentation du futur de Qt est suivie d'une introduction à Qt Quick par Lars Knoll qui sera bientôt disponible en vidéo sur le site de Nokia.
III-C. Interview de Rich Green, CTO de Nokia▲
Question : est-il prévu de porter Qt sur des systèmes comme iPhone et Android, ou restera-t-il dédié aux périphériques Nokia ?
Rich : pour l'instant, nous allons nous concentrer sur Qt lui-même pour faire en sorte qu'il arrive avec de très bons outils pour les smartphones Nokia.
Cela nous prend une majeure partie de notre temps et de nos ressources. Maintenant, si l'on regarde dans l'avenir, il y aura sûrement des opportunités
de porter Qt sur d'autres plateformes que celles de Nokia et nous nous porterons très certainement sur les télévisions, les voitures, etc. qui pourront
faire partie de l'écosystème de Nokia. En ce qui concerne iPhone et Android, nous n'avons pas de plan pour le moment les concernant, nous ne sommes pas contre,
nous préférons tout simplement nous concentrer sur Symbian et MeeGo qui sont de très bonnes plateformes.
Question : en ce qui concerne Symbian, il était très difficile d'avoir une version récente sur un téléphone plus ancien,
allez-vous faire quelque chose à propos de cela ?
Rich : la question de la compatibilité entre les versions est un problème difficile. Cependant, nous allons faire en sorte
de fournir aux utilisateurs de Symbian le meilleur outil de mise à jour leur permettant d'avoir la dernière version du système d'exploitation,
des applications, etc. Nous concentrons une bonne partie de nos efforts sur la refonte de ce système de mise à jour, ce n'est pas un changement facile
mais nous pensons qu'il peut apporter une grande valeur ajoutée à nos utilisateurs. Il y a bien sûr un point où la technologie est trop
vieille pour être capable de faire fonctionner une nouvelle plateforme, cependant nous pouvons faire mieux que ce qui existe actuellement.
Question : il a été annoncé que les efforts pour Qt 4.7 étaient portés sur les performances et l'amélioration de l'existant. Cependant nous voyons
de nombreuses nouvelles technologies telles que QML, Scene Graph, Qt/3D, etc., quel est le véritable objectif des nouvelles versions de Qt ?
Rich : la rapidité de développement d'une application avec Qt Quick est un élément important de l'accélération, non pas de l'application, mais
du temps de développement et nous devions fournir quelque chose de tel à nos développeurs. D'un point de vue visuel, les applications devaient également être
aussi attirantes que ce qui existe ailleurs, c'est pourquoi nous avons mis nos efforts sur les deux, à savoir Qt Quick et les performances de l'existant.
Question : qu'est-ce que vous pensez du futur de Symbian et MeeGo, vont-ils continuer séparément ou MeeGo risque-t-il de prendre le
pas sur Symbian dans un futur éloigné ?
Rich : c'est trop tôt pour s'avancer sur cette question, nous investissons sur les deux plateformes et nous avons un réel succès avec Symbian^3
sur le N8, donc pour l'instant nous allons garder cela dans ce sens. En même temps, nous faisons partie du programme MeeGo avec Intel et il s'agit tous les deux
(avec Symbian) de programmes importants pour Nokia et je ne pense pas que nous devions choisir. Notre objectif est de faire fonctionner aussi bien Qt et QML sur
ces deux systèmes d'exploitation pour que les développeurs puissent choisir en fonction du marché.
Question : quand MeeGo sera-t-il livré pour la première fois sur un smartphone Nokia ?
Rich : nous n'allons pas faire de spéculations, nous parlerons de la sortie de MeeGo lorsqu'il sera prêt.
III-D. Interview de Sebastian Nyström, vice-président Application & Service Frameworks▲
Question : lors de la conférence Qt Roadmap, on voit que Qt Mobility fonctionne uniquement sur Symbian et MeeGo, pourquoi ?
Sebastian : nous nous concentrons sur ces deux plateformes, cependant la majorités des API fonctionnent également sur des applications de bureau.
Certaines d'entre-elles n'ont pas vraiment de sens sur des ordinateurs de bureau tels que les capteurs embarqués.
Question : j'ai noté pendant la conférence sur Qt Quick que tout était défini en pixel dans le code, comment ça ce passe lorsque je porte mon
application sur un type d'écran différent ? Il s'agit d'un problème que Symbian a depuis très longtemps.
Sebastian : il est bien plus facile dans une démo de marquer 20px plutôt que parent.left() par exemple, cependant il est préférable,
dans ce genre de cas, d'utiliser les coordonnées relatives et non absolues. Il est toutefois nécessaire en général de définir la taille de l'application
ce qui reste un problème.
Question : il y a actuellement un Qt SDK et un Nokia Qt SDK, quelle est la différence ?
Sebastian : il s'agit en effet de quelque chose d'un peu confus et nous allons changer cela. L'idée originale était de permettre d'avoir un SDK par
plateforme qui pouvait être personnalisé (avec MinGw pour Windows par exemple) et Nokia a créé son propre SDK avec ses outils. Aujourd'hui avoir deux SDK
est plus perturbant que d'avoir tout dans un seul. Même s'il sera plus lourd en mémoire, nous allons migrer vers cette option.
Question : Qt Mobility comporte déjà 17 API pour sa version 1.1, votre objectif est-il d'en fournir plus ou de vous concentrer sur celles-ci ?
Sebastian : il y a en fait deux ensembles d'API et c'est vrai qu'en les additionnant on arrive déjà à un nombre plutôt important. Nous verrons si de nouvelles
fonctionnalités sont nécessaires dans le futur proche, nous créerons peut être une nouvelle API mais cela dépendra des besoins et les plus importantes en font déjà parties,
nous allons donc nous concentrer dessus.
Question : peut-on créer une application MeeGo avec Qt Creator ?
Sebastian : oui, avec un paquet Debian.
Question : est-ce que vous avez pour idée de fournir des tests unitaires pour les interfaces graphiques ?
Sebastian : certains de nos partenaires comme FrogLogic fournissent ce type d'outils, mais ce n'est pas le cas de Qt.
Question : les développeurs qui utilisent Visual Studio ou Eclipse pour des gros projets ne ferront sûrement pas la migration vers
Qt Creator car ils considèrent que vous êtes concentré sur les développements pour mobiles et Qt Quick et que le management de projets est laissé pour
compte et ne suffit pas à leurs besoins. Est ce qu'une amélioration de la gestion de projets dans Qt Creator est prévue ?
Sebastian : pour les personnes voulant utiliser Visual Studio ou Eclipse, nous avons des plug-ins pour Qt. Nous ne cherchons pas à remplacer Eclipse,
nous développons un environnement pour des développeurs qui utilisent Qt. Nous faisons ce que nous devons pour que l'expérience avec Qt soit bonne, si dans l'avenir
nous tendons vers la maturité d'Eclipse se sera très bien, mais Qt Creator est encore jeune et nous nous concentrons plus sur Qt Quick et Qt Mobility.
III-E. Conférence de Justin Noel, Qt Tips and Tricks▲
L'une des conférences à laquelle je voulais participer est celle présentée par Justin Noel de ICS sur les astuces et les erreurs courantes avec Qt. Cette conférence est très intéressante pour les débutants en Qt car elle permet d'apprendre à partir du savoir des développeurs, comme Justin, qui ont de nombreuses années d'expérience et ont une bonne vision des astuces et erreurs courantes.
Il commence sa présentation par les méta-objets (propriétés, appels de fonctions dynamiques) puis continue avec les QVariant (type de données personnalisées), le modèle/vue (QAbstractItemModel en tant qu'interface pour vos données), les performances (boucles, QPixamp/QImage, QNetworkAccessManager), les threads (Qt Concurrent, Signals/Slots, boucle d'événements), les tests (QTest, Q_ASSERT, Signals/Slots) et termine par des astuces diverses (ComboBox itemData(), i81n, Designers, casts).
Je vous conseille de visionner cette présentation lorsqu'elle sera rendue disponible par Nokia, même en tant que développeurs expérimentés vous apprendrez très certainement des choses.
III-F. Interview de Daniel Kihlberg, responsable des activités SMS▲
J'ai eu le privilège d'avoir un entretien en face à face avec Daniel Kihlberg qui est le responsable des activités SMS (Ventes, Marketing et Services) chez Qt. Je n'ai malheureusement pas pu enregistrer la conversation et Daniel est un grand parleur donc je vais plutôt vous faire un résumé de ce qui s'est dit.
Ma première question était bien sûr de savoir si la stratégie marketing de Qt avait changé depuis le passage à la licence LGPL. Leur point de vue est que rien n'a changé pour eux. Il est vrai qu'avant le passage à la LGPL, Qt vendait une licence sur dix par rapport à la GPL (utilisation non commerciale de Qt) et que maintenant ils sont passés à une vente sur cent. Cependant l'idée derrière tout ça est de promouvoir Qt pour qu'il soit massivement utilisé à travers le monde à la fois pour les ordinateurs de bureau, les téléphones portables et les périphériques embarqués. La LGPL permet cela ce qui fait que le nombre d'utilisateurs de Qt a augmenté de manière significative depuis le passage à la LGPL. Cela a deux conséquences, la première c'est que Qt s'en sort grandi car plus d'utilisateurs signifie plus de retours utilisateurs et plus de participation au projet communautaire ce qui permet à Qt d'avoir un framework plus robuste et contenant plus de fonctionnalités, la deuxième c'est que le nombre d'utilisateurs a tellement augmenté que le ratio qui est passé de 1/10 à 1/100 fait gagner pratiquement la même somme d'argent à l'entreprise.
L'objectif marketing aujourd'hui ce n'est pas de courir après les entreprises ou les utilisateurs pour leur faire acheter une licence commerciale et vendre ainsi quelques licences de plus. Il est de promouvoir Qt le plus possible pour qu'il soit utilisé massivement dans différents milieux technologiques. À côté de cela, des grands comptes comme Dreamworks ou Maya qui utilisent Qt ne se sépareront jamais de la licence commerciale. Pourquoi ? Ce sont des entreprises qui ont investi tellement d'argent dans des nouveaux projets ou des projets de migration vers Qt qu'ils ont besoin de se sentir rassuré par le support technique fourni par Nokia dans cette licence. Cela leur permet également de pouvoir contribuer au projet dans le futur s'ils le souhaitent.
Cela a quand même pour conséquence que Qt Development Framework en tant qu'entité virtuelle ne s'auto-alimente pas financièrement. Les ventes actuelles permettent uniquement de payer les personnes concernées par l'activité SMS (Ventes, Marketing et Services) ce qui n'inclut pas tous les développeurs qui eux sont payés par Nokia. Qt reste donc dépendant financièrement de Nokia qui peut donc avoir une sorte de pression sur le groupe. Cependant Daniel précise que TrollTech avant d'être racheté par Nokia avait déjà commencé à porter Qt vers des plateformes embarquées et des téléphones (rappelez-vous du green phone), pour lui la stratégie globale de l'entreprise n'a pas changé par ce rachat. L'idée est toujours de porter Qt partout et qu'il soit utilisé par le plus de monde possible : Qt Everywhere. Actuellement la cible marketing de Qt se situe cependant principalement en Europe, aux États-Unis et en Asie (Chine, Japon).
III-G. Le diner des Trolls▲
La soirée du mardi soir au cours des Qt Dev Days est toujours consacrée à un grand dîner avec les Trolls. Tout le monde s'assoit où il veut et les Trolls sont éparpillés un peu partout dans la salle permettant de discuter avec eux plus simplement autour d'un repas et également de rencontrer d'autres personnes.
Le dîner est animé par un traditionnel Fact & Crap (jeu de questions réponses vrai ou faux) présenté cette année par Alexandra Leisse, responsable Web et communauté. Les photos ci-dessous en sont un extrait : en supprimant la première lettre Q, Qt a-t-il des classes (publiques) commençant par toutes les lettres de l'alphabet ? Et la réponse est.... Crap ! Il n'y a pas de classes commençant par J, Y et Z.