Oct 012012
 

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 !

Sep 302012
 

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 !

 

Jun 262012
 

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.

Jun 152012
 

First of all, excuse the super late release of this post, I have been super busy up to the point where I couldn’t use 15min to spellcheck this post, now I had to adapt it a little bit, change times etc.

From 11jun to 18jun we had an amazing sprint in a small town near Barcelona called Pineda de Mar. This sprint was organized to gather all the developers highly motivated in move the Desktop forward, including those working in areas not strictly related to what the user sees or not strictly known as part of the desktop. We had a week of fun and work lead (as usual :p) by Kevin Ottens.
We had endless discussions about our weak and strong spots , hacked a little bit (some more than others), played table tennis (Yay for the Southern European team vs the British Empire), and enjoyed good quality food done mostly by Dario Freddi (let the italians cook we say) though more people worked in the kitched to prepare delicious disesh (Kevin, Sebas, Clemens, Marco Martin, Lluis Eskerda…).

It is hard to describe what the environment of a sprint is like, just imagine that you are with your best friends a whole week doing what you love only stopping for eating and having fun. In this case KDE is the people and what we love is our software, full week non-distractions equals super productivity of all kinds. It is hard to summarize the whole week, but these are my personal highlights of the sprint:

  • Almost everybody attending the sprint would like shorter and more dynamic releases (à la chrome or kernel).
  • Everybody agrees that we must be careful when modifying the Desktop, we don’t want to make it worst !
  • Common agreement that we have to start looking for alternative to the current windows 95 paradigm.
  • Our current notifications suck and we know how to fix’em (1) (2) (3).
  • Virtual desktop are a thing from the past in its current state.
  • Activities are a super awesome concept, yet we are nowhere close to make them appealing in the desktop (as they are in the tablet)
  • Knowledge about Plasma terminology was shared and kind of agreed on (did you know that Plasma Active is about all form factors? yes! that includes the desktop !)
  • We need better PulseAudio support
  • We need a better screen support
  • Lots of stuff to clean and polish! papercut program by Agateau on the way
  • Lot of people using icontask (this is more of a personal note :p)
  • WebAccounts is supermegaultraimportant, we need it now.
  • We want KTp or even better “KPeople” everywhere, it will become one of our new pilars.

On this list (I hope quite close to the reality) you can see more or less the feeling of the Desktop developers, and especially that it is alive in all senses.

 

Pineda de Mar BeachHouse viewOutside having a chatFirst wave of foodHacking zoneTable TennisKanban everywhereGroup Photo

Photos taken by Martin Klapetek

I hope you could see a glimpse of how intense a sprint is lived and how useful they are.

Bye !

Jun 052012
 

Most of you know me because of all the work I do on KDE in form of code: Kamoso, BlueDevil, Solid… It is the stuff I put on my blog so if you know my involvement in KDE because of my blog it is normal.

Besides writing code, I’m starting to be involved in other areas all across our community, one of them is KDE-España.

KDE-España is the legal representation of KDE in Spain, you can consider it as a sister of KDE e.V but only for the local community. One of the activities we do is the Akademy-es, a gathering of users and developers that happens every year in a different city of the country, so far we have had: Barcelona, Saragossa, Coruña, Bilbao, Barcelona, Saragossa (again :p) and sure more to come.

You may think these events are less important than writing software and that I shouldn’t waste my time there. I say you are wrong and that at least they are equally important.

As a personal note, for me it is becoming one of the events I wait the entire year to attend even if it is only to see the group of friends I only see in that conference.

So I’d like to encourage you to organize Akademy’s or smaller events on whatever city/country you live in, building a strong local community is crucial for keeping this global ship alive.

Can’t wit for Akademy-es 2013 :)

Jun 052012
 

There was a time, years ago when computer users only needed to keep all their files in one place, and occasionally make some backup to a CD or DVD. Then the mp3 players appeared and those users had to copy the music from the computer to the player usually via USB, that’s all we needed we thought… well we were wrong :)

The amount of devices we have and we use is increasing and so does the amount of data we manage, some may think that a regular non geek user has few files but if you take a closer look you will see that the average user actually has hundreds of pictures, hundreds of sounds, hundreds of films, dozens of documents… So we have to ask ourselves a question: Can we continue with the model of copying that data around? the answer is no.

Motivated by that need users are starting to setup a central computer or a device such a NAS with the only propose of  storing data and make it available to any device that may need it such: cell phones, players, ebook readers, tv’s, other computers etc. Some times that central place is not even a computer dedicated to do that job but instead the daily used computer, I’m specifically thinking on a laptop.

The file transfer are usually done with protocols such nfs, webdav, ftp or samba being this last the most common at least in commercial devices. The need for supporting this is clear as users of these systems increase, so how well do we support Samba?

We have had a kick ass technology called KIO for years, I believe it was developed in KDE 2 and basically it allows to use remote files as if they were local,  meaning that you can use files in an ftp for example without having to use any special programs for it. Even with KIO, we have identify some issues that need to be solved before we can say that our remote file support has no gaps, for example streaming or support for applications not supporting KIO.

Let’s say for example that we have a collection of music in a NAS device and they are shared through Samba, can we reproduce them using any KDE application? or better, can we stream and reproduce them? the answer is sadly no.

There are a series of technical problems that we have to fix to make KDE software fully capable of streaming music, I won’t bother you with technical details just know that actions are being taken to fix this situation and because of KIO we should be able to stream music on applications that use it in no time hopefully in 4.9.0 or 4.9.1.

What about applications not using KIO, is there any way for making them work ? short answer is it depends.

There are technical mechanisms for making Samba remote files look like local for all applications, for example for this protocol we have cifs, smbnetfs and fusesmb. According to the tests we performed only cifs is fast enough to provide a good experience but still you usually need to know some command or edit a file you are not supposed to modify in order to have a good experience so it is not a solution by itself.

We are designing a solution that will make KIO available to any application, but that will take months of developing and testing  and we needed something fast, something to include in Netrunner 4.2 Dryland SE… So we created samba-mounter.

Samba-mounter is a small piece of code that makes easy the usage of cifs, improving the experience of those who need to access files shared through samba.

Take a look at the following video:

Direct Link

You can download the code from here:

http://quickgit.kde.org/index.php?p=scratch/afiestas/samba-mounter.git

I expect to write a blog post explaining the long-term solution in the following weeks.

Jun 042012
 

I planned to announce this when it happened but got stuck with travels and work so it got delayed a bit (2 months :p).

I’m glad to say that I will be sponsored by Blue Systems to work on various parts of the Workspace, so far we have defined two areas of work:

  • Improve transparent file browsing (KIO) and make it available to all applications.
  • Improve web and online services integration into the Workspace, by adding a single point of configuration.

In these two months I have been working already on those areas making the first releases that will be included in the  upcoming netrunner version (4.2 Dryland SE). Both releases are designed to be a first stone of a much complete solution on which I will be working on at least  for the following 6 months.

For those of you who may be wondering, this changes nothing regarding my other KDE implications, I’m going to continue working on BlueDevil (bluetooth) and libsolid and other projects I’m cooking while others sleep :p

Let’s keep rocking !

 

May 122012
 

A few months ago it almost happened to me. It was horrible. I was traumatized. I wonder, how can that happend in 2011? why me? why to my laptop?

It was a worm afternoon in Madrid, the meeting I attended was so intensive I didn’t get to login into the KDE Plasma Workspace session but instead I let the laptop on the KDM login page. Once the session finished I closed my laptop and put it in my bag full of battery.

I’m not sure about the amount of time, but probably between 3 to 4 hours later I arrived home, opened my backpack and there it was, I found my laptop burning, hot as hell I even had to grab a cloth to open the lid and move the laptop to some place cool. From that day my new battery went form 98% of capacity to 90.

That night, I  sent an email to some KDE mailist asking for this issue, until today nothing has been done to fix it.

I don’t want anybody to pass from the same I went through, that’s why now with lightdm-kde the computer will suspend if the lid is closed.

Next thing I want to do is show the battery remaining somewhere and suspend the computer after 2 minutes of idle time.

With that, lightdm-kde will have great power management support.

Apr 302012
 

Finally I have had the energy and the time to hunt the damn crashes that have been affecting BlueDevil since the beginning, fixing them has been relatively easy, be able to reproduce them instead has been quite time exhausting.

Once I fixed all those damn crashes I proceeded to do bug triage and managed to fix all of the confirmed bugs, or said in another way BlueDevil is virtually bug free bug list :)

There are still a couple of bugs with iPhones, but I will need one of those to be able to confirm and fix the issues. Any donation?

The changelog looks as follow:

Fixes for 1.0.7, 1.1.4, 1.2.3 and 1.3-rc2

  • BUG: 298633 // Crash in kded daemon (ObexFtp module)
  • BUG: 279911 // Crash after receiving a file
  • BUG: 297785 //Not confirmed if it is fixed
  • Updated pin databse for more automatic experience

Fixes for 1.1.4. 1.2.3 and 1.3-rc2

  • BUG: 286466 // Be able to pair WiiMotes (needs BlueZ 4.96)
  • BUG: 276911 // Pairing Keyboards with SSPairing (Bluetooth 2.2)
  • BUG: 291708 // Now we show again the small overlay icon

Fixes only for 1.3-rc2

  • BUG: 284052 // Nasty crash every time adapter is unplugged

Now I can proceed and create new bugs by continuing with BlueDevil 2.0 and Screen Management.

libbluedevil 1.9.2
md5sum: b492db1825b239e5185c543badb21c26
sha256sum: 00d56fc671fecda1e60aa8231ba167f11002148098d6510df0a409d19e840d59

bluedevil 1.0.7
md5sum: 27e48595679bac72f6ea0d1f496ce524
sha256sum: 2294f921de0a2920dbfe8b3f824abd8b7d468da71a8bce5e4575be311bc0af65

bluedevil 1.1.4
md5sum: b485e0a710146536362cd607bcc3a418
sha256sum: c0bab0d6a505dbe96d3f6acaad8bdf4aea4de84c342e0e6e59b47e0d5bcba6d6

bluedevil 1.2.3
md5sum: e792576d34956d27cd0c3eb3c81a5923
sha256sum: 7744e0544d27960f21073cf4b48ba865162a2643b7e33f7f21fff43705b4e624

bluedevil 1.3-rc2
md5sum: 20452c528ab04c0551f3d8bfc5075c4b
sha256sum: db6735d5a66634ce5d761c70df4ad7c4f39295ac4a6f9b59bcc25777dc720dd5

Cheers !

 

 

Mar 142012
 

A few days ago I attended to the PA3 sprint in Darmstadt, as always I enjoyed a few days with my friends not only working but also taking beers, going dinner etc. I have had a really good time there as I always do when KDE is in the formula.

As far as I know this is the first PA sprint where a lot of community members external to the project attended, this is really great for opening the project to other areas of KDE, such Solid or KDEdu.  My work focus were:

Getting to know the inside of the project
Every project structure is different even between close projects such PowerDevil and BlueDevil. In the case of PA there are a few big differences that have to be taken into account:

  • Most people working on it are employed by companies (and most of them work on it full time).
  • PA should be always ready for release, no unstable or untested stuff allowed in.
  • Strong focus on well designed and usable interfaces.
  • Everything QML
  • There is a strong and shared Vision behind it
 It is important that you agree with the rules of the game before you start to play it, I find PA a really good example of how a professional project can be done together with the community without sacrificing anything. I agree with this rules so I will play this game :)

Plan how Screen Management will be implemented in PA
As some of you may know, I’m currently working on a new implementation of Screen Management, even though I’m really delayed on the original schedule the project is not abandoned and I hope to make PA one of the first use cases for it.
When Thomas Pfeiffer and I started to look at how we can implement Screen Management into PA we quickly identify one valid use case:
A user is reviewing a set of pictures on its Tablet, at some points he decides to plug its tablet in the TV and watch them in there. Once the TV is plugged the pictures are shown in both screens so the user can use the tablet to control the application while watching the images in the TV.
A user just bought a movie via Bodega, he wants to play it in its big TV. In this case the controls of the movies will be in the Tablet while the movie itself will be reproduced at the screen.
A user connects the Tablet into a projector and intends to do a presentation using Calligra Active. The controls of the presentation (Notes, countdown, thumbnails) will be shown at the tablet while the Slides will be shown at the projector.
As you can see it makes only sense to do something with the external screen if, and only if there is an application that will make use of it, or said in another way we discarded to show the shell into the external screen.

Plan how bluetooth should be implemented in PA
As Thomas and I did with Screen Management, we took a look at how Bluetooth should be integrated with PA. Some parts of it can be already used and other parts need a nice QML interface. Following some conclusions we reached:
  • We don’t want a Wizard, it is not needed
  • We need a Share Like Connect plugin
  • We need a PA system settings panel
  • Device configuration should be within the PA system settings
When doing the analysis of how to implement Bluetooth into PA I realized mistakes done in the Desktop (I have been realizing those mistakes for quite some time now). I will implement them in a future BlueDevil 2.0 version.

Social / Sharing / shiny stuff in KDE software
Sharing, social, cloud, buzzwords all over that’s true but nonetheless important. There are different efforts going on in KDE to make this happen, and make it quick. We had a super interesting BoF about all things that needs to done to make Social/Sharing/Cloud a natural thing in KDE software, it should be as natural as creating a file or as launching an application.
List of points I remember:
  • Share/Like/Connect for the desktop must happen
  • Having a centralized place for Sharing is important (probably in the shell)
  • We need a centralized place to store Web/Online account information
  • We need to have a shared platform for streams (twitter, identi.ca, facebook…)
  • Having libkpeople finished is crucial, we must have unified personas to work with
I will probably be working on the first point, but we will see about that later.
Finally, a mandatory picture took by Martin K.
PA attendees working
This post was written on Match 14, information can be outdated.