Very nice. Looking at the source code http://gcompris.net/download/qt/src/gcompris-qt-0.95.tar.xz I saw the tech stack is based on QT, so works cross platform. Very nice suite with each game described by concise format, e.g. addition activity is a 6-line file:
Interestingly in the case of Algebra, there seems to be some of the logic running in .js files. I didn't you you can have .js code in QT apps. Very cool!
We normally assume to make an app truly cross-platform and reusable we have to use web technology, but this is a good example of a civilized GUI framework helping achieve something super clear and cross-platform.
Actually, as part of my consultancy, I make a fairly substantial income from doing development work with the older (and technically deprecated) Qt scripting framework QtScript (https://doc.qt.io/qt-5/qtscript-index.html), which is really just an ancient version of standard ECMAScript with Qt'isms and hooks added. I do ERP work and the ERP that I've been working with is Qt based and is extensible via QtScript. While I'd prefer to be 1) using a different scripting language, and 2) at least a more modern JavaScript flavor, given the nature of COTS ERP software I'll probably see a fair amount of work here for quite some time, albeit niche.
The big problem I have these days is finding people sufficiently knowledgeable and willing to take overflow as projects exceed my availability. Old, obscure ECMAScript variants that aren't web focused aren't the draw they once were ;-) .... kinda feels like a less legit version of COBOL... but pays enough to keep me engaged with it.
I've thought of toying with TypeScript, for example, in this way; some while ago (years) when I looked, it looked like it may well let me target the versions of ECMAScript that QtScript uses. I would expect to have to deal with some misses in that process, but it did look feasible.
I ended up not pursuing this because, while I think it would make a much more sane development experience, I don't think I'd interest other more mainstream JavaScript devs (or aspirants) to make sojourns into ERP-land and at the same time I would likely write code much more difficult to understand for those few other people that work this niche as well; also, a substantial portion of the work (upwards of 60%) is in SQL and PL/SQL flavors... again a barrier to many JS devs. I feel I owe it to my clients to leave the code serviceable by those others that have experience working in this environment should I decide to stop doing this work (or they decide not to like me anymore :-) ). On balance, the cons of a transpiling approach outweigh the pros unless I was able to get our community to shift "best practice" to more modern standards; the ISV that produces the ERP is highly conservative, not terribly forward looking, and has a good case of "Not Invented Here" syndrome, and the other practitioners are not exactly the highest level developers... so at the end of the day I don't think I'd get any traction in mitigating the risks of such a change while only really achieving a little more comfort for myself.
Good news for me is I do other stuff that this ERP developer thing... :-)
My seven year old absolutely loves GCompris. I would recommend GCompris by far compared to what we have on the phone apps nowdays for kids.
I personally appreciate the old school non commercial spirit of the makers of the GCompris. It's one of the many goodies of sticking with Linux as my primary desktop OS.
I'm planning to set up an old laptop with Linux for my 7 and 5 year olds, so I'm curious if you have any other software suggestions in addition to GCompris?
There's plenty! Try `childsplay`, `pysiogame` for collections of didactic activities. Other fun individual games are `raincat`, `colobot`. Try `rabbit escape` also. For fun (we let them play as prize) try `X-moto` and `SuperTuxkart` as well as `Supertux` platformer. We only let our kids play with libre games, so that we are able to adapt the games and learn how they are made, even reuse the assets. My kids are the same age 5 and 7.
The Sugar version of Turtle (can't remember the exact name), TuxPaint (which is also part of GCompris, but runs separately). Edubuntu has some other ideas.
I really love the spirt behind gcompris and got to enjoy watching my girls play with it when they were younger. How would one get started with contributing to the project in primarily a design/art capacity?
I got annoyed by the kooky voices used for the English version, heavily accented and way over the top "way to go!" -- it selects a "good" response seemingly at random from a list, so when other apps might go "ding" for minor encouragement this goes "congratulations!". Also it ascribes to "never say anything is wrong" which means instead of "wrong" it says "check answer" which doesn't always fit (eg if you miss getting a ball in a "goal").
I did look at providing new sound files but was suprised to find they weren't just wav/mp3/whatever in a folder.
I like some of the games; I seem to recall it's highly configurable.
I have a lot of fond memories and appreciation attached to software like this. I only realized that when I spoke with somebody who made a point that's stuck with me for years now; when he was young, his dad installed something comparable to GCompris on the family computer, and although he only has faint memories of it, he remembered activities of simply clicking balloons to pop them, and typing simple words. Only when he was a teenager did it truly make sense to him why his dad installed the software, or why anybody had thought to make it; simply using a mouse and keyboard came to him from those early childhood experiences that he could barely remember, and the revelation came when he saw people his age struggle with basic computer input. He would eventually move on to Starcraft scripting, and then to video game modifications, and then to a career in programming, but all of that was enabled by just popping a balloon on a screen.
Plenty of people can use a computer, and click things, and type things on a keyboard, but ever since hearing that anecdote, I realized how many people are just "getting by" in that department. Since my early childhood, I could count my daily misclicks on one hand, but that doesn't seem to be the reality for most people. Thinking about it, a Sesame Street game that I have very little recollection of could be a huge part of how I use a computer today, and that thought makes me hugely appreciate what programs like GCompris do.
I remember finding this project years ago and it is indeed much more flushed out than when I checked it out then. However, and I recognize this is begging disdain from Linux purists, I wonder if their are any React projects with a similar goal, target audience, or set of features/games? I feel like there would a more vibrant contributing community releasing a richer set of unforeseen features, challenges, games, etc. I am not a huge fan of React, electron, etc versus native apps personally myself but I cannot dismiss the very active and large community and for a project like this I feel like there could be a great benefit. I suppose when someone writes most of these apps for kids they are charging for it in the App Store and that is where a project like I am envisioning quickly falls short. Thoughts?
I think a react project will have more issues like:
- the package dependencies, packages get often deprecated on npm and in rare occasion contained malware, Qt contains most things you need and a web view if you need to show html or run JS for some reason
- GCompris is an old project and it had one big rewrite to Qt in latest years, using Web tech they would be forced to keep up with the web frameworks, imagine you will have to rebuild your current web project in 10 years from now and continue working on it
- I think a port to web tech would have negative effect on the battery life of the devices
On the upsides you could have the web port running in a browser, though having something that works without internet is a big plus, there must be similar projects or collection of different web projects somewhere but others mentioned Windows and mobile devs will think how to make money in the app stores maybe with some ads.
how addicting is this? aren't we trying to avoid this? do we want our kids to glue themselves infront of a tablet all day in the name of "it's helping them? As young as 2 year olds will be now asking for tablet instead of licking the floor.
I'll put it blatantly, without citation, and accept the downvotes with love: do not give your 2yo anything that has a screen. Just say no. And yes - licking the floor is order of magnitude healthier for them.
It's anecdote, to be sure, but I credit our 5 1/2 y/o daughter's ability to be amused and contented with books, imaginative play, and art (as compared to her cousins and classmates) to our having nearly completely disallowed "screens" in her life. (We even go so far as to plan restaurant seating to keep her back to TVs after we saw her "veg out" when a TV was in her sight line once.)
In the last year we've let her watch some YouTube cooking videos in a supervised setting, and she and I have started working thru some educational titles on my old Apple IIgs. We've tried very hard to avoid "twitch" stimulus, if only because I have an unscientific belief that such stimulus "dulls" ones' sense of novelty. (I know that I find myself struggling to deal with "slower" movies and video games that I enjoyed when I was younger.)
Pretty sure gaining an understanding of technology is more beneficial than licking the floor. Besides, parenting allows the parents to say, "let's sit and play word games together in your tablet." My 5yo loves playing in the tablet, and it's not used as a baby sitter. Either we do it together, or she plays the simpler games (colors, letters, numbers) with her younger sister. Teaching and explaining to others is a beneficial skill as well. Being on a tablet, does not necessitate that it be antisocial.
> As young as 2 year olds will be now asking for tablet instead of licking the floor.
As a parent of two young children:
(1) It's not “will now” as in something that hasn't been true already.
(2) It's not “as young as”, if they are around, children will ask for them younger (much younger, like, before they have words, when asking is done by gesture.)
(3) It's not “instead of licking the floor”, but “in addition to licking the floor”. Also, they'll lick the tablet.
You have a valid point. I think most people can agree that all day long is too much. But is there no acceptable amount of screen time? I think the repetition in this kind of game very much does help kids memorize numbers, shapes, letters, colors, counting, etc. so we do allow our kids to have some screen time, but we follow some rules.
The hardest parts are to transition away from the tablet. We always supervise and use a countdown and replacement with another favorable activity (5 minutes and we're going to put the ipad away and play with trains.. 3 minutes.. 1 minute.. time to play with trains) and then following through even if they get upset. We also only allow like 15-20 minutes at a time (the longer they play, the harder it is to pull them away, such is addiction) and only a few times per week (if that). We also are not afraid to say no to tablet time and redirect to another activity.
I think kids can learn a lot from technology but it requires parenting to minimize harm.
We normally assume to make an app truly cross-platform and reusable we have to use web technology, but this is a good example of a civilized GUI framework helping achieve something super clear and cross-platform.