Wednesday 27 December 2017

The Monkey's Fist Analogy

Ahoy! It's time for another ropework analogy. Here's hoping you enjoy this one...

The Monkey's Fist, in nautical terms, is a heaving line knot, decorative in style, used to weigh down the end of a line and make it easier to throw.

Occasionally, it has a round weight worked into its core to make it even heavier. Or a core of cork or styrofoam to enable it to float when thrown into water.

Basically what happens is that you have a rope and a core...

...and then you have a Monkey's Fist!


Decades ago, when I first learned how to tie one, it never occurred to me how this is a somewhat apt analogy for web development. Specifically, how the back-end and front-end portions of a web application work together.

The Monkey's Fist is ultimately just a bit of rope with the end bunched together in a decorative knot. The core is what gives the knot its power, while the rope is what makes that power usable. The Monkey's Fist is greater than the sum of its parts.

The rope, and the front-end

The rope can be tied into a Monkey's Fist and works pretty well even without the core. But having a core increases the power of the knot tenfold. With the rope, the user can now heave the core further distances and retrieve it. The rope adds utility to the core.

In the same way, a well-designed user interface allows the user to interact with the data from storage more efficiently and elegantly. You could still have an application using only the front-end and browser storage, but it wouldn't get you very far.

The core, and the back-end

Consider what the core is, whether it's a ball of iron or cork. On its own, this ball of iron is either a shot putt or an ugly paperweight. On its own, the ball of cork is just a floating object.

Just like the back-end of a web application - basically a database with the power to process - retrieve, sort and group - raw data into coherent information. But without a front-end or user interface, a lot of its power goes unharnessed.

Where am I going with this?

Well, there's been a fair bit of debate over what's more important to a web application - the front-end or back-end. And my opinion is that a developer can't realistically have one without the other. They're two vital components of the same solution.

Thanks for reading. I had a ball of a time.
T___T

No comments:

Post a Comment