Camen Design

© copyright

I Don’t Want to Do This Any More

When I set out to make Camen Design, I had a well defined purpose: all of my content under one roof, in a no-junk design based on a simple but profound statement: code is art.

It was early 2008 and I was aware of only one practical, in-use HTML5 website, Sam Ruby’s blog. It was at the time however—in my opinion—lacking clarity. Sam was ahead of the game with using HTML5 and ignoring IE—but then he works on web specs and was doing this stuff long before HTML5 itself, since he had adopted the application/xhtml+xml+screw+you+IE approach in the XHTML days. However his goal was not my goal. To me, the source code was every bit as important as the content. It should be readable, visible and ultimately, beautiful. If you are writing about web development, than it is to be expected that your source code will be read, and read it should be.

I need to put the browser landscape into perspective for you as it has changed and improved so much in so short a time. When I started developing my HTML5 website Firefox was on version 2. It didn’t support HTML5, per se, but rather XML (application/xhtml+xml+screw+you+IE…) which was difficult to work with. I officially launched my site on June 18th 2008 (though it had been online since April), one day after Firefox 3.0 was released with very basic HTML5 element support. That meant my website had no Internet Explorer support in a browser landscape where IE was still 85+% of the market and Google Chrome didn’t yet exist. People thought I was mad and derided me, but I knew where the landscape was going, and I was right. (IE traffic to my site is 8%, and my site is now supported by IE9. I didn’t have to change any code, Microsoft finally decided to support the standards I was already using)

In the beginning it was fun because those using and discussing HTML5 at the time were mostly interested in the semantic properties and quality of code. It wouldn’t be long until the idiots started arriving, but I was not fully prepared for the bandwagon that did eventually turn up. It can be said that most web developers are not able to see beyond the end of their mouse button, lacking the one quality that defines greatness in this field—the ability to say no.

Ever since the ’Web was invented there has been a transluscent, yet intransient divisor between those developers who understand the fundamental difference between a declerative markup syntax and a programming language, and those who don’t. Some learn to see this difference, others simply ignore it and believe that it is a swell idea to tie structured data to a structured program that will bit rot one thousand times quicker than the data will. If you are trying to replace HTML or CSS with JavaScript, you are doing it wrong and have just signed a maintenance contract from hell, with yourself, for yours and your data’s life.

It is this short-sightedness that immediately ‘gripped the nation’ the second HTML5 video became available. Profusely, blogs explained how to use JavaScript to detect HTML5 video support and insert the <video> element into the page. None seemed to see the irony of using JavaScript to insert an HTML element (probably because they couldn’t tell the difference). Would you use JavaScript to insert your static <img> elements? No, you put the element in, and the browser handles it.

You can lead a web developer to a manual, but you cannot make him think.

Seeing where this was very quickly going (a web with a million pages dependent on broken, outdated scripts to play video and no hope for platform / browser diversity—where have I seen that before?), I created the only sane solution, Video for Everybody. Again, I was derided. The code was big and ugly (and that matters to Grandma how, precisely?), HTML5 video would never take off, Flash was better, few browsers supported it, IE would never support it, the codec problem was insurmountable, yaddah yaddah yah. It did not help that even Mozilla were not able to see what damage they were doing promoting a JavaScript embedding method. Then the iPad happened, and I was right again, because I knew the difference between plugins and markup.

Video for Everybody now forms the basis of many HTML5 video embedding methods, yet still, even including those, almost none truly understand the point that VfE was trying to make. They maintain these projects forever, never asking why.

Initially it was pleasant to receive so much sudden attention around VfE, but it has grown to annoy me as the web has not grown to see the potential of Doing Things Right™. Instead, unavoidably, the market races hurriedly the wrong direction because it is not able to see beyond its mice-buttons… Click-click, yes.

Thus, I am left with what I am disinterested in most: “apps”. Apple’s hundreds of thousands of sandboxes that can’t talk to each other have the whole market in such a tizz that all sensibility has long been lost. It is funny how Apple can be so for HTML5 in their words, but so abhorrently against it in their actions. Had Apple invested the same time in designing Web APIs as they had iOS’es native APIs, there wouldn’t be a debate about native vs. the ’Web.

In this last year, buzzwords and hype have taken over. If you aren’t making an HTML5 app, game, demo or anything involving canvas or WebGL then you don’t matter. There are no rewards, no competitions for you. Nobody is interested in HTML5 websites any more. Even though the ’Web is a bigger, better, greater and more creative platform than anything Apple could ever imagine, I feel that inescapable force which looks like it will derail the ’Web for five years time before senses are gathered and all realise that all-along Apple’s App Store model was backward, outdated and wrong for the ’Web to try copy.

The solution to closed app stores is not more app stores.

That’s before we even get on to the subject of ‘cloud computing’.

But I digress. That isn’t the problem. I cannot decide where the ’Web goes and what it will do, and getting upset about it is childish. The change I see is in myself.


When once I was a young angsty teenager I could only measure my worth—demonstrate it—by creating things. I could express some level of superiority (and boy, did I think I was superior!) and personality. In recent times I have come to know that I no longer need to do that. My worth is not simply according to other’s ever changing tastes.

When I code I want to better myself and hopefully others; not further some career, parade around conferences and sell dead wood. I ask not “can this be done?” but “should this be done?”. I don’t fit in.

A great programmer is not just about who knows the most, can type the fastest or is even the most skilled in the art, a great programmer is the one who can solve problems without coding—that is, to write software without code:—To know that reality forms a part of their program and have an acute understanding of life such that a great programmer can frame the problem in their mind so well that the use of code forms an absolutely precise surgical instrument that does as little as possible and leaves no mess. Writing code like monkeys on typewriters, brute-forcing solutions rather than giving thought to the problem, is not good programming no matter how clever the code is. Your fancy data model will fall to pieces as soon as it is met by reality.

Why am I saying this? Because it’s easy to change the world, but it’s difficult to change yourself.

If you are reading this you are blessed enough to have beneath your hands the greatest piece of technology ever created that gives you the possibility of changing the world. This opportunity has never existed before. For milennia, lengthy and complicated chains of auhtority were put between the average Joe and success. Be it heriditary entitlement, autocratic heirarchy or just the regular publishing industry, there has always been someone—usually unsuited—passing judgement on what is allowed in and what is not.

Now, you can bash away at your keyboard for a few days, weeks, months or years and you just might change the world with, relatively speaking, very little to stop you.

I’m sure if I bashed my keyboard enough I’d eventually change the world.

What I want to do instead is employ that precise surgical instrument and be a programmer of reality. A hacker of minds, an engineer of love. I have real problems to work on and I will not solve them by bashing my keyboard alone.

I see many people who have become proud of their suffering, who use anger as a shield to deflect the risk of change. I see others who hide from their full potential, afraid of the uncertainty that they will have to face. I see an unfair world that has been designed to limit the potential of all, equipped with an infinite distraction machine that shapes us to only ever chase everything that, deep down we know, doesn’t matter. I know that helping others see beyond this is the only career I’ve ever wanted. Love conquers all.

I might one day comprehend the magnanimous privilege of a position that I have to discover my potential. I feel like my life is presented before me like a diving board, the landscape below vast and scary. I am perched here at the edge, ready to jump, and I must fight the hesitation to decide. There is no such thing as decision, only varying certainty.

I am not certain of the answers to my concerns, I am only certain that the answers will be found on the way.

This website will continue, it’s purpose will be to relate the answers I will discover.
Thank you to everybody who has followed me this far, you are very much loved.