Before I proceed, let me just make a statement that I absolutely love Konqueror. It is the one app that makes me (want to) stay in KDE. I think it's one of KDE's killer apps, together with Amarok and, IMHO, Superkaramba and KTorrent (although these last two aren't really part of the main KDE... yet). Even KDE's mascot is named after it (Konqui). However, Konqueror has been criticized, both justly and unjustly, on several fronts, even within KDE's own ranks. This thread is about trying to look for a solution to one of Konqueror's biggest problems: it's identity.
Konqueror's Identity Crisis
Konqueror has this huge problem, far bigger and more basic than HTML rendering problems or "spatial file management" features. Konqueror really doesn't know what it is. You don't believe me? Here's a test of how "solid" an applications "identity" is. In one simple sentence containing no more than 2 ideas, tell me what Konqueror is. Can you? Not even Konqueror's official documentation or website can provide one. Not even Konqueror's "About" dialog. Other KDE apps are more or less "secure" in what they are:
Amarok is a music player. Kaffeine is a multimedia/video player. KOffice is a productivity suite. KWord is a word processor. KGet is a download manager, Kontact is a PIM software. The list goes on and on.
But Konqueror is a "Web Browser, File Manager - and more!" And this "more" includes a file pre/viewer, an FTP client, and more, and more, and more!
Unix has this philosophy that Linux is supposed to have inherited. "One app does one job, and does it well". And it seems that most Linux apps do follow this. Unfortunately, it also seems that Konqueror has a blatantly violated this principle. This issue has been raised time and time again by GNOME developers and users, by KDE bashers, and even by some KDE devs themselves, one of whom is none other than Matthias Ettrich himself, KDE's founder.
The most common/suggested solution...
... is to make Konqueror undergo surgery. Split Konqueror up into it's "component" parts: Web Browser, File Manager, and File Viewer. So basically, the most famous solution is to make Konqueror do a Nautilus+Epiphany+File Viewer. However simplistic and easy the solution is, I think it presents even more "identity problems":
1. Keep Konqueror's name or make new names for the split parts? Which component gets to keep the grand title of Konqueror? The web browser? the file manager? the file viewer? Actually, it seems highly inappropriate to call it Konqueror anymore, as it has now been split and isn't as great as it was. The Konqueror has been konquered.
2. Konqueror is more than just a file manager + web browser + file viewer. It is that, and more! So if we were to split up Konqueror into various pieces, we'd probably end up with more apps than we would like. Even Konqueror as a file viewer itself can be split up into viewers for documents, images, media, archives, etc.
3. The solution, IMHO, is based on a misunderstanding of KDE's architecture and how Konqueror interacts with it, mainly with KParts. Of course, Mr. Ettrich and KDE devs definitely know better than me, but still, their positions/views lead to a sort of misunderstanding of how Konqueror works. Most people, both KDE and non-KDE users, think that when Konqueror displays an image, it is using its own built-in image viewing application. Or that when it displaying a PDF, it is using its own PDF/PS viewer. Or that when it browses within tarballs, it is using it's own built-in archive viewer. But this is not the case. What Konqueror does in each case is that it calls the appropriate KPart that is needed. When it views a text file, it calls the Kate KPart. When it views a PDF, it calls the KPDF KPart. Even when viewing web pages, online or offline, it uses/calls the KHTML KPart. And these KParts are not part of Konqueror, nor are they developed together with Konqueror. They are part of their respective programs. So splitting up Konqueror doesn't really solve anything. It just means that there will be a separate application that just calls a different KPart.
4. People presume that the reason why Konqueror is a relatively crappy web browser is that because the devs have their hands full in developing Konqueror as a web browser, file manager, etc. But as I understand it, there are separate developers for KHTML, so that's not a factor.
5. It's bound to turn away some users who have grown to love Konqueror, users who use KDE because of it. I'm not the only one in this, I assure you.
Another probable solution: Profiling
A relatively less-used feature of Konqueror is the profile, where you can customize Konqueror to be almost anything you want. Providing more definite profiles per "component" of Konqueror is another of the alternative to the more drastic measure of surgery. True, it might require more customizing and tweaking, but that burden will mostly fall on the shoulders of the KDE devs or on the distros. But I think it's only superficial problem. Now Konqueror has a different face for different personalities. But it still doesn't know what it is.
My suggestion: change Konqueror's description
That's it. Just a simple solution. After a long-winded discussion of probable solutions, it's quite unbelievable that a much simpler solution might exist. But such a solution does exist. If you think about it, the main problem of Konqueror is that it doesn't really know what it is. What better way to solve that than to unambiguously define what it is. So what do I think Konqueror is?
I think one of the "definitions" of what Konqueror is, from the Konqueror website, best explains my own view:
My own attempt at a definition: Konqueror is a container that houses KDE's most basic and most powerful components, from the KDE File Manager client, to the KDE HTML rendering engine, to the KDE architecture components KIO and KParts. It's a fully customizable applicatoin that allows the user to work with various KDE components under one integrated workspace.
Why does Konqueror act like a File Manager? Because Konqueror can contain the kfmclient. Why does it act as a web browser? Because it can contain the KTHML engine. Why does it act like an FTP client? Because it can contain the different kio slaves available. Why does it act like a file/image/document viewer? Because it can contain various KParts developed by the different KDE applications.
Do I think that such a view of Konqueror is a bit far fetched? I don't think so. If you look closely, it seems that KDE is going toward a trend of having containers/workspaces that houses various related but separate applications. Kontact is a container for apps in the KDE PIM category, while KOffice is a workspace that houses the different KDE productivity software. There are also some suggestions/ideas that there should be a sort of KDE container for the various multimedia apps, a sort of multimedia software.
One thing I'm not sure of is how this new "definition" of Konqueror would fit in with KDE 4. So far I haven't heard of any plans for Konqueror in KDE 4, and I'm a bit disappointed in that area. I've heard of Plasma and Phonon, Akonadi (KDE PIM), Amarok 2.0, etc. I hope that they do have plans for Konqueror. I'd hate to see Konqui being left out from all the innovation.
What about Konqueror's performance as a web browser or file manager? Well, that's a diffferent story. :P
Just my little off-topic rant. I would probably post this somewhere more KDE-related later on (bugs or KDE-Forum). But for now I'd want to get the comments of one of the most friendly KDE communities.
Konqueror's Identity Crisis
Konqueror has this huge problem, far bigger and more basic than HTML rendering problems or "spatial file management" features. Konqueror really doesn't know what it is. You don't believe me? Here's a test of how "solid" an applications "identity" is. In one simple sentence containing no more than 2 ideas, tell me what Konqueror is. Can you? Not even Konqueror's official documentation or website can provide one. Not even Konqueror's "About" dialog. Other KDE apps are more or less "secure" in what they are:
Amarok is a music player. Kaffeine is a multimedia/video player. KOffice is a productivity suite. KWord is a word processor. KGet is a download manager, Kontact is a PIM software. The list goes on and on.
But Konqueror is a "Web Browser, File Manager - and more!" And this "more" includes a file pre/viewer, an FTP client, and more, and more, and more!
Unix has this philosophy that Linux is supposed to have inherited. "One app does one job, and does it well". And it seems that most Linux apps do follow this. Unfortunately, it also seems that Konqueror has a blatantly violated this principle. This issue has been raised time and time again by GNOME developers and users, by KDE bashers, and even by some KDE devs themselves, one of whom is none other than Matthias Ettrich himself, KDE's founder.
The most common/suggested solution...
... is to make Konqueror undergo surgery. Split Konqueror up into it's "component" parts: Web Browser, File Manager, and File Viewer. So basically, the most famous solution is to make Konqueror do a Nautilus+Epiphany+File Viewer. However simplistic and easy the solution is, I think it presents even more "identity problems":
1. Keep Konqueror's name or make new names for the split parts? Which component gets to keep the grand title of Konqueror? The web browser? the file manager? the file viewer? Actually, it seems highly inappropriate to call it Konqueror anymore, as it has now been split and isn't as great as it was. The Konqueror has been konquered.
2. Konqueror is more than just a file manager + web browser + file viewer. It is that, and more! So if we were to split up Konqueror into various pieces, we'd probably end up with more apps than we would like. Even Konqueror as a file viewer itself can be split up into viewers for documents, images, media, archives, etc.
3. The solution, IMHO, is based on a misunderstanding of KDE's architecture and how Konqueror interacts with it, mainly with KParts. Of course, Mr. Ettrich and KDE devs definitely know better than me, but still, their positions/views lead to a sort of misunderstanding of how Konqueror works. Most people, both KDE and non-KDE users, think that when Konqueror displays an image, it is using its own built-in image viewing application. Or that when it displaying a PDF, it is using its own PDF/PS viewer. Or that when it browses within tarballs, it is using it's own built-in archive viewer. But this is not the case. What Konqueror does in each case is that it calls the appropriate KPart that is needed. When it views a text file, it calls the Kate KPart. When it views a PDF, it calls the KPDF KPart. Even when viewing web pages, online or offline, it uses/calls the KHTML KPart. And these KParts are not part of Konqueror, nor are they developed together with Konqueror. They are part of their respective programs. So splitting up Konqueror doesn't really solve anything. It just means that there will be a separate application that just calls a different KPart.
4. People presume that the reason why Konqueror is a relatively crappy web browser is that because the devs have their hands full in developing Konqueror as a web browser, file manager, etc. But as I understand it, there are separate developers for KHTML, so that's not a factor.
5. It's bound to turn away some users who have grown to love Konqueror, users who use KDE because of it. I'm not the only one in this, I assure you.
Another probable solution: Profiling
A relatively less-used feature of Konqueror is the profile, where you can customize Konqueror to be almost anything you want. Providing more definite profiles per "component" of Konqueror is another of the alternative to the more drastic measure of surgery. True, it might require more customizing and tweaking, but that burden will mostly fall on the shoulders of the KDE devs or on the distros. But I think it's only superficial problem. Now Konqueror has a different face for different personalities. But it still doesn't know what it is.
My suggestion: change Konqueror's description
That's it. Just a simple solution. After a long-winded discussion of probable solutions, it's quite unbelievable that a much simpler solution might exist. But such a solution does exist. If you think about it, the main problem of Konqueror is that it doesn't really know what it is. What better way to solve that than to unambiguously define what it is. So what do I think Konqueror is?
I think one of the "definitions" of what Konqueror is, from the Konqueror website, best explains my own view:
Konqueror is the canvas for all the latest KDE technology, from KIO slaves (which provide mechanisms for file access) to component embedding via the KParts object interface, and it is one of the most customizable applications available.
Why does Konqueror act like a File Manager? Because Konqueror can contain the kfmclient. Why does it act as a web browser? Because it can contain the KTHML engine. Why does it act like an FTP client? Because it can contain the different kio slaves available. Why does it act like a file/image/document viewer? Because it can contain various KParts developed by the different KDE applications.
Do I think that such a view of Konqueror is a bit far fetched? I don't think so. If you look closely, it seems that KDE is going toward a trend of having containers/workspaces that houses various related but separate applications. Kontact is a container for apps in the KDE PIM category, while KOffice is a workspace that houses the different KDE productivity software. There are also some suggestions/ideas that there should be a sort of KDE container for the various multimedia apps, a sort of multimedia software.
One thing I'm not sure of is how this new "definition" of Konqueror would fit in with KDE 4. So far I haven't heard of any plans for Konqueror in KDE 4, and I'm a bit disappointed in that area. I've heard of Plasma and Phonon, Akonadi (KDE PIM), Amarok 2.0, etc. I hope that they do have plans for Konqueror. I'd hate to see Konqui being left out from all the innovation.
What about Konqueror's performance as a web browser or file manager? Well, that's a diffferent story. :P
Just my little off-topic rant. I would probably post this somewhere more KDE-related later on (bugs or KDE-Forum). But for now I'd want to get the comments of one of the most friendly KDE communities.
Comment