... says the under-qualified practitioner...
Fred
No, please don't take offense. Naturally I wrote and rewrote that statement a dozen times seeking to avoid offense. The comments in the preceding portion of your post indicate you have some real understanding of the factors involved, so please don't think you're being spoken ill of.
My cynicism aside, let me expand on this. The demand for web applications and software-as-a-service is growing dramatically. To fill this need, the industry draws a little from seasoned and experienced software developers and a lot from entry-level or transplanted novices. The disproportion arises from economic factors to be sure, but also from the response on the part of vocational schools that teach the rudiments of programming at an accelerated pace. Unless properly mentored by experienced people with a sense of real engineering practice, the product they produce ends up being of too low a quality or of unmaintainable design. The web development curricula in vocation schools trims out much of the "extraneous" practice (e.g., version control, design for test, requirements analysis) that actually ends up being the major determinant of a software product's commercial viability.
Sadly too few web design shops are willing to pay to have a seasoned mentor on hand. This means the
wunderkinder have free reign, and although they're doing their best, they don't know all the things they should be doing differently. They have to relearn how to make the wheel, and this costs their bosses and clients money. Or, worse, they have no interest in expanding their expertise.
My pet peeve about the web is the incredibly gratuitous use of javascript. Ever tried to surf with it turned off for security?
I was at Netscape as an OEM for much of the "should we or shouldn't we?" Javascript debate. Sadly I was on the "should we" side, but only because the alternative for rich content was Java, and at the time the Sun virtual machine was a horrible, undebuggable mess. A few people were still preaching the gospel that rich content itself was a mistake
in toto, but the Netscape founding fathers had already predicted that this would be where the web would evolve. They were correct, but unfortunately so were the static-content preachers: client-side executable content in web pages is a major source of security failures. Clavius.org is static content. It won't break your browser. It can't be hijacked to deliver malware. It is an example of the original intent of the worldwide web from back in the early 1990s. But even so, as others have noted, there are some new syntax compliance issues I should probably address...
It sound to me like web design is just another way of communicating where the uses people want to make of it are changing faster than the current skills of the designers, the tools they have to use and the budget for development.
Yes. As I mentioned above, the high demand for web-based technology creates a market for people who are minimally competent. And it also creates a market for enabling technologies that grow in an uncontrolled fashion -- the "undisciplined technical carcinoma" I described originally.
Web
design merges with web
development. The former emphasizes the user experience while the latter includes the programmatic logic underlying the reason you've visited a web site. One of the flagship graphic arts publications,
Communication Arts, now includes a category for interactive design -- i.e., web sites. What this means is that graphic artists are moving into the software space and are doing so with little relevant training, skill, or experience. One of my major clients is a web hosting and telecommunication company (which I'm basically re-engineering from the ground up). It's the one that hosts Clavius and now employs Kevin, the guy whose teenage prank
web page motivated me to look at the hoax claim originally. Yes, Kevin now actually reports partly to me and helps keep Clavius running. Savor the irony.
But incidental to my work for them I see a
lot of web code, and a
lot of it is absolutely the worst code I've ever seen. It's clear that many of these developers really have no clue how computers work. So much of it has been obviously cut and pasted from unrelated projects with no thought for fit. Certain graphic design firms ("We also do web development!") are the worst offenders, clearly marketing themselves as programmers in addition to artists, but having no demonstrable skill beyond bare functionality.
It's easy to learn enough computer skills and acquire enough helper componentry to create a visually compelling web page. But a web application typically has program code that generates the front-end presentation and a separate set of code that implements the back-end functionality, the "business logic." Junior programmers can do well in the front end coding, which is typically quite straightforward and can benefit most from even badly implemented code reuse. But the back-end logic typically requires more finesse and also means interfacing with data stores in a safe and efficient manner. It's this back-end code that ends up being poorly implemented by novice programmers or transplanted artists, and wreaking havoc in the web space.
The eagerness with which graphic artists and designers want to move into this lucrative line of work hasn't been matched by their proficiency. Here's a client-of-a-client who typically manages to get it right:
http://wearetopsecret.com . Check out their "careers" page:
http://wearetopsecret.com/enlist/ . Not only are these guys hysterical to work with, they have kept their software-developer position open for something like eight months now because they have been unable to find a candidate that meets their standards. I've seen what their standards are, so I think there's hope for the web-development world.