Seeing how technologies work together

One of the reasons I like HTML, CSS and JavaScript is because of the way they work together. CSS can style HTML by id, class or element. JavaScript can access individual DOM elements and change them as needed. It can also change the style attribute or a class name to alter the appearance of an element. IE even supports a CSSStyleDeclaration object that allows JavaScript to read CSS properties. Even though these three technologies are independent (presentation/style/behavior), they can still work well together. They are few, but well linked into a cohesive whole that allows current websites to thrive.

With the advent of HTML5, we have gone a bit in the opposite direction. We now have many working groups and new APIs, but it's not always obvious how these APIs can be connected in useful ways, which affects the extent to which designers can apply them. For instance, Web sockets, Web workers and CSS regions seem promising, but how can we easily combine them together? If the designer must figure that out, it means that the current technology probably isn't intuitive enough. Instead of solving real-life problems, our work becomes more like solving real-life technologies. We must be able to see the big picture of how these technologies fit together, because it might be during their integration where most things break apart. Although individual APIs are important to polish, designers might also benefit from more examples that go beyond simple documentation. The more APIs we have in a concurrent development, the harder it becomes to guarantee that the bindings between them will be flawless. We also don't want hackers to be the ones who first find the holes.