KDE on the Mobile

Hi fellow KDE enthusiasts!
I know this may sound like a rant but I think that if I don’t say that I’m going to explode.

First of all, it’s great that since we’re based on Qt as a development environment we have the opportunity to get in the mobile sector. It’s not great, it’s awesome. I’ve been willing to develop there for many years and with the new Nokia platforms I will be able to use my projects there. After getting the N900, I have developed 3 applications in Maemo, just one of them has been released in the open. For Qt projects, it just works.

Let’s focus on KDE now.
– Everybody tells me that we should develop for Meego: for Meego we don’t have any KDE packages whatsoever (or at least I couldn’t find them) and AFAIK there’s no device that ships it and there won’t be any until 2011, I can put it but not even Nokia supports it. Yes, it’s a great target.
– I have Maemo, it’s an awesome Debian and there’s even some packaging already done in files.kolab.org/local/maemo/. These packages are good for testing, I could compile KAlgebra in my scratchbox. My problem with these packages is that they depend of some Qt4.7 experimental, so kdelibs in Maemo depend on something huge that I don’t need . Additionally we don’t have kdelibs packages in Maemo repositories (there are -devel repositories, it’s not like we have to stuff anything on Maemo systems), that means that if I wanted to release KAlgebra in Maemo I should add them? Doesn’t sound very community friendly.
– Why does KDE people keep telling me to trim KDELibs usage? KDELibs is useful, it makes no sense to not use it just because we don’t have packages for it. We want to share code! It’s what has made KDE great since I’ve been around at least, why do we forget that as soon as we don’t find KDE packages on some system?
– Why isn’t there people interested on packaging KDE on these systems? Probably because these distributions aren’t community-friendly enough, or because these don’t have enough users. Personally, I like to focus on development, do we really expect to push these platforms if not even developers can’t have their applications on their devices to be able to test them.
– Is it that creating packages for these platforms is just technically hard? Maybe we should address that first.

Going back to my experience, it was such straight forward with Qt apps that I convinced myself to port KAlgebra, now i have a version that just uses kdecore and kdeui (according to KDAB packages kdecore+kdeui+kalgebra, this should be less than 2MB, instead of the >10MB if I use their packages with their dependencies).
I guess that KDE development on mobile devices is kind of stale because the only applications that have been ported are huge (like Plasma or Kontact) or they just don’t use KDE (like Marble or Qthello which forked KReversi somehow, AFAIK). What would happen if we consider KDE a project and work together a little? I’m pretty sure we could bring KDE Edu or KDE Games all together into Maemo with little amount of work, why do we have people who would contribute these stopped because the lack of packaging in Maemo?

Maybe I should just consider that KDE is not supported on these devices and spend my time somewhere else.

PS: I didn’t mean to despise anybody’s work. It’s not hatred, just frustration.

8 thoughts on “KDE on the Mobile”

  1. “Why does KDE people keep telling me to trim KDELibs usage?”

    Applications can/should continue to use the facilities in kdelibs, but kdelibs itself will end up being trimmed for use on mobile where disk, memory (and in some cases CPU) are at a premium. The idea is to only trim what isn’t appropriate / useful on mobile devices, usually because there are replacements for them. KHTML -> QtWebKit is a good example.

    “Why isn’t there people interested on packaging KDE on these systems?”

    There are. There is even a mailing list for it. It’s slow moving mostly because it’s a few people working on Kontact and a few people working on Plasma that are doing most of the investigation and work. So having more people would be awesome.

    “Is it that creating packages for these platforms is just technically hard?”

    This certainly has been part of the issue. We’ve been waiting on MeeGo to mature enough as a target and working with OBS to see if it will do what we need.

    So .. progress. Faster if there are more people. 🙂

  2. I’ve got one question about platforms, if it’s only for maemo (and maybe meego in the future) why call it kde mobile, it should be called kde maemo, When I heard about this I thinked wow I could run kde on any android/symbyan/maemo device. Or at least 2 different OS.

  3. @Damian: it’s already the case: there’s at least one more platform officially supported by KDE Mobile atm: Windows Mobile. No, it’s not a joke, and the truth is it works almost as well here as on Maemo. There are talks about Symbian and Android as well, although those are more ideas right now.

    We’d love to go to Windows Phone 7 at some point, and it shouldn’t be a hard thing if we ever get a native WinCE API there. I doubt that’s in Microsoft’s plans though.

    As for the rest of the criticism, I kinda agree. As you guessed, the main issue is that we have very little resources working on that front. Also, integration into trunk isn’t always easy, for example we have experienced strong resistance from the community (e.g. reviewboard) whenever trying to change things in kdelibs. So for now we’re working on a separate branch, but I don’t know how/when this will all be merged back in trunk.

    Finally, one interesting thing to note is that porting kdepim to Windows Mobile in parallel to Maemo has had a huge benefit : Windows Mobile being such a constrained platform, it forced us to slim down kdelibs and kdepim to make it fit there, and improve performance massively on Maemo at the same time. A few examples : limiting the amount of dlls and plugins, memory usage, getting rid of unnecessary components like Nepomuk, Phonon, etc., supporting builds with a minimal Qt, and many more…

  4. As a dabbler in coding and an avid devourer of KDE and Maemo (that is to say, the two together make up likely 95% of my computer use) I’d have to say:

    (1) Maemo, at least, is VERY community friendly. Considering how similar MeeGo and Maemo are, I’d say targeting Maemo for now as a working platform is by far the better option than waiting for a finalized MeeGo (+Handset UX). Among other things, there’s a rather active userbase which trends towards the technically inclined, so bug reports and feedback levels are going to be *much* higher than the marketshare would suggest. I mean, honestly, if someone out there was trying to get kdegames ported to Maemo I’d be downloading and compiling every commit, trying my damndest to get it working and helping however I could. I think there are a lot like-minded people, attracted to the N900 because of that potential for tinkering and fun (just look at what happened recently with Preenv).

    (2) I really can’t see how ALL of it could be so hard to package for Maemo. Sure, Plasma maybe, but that’s not really filling a niche that Maemo needs filling; a lot of KDE apps, though, definitely would. And considering it’s Debian based (with very little deviation) and now has Qt 4.7 I can’t really see how it could be so hard to package. Admittedly I could just be uninformed on this count, but if so I’d love to know WHAT the packaging problems actually are for things like kdegames, kate, etc etc. Hell, people install full chroots of Debian, I’d be fine installing a full (but opt-ified) kdelibs!

    (3) Is there anywhere out there that people are working on anything of the sort, beyond the aforementioned Plasma, Kontact and Marble ports? Or at least any sort of direction to be pointed in? I would LOVE to help however I could. Again, I’m amateur at best with coding, but I’m more than willing to try and learn if it’s a job that no one else is working on (something is better than nothing, right?).

  5. @2. It’s not I haven’t tried it. I’m on that mailing list, but it’s more like a do-it-yourself hole. There’s nobody caring much about it. I guess we all want to develop there but nobody cares about preparing the infrastructure to get there.

    @4. It’s nice to see some development on such different platforms :). Wish you good luck!

    @5 Maemo is friendly but very indoors. Most development on adding external stuff is for emulators and games. I agree Maemo would be fine, it’s just too hard to start working on it at the moment. You can contact the team on the kde-mobile mailing list.

  6. I really can’t see how ALL of it could be so hard to package for Maemo. Sure, Plasma maybe, but that’s not really filling a niche that Maemo needs filling; a lot of KDE apps, though, definitely would. And considering it’s Debian based (with very little deviation) and now has Qt 4.7 I can’t really see how it could be so hard to package. Admittedly I could just be uninformed on this count, but if so I’d love to know WHAT the packaging problems actually are for things like kdegames, kate, etc etc. Hell, people install full chroots of Debian, I’d be fine installing a full (but opt-ified) kdelibs!

Comments are closed.