GCompris goes Qt Quick QtCon’16, Berlin(Germany) ● Code
About me ● Community
● Travel
● A project created in 2000 to provide educational content on GNU/Linux for children 2 to 10 years of age. ● Used worldwide at home, at school, at the hospital, ... ● Originally written in GTK+, ported to Qt Quick begining in January 2014 and still in progress Why we selected Qt Quick ?
● Goal is to target desktop and mobile platforms from a single code base GCompris ● Tested HTML5 ● But Qt Quick is a better approach +KDE Edu in our case as: ○ Better development platform ○ Better graphics (e.g. particles) ○ Smooth animations ○ Simple Qt Quick ?
● Provides a way of building custom, highly dynamic user interfaces with fluid transitions and effects, which are becoming more common especially in mobile devices. Qt Quick includes a declarative scripting language called QML.
●Fast to develop
●Fast to extend
●Fast to render Qt is doing an excellent job in multiplatform.
Platform specific code is limited to
● Updating our CMakeList for the platform
Multiplatform ● Selecting the path to the resources and the translations
The “good” side ● Adding in App purchase hook
● Packaging audio file in a supported codec ● Supporting a platform requires to have the hardware to test it
● Need to learn and integrate specific Multiplatform toolchains to make a package ● Need to maintain app store product The “bad” side entries ● Promoting the app towards a given platform ● On Android, particles makes GCompris crash (Still not a stable fix)
● On Windows, could not find a suitable Multiplatform audio codec (Close to 100 %) ● On MacOSX need qmake, IOS requires The “ugly” Side the commercial Qt version :( ● SailfishOS with older Qt version (5.2.2) and QtQuick . Controls not packaged Porting Strategy
● Full rewriting in QML
● We copy the game play, graphics, dataset and the translations from the GTK+ version
● Screen resolution independence (Thanks SVG)
● Major effort on the graphics and the user experience
● Can run in landscape or portrait mode
● Compilation chain in CMake Why KDE?
● GCompris has always been a community project
●Major focus on i18n/l10n
●Community helps and is a great motivation
●Fit perfectly in KDE-EDU What is a good activity ?
● We don't replace teachers, parents and traditional approaches
● A good activity helps the children acquire knowledge 'differently'
●The computer must do something more than just giving the right answer.
Quizzes are not enough ??? Demo Time ● Android demo has 260 installations / day (50000 so far) ... but 170 de-installs / day Statistics ● Rated 4.30 ● Very popular in France, growing slowly in other countries.
● Windows (in GTK+) is 300 DL / day ● Increased our audience with a Windows version in 2003 ● But this version requires an Community & activation code in order to : ○ Give an advantage to the Commercial GNU/Linux version ○ Fund the development ○ Increase our audience by being distributed in commercial distribution channels and app stores Status!!
Currently more than 120 activities have been ported on the 140 of the GTK+ version, 10 majors are missing. ●70+ contributors
●Completed a rework of the graphics byTimothée Giet backed by a crowd funding operation
●Available in Android, Mac OSX, iOS App stores
●23 languages at 100% thanks to KDE-I18N.
●Completing the port and killing the GTK+ version
●Adding a teacher console – Let the teacher see in real time what the children are doing RoadMap – Looking at achievements, detecting difficulties – Creating exercises What is the current plan ? – Assigning exercises to a child or a group GCompris needs you...
●Talk about GCompris to your friends, teachers, blogs, tweets, ...
●Package GCompris on whatever platform you like
●Pick a mic and give voice
http://gcompris.net/wiki/Developer's_corner
Questions ??
Thank You !!! Sagar Chand Agarwal and Team GCompris scagarwal@kde.org @sagaragarwal94