FreeSoftware to the fullest!

Category: KDE-Edu (Page 1 of 3)

Reaching out

One of the activities that we have been promoting is joining conferences on topics that we’re interested in. Last September I joined two of them: the Libre Application Summit and EduCode.

Reaching out within the community

In the Linux community we’re portrayed as tribalistic quite often, there’s good reasons of that. Having been part of KDE day to day for years, I also must say that it’s clearly been blown out of proportion. There’s collaboration all over the place and we should celebrate when it happens. Sitting together and sharing visions is useful, which we did in the last Libre Application Summit in Denver.

Among others, we learned about Flatpak’s internals, elementary’s software distribution approach, fancy new ways of distributing linux operating systems and how some free software we have available on linux can be used by graphics designers and how they reach them. Of course, there were the KDE bits that Albert and I brought.

I would say that the ultimate goal for all this wasn’t exclusively to learn about it but to actually sit together and talk. Which we did and I’m looking forward to do so again next year, hopefully with the rest of communities working on desktop, applications and distribution.

Reaching out to users

It’s a completely different story, for sure, but it needs doing too. In this occasion we joined a conference full of Belgian and French teachers who are interested both in Free Software and having the best educational tools available for their students.

This is especially important for two main reasons: we get to explain to some of our most prominent stakeholders what our software does and why it’s great but also we get to see how they react and what they miss. Caring and listening to users is crucial to the health of any project.

I was tempted to upload another picture of the crew up there (Adriaan, Paul and myself) but it’s rather unflattering to say the least, so we’ll stick with Paul looking all smart. 🙂

Of course, these were only the conferences I attended the last few months, but there’s been several other conferences where KDE has joined, join the planet KDE to know more!

KDE on Android: CI, CD & SDK

I guess we all agree that one of the biggest stoppers to get a contribution out is the ability to get the system ready to start working on the contribution. Today I want to talk a bit about generating Android binaries from our machine.

In the KDE Edu sprint we had the blatant realisation that it’s very frustrating to keep pushing the project while not being swift at delivering fresh packages of our applications in different systems. We looked into windows, flatpak, snap and, personally, I looked into Android once again.

Nowadays, KDE developers develop the applications on their systems and then create the binaries on their systems as well. Usually it’s a team effort where possibly just one person in the team will be familiar with Android and have the development combo in place: Android SDK, Android NDK, Qt binaries and often several KDE Frameworks precompiled. Not fun and a fairly complex premise.

Let’s fix that.

Going back to the initial premise of delivering KDE Edu binaries, the first thing we need is a continuous distribution system for Android, much like we already had for binary-factory.kde.org.

Our applications will be bundling some KDE Frameworks, we need to know which work, to make sure they don’t break to some extent, much like what build.kde.org is already doing.
And last but not least, while at it, we need to create a system that makes it simple for developers to do the same that our automatic systems are doing.

Docker to the rescue

We needed a way to pull everything we will need into a system: SDK, NDK, Qt binaries, few build dependencies. For this we created the following image:
https://hub.docker.com/r/kdeorg/android-sdk/ (Source)

With this image one can create binaries for his application locally.

We have also deployed it in build.kde.org to build some KDE Frameworks. Note that we are lacking some dependencies on Android so our offer is limited in comparison to traditional GNU/Linux. Also we are not running tests, it’s something we could look into but I’m not yet sure how useful that would be.

I want to develop

Here you have a wiki that explains how to use the docker image to build your KDE application.

I want to test

I set up an F-Droid repository that offers the binaries listed in the binary-factory conveniently, so that when there is a new version we will get the update.

Future

All of this ties directly to the runtime integration I mentioned already in this blog post.

Mathematics that you can touch

These last months have been intense, so intense I needed a bit of a distraction. I’ve always felt some kind of curiosity for the world of 3D printing and, as I’ve said in different occasions, I always push KAlgebra to the limit when I have the occasion.

I had been researching, I’ve never had a 3D printer and I probably won’t have one in years, but I still wanted to figure out how to get do something there. First, I went through many 3D printing services and looked through the different supported formats. To be honest, I implemented the one that looked the simplest, it happened to work quite similar to how OpenGL works internally, so it seemed like a safe bet.

Once I had a working export algorithm, I chose an extremely good looking plot (thanks Percy ;-)) and then I uploaded it over to one of those 3D printing services. The website showed me a preview, it seemed like their software understood the format, so it looked like my job was done. I fiddled with it to get it printed in a reasonable size and submitted it to print and send. For the curious, here’s the formula I used:


piecewise { x^2+y^2+z^2<35 ? 2-(cos(x+(1+5^0.5)/2*y)+cos(x-(1+5^0.5)/2*y)+cos(y+(1+5^0.5)/2*z)+cos(y-(1+5^0.5)/2*z)+cos(z-(1+5^0.5)/2*x)+cos(z+(1+5^0.5)/2*x)), ? 1 } = 0

A couple of weeks later a box arrived to our office. To be honest, it was a bit weird. I was very excited, but then nobody else was when I showed it. Because it's math I guess, and it's boring. I felt a bit like when I used to spend my nights hacking KAlgebra around then show it around. Anyway, I'll say it. A 3D plot, in my hands, to play with them. How cool is that? :D

** crickets **

 

Now I'm sure you're excited and willing to try it. It will be available in the next version of KAlgebra, that will be released in the KDE Applications 2014.12, which by the way will be the first KAlgebra release based on Qt5 and KF5, and will be featuring many other new features.
And of course, it's free software developed in an open community! If you're feeling adventurous or you just know how to build KDE software, feel free to pull analitza and kalgebra repositories and give it a try! :)

KDE Software on Android

Despite my involvement in KDE and free software operating systems, one of the features I’ve always loved from Qt is how we can use it to develop an application that can be used on any platform. Since I got my first /programmable/ phone, I’ve wanted to get my projects to work there, especially through all Nokia approaches to the issue, and I’ve managed to do so with relative success.

At some point last year I got to the conclusion that, if I wanted to remain somewhat sane, the best approach was to start focusing Android by caring about the CMake side of the issue and let QtQuick get into place, which is not in place yet, but admittedly in a much better state than a couples of years ago.

My KDE on Android approach is that any KDE project should be able to be built and bundled for Android from the sources, that is with an apk file as a result, without having to change the project sources: c++ or cmake.

I started working on this longtime ago on Qt4, but the fact that kdelibs was about to change and the poor direction of the port drove me away from bothering. Also if we want portable interfaces we want QtQuick Controls. I don’t think there’s much doubt there.

I restarted the project last November. I compiled a full Qt5 installation and started to get it to build, my intention was to use android.toolchain.cmake again, but I then decided that it would be better to create a new cmake toolchain file to have all the control I needed over how it’s being compiled. Some things need to be treated with special love like how executables are built and especially being able to create apks.

At the moment it seems to be working reasonably well, I’ve been using KAlgebra as a test. I get to easily deploy the Analitza framework which is a dependency and then consume it from KAlgebra which bundles all dependencies into a nice publishable APK.

Enough back-story, let’s see how we’d build KAlgebra (or any traditional KDE project for that matter).

To get all the features going we need:
* Qt 5.4 built for Android (currently in dev branch)
* CMake 3.0
* Android NDK
* Android Development Kit
* the ToolChain file I created (still to find a proper place, can be found here)
* Extra-CMake-Modules
* The project’s source code, because the power is in the source!

Here’s an example on how to get it done [1], but that’s the expanded version. As an attempt not to scare you here I used a simplified version, by having a cmakeandroid macro defined, passing cmake all the needed information.

mkdir build-analitza build-kalgebra
cd build-analitza && cmakeandroid ~/src/analitza && make && make install
cd build-kalgebra && cmakeandroid ~/src/kalgebra -DQTANDROID_EXPORTED_TARGET=kalgebramobile && make && make create-apk-kalgebramobile

Which I think it’s readable enough.

To conclude, we are able to consider Android as a candidate for KDE projects to adopt. There’s much more to do both on KDE, Qt and cmake sides, but we can get to discuss it when you’ve ported your application.

For the moment, I’d like to know if there’s any application that is interested in being built for Android, I’d like to give it a try, especially if it’s already been ported to QtQuick and Qt5/KF5.
Furthermore, in case anybody is interested, I’ll open a wiki page with this information, in case anybody wants to use it, for the moment my cmake toolchain and manifest can be found here:
http://quickgit.kde.org/?p=scratch%2Fapol%2Fkalgebraandroid.git

Continue reading

KDE, the present and present+1

Usually I don’t blog because there’s not much going on. Lately it’s been because there’s been too much things going on.

As always in communities, it’s not something somebody is doing in his corner, but some synergy coming together in a beautiful and convoluted way. Let me try to sort what I’m talking about.

  • The Akademy 2013 is happening soon. It’s going to be a very interesting event, KDE is evolving in a fast pace, more than most of us realize. This year’s Akademy will be crucial to the future of the project, I wouldn’t miss it.

    I'm going to the Akademy 2013

  • This year, Akademy comes with a small present in it. The Akademy-es 2013 will happen in Bilbao as well, the two days before the Akademy. It’s our biggest opportunity to help people from Spain join the KDE awesomeness. If you are around and understand Spanish, don’t hesitate to join!
    We’ll have talks, we’ll have discussions and we’ll tell you that you must go to Akademy. 🙂

  • Qt5 is gaining traction and we’re getting up to speed to adopt it through the KDE Frameworks 5 Project. The Qt contributors will be meeting in Bilbao as well, discussing what features we’ll be finding in Qt 5.2 and further. That means that they’ll be deciding what things we’ll have available for future releases by KDE!

Ok, so I’m saying that we’ll be gathering a bunch of people talking about what we do. What’s so special about that?
Well, first of all it’s not just people. It’s people who are passionate about what they do, the people who have created the KDE we all know and the one we don’t know about yet.

Personally, these are the topics I’d like to discuss about this year:

  • I want to talk to distributions. I want to remind them that Muon Discover will be working on their platform soon. I want to work together with them to make sure they are on board and that it will go smoothly.
  • I want to get in touch with the KDE Edu fellows, see what they’re up to (I hear that there’s some new awesome application coming together). I want to discuss about Khipu with them, it’s seeing some very interesting progress recently, I’m hoping to see it released soon!
  • The KDevelop team will be having their meeting there as well. I foresee a closer and closer KDevelop 4.6 release, and we want to make this one the best ever. Also I’d like to discuss some otherwise interesting stuff as well such as some changes in the C++ support that we’ve been discussing.
  • I’m quite excited about the KPeople project, as well. It’s coming together very well, getting ready for applications to adopt it. KDE Telepathy has already started worked on supporting it on some parts. Also KDE PIM should be adopting it soon, so will other projects. I want to easily interact with my friends from our applications. Awesomeness.
  • And last but not least, the KDE Frameworks 5 project, that I already talked about before. It’s probably the most important initiative in KDE, at the moment. Let’s push it all together, at Akademy!

I know it’s been a huge blog post, but also I think that it displays where we are. Lots of people, a big community, with smaller communities in it, coming together for a greater purpose, having beer and exchanging ideas.

\o/

See you in Bilbao!

Pairs is finally in KDE Edu

It’s been a long way, it’s made us struggle with ugliness at some point, but now we have Pairs in place to be released with the next KDE 4.9 Beta.

Also it will come with a great new UI drawn by Abhash Bikram Thapa featuring some lovely colorful people, yay! 🙂

Pairs is full of green people

If anybody is interested in the project, please get in touch with us or with the kde-edu mailing list! There’s plenty to be done: new games (sets of images and concepts), the game editor, improving the adaption in touch systems, and anything you’d like.

Thanks to everyone who has been involved in the making, especially Marco Calignano for helping and pushing me to do the work when needed, and Anne Marie for caring about the project. ^^

KAlgebra on Android

Since I started blogging I’ve talked many times about KAlgebra. Usually it’s not to display it’s awesome features but to discuss its portability. I’ve always considered that it’s important for KDE not to lock down its applications to a platform. That’s why I’ve put my efforts into ensuring KAlgebra will work properly on different platforms so far, like the N9 and Plasma Active.

— TL;DR: you can jump to the video 🙂 —

I think we’ve done a great job so far. It hasn’t been easy and we are not there yet, but I think that being able to do things like this is an awesome opportunity for projects like KDE Edu where we want to target the widest audience possible.

Android offers this, a widespread audience where we will be able to put our things. That’s why I put my interest in it, anyway.

Regarding the actual implementation, it’s far from perfect. It’s using KAlgebra Mobile, which has different backends. I created a new one that doesn’t require any components present. QtQuick components are lacking for Android at the moment, so I came up with this UI that besides not being properly integrated it works good enough and keeps me from frustration. Things are looking good on that regard, apparently I’m not the only one needing those, so I hope we’ll get some proper UX eventually.

A lot is left to be done still: Integration with the system, integration in the Market, etc. Ideas welcome.

Oh, and last but not least, big thank you for Marijn Kruisselbrink who put up with my questions and opened the path by adapting kdelibs.

And now, the video.

Almost forgot, if anybody wants to try it, you can download the installer here. Remember, it eats easter bunnies.

Pairs and ugly applications

Hi!
Some time ago I blogged about a new game for KDE Edu, a memory-enhancing cards game. It was getting dusty in my scratch repository until Marco Calignano had the strength to push some features that it desperately needed and at the same time pushed me into gaining interest in the project again.

A lot has happened since: the name changed to Pairs (can be found in kde:pairs now) and it’s quite awesome already, I’d say. It lets us download themes from the Internet, supports different game types like image->image, image->word and some others, etc.

A couple of weeks ago we discussed about moving it to KDE Edu finally, although we decided not to and port it to QtQuick so that we can make it work in touch screens and we can get to have fancy GUI. In few days we managed to port it to QtQuick (somehow, there are some hacks :D) but now it’s a little ugly. WTH, not a little ugly, very ugly. It makes your eyes hurt and it’s on purpose.

Why would someone make such an ugly beast? Well, because we’re looking forward to find someone who can make it look nice. Now, those of you who have some pride in your artistic skills, please consider it: Could you please dedicate some time in your life to a community of hardcore developers without this sparkle for beauty? We don’t have much to offer other than considering your idea and hopefully it will get to be used by children from all around the world (now that I think of it, maybe it is something!).

What we need is quite simple:

  1. Check the video, when your eyes hurt just stop it.
  2. Think of what you think the GUI should look like.
  3. Here I’d love to say that you should be able to provide a QML file, if you can’t then just a mockup.
  4. Optionally (and preferably) you can check what it looks like by modifying the qml GUI and compiling the program. Here there are some instructions: http://techbase.kde.org/Getting_Started/Build/KDE_Applications
  5. Send it to me at aleixpol@kde.org. You can also send me any questions you have, as well as posting them as comments below, so that we can discuss it all together.

Cheers, for beauty! 🙂

PS: And elegance 😉

New KDE Edu website and logo, the making of

I’m quite happy to see that we finally made it for the new KDE Edu design. From my point of view it’s quite hard to make all these changes from our community perspective. KDE has been built fundamentally around software developers and it’s not easy to get contributions other than that, I guess that’s mainly because I can write the type checker for KAlgebra but I really can’t work on a website design. It’s usually quite hard to get people from the community willing to put their love in projects like the KDE Edu website.

kdeedu logo

They say that there are always solutions, this time it came from Agustín Benito, who used his white wizard powers to get us in contact with a couple of designers coming from ASOLIF companies that wanted to contribute to free software somehow, and this was the way.

ASOLIF

The experience went really well, I won’t say it was easy for me but I’d say it’s because it was my first time working like that and I didn’t know very much what to expect, but the thing is that people who worked with us are very good professionals (something that doesn’t happen always in our world as well, for good and bad) and I don’t think anyone can doubt of the quality of our result, like it or not. \o/ yay us!

edu tree

I won’t say everything was perfect, probably the whole process took too much time and communication could have been better probably, but I think it’s a great start and I’m really looking forward in seeing this collaboration paradigm gaining adoption inside KDE, and why not, taking part in these projects.

And last but not least, thanks to the KDE-www guys who were really helpful, specially Ingo Malchow and Matthias Meßmer who were really supportive with the project and helped us make the best out of it. Also thanks to Alex Fiestas who joined us in the KDE Edu sprint and broke some of his own KDE collaboration rules to give us a hand doing some development on the website.

Long life to KDE Edu and flowers! \o/

So… what’s cooking?

I’ve probably been talking lately too much about where I was going to spread my KDE love and talking too little about what I’ve been doing and what’s happening:

Akademy-es: Yes! we’re having the Akademy-es in Barcelona this year and I know you won’t miss it. Yay! Awesome. Well it takes some preparation, so it takes some time. I feel I’m quite lucky I could find a rather big team of local KDE enthusiasts, that way I don’t have to do it all by myself but truth is it’s time consuming and love consuming. By the way, if anybody wants to help, just poke me and remember to register if you want to come!

KDE Edu: We had our yearly meeting. In my opinion most of our group work was about getting the best out of GSoC and the rebranding. The GSoC results where out last week, I hope the best luck for all the GSoC student, as an ex-student I can remember the excitement of being accepted, so congrat’s to all of them :). About the rebranding, news will be coming soon :). On the KAlgebra side, the language has improved tons since 1 year ago, it’s quite hard to show that to the KAlgebra user I guess, but we’ll get there, for the moment rocs looks like it will be the next victim.

KDevelop: As some of you already know, I’m working on my final engineering project around KDevelop, doing some static analysis using our infrastructure. It’s still going forward but it’s keeping me to commit new features to KDevelop lately, I hope I’ll fix that soon, though… >:) I’ve got some crazy ideas to be put in place, since I don’t like to talk about something that’s not implemented, you’d better wait and see :). If anyone is interested in static analysis (on c++ for the moment) you can find me in irc/e-mail and we can talk about life and spring 🙂 oh and static analysis.

In the end, a lot of things are moving, I don’t have as much coding time as I’d like since there’s always something that sounds that if I don’t do it nobody will, probably I shouldn’t think like that… but oh well, I hope everyone will enjoy my KDE areas the way we all enjoy KDE.

Hugs for everyone! \o/

« Older posts

© 2024 TheBlindCow

Theme by Anders NorenUp ↑