KDE at LinuxTag 2008, Day 2 – Taking over the World

kde-logo-official
The second day at LinuxTag is over. It showed how KDE is steadily taking over the world.

Today a group of CIOs did a guided tour through the exhibition halls, and of course the icing cake was the KDE booth. There the main question was: how can KDE be interesting for such people, for companies.

And the answer was never easier than with KDE 4: through portability. The KDE 4 libs are amazing, and additionally the already existing apps on top of it are excellent programs. The key point for such people is however Kontact (which was also presented in a talk today which I unfortunately missed). Kontact provides an easy to manager group ware client compatible with a lot of different servers out there – and now it is also available on all three big platforms. This makes it possible for business people to have one central place for the configuration for all platforms while the client itself is fully integrated with the native platform look&feel.

And the most important thing is: this is not theory, it exists already. In fact, the booth of the BSI, the German Federal Office for Information Security, shows Kontact running natively on Windows and on Mac OS X. Here are three screenshots for comparison (thanks to the BSI for the Mac OS X and Windows screenshots):

KDE's Kontact on Linux

Kontact on Linux.

KDE's Kontact on Mac OS X

Kontact on Mac OS X.

KDE's Kontact on Windows

Kontact on Windows XP.

The versions displayed are based on the current in development KDE 4.1 libraries. But they are already working, and it is just a question of time until this becomes stable enough to use it in daily business life. This ports would not have been possible without the help of the BSI – which does support and promote Kontact and help with the development of security plugins – and also Kolab who do an amazing job in the world of group ware.

So, at the moment there is only one serious group ware client out there which runs on all three major platforms. And it does not only run there, it is natively integrated, users will immediately feel at home in them. The importance of these two facts can not be underestimated, and in the mid term more and more companies will consider Kontact – and therefore KDE – as a possible solution for their often mixed setups. And with Kontact other useful apps like Konqueror, Dolphin, Okular and others – which could again be configured at one single central point – are in reach as well.

Arora, a WebKit browser in Qt

kde-logo-official
The release of Qt 4.4 came along with the WebKit browser engine which could be tested with an included demo browser. This demo browser is now developed independent under the name Arora and is already, while in early development a cross platform Qt browser.

WebKit is a browser engine which was originally forked from KHTML and is now developed further by Apple, Nokia, Adobe, Trolltech and others. Up to a certain point there is also cooperation going on between KHTML and WebKit.

With Qt 4.4 WebKit is officially part of Qt, and therefore every Qt app can take advantage of WebKit (this is also true for every KDE app, but they can use KHTML for quite some time now anyway). The demo browser of Qt 4.4 was shipped with the release to show what the engine is actually capable off. Since it was already a (basically) working browser its own code repository under the name Arora. The WebKit code used is the one of Qt which is directly developd in the WebKit trunk.

Arora main window

Arora preferences

The browser is currently under heavy development and is still in an early phase, so it can hardly be compared against the “old” ones like Firefox or Konqueror/KHTML. However, the browser already has a nicely working Rich Text Editor support which for example works with WordPress blogs:

Arora support for the WordPress Rich Text Editor

Also, there special private browsing mode which makes it possible to deactivate the history and cookies just for a short time:

Private browsing mode Arora

Besides, recently the support for flash plugins was included, and Arora can restore closed tabs. Currently planned features include the support for password store mechanisms in the form of plugins which will make it possible to connect Arora to kwalletmanager and therefore integrate it seamless with KDE – or to connect it with the Gnome keyring and integrate it with Gnome.

But it can also be seen that Arora is still in development: in the version tested on this machine there were some issues with the scroll bar and also with the line-edit field and the buttons on the Google home page:

Arora display errors

Additionally, there are some things missing: especially web shortcuts which I really got used to should be added at some point in the future. Also, the preferences dialog does not list options which are normal for other browsers (always display tabs, always open in a new tab, etc.).

However, given that the development continues at the current speed these features should be available soon. In the long term Arora could become a real competitor to Firefox: while it is also cross platform like Firefox it could actually adapt the native design of each platform thanks to Qt. Additionally, with intelligent chosen plugins it should be easy to integrate it into the platform (password storage, favourites, desktop search, etc.). Last but not least thanks to its origins it features a much smaller memory foot print and is simply faster than Firefox.

For KDE users it could be an interesting alternative to Konqueror to have a look at WebKit and simply as a stand alone browser inside KDE.

In case you want to give Arora a first test the easiest is to run Ubuntu (probably in a virtual machine) and install the precompiled binary. Since Arora does require quite recent Qt packages it can’t be compiled in Fedora 8, and even Fedora 9 might not be sufficient at the moment.

KDE4Daily – testing KDE 4.1 with daily updates

kde-logo-official
KDE4Daily, a virtual machine image of KDE 4 with daily updates was released for KDE 4.1. This gives anyone the opportunity to test the newest KDE 4.1 sanely inside a virtual machine.

KDE4Daily had its debut in November 2007 when SSJ announced a virtual machine image with daily updates for the still in development KDE 4. Today it was announced that once again the KDE4Daily project will provide a daily snapshot of the current KDE development in form of a virtual machine image.

The image itself is a some 660 MB large qemu image. It can be run directly within qemu, but it is also possible to transform the image into for example a VirtualBox image.

Once launched the Ubuntu based Linux starts up and simply works. It can be used to have a look at the new features of the upcoming KDE 4.1. But it can also be used to find bugs. However, in case you find a bug always state that the bug was found inside KDE4Daily – it could also be that a bug is specific to this special environment.

In any way, KDE4Daily already shows that KDE 4.1 will indeed be an appealing Desktop Environment. The following image gallery is just a random set of images I shot having a look at the virtual machine.

KDE4Daily - loginKDE4Daily - startup

Logging in, starting up…

The new Plasma runnerThe new Plasma panel configuration dialog

New things from the Plasma world: a new runner and a panel configuration tool.

Konqueror\'s support for recently closed tabsKonqueror\'s session manager

Konqueror now offers session management and support for closed tabs.

Dolphin\'s new selection featureGwenview\'s full screen diashow tools

This shows the file selector in Dolphin to select several files without the keyboard. Next to it the Gwenview diashow mode can be seen.

Kontact in KDE 4Kinfocenter, reworked for KDE 4

KDE 4.1 ships the first KDE 4 version of KDE-PIM apps. They are still not based on Akonadi, but they are at least ported to KDE 4. In other news, the KInfocenter was also ported and got a face lift.

The Kubrick gameDesktop globe marble with mercator projection

Among the new games is Kubrick – the image speaks for itself. Marble of course got a new projection: Mercator.

Areca: Linux desktop backups made easy

Tux
There are some desktop backup tools available for Linux, but most of them are not developed anymore. Areca however is under constant development and also provides a user friendly GUI.

Backups and Linux are a twofold thing: if you have hundreds or thousands of computers backups are not a problem at all: Amanda, Bacula, Restore and others are your friends. Also, if you want to create backups on single machines, there are many tools available: rsync, tar, and many, many more.
However, all these solutions are not suitable for the average user.

In the last years several projects were started to provide user friendly solutions for the backup of Linux desktop machines. A year ago I already reported about SBackup. Also, the Ubuntu team developed the solution TimeVault and last but not least there is flyback which I used for several months to keep a backup of my thesis. But despite their advantages they all suffer from stalled development: all mentioned projects are effectively dead at the moment.

There is only one exception: the little known Areca. This in Java programmed backup solution provides a user friendly GUI and is even suited for desktop users who have a quite complex idea of backup systems.

The main view of Areca

Despite some current bugs (it chokes on large numbers of files, you have to use several backup rules in such cases) and some shortcomings (the file choose dialog only allows to mark one single file each time) the program has matured over the time and can easily be used in a productive environment. Besides the usual backup/restore it also features statistics, the ability of merging backups, different backup profiles, encryption and other gimmicks. But be sure to quickly read through the documentation so that you understand what backup groups and backup targets are before you start!

The only problem I now have is that it is not packed for Fedora – or any other bigger distribution besides Ubuntu. The download section provides pre-compiled tar.gz packages, however I would prefer a rpm I could automatically fetch with yum.

[Howto] Logitech QuickCam Pro 9000 with Fedora 8

Logitech QuickCam Pro 9000 with Fedora 8
This howto shows how to install the Logitech QuickCam Pro 9000 under Linux. While the howto is focussed on Fedora 8 it should work on all distributions.

I recently got the Logitech QuickCam Pro 9000. It is a higher class webcam with a 2MP sensor and a Carl Zeiss lens – and, according to Logitech’s Linux page it is supported by the uvcvideo driver.

Kernel module installation

The problem is however that the uvcvideo driver is not yet part of the mainline Linux kernel. I fyou plug in a uvcvideo device, the kernel cannot load the right driver:

Dec  7 02:14:06 machine kernel: usb 1-5: new high speed USB device using ehci_hcd and address 4
Dec  7 02:14:06 machine kernel: usb 1-5: configuration #1 chosen from 1 choice
Dec  7 02:14:06 machine kernel: Linux video capture interface: v2.00
Dec  7 02:14:07 machine kernel: usbcore: registered new interface driver snd-usb-audio

The kernel module must be compiled manually. The fastest way to do that is:

$ mkdir linux-uvc;cd linux-uvc; svn checkout http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk
A    trunk/uvc_ctrl.c
A    trunk/uvc_queue.c
A    trunk/uvc_video.c
A    trunk/uvc_v4l2.c
A    trunk/uvc_compat.h
A    trunk/uvc_driver.c
A    trunk/uvcvideo.h
A    trunk/Makefile
A    trunk/dynctrl.txt
Ausgecheckt, Revision 148.
$ cd trunk
$ make
Building USB Video Class driver...
make[1]: Entering directory `/usr/src/kernels/2.6.23.8-63.fc8-i686'
  CC [M]  /home/liquidat/tmp/linux-uvc/trunk/uvc_driver.o
  CC [M]  /home/liquidat/tmp/linux-uvc/trunk/uvc_queue.o
  CC [M]  /home/liquidat/tmp/linux-uvc/trunk/uvc_v4l2.o
  CC [M]  /home/liquidat/tmp/linux-uvc/trunk/uvc_video.o
  CC [M]  /home/liquidat/tmp/linux-uvc/trunk/uvc_ctrl.o
  LD [M]  /home/liquidat/tmp/linux-uvc/trunk/uvcvideo.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/liquidat/tmp/linux-uvc/trunk/uvcvideo.mod.o
  LD [M]  /home/liquidat/tmp/linux-uvc/trunk/uvcvideo.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.23.8-63.fc8-i686'
$ cd ../..
$ su
Passwort:
# mv linux-uvc /opt
# cd /opt/linux-uvc/trunk
# make install
Installing USB Video Class driver...
make[1]: Entering directory `/usr/src/kernels/2.6.23.8-63.fc8-i686'
  INSTALL /opt/linux-uvc/trunk/uvcvideo.ko
  DEPMOD  2.6.23.8-63.fc8
make[1]: Leaving directory `/usr/src/kernels/2.6.23.8-63.fc8-i686'
depmod -ae

Of course this requires installed kernel development packages and other general development packages (compiler, etc.). Also, on Ubuntu based distributions you want to enter sudo su instead of the plain su.

A working webcam

After all this is done, the webcam is detected properly:

Dec  7 02:26:19 machine kernel: usb 1-5: new high speed USB device using ehci_hcd and address 7
Dec  7 02:26:19 machine kernel: usb 1-5: configuration #1 chosen from 1 choice
Dec  7 02:26:19 machine kernel: uvcvideo: Found UVC 1.00 device  (046d:0990)
Dec  7 02:26:19 machine kernel: usbcore: registered new interface driver uvcvideo
Dec  7 02:26:19 machine kernel: USB Video Class driver (v0.1.0)

The next step is to test the webcam video input. The easiest way is to test this with an application which is known to work with Video4LinuxV2 (uvc mainly supports v4lv2 afaik). The best example is Kopete, which delivered acceptable results for me (although the colours are a bit mixed up):

Kopete showing the webcam input

Skype 2Beta also worked for me with a slightly better video quality, however the screenshot of the Sykpe interface with an embedded video showed just a blank image.

However, if you want to examine the features of your camera in combination with the uvcvideo driver in more detail you need to install luvcview. luvcview can list the possible frame rates and resolutions and also has a display where you can set saturation and similar values live.
In case of QuickCam Pro 9000 I was able to set the resolution to 960×720, and the quality was very good!

Closing words

While this howto explains how to get the uvcvideo driver up and running it does not cover all the fancy features many cameras today come with: additional speakers, microphone, auto-focus and whatnot.

But the main problem is anyway that the module has to be compiled manually. While it worked without any problems this is a task which certainly cannot be done by average computer users. Unfortunately I failed to find any further information why the uvcvideo driver is not part of the kernel yet. I would appreciate any comment which sheds more light on that topic.
It was often mentioned at the uvcvideo driver devel-list that the module will be merged “soon” into the mainline kernel, but that didn’t happen.
However, if the driver is merged at some day it will drastically improve the webcam experience of many Linux users out there since many webcams would be supported out of the box suddenly. I just hope that there are no licence problems keeping uvcvideo out of the kernel atm.

Thanks to Jun’s tech blog for some of the commands used in this howto.

Wuala: store data online, and share them if you want

store data online, and share them if you want
Wuala is a mixture of a classical online storage solution and a file sharing application: you can share your data with logged in users or entire groups while all your data are uploaded to a p2p net – even when you’re not connected. The program was now released as a Linux version.

Technical Background

The interesting advantage of Wuala compared to usual file sharing applications is the fact that every user can first define which user or group is allowed to see which content, and that you don’t have to be connected to the net to offer your friends the option to download your stuff. When you mark your data for upload they are splitt into small parts, encrypted and afterwards uploaded to the other clients of the network (including some big servers of the company behind the project). All data is saved redundant so that you most likely always have the possibility to download your data from everywhere else as long as the Wuala network has no major breakdown.

Currently the amount of data you are allowed to upload is 1 GB. However, if you provide some space for other people’s files on your hard disk you also get more space on the network – given that your network connection allows incoming connections and that your computer is online most of the day. In this regard the approach reminds a bit of Freenet which also defines your upload space by the space you provide to the network afaik. You can also “earn” additional space by inviting other users, and I guess in future you might be able to buy additional storage.

According to the web page, your data are encrypted locally and therefore cannot be viewed by other clients as long as you don’t allow it:

All files you store are encrypted such that only you and those authorized by you can access them. All encryption and decryption is performed locally and your password is never sent to us – so not even we can access your files.

Unfortunately, the program is closed source (also see below) and there are no further details on that matter. Therefore it is hard to say how strong the encryption really is. I would really prefer especially such a program to be open source, or at least open source in all important bits like encryption.

The graphical interface

Wuala itself comes along with a graphical Java client interface for Linux, MacOS and Windows. The Linux client is provided as a tar.bz package and at the moment still has to be copied to a local folder. There is no package or installation routine, but the Linux client is in an Alpha stage anyway.

The main window shows all shared files and directories and marks them with different colours for different restrictions: yellow ones are the folders which are not shared with anyone, red are the ones shared with friends and/or groups and blue ones are accessible by everyone of the network.

Wuala - Main screen

The folders themselves can be removed, downloaded, recommended, marked as favourite, etc.:

Wuala - Right Click

You can of course also alter the access rights everytime. And the rights are quite fine grained: they allow you to choose specific users and/or groups to see content and therefore remind me even a bit of ACLs.

Wuala - Access Rights

As mentioned above there is also the option to make content available for everyone. As a user of Wuala you can of course also allow others to search that content:

Wuala - Search

Of course it is debatable how useful it is to provide data on Wuala which are readable by everyone – there are similar services on the web where you don’t need the extra client, and Wuala is not the place to provide illegal content worldwide. But some people indeed seem to use the function, and I could imagine that CC content could find a place there.
Anyway, if you pay closer attention to the bottom right you see “Related Products”. This is a link to Amazon products. I guess this helps Wuala to keep the business running. In the current version you can turn off that function, the question remains if that option will still be there in the future.

Besides the main window and the world/search window there are also windows for your groups and users. There you can also start a chat with other users – however, that failed for me due to a Java error. I’m not sure if that is a problem of the Linux client, IcedTea or something else. On the other side, the project is still in Alpha/Beta testing and maybe the function is not tested enough yet or simply not implemented right now.

Another feature I dind’t test at all yet is the possibility to use portmap to have a look at for example video files while they are still not fully downloaded:

Wuala creates a network drive to which your operating system can connect. […] Wuala has a built-in NFS server and tries to mount a NFS share in the folder named ‘direct’. For this to succeed, portmap and nfs-common must be installed.

Besides the graphical interface there is also a command line application which can be used to set up storage nodes. Since Wuala depends on computers which are online most of the time such a command line client makes a lot of sense for example for 24/7 servers without X.

Closing thoughts

Wuala is an interesting approach to provide online storage for everyone. It has nothing revolutionary new but combines several known techniques to an interesting, nice looking and working product. Still, as already said I would feel much, much better if at least the encryption part would be Open Source and documented so that users could verify that their content is really safe. In this regard the FAQ has an interesting point:

Do you plan to open the source code?
We are considering to open the source code in future. However, this is a decision that has to be thought out well as it cannot be undone. It also takes some effort to successfully implement a good open-source strategy.

I’m looking forward to the future development of Wuala – especially plans like Web access and of course to Open Source the code are very interesting.

As a last note: currently Wuala is in an early stage and does not allow new users. However, existing users have a set of invitations, so in case you would like to have an invitation, send me a short private note.

KDE 4 Beta Videos

kde-logo-official
Jos Poortvliet has produced a set of videos showing some features fo the upcoming KDE 4. Until now the featured applications are some games, KTouch, Kalzium and Gwenview.

The Videos

Jos Poortvliet produced these videos running KDE 4 apps inside of a KDE 3 session. The KDE 4 session is a recent SVN checkout and therefore has some additional features compared to the rencetly released KDE 4 Beta 3.

The videos themselves are of average quality due to the flash-based hosting but still give a good impression of the feature richness and quality of the new KDE 4. And videos are just better than static images.

At the moment there are 7 new videos at Jos’ youtube page but chances are that he will upload more of them in the near future. Four of the videos show the KDE 4 games KMines, KMajongg, KAtomic and KSudoku:

Two other videos present the development in the educational areay, KTouch and Kalzium:

The last video presents the new features of Gwenview, KDE 4’s default image viewer. Compared to the KDE 3.x version Gwenview is now able to also crop images and has a subtle but clear way to inform the user that there are still unsaved changes.

Thanks to Jos for uploading these short videos and the permission to publish them here, it is a great way to show how KDE 4 shapes up.

Why so many Games and Educational Apps?

Some people might wonder why the focus is on educational apps and games while KDE 4 will have so much more to offer. There are several reasons:
First, other stuff like Plasma was already covered several times by others. There is no need to cover it yet again as long as there are no new features because everyone already knows it.
Second, many of the new features of KDE 4 are behind the scenes – Solid, Phonon, Qt4 are difficult to show because these improvements are about design and capabilites, not actual features.

And third, and that is connected to second, to show what KDE 4 can be capable of the best is to show the applications which use these new capabilities and implement new features using them. And as in real world this is best done with games because these are the applications which take frameworks and APIs (and often hardware, btw.) to their edges and beyond.
In a file manager it would be too distrcting if it would use all the blink which is possible now – in a game that is exactly what the users want to see.