From LQWiki
From a user's point of view, an operating system ought to do two things really well:
1. Run all kinds of hardware
2. Allow modifications and configurations in an easy manner
Therefore, some ideas are mentioned that may make it easier for end and novice users to configure their Linux systems easily. These ideas may already have been implemented but one place to list all of them makes keeping track of the implemented and ignored ideas easier.
Contents |
Hardware
Detect New Hardware and Add, Remove Hardware
Device List or Device Manager
- Have a kind of a list to show all the various hardware attached to the computer. Beside the device, allow options of enabling or disabling the device right now or at the next reboot. This management can be a part of Hardware Profiles as well
Hardware profiles is a concept where a user can choose which kinds of hardware are enabled at the moment. For example, users may choose not to enable a webcam, speakers, and microphone but leave the CD or DVD drive running. After an hour, the user wants to disable the DVD drive but enable the rest (for any reason known to her). She can take time out to create such profiles and configurations and then just enable a single profile at any time, from boot-up to the current time.
Install, Uninstall, Update, Suggest Device Drivers
- You should be able to download drivers from a central place if a certain device is not detected or is detected but doesn't work. Just look up the name in the online database and download and install it
- Driver updates and rollbacks can be a part of the Updates Panel, as mentioned in this article after some scrolling down
- Have a device driver certification status which displays if a certain driver has been given a certified status by some trust-worthy third-party
Troubleshoot Hardware
- If for some reason any piece of hardware is not working correctly, allow users to fix the problems from here. If the keyboard isn't working properly, allow configuration through the mouse, and if the mouse isn't working, allow the keyboard to do everything. It may be a good idea to automatically detect what device is not working and which other device can be used to correct the problem. Try to use wizards or some descriptive technology that can assist the user in determining the problem and then multiple solutions should be offered so that the user may follow them easily
Polling Interval
- allow configuration of hardware polling intervals
Remap Mouse and Keyboard
- remap the keyboard keys or reverse the buttons of the mouse so that right is left and vice versa and more such configurations
Hardware Monitor
- something similar to PC Wizard and Motherboard Monitor
Software
Software List
- List all the software that is installed on the system, including the dependencies and the individual packages
Add, Remove, Update
- Something to keep track of updates to installed software through a central location on the web? User can set how often to check from the website. Similar to Version Tracker?
- During upgrades and updates, give information on what problems have occurred while the upgrade was used. In other words, list comments that other users of the updates or of the developers. You can do this before updating to make it more visible and understandable. These comments are downloaded from the same place the application or software was.
- Updates may require re-login or restarts. This way updates become impossible without human interaction. Eliminate as much human interaction during updates as possible
- The updates can be a part of the Updates Panel
- You can choose which groups of software (packages) to install or uninstall
- You can uninstall software at one time by checking those which you want to uninstall. They are then removed sequentially
Software Configuration
- Almost every software has an Options or Preferences element. Why not allow programmers to allow access to them from this place?
Status Files
- Allow programs to create and modify files that allow this central configuration utility to know their status so that the user can see their status. It's particularly useful for security purposes where you can easily see if updates are required and other such stuff
Transfer
- make it easy to move programs and their settings from one computer to another
Active Disk
- Iomega has created a technology called Active Disk that is really useful: you can carry software from one computer to another and run it without having to install it on the computer. Work on such technology
Default Programs
- for common programs, such as for Internet and email, allow the user to set default programs. This way when the user clicks a hyperlink then the default web browser is started
Alerts
- if software have alert features, you can configure them from here as well. For example, if an email program has alerts for new messages, you may configure them here. Also, investigate if in an email program there can be more than one alerts based on rules similar to filters
System
Disk Cleaner
- like Windows Disk Cleanup - can clean temporary download files, compress unused files
Disk Defragmenter
Power Management
- such as when to send the computer to stand by or when to switch off the display
Disk Partitioner
- doesn't destroy data, just like Partition Magic
Clipboard Manager
RAM Manager and Optimizer
Computer Monitor
- such as motherboard and processor temperatures
- something similar to PC Wizard and Motherboard Monitor
- should show vitals for things such as CPU, RAM, swap files, and more
Voice Recognition
- text to speech
- speech to text
- execute commands through voice
System Information
- similar to Belarc Advisor
- Disk Information: partitions, space left, etc
Scheduled Tasks
- configure the cronjobs utility
Recorder
- similar to Automator in Mac OS X Tiger
Services
- learn the purpose of each service provided by your computer. It should show the services by name and then a link to learn more about it
- enable, disable, or configure the services
- different servers, such as Web, FTP, and Samba can be controlled from this place
- can be used in conjunction with the firewall to determine which services to allow
- manage the programs that run at startup. Also include scripts to start and stop particular services as a batch. This can be particularly useful in the Alias and Profile part of the OS so that a different alias doesn't start particular services and programs.
- when disabling services that may affect Linux's ability to reboot, warn the user
- prevent services and software from starting up during boot-up. This will make booting faster and less energy consuming (good for notebooks)
Task Manager
- something similar to Windows Task Manager that can be accessed by clicking ctrl+alt+del or through the Task Bar
System Restore
- it can include backups, actual restoration of files according to a restore point, disk image software
- move system settings, including programs, from one computer to another. In other words, create clones as backup or to make setting up new computers with same configurations easy
Boot Editor
- allow user to edit the files used at boot-up
- specify if keys are enabled, such as Num Lock, Caps Lock, etc
Login Manager
- associate icons or images with a username
- change the kinds of login interface, such as usernames listed already or the user has to type them
- allow user to disable pictures at login
- change appearance themes, schemes, sounds, and background images of login screens
- if there is just one user (other than root) on the system, allow her to login automatically
Degunk the System
Create scripts to "degunk" computer. Get ideas for things to tackle from the "Degunk ..." series of books. We could possibly have a Degunk section within Admin (even Security Control Center) where you perform all kinds of privacy and security operations, such as deleting recently accessed documents, Internet cache and history, remove unused files and other such things. This section could have a checklist that the user can follow to degunk their machine.
Security
Called the Security Control Center or Security Manager or Security Admin
Firewall
- port management with help on exactly which ports are used by which programs and processes and which are open (being used) and by which programs
- configure which ports to open or close
- if you set a program to listen or communicate on a certain port, the firewall should be automatically configured to open that port but after letting the user know that the change is being made and to allow it or not. If the user closes the port on the firewall, it automatically disables the program using that port. This way, changing the port configuration at application or firewall level will make changes throughout and reduce complexity
Antivirus
- through Linux Web Space, news items can be sent to this place about latest viral threats and how to protect yourself
- you can install multiple software and then choose in which sequence each one should work and which one should always be on
Anti-spyware
- you can install multiple software and then choose in which sequence each one should work and which one should always be on
Anti-spam
- you can install multiple software and then choose in which sequence each one should scan and which one should always be on
Encryption
- individual files and folders
- entire disk partitions
- can include steganography
Security Evaluator and Advisor
- the computer can be scanned from the outside to detect vulnerabilities and problems. Then suggestions can be given on how to improve security
- can suggest which ports to close and how
- can suggest which services to enable or disable and how
- something similar to Microsoft Baseline Security Analyzer and Shields Up?
- a LAN security scanner should also be included
Anonymizer
- when enabled, it connects to networks and the Internet through a special server and makes you anonymous
System Wiper
- cleans your tracks on the computer, from recent files accessed to websites opened and much, much more
Parental Controls
- add parental control features into the operating system that can be configured at the users and groups level
Digital Certificates
- manage digital certificates
Rootkits
- detect rootkit exploits; plug the holes and remove the malicious entries
Password Reset Disk
Network and Internet
Computer Identification
- computer name
- MAC address of network card?
- IP address?
Dialup Internet
- setup and configuration
- set default connection
Local Area Network
- add information about multiple networks and then choose one as needed
- something similar to My Network Places of Windows?
Wireless Technologies
- such as Bluetooth, WiFi, and Infrared
Virtual Private Network
Remote Desktop
Sharing Preferences
- set default sharing preferences for sharing stuff over a network
- you can share hardware such as CD and DVD drives, USB flash drives, and more
Network Settings
- such as IP, DHCP etc
Tools - add various tools to monitor the network, including measuring the throughput
Users and Groups
Add, Remove, Manage Users
- default desktop wallpaper, screen saver, power management etc
- default programs to run at starup
Add, Remove, Manage Groups
- default desktop wallpaper, screen saver, power management etc
- default programs to run at starup
Manage permissions
- which files and folders they can access and what they can do with them (add, remove, list, modify, etc)
- what kinds of actions can they take, such as installing hardware and software etc
Alias
- add concept of Alias or Profile where each username can have unlimited profiles with different and distinct settings. It is similar to themes or hardware profiles (in Windows) but is more detailed. The settings range from power settings to network settings. You have to add these items to an empty profile. Or you can start with a profile that is a child of another profile and then change some settings while leaving the rest intact (parent-child inheritance or relationship)
Portable Settings
- the user can upload settings files to a website and then whichever computer she is using, she can temporarily download the settings. This way, wherever she goes, her preferences go with her. An alias can also be created to encompass these settings
Login
- if there is just one user (other than root) on the system, allow her to login automatically
Parental Controls
- set permissions etc
Peripherals
Display
- monitor
Printers
Optical Media
- CD, DVD
- burn disks
- something similar to Undisker which can create disk images
- determine what to do when you insert media, such as open in a file manager or if it's multimedia then play it, just like in Windows
Floppy
Fax Manager
- uses your Regional Settings such as location to determine your phone number
- is it possible to include fax over IP?
Data
Backup
- can include system restore, backups, and disk image software
Synchronization
- local or remote disks
- one way transfer or two-way
Search
- file names
- file types
- within files
- programmers can add instructions to this module to tell it how to search custom file types. These instructions can be provided through standardized data files so that it is easy to program this module
- when saving files, Linux automatically adds meta data so that searching and organizing is easy. It can include author, date, time, program used, access and edit history, and more. Got the idea from MacWorld (October 2004, Page 80, Make Workflow Flow) from a software from ALAP Inc
File Transfer
- for example, when moving files to a new computer from an old one to set the new one as the default and you need those files
Corrupt Files
- check for corrupted configuration (settings) files by comparing them to samples on a central location, such as a website
Bookmarks
- a single, central file that contains all bookmarks. This way all browsers can read a single file and users won't have to create multiple files
Sharing
- allow sharing of individual files and folders (and sub-folders) as well as groups of files and folders Manage permissions
- which users and groups can access and what they can do with them (add, remove, list, modify, etc)
Icons
- allow user to change the icons associated with certain files or folders at individual or collective levels
- this option should be available in a right-click contextual menu as well
Default Programs
- specify which file type is opened by which software or program by default
Files and Folders
- generate folders and files listings in text file or print directly
User Interface
Wallpaper
- default for users, groups
- users can change their own from this one
Screen Saver
Theme Manager
Desktop Manager
- KDE, Gnome, etc
- add icons or not, etc
Start Menu and Kicker (Task Bar, Dock) Configurator
- GNOME doesn't let users modify the applications menu?
Display resolution and color settings
Accessibility for handicapped users
- can include magnification etc
Login Manager
- associate icons or images with a username
- change the kinds of login interface, such as usernames listed already or the user has to type them
- allow user to disable pictures at login
- change appearance themes, schemes, sounds, and background images of login screens
- if there is just one user (other than root) on the system, allow her to login automatically
Multiple Desktops Manager
- set number of desktops etc
Directory Options
- just like in Windows where you click Tools > Folder Options, Linux should provide something
Font Manager
- add, remove, update fonts
- the updates can be a part of the Updates Panel
Transparency
- control transparency of the windows so that if you are working on an office document, you can make it transparent and see the chat window behind. The transparency can be set at any level between transparent and opaque, for individual windows, set of windows on a desktop, the desktop, or the entire interface. Similar software: Glass2k and Actual Windows Manager
Icons
- allow user to adjust the size of icons, and the accompanying text, independent of the screen resolution
- icon manager: a central library where you can add, remove, and categorize icons available to the system and its users
- allow user to adjust the font, color, size of the text accompanying the icon and the background color of the text too. Maybe the background can have a picture? Allow user to change and set the background and text by default for every icon or for each individual one
- allow user to change the icons associated with certain files or folders at individual or collective levels; this option should be available in a right-click contextual menu as well
Folders
- in folder view, each child gets the same configuration as the parent folder. However, if a child folder's view is set individually, it should retain the same individual settings. Now when it is moved or copied to another location or even if the parent folder's settings are changed, the individual folder keeps the same settings
- allow user to change the icons associated with certain files or folders at individual or collective levels; this option should be available in a right-click contextual menu as well
Context Menu
- the user should be able to configure all contextual menus in the system
- it is basically a list of all the context menus and then you choose which one to edit or have common options in all or a selected group of context menus
Regional Settings
Add, Remove Languages
- languages can be recommended on the basis of geographical location
Set date and time
- can be linked to a calendar on the system, network, or Internet
- can automatically collect a list of things that happened that day in history or if it's a special day in your part of the world. Could be helpful to history junkies and travelers
Set geographical location
- to keep up with dates and times and languages
- may be updated automatically by looking at the IP address the user connected with
- the updates can be a part of the Updates Panel
Help and Support
A central place for all applications to provide access to their support files, be they on the system or the web
Also included would be help on what is the function of a particular file or folder
- similar to the File Extensions website
- the user can also see which programs can be used to open the file and the system tells if the program is installed. If not, then it can suggest where to download it from
Error Messages
- do away with error messages that don't make sense to an average user. Instead, give the user a brief ID to look up in Help and Support for more detailed information. For example, something like "An Error has occurred. You may search its ID AFT558 in Help and Support." And then provide a hyperlink directly in the message to the place in Help and Support that can provide the details
Shortcuts
- create a complete list of keyboard and mouse shortcuts on the system. This should be the central place for users to learn about shortcuts
- any shortcut that the user specifies (such as done in Windows) should also be written here
- programmers can add a list of shortcuts their own programs use
Man Pages
- all the pages under the man command are accessible here
Updates Panel
Have all kinds of updates and alerts here; from device drivers to application to operating system to security
- Allow users to update to a different distribution. For example, a user is using Debian but wants to switch to Fedora without having to do a clean install. So there should be a way for her to download all the required files from the Internet and set-and-forget; when she returns, her system should be running Fedora and not Debian.

This page is available under a