• Results from my first KDEPIM sprint #1

    A few weeks ago I went to Berlin, this time to attend the October KDEPIM sprint.

    Though I have met some PIM hackers through the years I have been around KDE, I never had the opportunity to actually work with them, and try to figure things out, and as it is usual in our community they haven't disappointed me.

    I had 2 objectives for this sprint, first get a few bugs that I discover while working on WebAccounts fixed, and secondly try to track down all the KMail issues I have when I run it in my laptop. In this blog post I will only cover the first block.

    Collections that can't be de/activated

    This is a really stupid bug, but in my humble opinion these are the kind of things that makes the user feel that they are using inferior quality software.

    If you take a look at the following pic, you will see how there is a checkbox left of my email address that apparently will activate or deactivate all the contact groups provided by my Google account, well it doesn't do anything so clicking on it results on basically nothing.

    Resources bug

    I tried to fix it and successfully tracked the bug down to a piece of code, but I needed help from the PIM hackers to actually fix it, and of course they didn't disappointed, in a matter of hours it was fixed :)

    KMail and the "Broken" imap resource

    Just after a new IMAP resource was added (doesn't matter if from KMail or Kontact or any other method) a notification will appear saying that the IMAP resource is broken. Wait what? is it broken? if I have just added it!

    Well, not this is fixed since KMail now knows how to differentiate between a broken IMAP resource and one that has not been yet configured.

    Activate resources when added

    Another small bug or behavior that really bothers me is that when a new resource is added (for example a Google account is configured), the new added Calendars or Agendas won't be "activated/checked" by default. I think that if you just added something is because you want to use it, don't you think?

    Well, this problem may seem simple but it isn't, so after taking a look at it with the PIM hackers we thought a good way to fix it, though we didn't had time to fix it.

    http://lists.kde.org/?l=kde-pim&m=135040360317368&w=2

    If nobody does, I will try to fix it when possible.

    See you in part 2!


  • Meet the KDE TeaTime !

    KDE TeaTime LogoFor a few weeks now 3 other KDE hackers and I have been doing a videocast/podcast/show/thing about KDE. It is a completely unprofessional unprepared amateur show where we basically talk about a different topic every week without having any script, we say things as we think them. it Doesn't matter if they are politically correct or not.

    My main motivation for having this show is to open a door to the insides of KDE. This door is open both ways so the communication should and must be from Developers to Users and the other way around, so please participate !

    Some urls of interest:

    And of course #kdeteatime in both identi.ca and twitter.
    We are looking for all kind of participation, just to mention a few from the top of my head:
    • Leave feedback so we can improve
    • Ask questions of any kind!
    • Propose topics for future teatimes
    • Propose people to interview (and questions for these people)
    • Whatever you can think of :p
    We usually do the shows every Tuesday at 16:00 CET but in anycase check the latest news and dates in our social sites.
    So, join us and have a good time!

     


  • Workspaces gain MTP support

    For those who don't know MTP stands for "Media Transfer Protocol", having support for it has become really important because since Android 4.0 it is a requirement in order to manage files in any Android device, even though MTP has been here for years and other products offer support for it lilke the Nokia N9.

    In order to have MTP support we needed a "kio-slave", which has been developed by Philipp Schmidt, and then modify some parts of our workspaces (dolphin, kdelibs and notifier) to integrate the MTP devices as if they were just regular massive storage (pen drives).

    As usual, small screencast showing how well it works:

    Vimeo link

    Direct link

    How to install?
    To have basic support for MTP you have to install "kio-mtp", executing the following:

    git clone http://anongit.kde.org/kio-mtp
    mkdir kio-mtp/build
    cd kio-mtp/build
    cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debugfull #(THIS MAY BE DIFFERENT)
    make install

    Or simply ask your distribution to package it :)

    As for the Workspaces integration, I expect to get the patches in for 4.9.2 and 4.10

    Cheers !


  • Extra-mile in hot-plug device handling

    Fixing mtp support for various pieces of the workspace I realized a small paper-cut I could do to improve the experience when handling external devices such pendrive or usb hard drive.

    The paper cut is quite simple, before these patches we were using the "device description" for all devices, which make sense for devices always plugged into the computer for example the normal Hard Drive where your operating system is usually installed, but it doesn't make sense for removable devices.

    You will understand this better and quicker with the following screenshots:

    Showing screenshot before changes and after Screenshot after changes

    Patches are under review, if everything goes ok and I'm not breaking anything (little bit concerned about freeBSD support) will backport this to 4.9.

    Cheerz !

     


  • WebAccounts, making social/cloud easier

    This blogpost was written 2 months ago, mind that !

    As you may know, for the last months I have been working on BlueSystems, one of my main projects has been creating a working prototype of "WebAccounts".

    What is WebAccounts?
    It is a centralize place where both, users and applications can configure accounts related to various social/cloud services such twitter, identi.ca, google, facebook, dropbox, owncloud, ftp servers...

    How is it done?
    We have implemented a KCM (module within System Settings) that allows the user to configure a set of accounts (at the moment Google, Facebook, Owncloud and runnersID), once the account is configured you can enable a few services for each account, for example for Google you can enable: email, calendar, contacts, tasks and chat.

    Right now, the only integration is from within WebAccounts towards the already existing subsystems such akonadi or telepathy. In the future will be those projects the ones providing plugins and asking WebAccounts for credentials and information.

    Is it really worth it?
    In Akademy-es 2012 we presented the project to the audience there. One of the points I added in the slide was the amount of steps needed to configure a Google account right now and how many steps were needed to do it in WebAccounts. I don't remember the exact number but it was something like 25 to 3.

    Places where to configure a Google account right now:

    • Add the account to Telepathy (one wizard, add credentials)
    • Use the KMail wizard to add the account (credentials asked again)
    • Configure Contact  (again add the same credentials)
    • Configure Calendar, select the account added when Contact was added
    • Configure Tasks, can be done in the same step of Calendar

    With WebAcounts this would be:

    • Click on "Add Google account"
    • Introduce credentials (only once)
    • Select all services (selected by default)

    As you can see, the amount of steps has been reduced drastically actually bringing the possibility of integrating these kind of accounts in the workspace in an easy and clean way.

    How it looks like?

    Be aware that this is a prototype! I expect the real version to look way nicer !

    WebAccounts first GUIGoogle wizardAll services checked

    And how it works?
    (Choose 1080 quality for better video)

    Vimeo link

    Direct Link

    Future?

    Big part of WebAcounts future is going to be discussed at Akademy2012, where I hope to trace a roadmap together with the rest of people interested on it so we can push this concept further.