The Community-Powered Brand Success
Posted by indroneel on March 10, 2007
In a previous posting, we had an overview of community-powered applications as products that are being continuously enhanced, maintained and supported by their respective groups of end-users. The measurement of success, here, is not just acceptance but also user involvement. This article explores the factors that contribute to the success of community-powered applications.
To start with, the target application must have the ability to attract a large number of end-users. This popularity can be attributed to one or more of the following:
- Features provided
- Ease of use
- License terms and conditions
- Competition within the same category
- Pricing and availability
New applications that are offered as alternatives to existing solutions must keep the above factors in view to gain rapid acceptance with end-users.
Outsourced development is applicable only for new applications that are developed using an open-source model. Oftentimes, these applications are feature-diluted versions of closed-source commercial products (e.g. OpenOffice as a community edition of StarOffice).
The core functionalities of the application, beyond a baseline revision, are developed by groups of end-users. The work is divided into one or more projects with an execution model defined by the vendor team. End-users may contribute to one or more of these projects under the overall leadership of members from the vendor team.
Not all end-users would be interested in contributing to an application’s development under the outsourcing model. The limiting factors being the amount of dedicated effort involved and vendor supervision. Instead, most contributors engage in building extensions to the main application. Extensions, unlike core development, do not lend themselves to vendor ownership and control. Such activities can be executed in smaller groups and even by individual users.
In all cases, the community-powered application must define an extension mechanism in the form of APIs for plugin development (feature-level changes) and integration points for visual changes (themes and skins). For better involvement from the community, the extension mechanism should possess one or more of the following characteristics:
- Flexibility in addressing a wide variety of extended scenarios.
- Simplicity and ease of development in terms of tools availability, language semantics and documentation to name a few.
- Stability: the definition of the extension layer does not change with every version upgrade of the core application.
- Compatibility: extensions defined for an older version works equally well with a wide range of future versions (or at least till the next milestone release) of the application.
A community-powered application must create the opportunity to define a wide variety of extended capabilities. The scope for expansion must not end after a certain number of extensions are made available. This will keep a significant number of users continuously contributing to the application’s growth.
Provided below are some of the factors that contribute to a continuous demand for core and extended capabilities.
- The number of different contexts in which the application is being used (usage scenarios).
- The number of different input and output sources the application interacts with (interaction endpoints).
- Incorporation of emerging technologies and standards.
Adoption of standards always contribute to the development and acceptance of community-powered applications. In some cases, by virtue of its market dominance, the application itself can define standards for interoperability that are in turn adopted in related applications.
Adherence of standards at the extension layer signifies that plugins developed for one application can also be integrated with multiple other applications. A good example being Virtual Studio Technology (VST) standards for audio plugins.
As an example of plugins for one pervasive application being adopted by others, consider Adobe Photoshop plugins that are supported both by IrfanView and Gimp. The success of OpenOffice can partly be attributed to its adoption of document formats popularized by Microsoft Office.