Building Nautilus: Behind The Scenes
mholve points to this LinuxPlanet feature titled "A Sneak Peek at Nautilus from Eazel." Despite that title, it's not just a collection of bulleted feature lists and screen shots. Instead, it's a nicely balanced, in-depth look at the thought process behind the creation of Nautilus as well as a description and critique of the current preview. The article raises some interesting points about the complications that Eazel has found in trying to make Nautilus distribution-neutral: "In the future, I think we're going to have to look for a way to abstract the package system much in the same way we've abstracted the file system," [Darin Adler, Eazel software engineering honcho] allows. In addition, he notes that the diversity found in other areas of Linux distributions presents a daily challenge: "We try to get weirdnesses out of our code as much as possible, when we discover we've accidentally done something distribution-specific, we try to 'unweird it.'"
Cheers
Everything is but a number spoken by itself.
I think it's good that Easel chose to work with the Gnome framework, but the reasons given in the interview left out a lot. The real reasons are more like:
1. Kde already had a similar product, Konqueror, well under development at the time. Konqueror is now in release state or very near release and is quite stable, fast and fairly efficient with memory use. While Kde always welcomes more developers, I don't think they would have wanted developers working at cross purposes with Konqueror so near to completion.
2. Kde and Easel have different philosophies. Easel is a money-making project started by entrepeneurs hoping to capitalize from application delivery and commercial services using the Easel/Gnome framework. Both are free software, but Kde's purpose is simply to provide needed free software to unix users, not to make money from such software. Gnome, through Helix and other spinoffs, already had established itself as a free desktop environment for the purpose of such capitalization by developers and entrepeneurs close to the project. This more than anything mandated Gnome for Easel.
3. Gnome did not have a competetive file manager/browser in the eyes of most users. Personally I like gmc *a lot* but it does have its limitations. Therefore Gnome had a real need for Easel.
4. Of course the licensing issue with Kde was a factor, and the only reason given in the interview which was legitimate. Not that the Eazel principals thought that there was a problem with licensing (they didn't) but the uncertainty among others made Kde a less attractive choice at the time.
I'm a big Kde enthusiast - using Konqueror right now. However, the competition from Easel will help Kde. Of course I think Konqueror already provides most of what Easel promises, and much more, although in some areas Easel will be innovating first. Integrated web/network/local search comes to mind.
The main advantage of Kde 2 is efficiency and speed, both for the user and developer. For example, Kde 2 is performing beautifully in most ways with my now antiquated P200mmx 32 meg PC. When it doesn't I bitch at the Kde developers and lo and behold they fix it the next week. "Your Kde is in deep shit! Now fix it!"
Everything, or almost everything, in Kde 2 really is a component either with a thin wrapper to make it a separate app or embedded in another app. It works smoothly. I think Gnome will have a lot of trouble getting that working without tremendous bloat and slowdown and stability problems - when it is *really* used by the vast majority of apps like Kde is using components right now, not just by a few showpieces or to embed a memory monitor into the panel.
I hope Kde learns something from Easel about the importance of a "finder" to users. It should be fairly easy to integrate that into the existing Konqueror with compnents and the results can already be displayed and manipulated in a number of ways with Kde 2. (Konqueror already has multiple paned browser windows and the ability to embed different views or viewers in different panes if you want to, though I usually prefer one or two panes).
Finally, on the choice of languages, if CORBA and bonobo really are language neutral, then the preference of the Easel developers for C++ should have been respected. But these interfaces really are not so language neutral after all. So, I don't think it was so much a matter of Easel being "pressured" by Gnome founders to use C with Gtk+. It was a matter of their realization that C with Gtk+ would be more likely to work with the Gnome framework and that C++ would cause problems for them.
Sure, you can use languages like Python and Perl to glue components together, but the components themselves usually are written in C, or C++, depending on whether Gnome or Kde is being used. It is possible to use other languages for creating components but no so easy to use anything other than C with bonobo or C++ with Kparts. CORBA is certainly not the magic bullet though it has uses in some situations.
I do know from personal experience that application development in C++ with Qt is a lot more FUN and faster than using C with Gtk+. This is especially true for more complex apps. I can imagine the cursing and swearing at the Easel workshop where coders are trying to use a mixture of Gtk's gimped up object oriented C, corba IDL, and a constantly changing set of libraries requrired to support Gnome and Gtk.
Anyway, I am quite impressed with what I have seen of Easel. They have done much in a short time under trying circumstances as explained above. Congratulations to the Easel coders and designers!
I'm just going to say what we are all thinking. Well half of us anyway...
Some people like stuff like Nautilus, evolution, Gnome panels, really loaded root window menus, etc... Others like about 4 items in thier root window menu, gno panels (and I mean gnone), run emacs (as file manager, editor, ftp client, eye-washing area, short-order cook, etc), and just think that click-heavy interfaces slow them down.
As someone who prefers lightweight interfaces (text) in a slimmed down windowing environment without gnome, etc. I can also appreciate the attraction of a richer interface experience. But since I am not into gnome, etc, I am not going to say anything for or against it other than to thank all the developers and testers out there for all their hard work.
I do have a question though. Most of us who have been using a system that is highly configurable and application rich (I don't want to say "Linux" because there are lots of others) settle into a rut after a while with respect to the tools we like and how we want to have them layed out---whether we like lazy focus or click-to-focus, auto-raise, emacs, vi, etc.
When I sit down at my friend's Linux machine it's a bit wierd. Nothing works exactly like it should and I don't know where to find anything :) then I sit down at a Solaris box and the same disorientation follows. I prefer this to being in a monotonous environment but I want to ask if Windows users experience this same mild disorientation when they use other boxes than the ones they are normally on (do other unix users or am I am freak)? I am pretty sure Mac users do (again due to it's high configurability).
--8<--
--8<--
This is no different than the closed source model, except that the end user DOES have the option of fixing the bug him/herself, if they choose. But in my experience they tend to only do this when they absolutely need to (original author(s) don't respond, or are dead, or something).
Of course, there are nice people out there that will once in a while submit not only a bug report but the fix as well...But this is a hard thing to do, because finding the source of most bugs requires a pretty deep understanding of how the code is working, which can be very time consuming.
Well, the short version of all this is that while many eyes DO make all bugs shallow, those eyes have to have brains attached that are capable of understanding the code and also enough free time available (and the desire) to learn the internals of the buggy program.
Nautilus is certainly a fine tool, and a very good copy of Microsoft's IE-integrated file manager. But even the best copies of a bad interface are still bad interfaces. There is no need for quite a few of Nautilus' features. Foremost among these if the integrated Web browser (Konqueror is guilty of this too). A file manager is for managing files. A Web browser is for viewing files. To integrate the two is to create confusion, because you have the same app doing entirely different things (remember the OSX Dock, both an app launcher and task switcher? Same basic problem, though the purposes it serves are different).
Gnome doesn't need The App That Does Everything (neither does KDE, for that matter). All that does is lead to bloat, redundant apps on a system, and confusion for new users.
The Win/IE filemanager does have a few strengths, but these can be gained without bloating the filemanager itself. For example, the ability to show file information in a sidebar, rather than pulling up a new window for it. OSX's Finder can do this without the need to throw a browser in. The ability to navigate a filesystem using buttons in the toolbar is a Good Thing (particularly if you use only one window for file browsing), but you don't need a whole browser to do that (OSX's Finder, however, does this one very poorly; just a Back button which runs totally counter to the column-view paradigm).
I'm not trying to bash Gnome or KDE. I'm just pointing out that they're making quite a few of the same interface mistakes Microsoft made, and it'll only hurt them in the end.
----------
1 2 3 4 5 6 7
The home page for Eazel here.
...and their latest screenshots are here...