About free software.

RSS
Feb 9

Desktop Syncing with ownCloud

A lot of interest was shown for a desktop client that synchronises data between the local machine and ownCloud. Talking about synchronising means that the software tries to keep the content of a local directory on the same current state as one on ownCloud. Whenever a file becomes more recent on one of the both sides its its going to be updated on the other quickly.

As I am currently working on the syncing I thought I could share the plan.

Where we come from

I am working on a desktop client based on a program called mirall. Mirall was started by Duncan Mac Vicar (github) and I joined the development (github) a couple of month ago. Mirall is witten in C++, currently Qt based.

Mirall uses csync, a universal file syncronizer written by Andreas Schneider as a backend. That works great for local and ftp attached storages, but as ownCloud is webDAV based, and csync was not supporting webDAV, we had to further investigate. In an SUSE sponsored hackweek I did some experiments with an external tool called sitecopy and implemented a sitecopy based backend for mirall.

That works nice for a one-way usecase of syncing - whenever something on your local disk changes, it gets automatically pushed to the ownCloud. Together with a fetch functionality which gets all content from the ownCloud that already covers a lot.

But of course the target is to get a fully functional two way syncing.

Improve csync

The decision now is to improve csync and fade off the sitecopy backend, for this
reasons:

  • Mirall already utilizes csync with good results for local directories and
    ftp servers. csync has proofed to implement the syncing algorithm very well.
  • csync comes with a shared library to link from applications in opposite to the
    sitecopy solution which means calling an external script.
  • the csync library offers a natural interface for people who want to write an
    additional client, for example based on a different gui toolkit.
  • csync offers a command line client! That means that syncing ownCloud from command line comes for free.
  • csync has a clean modular plugin system for the backends.

So as a result the idea is to create a WebDAV backend plugin for csync. To manage
the WebDAV communication, libneon is used. This is work in progress, currently
happing in a dev branch in csync upstream.

Mirall improvements

The work on mirall happens together with miralls upstream. As the ownCloud community is aiming for a specific ownCloud client I will work out options together with Duncan how we can give mirall different names (ownCloud and mirall obviously) and maybe themes and such.

We will target for a system tray tool that allows to manage syncronized folders for the first release, not much more fancy stuff planned now.

Mirall currently is plain Qt, but on the longer run it will get KDE improvements such as KWallet integration to be compiled in optionally on platforms where it makes sense.

Mirall will be available on Linux, Windows and MacOS.

Timeline

We plan for a beta version of the ownCloud client for early march, at least on  Linux. A first stable version will be released with ownCloud4, again at least for Linux, with second priority Windows.

Other Sync Clients

There is work going on on other desktop sync clients. I know its good to combine efforts in FOSS, but I apologise for staying on the mirall path, I already have been on it for too long. On the other hand I don’t  think its a problem to have more than one client driven by community. Diversity is one of the strength of FOSS.

Thanks

Already now, even if there is nothing released yet, a big thanks goes to Duncan Mac Vicar, the initial author of mirall, for beeing very cooperative with mirall as well as to Andreas Schneider, the founder of csync, who actively helps to get webDAV support into csync. Both are very enthusiastic about ownCloud which is great and motivating :-)

Many others send in patches, help compiling on other platforms, test and give suggestions. Many thanks for that, your contribution is very appreciated.

On a friday, the 13th…

Last friday I went to work in the SUSE office as I did for more than the last twelfe years. With that friday however something was special: Not only that it was a friday the 13th, but it also was the last day I worked for SUSE.

SUSE was an amazing place to work for. Starting as a novice packager in 1999 I moved on and worked on and developed various tools used at SUSE such as Bugzilla, FATE and other stuff. Later I was part of the team which founded the Open Build Service and finally had the chance to be part of the openSUSE Boosters team, which is the dedicated community interfacing team at SUSE.

I had the chance to do a lot of interesting things at SUSE, worked with really interesting and talented people and learned a lot. But even thought I had a great team and job at SUSE I tought it might be cool to move on… Movement keeps the brain fluent :-)

Starting in februry I will work in the development force for ownCloud Inc. and help to bring the company behind the ownCloud project to success. I like the ownCloud idea and concept from the first day on when it was presented on a KDE event.

ownCloud attracts me because it helps to protect one of the most valueable things we have nowadays: Our own data. Furthermore it has a strong end user orientation, aiming at simplicity, it’s elegant in various aspects and it’s users problem solving approach is examplifying. And there are so many ideas for more intelligent and useful things we can do with ownCloud, also combining the power of cloud and desktop.

I think ownCloud has huge potential as a free software project in an enterprise environment - exactly what we all used to dream of for our various projects.

It’s a honor and pleasure for me to work with Frank and the other guys to get that going - I am really looking forward to this challenge.

love this little logo of a demo company for my Kraft demo CD :-)

love this little logo of a demo company for my Kraft demo CD :-)

Nov 8

Kraft 0.45 released

A couple of days after the release of Kraft 0.44 with new features I had to prepare a bugfix release. It’s labeled 0.45 and was released today. It fixes a bug that prints wrong decimal places on the PDF documents which results in wrong calculations on the document. 

That is a very severe and not acceptable bug, as the wrong documents could make it to a customer of a Kraft user and as a result harm the business. I apologize for any inconvenience.

Please skip Kraft 0.44 and use version 0.45 instead.

Nov 7

Kraft 0.44 released

around fife month after the last release I am happy to annouce version 0.44 of Kraft, the KDE software to manage business documents like offers and invoices in the small enterprise.

This development cycle was very much affected by work around the integration of the Akonadi based address book. I have gone through a lot of cycles of tries and tests, with various combinations of KDE- and PIM libraries and Akonadi and Nepomuk setups. Not always the stack was transparent to me nor the integration of the various parts perfect. But we’re KDE with our welknown community, and so I finally had the pleasure to go through my and other code and fix it togehter with Kevin and Tobias on Desktop Summit this summer. That brought back  motivation, thanks :-)

So now one of the strengthes of the KDE platform from the application developers POV, which is the availability of powerful software building blocks such as an easy integratable address book, is now back to Kraft and users can again fully benefit from it.

Apart from that I did a lot of small and larger bugfixes, for example 0.44 contains a full rewrite of the text template management for head- and footer texts. It contains a more clear UI and context sensitive help now for the users benefit.

Kraft now also comes with localized PDF templates for documents. It was possible to use custom templates before and there were localized ones around, but it was an administrative task to use them. Now Kraft picks automatically the right one depending on the language settings which should be a nice improvement for new users evaluating Kraft.

As usual I am happy to get feedback. Kraft is also very open to contributions, as in code, documentation, marketing bug reporting and such. Please check the Contribution Page on the project website for details.

Zentrifuge: Future Day

AJ and me today went to Zentrifuge again where we had the openSUSE Conference 2011 a couple of weeks ago. We were invited for a coffee and had a feedback session about the conference event. It was a success for both openSUSE and the Zentrifuge.

One thing I like to point out here is the Future Day, happening on november 19th 2011. It will be a one day congress at Zentrifuge around a changing society and new future concepts. It sounds like an interesting event for people thinking in different directions and people who care, about themselves, the world and the future…

Three speakers are already on the list:

  • Marion Küstenmacher, she is co-author of the “Simplyfy your life” books. She will talk about spirituality in the future society. Unexpected topic imo but certainly one to consider.
  • Martin Schmidt-Bredow, his topic is about economy in the 202X - what will change and what not?
  • Jan Wildeboer, a know man in the FOSS community, he talks about Open {Source, Standards, Knowledge, Minds, Society} - the return of manufacturing.

I think this is a very interesting line up. It’s hard to predict which topics and ideas the workshops will touch, and which conclusions one will take home in the evening. 

Maybe we as the openSUSE community should look beyond our own nose and see if we can contribute to this kind of movement? Software is already a lot, but I think for example the idea of freedom is more. Maybe this is a good opportunity to explore beyond the usual limitations. If you are interested let me know, I am sure we can negotiate a nice price….

Here is some more material about the day.

Oct 5
rlihm:

Workflow: obs-wc2 Package Management on Flickr.
October 2008 I worked on a new OBS Webclient UI. This in one of the Workflows I made for it … today, 2011 we still have the “good” old OBS Webclient. The only change that happened is, that it wares now The Bento Theme … which got influenced by my work for Webclient 2.

awesome specification work!

rlihm:

Workflow: obs-wc2 Package Management on Flickr.

October 2008 I worked on a new OBS Webclient UI. This in one of the Workflows I made for it … today, 2011 we still have the “good” old OBS Webclient.
The only change that happened is, that it wares now The Bento Theme … which got influenced by my work for Webclient 2.

awesome specification work!

Where do you put your data?

This week is openSUSE hackweek, as you might know, and we do fun stuff. A couple of people, I was one of them, were investigating in the very promising project called ownCloud. We were working on a better integration in the openSUSE desktop in upcoming releases.

Why do we like ownCloud so much? openSUSE and ownCloud

Well, thats easy: ownCloud is a solution that is under the full control of the user and as a result very transparent. The server, were you push your data to is owned by you. You start, stop, erase or open it how ever you want.

Surely, other solutions were you push your private data to a server not owned and controlled by you are cool too, but, well, at least I do not want that. I did not came along a long way with free software to finally leave my data unfree. I want full control about the software and the data I work with.

openSUSE always strives to be a very free Linux without compromises and so I hope you will agree that our solution should leave the control about the cloud with the user working with the cloud. No trust us, we’re always will do good attitude. That is our way to go, and we will make that simple and appealing.

Specifically that means a couple of things:

  • we use a feature rich and extensible cloud supported by a large community which is ownCloud
  • a very easy installation of ownCloud for the openSUSE distribution user.
  • one syncronised folder on the desktopb by default without trouble setting it up
  • good integration in dolphin

What did we achieve so far in this hackweek?

On my computer here, I see a little cloud in my tray. If I click it, I am told that I am not yet connected to an ownCloud. A wizard now guides me through one of the three options:

  • connect to a ownCloud I set up earlier
  • install a new ownCloud locally to check it out
  • install a new ownCloud on my webspace via ftp.

The wizard collects the data needed, downloads the ownCloud source from the upstream official download location and installs it at the target location. After that the local integration is created. A folder called ownCloud in user’s home is created which is automatically synced up to the cloud. After fife clicks, I have ownCloud installed on my private domain and connected ~/ownCloud as a sync up folder :-)

It surely needs some more fixes here and there and some fixes, but I am still confident that will have some of that in 12.1. Speak up if you want to help, of course all code is public.

Thanks to Frank for visiting us and helping to get it going, Duncan, who started the mirall tool, which we extended, last Hackweek, to Cornelius for Ruby magic, Ismail for desktop integration and Tom for php hackery on ownCloud. It was a cool company this time, one of the best Hackweeks ever :)

Hope you’ll like the cloud coming into openSUSE :)