Narli Kolab for Ubuntu [UDS Heavy Stuff Edition]

Did you ever wish for a useable groupware solution for your Ubuntu systems?…

At the recently heldย Ubuntu Developer Summit in Orlando, FL the teams behind Ubuntu Server and Kubuntu discussed the long-term target for the Kolab Groupware stack on the Ubuntu platform.

But before I describe more detailed what is going to happen, let me quickly explain what Kolab is.

Kolab is a groupware solution primarily consisting of a server component, but not limited to that. In fact I personally see its strength in its desktop integration rather than the web interface, since that one is not equipped with the user interface you would want to use a lot (it is not really on par with today’s web standards). Kolab provides everything you would expect of a nicely integrated groupware solution: calendar, mail, address book etc. Its primary recommended desktop client is Kontact, which happens to be the groupware shell for KDEPIM applications. Since KDE is involved, the Kubuntu team is of course all crazy about providing the best possible experience for everyone who wishes to use Kolab (preferably with Kontact of course). We are supported by work force of Kolab Sys to get this done quicker.

Here is our plan for that:

a) Get Kolab into Ubuntu

Scott Kitterman is hard at work on this and already made some progress. The issues at hand are that Kolab requires patches to be applied to some existing Ubuntu Server components, but more disruptively Kolab by default uses a different IMAP server than Ubuntu. Fortunately a good bunch of patches is already applied to the Ubuntu packages and there is a plugin that enables Kolab to use Dovecot (that would be Ubuntu’s IMAP). So we are on a good way to get this done for our next LTS release in 2012.

Actually the required plugin for Dovecot, calledย dovecot-metadata-plugin, is already available in 10.10, so feel free to experiment with it. If you do, please also take notes and harass Ryan or Adam with them, since they’ve volunteered to work on documentation for this fancy magic.

b) Get KDEPIM (Enterprise) into Ubuntu

KDEPIM Enterprise was formerly known as an independent branch of KDEPIM tweaked for use with Kolab. The enterprise 5 release will however be based of regular KDEPIM. As I understand it the enterprise release has special support offers from the companies behind Kolab so we very likely will want this in Kubuntu. Whether it will be default or not is yet to be decided.

c) Due to lack of a stable KDEPIM Enterprise for KDE 4 we are trying to get the KDE 3 version in for Kubuntu 11.04

Being more short-term than b) this part specifically targets Kubuntu 11.04. Kolab Sys (one of the companies behind Kolab) created Kubuntu packages of the KDE 3 version of KDEPIM Enterprise since it is the currently supported stable version, even if a bit dated. Ryan Kavanagh is working on resolving some remaining issues that are currently blocking inclusion into the Ubuntu archives, once those are sorted KDEPIM Enterprise should be available in the repositories for Kubuntu 11.04.

d) More clients to follow

There is also client integration for Thunderbird which is on our radar, however not much has happened in that direction – yet. Thunderbird is especially interesting since I recon despite it not being default on Ubuntu Desktop it is widely used. At this point it is probably also worth mentioning that there is Kolab support for popular groupware clients on legacy systems (Windows), as Scott would put it. For more information on Kolab clients please visit their website.

I am very excited about this, and hope you are too.

Stay friendly ๐Ÿ™‚

Identi.ca and WordPress.com Sharing Service

As I recently discovered WordPress.com has a pretty neat sharing service support. It essentially adds a bunch of social network links to the bottom of your pages. Which makes a lot of sense, because every content provider (e.g. a blogger) would like their content to be spread to the world and what better way to archive this than by giving the user the means to easily share something they like or find interesting.

One problem though. Since I am a free software advocate and suppose that you, my readers, are too, I prefer Identi.ca (which is using a free software microblogging software) over Twitter. Yet WordPress.com does not have a share button for Identi.ca…

What a shame! A fixable one though, as one can add own services.

How to do that:

  1. Get a 16×16 version of the Identi.ca icon. I personally like the one used in Gwibber (in lack of an Oxygen icon ;))
  2. Go to Media โ†’ Add New
  3. Upload the Identi.ca icon and note its URL
  4. Go to Settings โ†’ Sharing
  5. Click on ‘Add a new service’
  6. Enter ‘Identi.ca’ as service name
  7. As sharing URL use the following
    http://identi.ca/index.php?action=newnotice&status_textarea=%post_title%:%20%post_url%
  8. Add the URL of your icon from 3.
  9. Click on ‘Create Share’
  10. Now simply drag it to your shares and you are done.

Have fun ๐Ÿ™‚

QtWebKit + Video = :-)

Kubuntu 10.10 is likely to come with a QtWebKit using browser (currently Rekonq is default) and QtWebKit allegedly does some HTML 5 magic. Most importantly from my POV audio and video playback without flash or anything.

So the other day I was annoyed over YouTube making Rekonq crash because of dearest Adobe Flash, which made me look into the experimental HTML 5 support YouTube provides. The shocking news: it does not work (what a surprise). Fortunately QtWebKit is using Phonon, the magic multimedia system of Qt and KDE, so I tried with the VLC backend for Phonon and it worked even less than the default xine backend did… HTML 5 support, yeah, sure ๐Ÿ˜›

Jonathan Riddell however suggested that both audio and video work somewhat well in the GStreamer backend, which made me realize that there is hope after all. I moved out to fix the VLC backend. A task that sounds a lot easier than it really was, because QtWebKit is a very large beast and without having any clue about “web engine/rendering stuff things” it is very difficult to find one’s way. But after running QtWebKit for a day or two through gdb and breaking at all sorts of functions I knew the follwing:

a) The VLC backend is at an early point in a wrong playback state which makes QtWebKit fall on its face (which affects both audio and video).
b) Something horrible is going on that makes videos not work.

After some poking and whining in the VLC backend I finally got audio working by ensuring that a call to Phonon’s pause() function would actually switch to a pause state and allow resume at next call to pause (which is archived by a somewhat nasty hack that needs to be fixed by some additional foo in libVLC). Awesome! At this point video also had sound, but no moving pictures. After some more research it turned out that QtWebKit explicitly deactivates the way the VLC backend would usually show a video and instead requires the backend to manually paint the images in a given area (so ultimately control about playback timing is done by QtWebKit and not the backend). Luck was in my favor, as only recently libVLC grew easy to use support for hooking into playback and getting frame by frame.

Having implemented this magical way of making the pictures move, we now have video and audio support \o/


[Flash Version]

Feel free to test the Git version from gitorious (requires VLC >= 1.1.1).

PS: A testing page for OGA, OGV and WEBM is available here.

PPS: YouTube is still not working, most likely because it is passing some weird URL which makes VLC run into HTTP 403 errors. Dear YouTube, do you not like us? ๐Ÿ˜ฆ