Constructivism Part III

Today’s study is the cover of Generation X’s 1977 single, Your Generation:

Black, red and grey construction with 'Generation X' in bold white text

Here is my version:

http://playground.matthewbutt.com/generation.htm

Please forgive any inconsistencies in the font rendering: I couldn’t find an open-licensed font with quite the right geometry, so I fell back on Helvetica, which may render unpredictably on different platforms.

This composition uses a handful of blocks with multiple backgrounds:

  • The upper part of the image, which looks a little like the Polydor logo, is a pseudo-element with four backgrounds, from top to bottom:
    • The small red circle
    • A white masking area, which covers the lower halves of:
    • The large black circle
    • The red block on the side.
  • The title strip is actually an h1 (‘Generation’) with a span inside (‘X’). The stripes are hand-coded linear gradients, and the cross-hatching in the small square is two repeating gradient stripes laid on top of each other.
  • The red triangle is another pseudo-element, with a single, angled gradient background.

The key lesson from this exercise was how tricky it can be to get webkit gradients right. The -webkit-gradient syntax is much less intuitive than the -moz-xxx-gradient syntaxes, and the repeated gradient declaration is also something of a fiddle. As to angling the red triangle, I couldn’t be bothered with more trig, so I just used trial and error.

Acknowledgments

Books

CSS Seesaw

It’s Friday night, so not a big one tonight.

I thought I would have a quick play with CSS transitions, and nothing seemed a better demonstration than a seesaw.

Here it is (warning: this only works in Webkit browsers at the time of writing):

A red seesaw with a black ball on it, all balanced on a black pivot

http://playground.matthewbutt.com/seesaw.htm

This little animation uses two transitions: one to tip the seesaw back and forth, and the other to roll the ball from one end to the other. There were only two slightly complex matters here: I needed to brush up on my A-level trig to get all the distances right, and a little sleight of hand was in order to create the triangular pivot (fire up Firebug if you want to see how I did it).

There are a few small bugs: poor aliasing, and a ghost top border on the seesaw element, but they can wait for another day.

And now, goodnight!

Constructivism Part II

Following on from yesterday’s work, another experiment today, and this time I chose a real piece of constructivist design to copy:

Image composed of text, semicircular blocks of colour, and diagonally placed squares and strips
The simple lines of this image make it fairly straightforward to lay out in HTML and CSS:

http://playground.matthewbutt.com/why.htm

Here’s how I did it:

My h1 contains the text ‘WHY?’. The h1 is a 200px square absolutely positioned on the page.

To create the semi-circle, I’ve given this element two background gradients: the first uses a linear gradient to draw two blocks of colour on the page: the upper block is solid parchment colour, whilst the lower block is transparent.

In Mozilla this is marked up like this:

-moz-linear-gradient(top, #F1ECD9 100px, rgba(241, 236, 217, 0) 100px)

In Webkit is takes this form:

-webkit-gradient(linear, 0 100, 0 200, from(#F1ECD9), color-stop(0, rgba(241, 236, 217, 0)), to(rgba(241, 236, 217, 0)))

You’ll see that I’ve defined the transparent colour as rgba(241, 236, 217, 0) rather than simply transparent; I found that using simple transparent gave me some ghosting, which is clearly not the intention.

Underneath this gradient is a second background, which this time defines a radial gradient:

-moz-radial-gradient(100px 100px, circle cover, black 100px, #F1ECD9 100px, #F1ECD9 200px)

-webkit-gradient(radial, 100 100, 100, 100 100, 200, from(black), color-stop(0, #F1ECD9), to(#F1ECD9))

In each case, this draws a 100px-radius black circle, followed by an area of parchment colour.

The lipsum content with the inverted red semicircle is coded in a similar way, although I could do away with the linear gradient, as my p tags give me the perfect hooks for a parchment-coloured background without worrying about gradients. The text is shifted down with a simple padding-top rule, and the red line down the side is an equally straightforward border-right.

The large red square doesn’t actually exist: it’s an :after pseudo-element on the body tag, which is then sized, positioned and rotated. I had to give it content(' ') to get it to appear, but otherwise it’s pure smoke and mirrors.

Finally, the three 45° links were interesting to position:

They start off as three li elements arranged normally on the screen:

Three blocks, one above the other, with space between

Next, I rotate the containing ul by 90° widdershins around its top right corner:

Three blocks next to each other with the text running bottom to top

Finally, I rotate each li by 45° clockwise around what was originally its middle-right and is now its top-centre:

Three diagonal blocks next to each other

These are then positioned absolutely on the page.

And that’s my piece of constructivist CSS for the day.

I have one outstanding problem: the edges of my semi-circles are unpleasantly aliased. I’ve tried leaving a small gap between the colour stop points in the gradient to see if that helps, but the effect is pretty unsatisfactory. Any suggestions would be welcome!

Acknowledgments

Fonts

Sites

Look mum: no images!

One of the downsides of specialising is leaving behind areas of knowledge you used to love. As I have specialised in the programming side of web development, I have found myself getting further and further away from working with HTML and CSS, and letting my markup skills get rather rusty.

Of course, over the last couple of years, all sorts of exciting things have been happening with HTML and CSS, as browsers implement more features of HTML 5 and CSS 3, and the skills and techniques I used to be able to boast of are now anything but cutting edge.

So I thought I should do something about it, and there’s no better way to deal with something like this than to have a good play around. The following pages are rendered entirely using HTML and CSS; no images were harmed in the preparation of these pages.

Note: these pages render correctly in Firefox 3.6 and Safari 4.0.4. They probably don’t work in older versions and are most definitely NSFIE.

Landscape

First, then, I thought I would have a bit of a play with web fonts, gradients and transformations. Here’s the result:

Pale blue sky with yellow sun made from the word 'sunshine' repeated 13 times; green earth fades to brown with 'earth' in large brown letters

http://playground.matthewbutt.com/landscape.htm

It took a little adjustment to get the rays of sunshine correctly positioned: the key was to position the transform origin at 50% of the height of the text.

Constructivism

Next I thought I would try my hand at a little faux-constructivist design. The simplicity and clear colours of constructivist design are perfect for online material, but the jaunty angles have always posed a major problem: either render the text as images, or give up. With CSS 3’s transformations, this is no longer a problem, and there’s scope for a Russian revival:

'Construction site' in red and black crosses at an angle with 'a page of experimental stuff'; six yellow-and-black blocks float above

http://playground.matthewbutt.com/construction.htm

Again, getting everything to line up took a little getting used to, and it boiled down to the same issue: getting the transform origin of every element in the same place, and then rotating around that point.

A real-world example: Magazine’s Touch and Go

Ok, my constructivist sketch isn’t exactly high design, so I thought I would find something that had already been done, and have a go at copying it.

Here is the cover of Magazine’s 1977 debut single, Touch and Go:

Five red and black blocks stand side by side but at different vertical positions; 'Magazine' runs through them; underneath 'touch and go' and 'goldfinger' are arranged asymmetrically

And here is a quick HTML version:

http://playground.matthewbutt.com/magazine.htm

The only advanced technique here is the use of web fonts, although I’ve made liberal use of the :nth-child pseudo-class to apply styles to the coloured panels. I have to confess to using a few non-essential spans for this one, but I think the result is pretty pleasing for an image-free page.

And that’s my lot for today. There’s plenty more excitement in the latest implementations of HTML and CSS, so I’ll post some more experiments when I have a moment.

Acknowledgments

Fonts

Books

Two firsts

Yesterday as I left work there was still a faint suggestion of twilight in the clear evening sky and, as I cycled through the park, the gate into Kensington Gardens was open for the first time this year.

Of course, today it’s been snowing, so winter isn’t over yet; but it’s good to know that spring is creeping up on us!

Kämmer Klang, 20100202

Off last night to Dalston for Kämmer Klang at Café Oto for what seems to be a typically diverse evening of performance.

Most intriguing were Kerry Yong’s two solo performances, which were billed as part of a series entitled Cover Me Casio in which he reworks existing compositions on a Casio keyboard with the aid of various effects pedals and electronics. First of these was a movement from Madrigale by Aldo Clementi, the very point of which is the gradually retarded repetition of a handful of short, distinct melodies. Most of the time it was impossible to correlate what Kerry was doing on the keyboard with the noises coming out of the speakers, and, as he was using a delay pedal and a laptop, it is hard to know which piece of equipment was responsible for which effects. The result, however, was charming and fascinating, and I think I’m going to have to do some research on these programming techniques now.

Kerry’s second solo performance was an reworking of Messiaen’s ‘Dance of Fury for the Seven Trumpets’ from his Quartet for the End of Time.The movement is Messiaen at his most muscular, whose highly characteristic melodies use his modes of limited transposition and added-value rhythms, and are gradually metamorphosed by rhythmic distortion and octave displacement. The entire movement is played at the unison or octave, which adds to the starkness of the piece. Kerry introduced his performance by declaring that this movement was a ‘good excuse for a colour trip’, and went on to prove this assertion, using an array of effects pedals to distort l and manipulate the sound of his synthesiser to create an impressive range of timbres and textures.

In both of these pieces I enjoyed the way Kerry used equipment which is usually the preserve of rock bands, but produced new and wonderful noises which seemed entirely appropriate for the pieces he was performing.

The other excitement of the evening was the improvisation set by Roger Turner on drum set and percussion, Alan Tomlinson on trombone and Steve Beresford on electronics. Alan had warmed up earlier in the evening with a performance of a piece by Xenakis, which had already showed off the range of his instrument, and he took this even further in this set, even turning a coughing fit (he was suffering with a chest cold) into a new source of noises and expressions. Roger’s percussion was equally adventurous, and he produced some fascinating sounds by scraping and rubbing various instruments, conventional and un-, against each other. Steve’s electronics provided a fitting counterpoint to the two acoustic performers, but after Kerry’s antics I spent more time observing them than him.

Kämmer Klang has a good format: it’s a little more formal and less gregarious than Non Classical, but the salon style of the evening, with several performers each evening, combining and recombining to play pieces by different composers, gives the programming a sense of vitality and diversity, and contrasts with the more gig-like format of Non Classical. Previous editions had continued past 23:30, so I was rather glad this evening ended at 22:30 and I could catch the Overground from Dalston Kingsland back out West.