The Perfect Linux Application (Page 2 of 2)

Article by Tolga BALCI (23,398 pts ) , published Nov 7, 2009

The Perfect Linux Application: User Programs

Contrary to what I said above, a user program should contain a GUI (Graphical User Interface) as well as the option to execute commands from the command line. It should:

  • Match the user’s needs, goals and skill-level.
  • Have a basic tool set: toolbar, menu items, submenus, dialog boxes, and where applicable, the option to switch to an advanced user mode.
  • Be consistent both internally and externally: the application shall be both consistent inside itself and the environment in which it is run.
  • Have keyboard shortcuts allowing for faster use.
  • Be focused on what it is doing and where necessary can output customizable reports.
  • Have an interface that conforms with the basics of grammar such as Object -> Action (as in File -> Open) or Action -> Object (View -> Folder).
  • Have the principles of help, such as answering the questions of “what can I do with this program”, “what does this button do”, “how can I make this”, “why did I receive this message”
  • Be secure, meaning that any ports opened during the use of the application should be closed as soon as the port is no longer in use.
  • Be responsive. Clicking something and waiting for the program to respond is -as we all know- annoying.
  • Be aesthetically pleasing. A balance of speed and a fancy GUI is a must.

Is there such a thing in Linux programs? Yes there are. Many. Consider your KDE or Gnome preferences window. The icons are well-thought out, grouped together in a logical manner, the interfaces are consistent, they focus on their configuration tasks, help is available in the individual windows, they are responsive and working with them does not make your system more vulnerable.

Choosing Applications for a Linux Distribution

At this point, considering the focus of the Linux distribution as we have discussed in the previous article, it’s better to forget about the specific distribution tasks such as penetration testing, professional multimedia creation and editing or some embedded distributions (such as OpenWrt for routers) and focus on the end-user. The tastes for particular programs vary but I have put my personal preferences inside the parentheses:

  • Productivity: An office suite (OpenOffice.org), a personal information management (PIM) program (Thunderbird with Lightning), taking notes (tomboy), clipboard manager (klipper or glipper)
  • Internet: Web browser (Firefox and Opera), e-mail manager (preferably part of the PIM package - Thunderbird), download manager (D4X), torrent manager (KTorrent or Transmission), news reader (Akregator)
  • Graphics: Photo manager (Digikam or Picasa), digital camera manager (Digikam or Picasa), photo uploader (Digikam or Picasa or F-Spot), image editor (GIMP)
  • Multimedia: audio player (Amarok), video player (KMPlayer or Totem), audio recorder (Audacity), webcam capture (Cheese)
  • System tools: various system-related programs to manage and customize the system, such as an application installer (package manager)
  • Games: depending on the users preference: anything from card games to first person shooters.
  • Accessories: programs that help the user complete simple tasks; e.g. a graphical text editor.
  • Accessibility: any/every tool to assist disabled users.

The initial selection of software should get the user up and running immediately after installing the system. Generally there will also be programs the user wants to have on his system. This should be explained clearly with something like a “first run wizard”, making the wizard something the user can revisit if need be.

In the next installment of this series we will discuss the perfect Linux package management system.

Showing page 2 of 2