One of the things we take for granted about the web development explosion of the past ten years is the opening up of software-building to a far broader population than your classically-trained computer engineers. Graphic designers, information designers, your generally curious tech-savvy computer hacker. They all got to play in this new playground. It didn't require JBuilder or Visual Studio. All it required was notepad, maybe some graphic editing tools, and you were on your way. It was this strange, new place where content and presentation very much drove the building process - often times dominating it.
With very little knowledge or programming experience, you could stare at (X)HTML and just get it. It made sense (more or less). When you did need to hack a bit of interactivity, you could usually find someone's javascript on the web and tweak it or just use it wholesale. About five years ago, a new movement materialized around semantic markup and heavier reliance on CSS. The result has been cleaner, more efficiently produced front-ends where presentation style is neatly separated from content. CSS Zen Garden is a great example of this.
I've often written on this blog about the limitations of the Web to deliver richer, more interactive experiences. I've asserted that, eventually, there would be a move away from this clumsy, page-based model. Almost two years ago, Ajax caught on and richer, more interactive experiences began debuting in web browsers. At Arc90, we leverage Ajax techniques to enhance key portions of the user experience. More recently, we've invested in Adobe's Flash and Flex technologies to deliver richer applications over the wire.
As this migration away from the static web continues and continues to get validated, other players are throwing their hats into the ring. Microsoft has introduced Silverlight (effectively an Adobe Flash competitor) and just yesterday, Sun has taking another crack at it with JavaFX (their earlier attempts to penetrate the rich client space were unequivocal failures).
Each of these platforms have their pluses and minuses. And as we assess this or that platform we're left with an oddly empty feeling: what is all this stuff?
Before all this we had one markup language (HTML), one styling mechanism (CSS) and one scripting language (Javascript). You had a browsers out there that adhered to these agreed-upon standards. Yeh, we had to test across some browsers - but that's looking like a walk in the park compared to where we're headed...
Now, we've got a lot more to contend with. XAML. MXML. Javascript. Actionscript. C#. JavaFX (whatever that is). Then you've got your whole gadget/widget/pageflake (yes, pageflake) API's out there. It's getting messy folks.
We knew we were going to have to pay a price for all that richness, but I fear the entire industry is going to pay a price. Here's where my fears lie:
TrackBack URL for this entry:
http://www.basement.org/cgi-bin/mt-tb.cgi/645.
Your ahead of your time Rich. At least, in blogging time. I see this kind of post to be the first of many for at least a few years to come. I see it as more or less the beginning's of a battle cry somewhat akin to the one we as web designers made when we bitched and moaned for years about the lack of standards based markup and the subsequent incompatibility between browsers. And now that we've tentatively won on that front and the dust is finally settling....you're forecasting the next battle we'll have to face.
The internet's a big place now with many many tools. I sincerely hope we're not doomed to a barage of terrible design because Silverlight was first to market in some obscure foreign language where labor is a fraction of what it is here. And don't get me wrong...I'm all for globalization but 100% against poor design.
Healthy post.
Posted by: Jeremy Graston at May 10, 2007 1:38 AMI was thinking the same thing as I read about JavaFx this morning, but surely this sort of thing is cyclic in nature. As bandwidth increases and we reach the limitations of current coding languages new ones start to blossom to capture the needs of developers. There's then a slight adjustment period as they battle it out for control, before a norm re-asserts itself, where we have a manageable number of languages again.
In regards to designers, I think this is just an aspect of diversity/specifity. Designers have enjoyed a period whereby the technologies/languages were familiar (simple?) enough that they could handle both the visual and programming aspects of web development. But it seems that the natural divide between designer and developer has re-asserted itself. It is a natural divide and is common in most fields (one guy draws the car, another builds it).
Posted by: Mike W at May 10, 2007 5:42 AM
Great post Rich. I think that the success or failure of these emerging platforms is going to have as much to do with the tools around development as it will anything else. If I have the flexibility to open up my preferred editor and start hacking away without having to download a special IDE and learn a specific structure, there's a huge win there, as much as not limiting me to certain paradigms (in code or in design).
The most successful applications of these new technologies will be ones where the flexibility of their predecessors is maintained while taking advantage of the newer options afforded by them. And we may be a ways off from this.
Posted by: Chris LoSacco at May 9, 2007 10:11 AM