The best desktop environment I mentioned here, doesn’t mean the DE such as KDE, GNOME, Xfce, LXDE, etc. The purpose of this post is to express the best desktop environment, that is, the features and functionalities.
You can called me old fashion, does not able to follow the latest technology. Whatever it is, the followings are my opinions on the features:
Taskbar as in Windows XP, or task list as in Xfce.
The taskbar in Windows 7, which groups them all, not user friendly for me. At least two actions needed: mouse over (or click) to show the whole group, then click again into the window of interested. The best is ungrouped, zero level, all windows showed. The sorting can based on time or window name, at least the users will know how to find the window based on some rules. The DE like GNOME 3 or Unity are too bad for me. Group the windows or applications in workspace, difficult to switch between the windows.
Menu of applications (like Windows start menu)
Not necessary like the Windows start menu or Xfce Application menu. At least can get a list of applications installed. Can be something like PCManFM, which has an Applications menu in the file manager. Or the menu can appear in the context menu like OpenBox. This allows us to run the application if we cannot remember what the application name is.
Windows 7 (or even Vista), in the start menu we can type and search the application or file. It is easier to launch an application. If look for the application from the menu, we need to look for the names of categories, click the category, then click again for the application. It is slower. With the application launcher such as GNOME Do or less powerful gmrun, it is faster to call our favourite applications with name.
Command-line shell (or terminal)
A good desktop environment must provide command-line shell. This provides extra features than application launcher. It can be used to call the applications. It can also be used to do batch processing. It can do something GUI cannot do. In Linux, there are GNOME Terminal, Terminal (from Xfce), lxterminal, and Konsole.
Windows cmd.exe is too useless because lack of powerful commands. However, Windows has an alternative, that is, PowerShell. Yet, I personally prefer UNIX commands. This can be done with Cygwin.
Running several applications, an application might freeze, to close it or kill it, task manager is too useful. The usefulness of task manager is not only let us kill the process (running application), but also list all the processes, check the memory and CPU usage. Furthermore, task manager normally allows us to run a command.
The file manager is a need for a computer, to organise the files. Rename, copy, delete, move, create directory, create empty files, click to open the files, these are the most commonly used functions. Though the command-line is powerful, manage the files using GUI is faster and convenient.
The file managers support the tabs are the best, such as Nautilus and PCManFM. When we copy the file, we can also copy the file path, and paste the path to the text area will reduce a lot of unnecessary typing.
Notification area (or system tray)
With the taskbar, but without notification area, the users cannot know some of the status of the computers, especially battery, volume, date and time, internet connection, and even some applications. Though it is nice to display all the applications in the taskbar, some of the applications, especially the applications startup with the OS and shutdown with the OS, they are better to be placed in the notification area.
Screensaver which can lock the computer is also important. Call the screensaver with a hotkey is a need for a user.
Any desktop environment provides the above feature is considered my favourite DE. Therefore, if using Linux without the DE like KDE, GNOME, Xfce, or LXDE, I can use OpenBox (window manager), oblogout (logout menu), gmrun (as application launcher), tint2 (taskbar), volumeicon, PCManFM (file manager), lxterminal (command-line shell), lxtask (task manager), xscreensaver (screen saver to lock screen), and LXDM, to provide these features.