Guest Column | November 27, 2019

Why Extensibility Matters

By Nicole Hitner, Exago

extensibility_diagram

Customization has become second nature to most of us — who hasn’t applied a theme, uploaded a cover photo, moved a toolbar, or deleted a widget? But extension, customization’s more technical cousin, is also important to application design, particularly in the B2B space. Unless you’re a web developer who’s built her own WordPress plugin, you might not even be clear on the distinction between customizability and extensibility. So let’s first get our terms straight.

Extensibility Vs Customizability

Both customizability and extensibility are types of configurability, or means of adapting a software application for a specific purpose. Whereas customizability measures the degree and ease with which users can modify existing features, extensibility measures the degree and ease with which they can add new ones. Customizations are leveraged using settings menus; extensions are leveraged using code hooks.

One of the great things about customizations is that they’re easy to apply — no programming knowledge necessary. They can be general (e.g., choose between dark mode and light mode) or highly specific (e.g., select a hex value for your background color), and they’re often right there in the UI. Customizations are, however, limited in scope and offer only so much control. Extensions, while requiring more technical know-how, offer considerably more leverage.

Extensible applications make it easy for administrators to modify the software’s programming by including “hooks” or accessible controls in the code, creating opportunities to add on to existing functionality. Asking administrators to write parts of the application might sound like a tall order, but the benefits outweigh the costs.