GNOME 3.0: Making the same mistakes as KDE 4.0?

Yesterday Fedora held a GNOME 3 test day. In order to facilitate testing, they published a Rawhide live CD containing the latest builds of GNOME 3. This is a great opportunity to test the latest GNOME-shell and other new things without having to upgrade your system to unstable alpha stuff. I tried it out on my laptop with Intel graphics chipset.

After a quick test, I am quite disappointed. Just like KDE 4, GNOME 3 tries to explore some new innovative desktop stuff, but just like KDE 4 in its first versions, it feels extremely unpolished and very unfinished, resulting in a rather cumbersome experience.

On the positive side:

  • The desktop feels pretty fast. Starting up applications, using the search function to find applications and the graphical desktop effects are all pretty smooth.
  • The black GNOME shell interface looks nice with subtle but pleasing effects like drop shadows and transparency.
  • There is a nice Expose effect when clicking on activities, nicely showing you all windows running on your system.
  • I have not tried this myself, but it looks like instant messaging is nicely integrated into the desktop. The user menu in the top panel makes it easy to set your status, and you can chat directly from the notifications on the desktop.
  • Just like chatting is nicely integrated,¬† the user’s agenda is also nicely integrated on the desktop. Just click on the time and see a list of all your appointments at a glance. It looks much nicer than GNOME 2’s calendar view.
  • The fact that some application dialogs now appear to be popping out of the main window and do not have their own window decoration looks nice and avoids clutter. You can see this in the About dialogs in GTK+ applications.

On the negative side:

  • I have the feeling that a lot of space is wasted in the top bar. By default it contains the Activities menu (which is not really a menu and not really needed, because you can open it by just moving your mouse to the top left of your screen), the time, and a few applets (NetworkManager, Accessibility, Volume control, Battery monitor and a user menu allowing to set some personal preferences and instant messaging status. There does not seem to be a way to add application launchers, or any other custom applets.
  • When an application is launched, the name of the application appears in the panel, together with its icon. However, it is a partial version of the large icon, it looks a bit like it is zoomed in. Because the icon is cropped, it is very hard to recognize and looks rather ugly. I fail to understand why they do not simply show the scaled icon.
  • The application launcher is not handy to use. First you have to move your mouse to the top left of the screen to open Activities, then you have to click on Applications, and then you have to move your mouse to the right of your screen to select an application category and move again back to the center of the screen to launch the requested application. This way, launching an application requires much more mouse movements and clicks than simply navigating in the Applications menu in GNOME 2. Moving the search box and application category list to the left, would already be a huge improvement.
  • The list of applications is shown as a table of application icons, laid out both horizontally and vertically. Having to scan the list in two different directions is cumbersome compared to scanning a vertical application menu like in GNOME 2.
  • When opening the application list, by default it shows all applications in alphabetical order. Even if you want to keep this system, I think it would be much nicer to show them like in SUSE’s GNOME appliation launcher, where all icons are still organized by category and separated by the category headers.
  • Under the icons in the application launcher, the name of the application is shown. Or at least a part of the name: most names are shortened by an ellipsis (…) and this is very ugly. For example Transmission becomes “Transmiss…”, Remote Desktop Viewer becomes “Remote…”. There are also no tooltips showing the full name when hovering your mouse over them. LibreOffice is not included on this live CD, but if they are installed will both LibreOffice Writer and LibreOffice Calc become “Libreoffice…” then? It is clear that not seeing the full names at a glance is terrible for finding applications.
  • There does not seem to be support for desktop icons. The ~/Desktop folder contains some .desktop files, but they are not shown on the desktop. Left or right clicking on the desktop does not do anything. This reminds me of KDE 4.0, which also had broken support for desktop icons which was only fixed completely in later KDE versions when the Folder View widget came out.
  • There is no easy way to open your home directory, a bookmarked directory or a removable drive in a file browser except by opening the application launcher and finding the file manager. No more handy Places menu like in GNOME 2, or desktop icons for your home folder and removable disks.
  • There is no way to move the “dock” to another screen border. Personally I would prefer having it at the bottom side of my screen inside of at the left side, but I could not find a way to change that.
  • I do not like the default GTK+ theme too much. The big white scrollbars and high white tab pages look pretty hard to my eyes, and the grey backgrounded toolbars look a bit weird, especially the sunken View combobox¬† in Nautilus’ toolbar (it has a white line underneath). The default icon theme also needs an update, because it looks old-fashioned to me. I could not find a way to change the themes. There was no Appearance configuration tool in System Settings.
  • The day of the month and month are not shown by default in the date in the top panel. In the Date and Time Settings I could not find a way to show the complete date.
  • Similar to the above problem, it looks like we will not be able to easily configure what will happen when the laptop lid is closed. I have always preferred GNOME’s nice default settings over KDE’s settings clutter , but now I have the feeling that they are going much too far in GNOME 3.

A lot of my criticism seems pretty fundamental and as th final version of GNOME 3.0 is currently scheduled in 2 months (4th of april), it is sure that many of these issues will not be resolved. Just like KDE 4.0, there is definitely potential here. However in its current state, I consider GNOME 3.0 still as a playground for developers and unsuitable for use except by early adopters. Especially the fact that basic features have been removed (desktop icons) and basic tasks have become harder (launching applications) is really unforgivable.

Another interesting read is this quick screenshot based review by a QT developer. Also check out GNOME 3’s official website.

Update: GNOME 3 developer hadess responded to some frequently reported problems during the test day. Some of the problems I have written about here, are currently being worked on.

Server migration to Debian

Since this afternoon, this server is now running Debian GNU/Linux Squeeze. Just like the previous system, this is a KVM virtual machine running on a HP Proliant DL185G5 host. The host server has always been running Debian. This was my last production system still running Mandriva. I might have forgotten to move over a few things or there might be some breakage somewhere, so let me know if you encounter a problem.

Mandriva’s future? Mageia.

In spite of the fact that Mandriva has decided on its shareholder’s meeting to publish new release 2011 at the end of the first half of 2011 and to improve its communication towards the community, one can safely say that both the distribution and the company do not have any realistic future anymore. A bunch of ex-employees (most of them fired when Edge-IT was liquidated) and a big part of the community, have decided to fork the distribution under the new name Mageia. Now with only a handful of developers left and with most of the community contributors moved to Mageia, I do not see how new Mandriva releases will happen anymore in the future. Let’s hope that the Mageia community manages to take over what is left from Mandriva and that it can become a nice distribution bringing Linux to the masses.

Mandriva’s future (2)

Now a few weeks after my first article about Mandriva’s future things have even more moved in a negative direction. The new management has decided to close down Edge-IT, a company which was bought by Mandriva several years ago. Apparently lots of the employees working on the distribution, were in fact Edge-IT employees and so they now have to leave the sinking ship. [1] [2] [3] [4] [5] [6]

As is summarized by a mailing list post, Mandriva as being a distribution developed by a company and paid employees, is now an empty box. There is no more head in charge of the future direction of the distribution, who can take the necessary decisions for new releases. It looks like no more paid employees are working on GNOME and KDE packaging, and most people working on the installer and Mandriva’s configuration tools are gone. Looking at the SVN commit history it seems like the members of the security team are almost the only paid employees still working on the distribution. One can safely say that Mandriva is now de facto already a community developed distribution.

In the meantime, the CEO has reacted on a bug report. He says that Mandriva will concentrate on the server market in Europe and on the desktop market in countries like Brazil. Because European developers would have refused to be part of that future direction, they have been fired, according to the CEO. Of course this does not make any sense. There no reason why developers in Europe could not be working on the desktop if the target market for the desktop is mostly Brazil. The real reason why people are being fired, is of course that there is simply no more money to pay them anymore. Furthermore, I am pretty sure that Mandriva can never be a real competitor for distributions like Red Hat Enterprise Linux and Novell’s Suse Linux Enterprise Server, which are much more popular in large companies. Already even 5 years ago Mandriva was often not taken seriously anymore in corporate environments, according to my experience when working for an IT company specializing in free software. Even free distributions like CentOS and Debian have a much higher reputation in the server market than Mandriva.

Tomorrow there will be a shareholder’s meeting. After that, we might have a clear view on the future of Mandriva as a company. But there should not be much doubt: Mandriva as a distribution developed by the company, has already died now.

And Mandriva as being a communtiy developed distribution? It might work if some solution is found for things like the build system and other infrastructure, now being provided by Mandriva. Maybe there will be a merger with one of these Mandriva forks like PCLinuxOS and Unity Linux. But I am convinced that these distributions currently only exist thanks to Mandriva and will definitely suffer a lot if there is no more upstream where they can copy packages from. So a merger with such a distribution will not magically fix all problems caused by Mandriva’s death. People who are looking for a distribution to install on their system, should rather remove Mandriva from their shortlist, because there are too much doubts about its future…

Migrating from Microsoft SQL Server to PostgreSQL

One of the servers I manage at work is still running Microsoft Windows 2000. This system is hosting a few old forgotten web sites and it runs Microsoft SQL Server containing a few databases still in use. This server was already there when I started working at the university. Fortunately I never had to do much work on it and there never was a serious crash: it would have been a serious headache for me restoring this system because I do not have much knowledge about Windows and SQL Server.

During some spare time at work I decided taking a look at migrating the MS SQL Server databases to PostgreSQL. And all in all it was not very complicated. Fortunately, the databases itself are not very large and have a rather simple structure. The first thing I did, was recreating the structure of the database in PostgreSQL. With a tool like pgAdmin3 this is pretty straightforward. An alternative is to export the database structure in SQL format and adapt the resulting file so that it contains valid PostgreSQL table creation statements. The latter method is explained on the PostgreSQL wiki.

To migrate the data itself, I wrote a little Perl script. Actually I do not have much knowledge about Perl but it is a fairly straightforward language, so this did not prove to be too difficult. I connect to the MS SQL Server database using DBI, the Perl Database Interface, with the ODBC and FreeTDS drivers. The script gets all records from the tables you define, and inserts them in the PostgreSQL database using the PostgreSQL DBI driver.

These are the required packages on a Debian Squeeze system:

libdbd-odbc-perl
libdbd-pg-perl
tdsodbc
unixodbc
tdsodbc

Define the FreeTDS ODBC driver in /etc/odbcinst.ini:

[FreeTDS]
Description	= TDS driver (Sybase/MS SQL)
Driver		= /usr/lib/odbc/libtdsodbc.so
Setup		= /usr/lib/odbc/libtdsS.so
UsageCount	= 2

Then define the database in odbc.ini:

[database]
Driver = FreeTDS
Trace = No
Server = hostname
Port = 1433
Database = databasename

The script assumes that all field names in the PostgreSQL database are using lowercase names and that the MS SQL database is using ISO8859-15 encoding and the PostgreSQL database is using UTF-8 encoding. For every table, I make a migrateTable call with 3 arguments: the table name, an array containing all field names and the name of the primary key field for which you created a sequence (named fieldname_seq).

Once the database itself was migrated, the applications using the database had to be modified to use PostgreSQL. This was not too difficult, because the applications were PHP scripts using ODBC. These additional packages were needed:

odbc-postgresql
php5-odbc

To configure the PostgreSQL ODBC driver, add this in /etc/odbcinst.ini:

[PostgreSQL Unicode]
Description	= PostgreSQL ODBC driver (Unicode version)
Driver		= /usr/lib/odbc/psqlodbcw.so
Setup		= /usr/lib/odbc/libodbcpsqlS.so
Debug		= 0
CommLog		= 0
UsageCount	= 0

Then define the databse in odbc.ini:

[database]
Driver              = PostgreSQL Unicode
ServerName          = localhost
Database            = dbname
Username            = username
sslmode             = require

Then be sure not to call odbc_connect with the SQL_CUR_USE_ODBC option (which was actually needed with FreeTDS to fix some weird errors), because it causes segfaults.

The result? WISE’s publications pages is now using PostgreSQL as a back-end!

Migrating mail from KMail to Evolution

At work I am busy migrating some Linux desktop users from an old Slackware 12.0 system with KDE 3.5 to Debian Squeeze with GNOME 2.30. So I had to migrate the e-mails from KMail to Evolution, a task which was not that trivial as you would hope at first.

On these systems, the mails were saved in ~/Mail. This directory did not contain a standard maildir structure or mbox files, but some weird mix of those two. I do not know whether this is typical for KMail or whether this was a peculiarity on these systems because the e-mails have been migrated from even other e-mail clients and versions in the past already.

The first step was to make a standard maildir out of this structure. I created ~/Maildir and searched for all directories called “cur” in ~/Mail. All parents of these directories are standard maildir folders, so I copied these to ~/Maildir. One of them was called inbox. In maildir, the inbox is just the parent directory and not some folder called inbox. So I moved the cur new and tmp subdirectories of ~/Maildir/inbox to ~/Maildir itself. Then I renamed all other subfolders in ~/Maildir so that they contained a dot before the actual folder name, as this is how subfolders are named in maildir.

Now I was still left with a few mbox mail folders. These are single files which contain a whole mailbox. In order to convert them, I used the mb2md script. I ran mb2md -s ~/Mail -R ~/Maildir/ to convert all remaining mbox folders to the maildir structure.

Then I had a nice maildir structure, but Evolution cannot directly import Maildir folders. However it should be possible to create a local Maildir account in Evolution, pointing to the ~/Maildir directory and then copying over all folders. I did not try this. Instead, I installed the Dovecot IMAP server and edited /etc/dovecot.conf. I set these options:

protocols = imap
mail_location = maildir:~/Maildir

and restarted dovecot. Then I configured an IMAP+ account on localhost in Evolution, and dragged and dropped all IMAP folders to the local folders.

KMail’s address book is stored in ~/.kde/share/apps/kabc. Double clicking on the most recent vcf file there, should be enough to open and import it in Evolution.

Mandriva’s future?

Now that my blog is not aggregated anymore on Planet Mandriva, I can safely express my opinion about Mandriva’s future without offending too many people.

Recently it became clear that Mandriva was once again in serious financial trouble. Mandriva 2010.1 was even delayed because of that, although not much explanation was given. In the end the company was saved by a new investor, but how things will involve in the more long-term, remains unclear.

Probably because of the financial crisis and the uncertainty of the future of the company, more and more employees started leaving the company, among them some people who played a very important role in the development of the distribution and who have been working for Mandriva for a very long time. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Employees seem to be unhappy because of their doubts of the future of the company and once even the most faithful employees have the impression that the ship starts sinking, everyone leaves as fast as possible. Because nobody wants to be the last one and go down with the ship… Some of them clearly expressed their frustration with the management of the company in their goodbye message sent to the public mailing lists. There have not been any indications that these employees are being replaced.

The last few years Mandriva had always trouble keeping up with the other big distributions because of lack of staff and that will only become worse now that the company faces more cost cuttings. Does this distribution still have a future? I am not sure whether the company will still continue investing in the distribution. Actually I think it is a waste of money investing in something which will always lag behind the competition. Maybe the company could drop the distribution and specialize in Linux services. On the other hand, I am not sure what is the chance of succeeding if you throw away the main product for which you are best known. Anyway, I can believe that the Mandriva distribution would survive even if the company stopped working on it because right now a lot of work is already being done by external contributors.

Now I have the feeling that Mandriva is not much more anymore than any of those smaller alternative distributions, like PCLinuxOS or Slackware. Those distributions will always have their share of fans but they do not play a significant role in the development of Linux. Already for several years most real innovations happen under the impulse of companies like Red Hat and Novell. Mandriva’s reputation has been very problematic for a long time already and this will definitely not improve after all what is happening now.

I have used Mandriva with pleasure on all my machines for about 10 years and I have always strongly defended the distribution in the past when people criticized it. But now I can only conclude that for me Mandriva does not have any future anymore and that it is time to move on.

So thank you to all the people who made Mandriva such a great distribution in the past and thanks to whom I learned a lot about Linux in those 10 years. I wish them all the best now and in the future!

Why prefer Debian GNU/Linux over another distribution

Quite some time ago I wrote a blog post explaining why I preferred Mandriva over other distributions. But I have now switched to Debian GNU/Linux, so it is time for an update. I will mostly compare with Mandriva because that is where I come from and what I know the best, although most points are rather universal.

So, these are some reasons why I prefer Debian GNU/Linux over other distributions:

  • All officially released Debian GNU/Linux stable versions are supported for a long time. Where most other free distributions are supported for about 1,5 year, this is much longer for Debian stable. For example, security updates for Debian Etch were published up to about 3 years after its release.
  • Debian is more stable than most other distributions. This is due to the large amount of testers and due to Debian’s unique development model: the “unstable” branch contains only software which is considered stable upstream (with a few generally accepted exceptions). When a package is in “unstable” for 10 days without new release critical bugs it gets moved to the “testing” distribution. The stable releases are a snapshot of the testing distribution after a freeze during which all release critical bugs are fixed. Releases of the stable distribution are not time driven: the stable distribution is only released when it is really ready.
  • By using apt pinning it is possible to easily mix and match packages from different repositories so that you can run the latest version of specific applications. Apt pinning can be used to pick packages from the extensive backports repository or to install packages from the testing, unstable and even the experimental repositories without having to update your whole system to the same release (unlike Mandriva for example, and as far as I know the same is true for other distributions like Fedora). Instead, carefully defined dependencies will make sure that all packages which need to be updated together are pulled in, resulting in a working system.
  • Due to Debian’s development model it is possible to run a pretty up to date system at any time without sacrificing stability by using the testing distribution. I am now running Debian Lenny testing different systems for more than a month, with software which is often more up to date than in Mandriva 2010.1, yet the system is much more stable in general than my systems which were running Mandriva 2010.1.
  • Debian is fast. Debian Squeeze boots up very fast without hacks like Mandriva’s speedboot, readahead or preload. Also application start up is very fast. I am not really sure why this is the case, but my guess is that this is due to Debian’s simplicity: it does not install too much daemons and boot up scripts by default. Also Debian uses dash instead of bash for /bin/sh, which also results in faster boot times. Shutdown also feels faster than what I was used to in Mandriva.
  • Debian is secure. Because stable versions are supported for about 3 years and because security updates get released very fast. Debian also plays a rather active role in fixing security problems. For example, Debian’s webkitgtk maintainer searched for all webkit security patches and ported them to the webkitgtk 1.2 branch. The fixes were included in Debian’s webkitgtk and then were also included upstream in webkitgtk 1.2.3.
  • Debian is available for lots of platforms. You have an old PowerPC based laptop, a GuruPlug or OpenRD system with ARM processor or a SUN UltraSPARC server? Debian will run on all these systems.
  • Debian values freedom. Debian allows me to use my GNOME system without PulseAudio without loosing my volume applet in the panel (like was the case in Mandriva). But of course, if you want PulseAudio it is available and you can install it. Debian is not exclusively tied to the Linux kernel: there exist versions with a FreeBSD or even HURD kernels. The choice is up to you. Debian uses the Exim MTA by default but if you do not like this, other MTA’s are available and are equally well maintained and integrated into the distribution. Debian does not include non-free software by default, so that you can safely use distribute and even modify the software in all possible situations without having to worry about the license. But if you want to use non-free software, it is available in the non-free repository.
  • Debian is very “standard“. It does not replace standard components by its own implementations like especially Ubuntu is doing. That means that Debian does not use non-standard things like Upstart, notify-osd or indicator-applet by default or does not move the window decoration buttons to the left side. Of course if you do want to use these csutomizations, they are all available (Debian values freedom!), but by default Debian prefers to use the standard upstream software. This ensures the best compatibility with upstream now and in the future, because all these non-standard Ubuntu things might cause conflicts later on with new upstream design decisions.
  • Debian is not owned by a commercial organization. The free distribution is not some kind of crippled version of a commercial product which has all features and software available. It ensures also that decisions are not taken based on commercial interests, but only in the interest of the community. If you do want commercial support, there are many companies supporting Debian all over the world.

Related to that: today is Debian’s 17th anniversary and Debian Appreciation Day. If you use Debian, let the Debian community know you appreciate their work http://thank.debian.net.

Debian on desktop systems

What I expected to happen some time ago, is finally becoming reality: Debian is now my favourite distribution for desktop systems.

First I installed Debian on my new Samsung N210 netbook and I was very pleased with the result. Shortly after that, my father experienced a bug while trying to print in Firefox on Mandriva 2010.1. It would fail to print and there were errors related to ps2ps (if I remember correctly) in the Cups log, hinting at some bug in Ghostscript. Actually it was not the first time this bug hit us, I had seen the same problem some weeks ago.

As analysing and having this bug fixed would likely take a lot of time and I needed a rather quick solution, I though it was the right time to reinstall this system with Debian Squeeze (testing). Debian has many additional bug fixes in its GhostScript package so there was a fair chance that printing would be working better. So I did the same as with my netbook last week: I set up PXE booting to start the Debian installer (easier than digging up a CD-R, downloading an ISO and burning it), and then I installed Debian on the disk, leaving the old /home logical volume intact.

Continue reading “Debian on desktop systems”