Wait, what is it you do again?

My life has taken a fairly dramatic turn in the past year, from History of Art and everything cultural heritage to web development and everything tech. To answer the increasingly bemused remarks from friends, family and passing pub randoms I have developed some particularly useful metaphors to explain what I do, what Ruby is, and how an Art Historian can change their career with such ease. I find myself repeating these so often I thought it may be good to write them down.


The Web App Metaphor

The web app I work on (www.woolandthegang.com) is written in Ruby, with Ruby-on-Rails and Spree frameworks, has a SQL type database whilst the front end is comprised of HTML, CSS and Javascript. This is great and could sound impressive, but lets be honest it is a sentence that means bugger all to the majority of people.

So lets think of the Wool and the Gang website as a building instead.

Ruby is the main language of the app: think of ruby as being the bricks with which the building is built. However, you need more than bricks to build a house.

Ruby

This is where Ruby-on-Rails comes in. It is a blueprint that enables you to get your basic building up in no time at all, complete with roof, flushing toilets and electricity as automatic bolt ons (Sinatra is another example of this, but it builds more of a shed in comparison to a rails building). It’s a very simple, generic building and is relatively easy to build on it and turn it into whatever type of building you want.

HTML

This is where the Spree framework comes in as an optional extra. Wool and the Gang isn’t just a web app, its an eCommerce site. To translate this into our building metaphor, we don’t want a building, we want a mansion equipped with swimming pool, baroque garden and a secret passageway (which changes location every second Wednesday). Spree is the blueprint for this that can be plonked on top of our current Rails building blueprint. Remember, these things are only blueprints, so these frameworks allow you to adjust elements of the buildings, such as adding a turret or two, which will be bespoke to your building.

CSS

Then there is the database, this is the contents of all the rooms in the building. Using the database language you can ask the butler to fetch your parasol to the lawn, and he will go in, check its there, take it, bring it out, then hopefully return it when you’ve finished your afternoon tea. With luck, and if you have used the right language, he will be a very efficient butler, and make a note of your parasol at each stage of its journey to you and back, which makes it very easy to locate when you next need it to take a turn around the herb garden.

Javascript

So what about the facade (front end)? Well, HTML (Hyper Text Markup Language) plots where the doors, windows, chimney stacks and columns will go. The CSS (Cascading Style Sheet) then decorates all these elements as directed. It will adjust the size of the door, the exact colour of the lawn and whether the columns are Ionic, Doric, Corinthian or even Composite (ooo, racy….). Then there’s Javascript, this makes sure the doors open, the fountain is flowing and the doorbell rings when rung.

And voila! One beautiful, stable building, bespoke to your every need and whim!

Your completed building!

Hopefully…. because as anyone who has bought anything from IKEA knows, there always that suspicious leftover screw….

Advertisements