A few weeks ago we published an article titled “The Great Mac OS X 10.4 Wish List“, detailing a few personal wishes for the next version of OSX. Later I learned that quite a few Apple engineers read the article and so it felt good that the time spent writing the article was not just a voice in the void. A reader emailed me a few days ago asking me to do the same for other OSes and DEs. So here is my personal wish-list for a future version of Gnome. Please tell us about your own Gnome wish list in the comment section provided.
NOTE: I wrote this article days ago but since then a few of the following wishes have being granted already(!) or they are going to according to the Gnome roadmap.
There was a big discussion about this a few months ago in a gnome mailing list but here is a recap: Nautilus supports script addons that apply certain actions on the selected files or on the currently open folder. It also has a MIME backend and so certain actions only happen to the correct files. However, the problem here is that the Gnome Project makes no real usage of this ability. Instead of shipping with 2-3 important addons (e.g. “Open Terminal Here” or “Bulk Rename” or “Compress It”) it has now completely taken out that context submenu if no scripts are installed on the user’s scripts folder. So the problem is now even worse than before, as less and less people even get to know that Nautilus has such support for addons. Addons are a lifesaver and a great feature overall, because they extend the file manager’s abilities “for free”.
The second problem is that third party Gnome developers haven’t realized the importance of creating addons and so all we have are a bunch of bash and perl scripts instead of invoking a well formed API for this sort of job and writing something with a GUI front end (e.g. for the Bulk Rename). Applications like File-Roller add their own menu entries on the Nautilus context menu instead of doing it the right way and placing their entries on an addons submenu, keeping the root submenu clean and without changing too much (depending if something is selected or not). BeOS Tracker supports addons with a clean API and PathFinder too, and we have word that Apple will do so as well for Finder.
Nautilus’ New Spatial Mode
While it is still beta quality at best, the fact that there’s no way to see which folder I’m in at a glance is really bothersome and makes it difficult to be productive with it. Obviously, the usability of the spatial version of Nautilus still needs lots of work and better integration with the non-spatial version. I will wait for 2.6 for a final verdict as to how well this spatial thing can work. On OSX I can’t bear to use it over the default Finder.
A New Modern Theme
Gnome needs a new default theme. Most of the time I find myself using the “Default” Gnome theme, which is simple, fast and up to the point, but it also shows its age. KDE’s new Plastik theme is truly marvelous. It is also simple (I love simplicity), but it does have a great design behind it (see: it is not hideous like Keramik is). Gnome needs to enter the 21st century and create a new theme and also modify GTK+ to support new features that take theming to the next level. I am not talking about yet another mediocre theme like most on art.gnome.org, but something “wow,” something that can draw new users like a magnet and be clean and professional at the same time. First impressions do count and looks too. Unfortunately.
Older Unix and Linux users love viewports and Metacity has taken this ability away. I don’t personally use that feature but I know others who do. A gConf key to enable this (or on Metacity’s pref panel) might be a good idea as it is a feature that can be useful sometimes, mostly to programmers. Also, I would like to see Metacity have the “use system’s font” ability on its pref panel instead of just in the Gconf Editor, plus I find it important to be enabled by default. The current default metacity font is very small to give the user the notion of “header” or a “title”. Headers and titles are usually bolder and bigger. Metacity’s default isn’t.
Another thing I would like to see is the ability to “glue” the windows at the edges of the monitor (like WinAMP does it, really smooth). I don’t want the ability to stick windows on other windows, only against the corners of the monitor, because if that’s enabled, window movement is very jerky because you get windows stuck all the time among them. Currently you can use the SHIFT key to do all that, but I am only interested in the monitor’s corners which in my opinion makes more sense than having non-smooth window movements.
Also, regarding its theming engine I would like to see an easy way to take 1 or 2 or 3 pixels off (diagonally) from a theme’s corners. Also, I would like the ability to lock the height of a theme because there are cases where I would want to put on the window manager the 16×16 app icon (like on Windows), but the height of the window can vary from installation to installation (depending on the user’s font setting or even because of the default font setting) and then the icon looks squashed and ugly.
I also need a way for Metacity to tell the theme that a window can be resized or not and so the theme would display a dragger widget on the bottom-right of a window or not (not sure if this is implemented).
Session management could do better. Please help out.
The current alpha version of the new File Selector as seen on GTK+ 2.3.0 is pretty bad (even for beta) and brings nothing new to the plate in terms of ideas and usability. I hope Ximian will have this fixed for Gnome 2.6 properly because breaking it again later won’t be as easy and I don’t want to be stuck with such a file chooser for the next couple of years.
Volume and Showdesktop Icons
Two gripes of mine for any non-Red Hat desktop: using the gnome panel as a single 48pix panel (popular setup for many), results the “Show Desktop” and “Volume” panel plugins to use huge icons. Red Hat has special patches for these and they render as 24×24 and they look good. The default gnome build doesn’t support that and so these huge buttons take a helluva amount of space, plus they look weird being so big.
As much a I prefer Gnome’s usability over any other Unix DE, at the same time I despise GTK+ and its (non-existent) dev tools. Glade is junk, end of story. You go nowhere with such an amateur app. It is as inconsistent and feels like “the Blender” of its kind. Anjuta is the only Gnome IDE but is not even stable in its 2.x branch yet. Gnome lacks a full solution similar to the power of Qt Designer, KDevelop and the kind of integration these have achieved over the years.
Eclipse might be an interesting addition here for Gnome development but it still lacks a GTK+ RAD tool. All these companies backing up Gnome, from Red Hat to Sun and even Novell, they should think more about the dev tools they currently offer, because they are very important for the decision making of new developers migrating from Windows to Linux. If they can’t create one, ‘frobnicate’ Qt Designer to fully support GTK+ code generation.
Moreover, I need a faster GTK+ and an easier to use API. GTK+ 1.x was “ok fast” for its time but GTK+ 2.x gives that “slow feeling” even on very fast machines. I can see the window border draw and then I immediately see the content getting drawn etc. Arguably GTK+ 2.x is pretty fast under the hood, but on displaying stuff on screen in a way that feels good and responsive, it does a terrible job. And impressions do matter, even if these are just “impressions”.
Mono & GTK#, gtkmm, pyGtk, gtk-Perl, Ruby-gtk, wxGTK
This wish is on its way to being granted. Murray Cumming is pushing on a “Gnome bindings” release that will allow people to easily use GTK+ bindings and utilize a plethora of Gnome applications that depend on these bindings. This has being a problem so far for many users as installing some of these bindings were not always trivial.
KDE, freedesktop.org, HIG, themes
While this is more an in-progress wish, I will still mention it: it would be great if Gnome had better integration with KDE on 2.8 or 3.0 (and the other way around of course). This would include not only menu integration, but also an *updated* shared HIG (very important, as I get so confused with “Ok” and “Cancel” buttons being reversed on apps) and also themes! I want 2-4 themes to be “shared” and included on the default installations of KDE and Gnome. For example, take Plastic and Keramik from KDE and the “Default” and the “Freecurve” from Gnome and make sure there are versions for both GTK+ and Qt. Each time I am on KDE and I use Plastik, make it so all my Gnome apps loaded under KDE also use the GTK+ version of Plastik. Or when I am on Gnome and I use the “Simple/Default” theme, make it so that all KDE apps now use the equivalent Qt theme, no matter what Qt-config is configured to use originally. I need consistency even if it only extends (for now) to just a few number of themes. KDE does a similar trick via its .gtkrc-kde file, but this is far from an elegant solution, as many times it displays dark selection colors on black text that makes GTK apps unreadable under KDE (depending on the theme).
Many times I need a way to copy or move a file away from somewhere other than my home directory using Nautilus and instead of telling me that I don’t have the permissions to do that, I want an authentication alert window (a la OS X Finder) to let me enter the root password and do the job. Possibly difficult to implement as it might be a security risk if not done right, but then again, for a desktop setup it is absolutely needed.
Copy/Paste still misbehaves after all these years
Copy/paste still just doesn’t work properly. I cut or copy files off my desktop and try to paste them on another Nautilus window and that would only work half the time. The behavior is random but reproducible on any distro I have tried lately. Quite possibly this is not a Nautilus bug but maybe a more deep one, but the point of the matter is that this inconsistent behavior on many Gnome and KDE apps (not just Nautilus) is just bad. And drag-n-drop should also become better too. Most of the apps don’t support it at all.
While I don’t personally need any accessibility features I recognize that there are others who do. Web Browsers and Email Clients are the apps that most “normal” users use most of the time. Support for blind people should be there, even if the Mozilla toolkit doesn’t support ATK’s accessibility features. Someone should do the engineering for this because Gnome takes pride over its accessibility features and a web browser is maybe the No1 app that also needs it. And Epiphany doesn’t, as far as I know.
More and more apps are using GConf these days. That’s good. The bad news is that it has become impossible to find stuff in it now that it’s so overpopulated. I need a “search” function there!
Printing, Scanning, Faxing
Ximian has done some good work on the printing UI and the networking connectivity UI and also XSane is pretty useful too. How about some integration to Gnome of all this code and some clean up too for more HIG compliance (especially in the case of XSane)?
A few months ago we were stunned by the innovation Storage would bring to us, but we haven’t had any news on its development since then. I hope that users will have something solid to play with next year.
Preference Panels, System Integration
The current preference scheme is problematic and the Gnome maintainers don’t want to add more pref panels because they are too many of them. This is primarily a problem of layout and how these are served to the user more than anything else (being a “menu” doesn’t scale). The way Ximian and Apple serve the preference panels to the users should be adopted (or something similar). Instead of throwing in a menu all these little apps, logically place them on a pref window with categories and modularize them. Also, merge keyboard and mouse, merge the UI applets (e.g. theme, gtk prefs, metacity) etc and suddenly you have a clean pref launch window.
Moreover, I would like to see system utilities in that new pref panel order (let distros write their own modules for that new system). Doing a spec of a sort, or via LSB and with agreement with the BSD people and others, provide system panels to modify services, Apache, Samba, users, modules and drivers, hardware configuration etc. etc. I am not suggesting a complete mess like KDE’s KCenter. Keep simplicity and “less is more” in mind always. Integration with the underlying system is what can make a difference today on the Unix DEs.
The MIME dialogs are currently terrible and difficult to use if the user is not experienced. BeOS had a very-easy-to-understand panel, but thankfully work has started on this department too on Gnome.
Samba on Nautilus
It is broken. It has more problems than it has support for. It really requires a good clean up and proper testing.
I was going to ask for Evolution becoming part of Gnome, but my wish was just granted a few days ago. Go for it!
Rhythmbox & Totem
When Rhythmbox becomes a bit more feature-complete I hope it will become part of Gnome. The latest release 0.6.1 is actually pretty good. Two things I want to see doing though: 1. Use the XMMS visualization plugins. Re-inventing the wheel never helped anyone. Re-using existing code is the wise way to go (for Totem too). 2. Integration with iPod & syncing.
Regarding Totem, what I would like to see is to use either Gstreamer or Xine on the fly, depending on which of the two supports the needed codec or what’s installed. Additionally, I want to see Totem 1.0 (when it’s out) be included on Gnome as the standard video player (and Rhythmbox as the music player).
For the formats that Gnome is not allowed to bundle for legal reasons (e.g. .wmv or .mov or region-free dvd playback) I would like Totem to recognize the file format and show an alert to the user “would you like to download from the web these formats and install them?”. If the user answers “yes”, show a license agreement saying that Totem and Gnome are not responsible for any of these user actions, and then download, install and on-the-fly use these new libraries and play the video in question. Something like this could be a breakthrough on the multimedia/video playback usability on Linux. Painlessly is the keyword here.
Gstreamer and Video Editor
When Gstreamer becomes more mature I would like to see a company (Ximian?) create a home video editing application in the realm of power that OOo or Evolution offers. The current video editors on Linux, simply put, they suck. There is definitely space for improvement and innovation on this department on Linux. Come on Novell, buy out Adamation and give us some good home video stuff. Adamation has gone the way of the Dodo, their application is sitting there waiting to be purchased (for cheap), get ported and you get a definite edge over other desktop distros.
Why can’t I still drag-n-drop a link to the URL bar and have it load on that page? Also as a web developer I need the ability to use “no cache” at all, even if I have to use the Gconf editor to set that up. Having complete context menus on forms (e.g. “paste” on a textarea) would be good too. Thankfully, Epiphany is really active on development!
Images, Cameras, PDAs
EoG is a good but basic image viewer. gThumb is in my opinion much more powerful and still simple enough to be used by everyone. I would advocate it to become part of Gnome instead of EoG.
On the same theme, better maintained tools for digital camera capture (see: better than GTKam) and a PDA integrated solution (not only for Palms but for PocketPCs too) would be smashing as well.
Text and Video Messaging Integration
The Gnomemeeting maintainers say that Gnomemeeting is primarily a PC-2-Phone app instead of a casual chatting one and so if this is the case I would advocate the forking of its engine for use with Gaim for the SIP MSN video protocol and maybe even Apple’s iChat one (unfortunately the Yahoo! one is not documented). Also, including Gaim on Gnome by default makes a lot of sense, even if distros include it anyway. Gaim should be integrated more with Gnome and its apps, with or without Dashboard.
I always loved this Clipboard utility, ClipUp (as a gnome-panel plugin as well as a stand-alone app). That can be extra useful on Linux where the clipboard is inconsistent at best. There was a clipboard app for Gnome under construction once but that app was too much trouble for what a simple user will ever need I believe. Something simple and also elegant as ClipUp would rock.
The only good app for burning DVDs and CDs on Linux today is KDE’s K3B. Gnome has XCDRoast and GComBust and a few others, but they don’t cut it (they are unusable by Mac or Windows newcomers). Coaster looks good but it seems abandoned (don’t get fooled by the wrong dates on their homepage, these are a year old) and it doesn’t support DVDs either. The Dropline guy is working on a simple burner app too. Gnome needs a good burning app. A good one, I repeat. (update: read the Gnome roadmap for more info on addresing this problem)
In my opinion this gnome-panel add-on should be included by default (after a handful of bugs are fixed), as many users use the Red Hat setup of gnome-panel which is 48pix height. This simply means that people at 800×600 (still more than 30% of the internet users worldwide!) will see most of their horizontal gnome-panel space go the way of the do-do after adding 3-4 icon shortcuts there. Quick Lounge ‘fixes’ this problem by allowing 2 rows of icons to be placed vertically (icons are similar in size to Windows’ quick launch area). This is a good workaround for small resolutions and practical enough and desirable even for me who I am mostly on 1600×1200 or 1280×1024. You can never have too much mustard in a french salad or screen space.
I like both Abiword and Gnumeric, but putting such apps together and releasing them as “office”, I would expect better integration between them. For example, I would need to be able to copy/paste a gnumeric chart or sheet on AbiWord. Also, adding gLabels 2.0 to the office package when it is released would be great too.