Characteristics of a Great WordPress Plugin
A WordPress plugin should have the following characteristics to make it more intuitive and easy to use.
Seamless installation: The plugin must be able to install easily and seamlessly without any trouble. A plugin is as good as it can be installed into the system, if anyone finds the installation to be very complicated; there is a chance that he/she would not use the system at all. Many WordPress plugins are very good as far as features go, but are bad in installation.
Straightforward un-installation process: Un-installation is as important thing for a plugin as the installation process. Un-installation gives the administrator the power to decide when to remove the plugin when it has no more function to perform, no administrator would want a plugin that cannot be removed and remain there forever.
Easy upgrade process: A good plugin must have a good upgrade process, a plugin must be able to adapt to situations and when a new feature can be added, it should be added without altering the whole system. Updates are required for all kinds of software, it is even more important for a software component such as a plugin.
Good localization and language support: Language support is very important as it makes sure that any administrator who is not so fluent with the English language too can access and modify whatever he/she want to.
Easy error recovery: A plugin must be able to easily recover from different errors and come back to normal. These are function specific software components and an administrator cannot risk a system going down without any fair chance of retrieval.
Import/Export options: A good import and export option is necessary. This helps in porting a plugin from one system to another. Import and export option make sure that transporting and implementing your system from one place to the other is easy. It gives the administrator the flexibility to shift from different architectures and systems.
A good user interface: A plugin must possess a good user interface to add a menu based navigation for the admin; this would ease the tasks for the admin and make the plugin more useful. A good user interface must be intuitive to the administrator who is the end user here. It must provide him with enough options to manipulate the configurations for the plugin.
Security of the system: Plugins have to be less vulnerable to attacks and make sure that an attack is not initiated on the system though the plugin. This is a very big concern and good plugins have good security features.
Changes to the system: A change log is necessary to track all the changes. This is very important as it marks a timeline of the changes made so that an administrator can look at the past changes and its effect on the whole system.
Good support: A plugin that is well supported and documented is a big plus.
The above mentioned are the most important characteristics of a WordPress plugin.