Can You Hear Knocking?

In the summer after I left school and before I started university, I cleaned cars at a car showroom. The junior mechanic in the workshop had an ancient Ford Anglia, that he was customising. At lunch time he entertained the more experienced mechanics with tales of his exploits as he attempted to make a Ford Capri engine fit into the tiny car. He got this Frankenstein’s Roadster working but soon brought it in to get advice from his colleagues about a mysterious knocking coming from the wheels when he braked or accelerated. The excessive power applied by the over-size engine had elongated the holes in the soft steel of the wheels, so the wheel-nuts were rattling about in slots.

Last Thursday evening I made my first visit to @staffswebmeetup to hear Bruce Lawson (@BruceL) talk about matters webbish. Bruce asked if we were all web people. By the end of the talk, I strongly suspected that I wasn’t. He described progress on working around the limitations of the web as a platform for applications.

Web pages have an address that starts “HTTP” for ‘Hyper-Text Transmission Protocol’. The web was designed, at CERN, to allow text files distributed around the nodes on a network, including the odd picture, to be linked together and shared, using very simple formatting. It was accepted that the text might be presented differently according to the device it was displayed upon. There were already more sophisticated markup languages for sophisticated layout. The web’s markup language HTML was designed to be simpler but faster than these and easier. There are design compromises baked into HTML, just as Ford designed Anglias with cheaper wheels than Capris.

The web was fine until ‘designers’ started getting involved in page layout. They didn’t just want any font that could be read; they wanted precise control of every nuance of appearance. Programmers also started to ask web pages to perform tasks way beyond their pay-grade. The web was static, then dynamic, then people wanted web apps as rich as local applications. The speed at which international standards bodies can move became the limiting factor to progress and mobile apps appeared, under the technical control of single companies.

Bruce said that in 2014, only 14% of time spent on the Internet is still web-based.

[ The sentence above originally said: “Internet traffic” . Thanks to Bruce for the correction. If you saw the quality of my notes, you’d understand. I wasn’t planning to write this but people will keep making me think! ] 

He described mechanisms that would make web standards extensible. The W3C committee members were accepting that they couldn’t keep up with demand, so must allow developers to add their own extensions to the standard web magic. The web could no longer be cooperatively engineered. It has to become evolutionary.

The IP protocol stack was designed ‘Unix style’. Each protocol was designed to do one thing well. HTTP and HTML have mutated into Swiss Army Knives. Now we are to be allowed to whittle our own weaponry. Am I imagining it, or can I hear knocking from the back axle?

Experience ‘web people’ have grown up with steadily increasing complexity. Newcomers assume development has to be as hard as it is. I was coding with elegantly engineered development tools. I left the kids in charge for 30 years and look at the mess I’ve come back to. Are we sure that a protocol more appropriate for ‘Internet apps’ couldn’t be designed at lower cost, now we have a clearer picture about what we need?

p.s. I could mention the photo of Bruce with John Peel when he played Stafford Gatehouse in his band, ‘The Lucies’ but that would be like reminding Professor Brian Cox about D:Ream all the time and no-one would do that.


1 thought on “Can You Hear Knocking?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s