Samba-mounter, quick fix for a larger problem

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.