We're always interested in making things better through design, and as technology develops we're increasingly able to improve functional – as well as visual – design 'under the hood' of the websites we build.
A great user experience for admins as well as website visitors? In the web parlance of old; EPIC WIN!!11!!.
Many of these improvements are made possible by judicious use of plugins.
What's that now?
Avoiding too much techy jargon, a plugin is a bit of code that gets added (plugged-in) to an existing software application to help it do more.
Plugins come in all shapes and sizes – some tweak an existing feature to make it work in a slightly different way; others are incredibly involved and drastically extend the capabilities of an application.
As an example of the latter; an off-the-shelf content management system (CMS) won't necessarily come with an integrated shop, so if a website needs to sell something, that functionality needs to be added – in the form of a plugin. (It's either that or build a shop from scratch, which will have a fairly drastic impact on cost and timescales.)
In essence, plugins add specific features to an existing application.
Why we use plugins
Our favoured CMS, Craft – a beautiful, simple, lightweight system – has a good deal of built-in functionality, but sometimes we need it to do more or do something a little differently.
So, we tailor Craft to each project by adding certain plugins – giving the system the precise features to meet a project's needs without it getting weighed-down with superfluous functionality.
I guess the mantra's "Start simple and add only what's needed."
We sometime use plugins made by third parties but when there's nothing out there that does the specific thing we need, that's not a problem; that's when we build it ourselves.
Plugins we've made
Pimp My Matrix
Keeps a complex and long list of design functions neat and easy-to-use.
A set of field types for colours, text size, star-ratings, customisable buttons …
Our most recent release is Table Maker which allows website administrators to define their own table columns; something Craft's in-built table function doesn't (yet) do.
This plugin was developed so one of our clients can easily and flexibly create tables of wildly differing datasets, without needing umpteen table templates to choose from – pretty fundamental for a governmental finance organisation.
This post was co-authored by Josh.