*Disclaimer: some of you will read this and think, "Yay, another 'Should designer's know how to code' blog post." And'll you'll be right. Or at least you'll think you're right. But it's not. Just sayin'.
I get in lots of discussions with other techies, other designers, and people who are nowhere in between, but just love to talk.
One of the discussions I always seem to get into - most likely because I have an opinion on the subject - is whether designer's should know how to code. Or, more specifically, the discussion about the options for designers (or just laymen) who CAN'T code, but want to build a website.
The part of that discussion that really interests me - apart from the designer's having a coding skillset piece - is the piece about people relying on software to make websites.
Okay, let's get the elephant out of the room: Adobe Dreamweaver Muse: I'm talking about you.
But I could just as easily be talking about any other popular software that exists which claims to be able to give the average computer user the ability to build a legitimate website without touching a lick of code.
Somehow that idea - the idea that one day software will exist that will give computer users the ability to build, edit, and publish websites and content on the fly without ever needing to touch code - is like a mythical unicorn.
The people that advocate for this perspective typically bring up Microsoft Word and use some silly line like, "I can publish documents with Word, and even style them, etc. and I never have to look at the source code of the Word document. So what makes websites any different?
The problem is that 9 times out of 10 the people using this line don't know a thing about software, programming languages, markup languages, or web technologies in the first place. So while they're acting like an expert on understanding computer concepts, they truly are ignorant of the subject. (My apologies to those who I've had this discussion with before if I'm making you out to sound like an idiot. You are clearly not. I'm clearly just trying to make a point here.)
In fact, one specific quote, taken right from the Adobe Muse promo video (this one is actually spoken by a qualified professional, but clearly scripted by a product marketing team) really gets my goat:
"People don't hand edit PostScript or PDF files for print. You know, and in 5, 10 years I don't think very many people will be coding in order to design websites."
SO... to answer the question of "what makes the web any different from XYZ software application you are using and why are websites any different from the output of XYZ application's files"...
There is a monumental difference between editing PostScript or PDF files by hand, and editing HTML and CSS for web documents. The difference revolves around matters of software ecosystem, and what we might call the "open source standards" on which the web is built.
You see, when you are using Microsoft Word, the reason you never have to think about the source code is not just because the software doesn't want you to have to - it's also because the software doesn't want to let you.
Microsoft Word - and most other software applications that run on your operating system - is a closed source, proprietary software application. Meaning: the people who wrote it don't ever want you to know how it works because they have a business model to maintain by selling said software. This is not sinister, or heinous, it's just business.
The web, however, is fundamentally different. The web is built on a system of open web standards. The software that runs web documents - aka web browsers - is often closed source. But the standards they use to display your web documents - aka web pages - are open standards, cultivated by the Worldwide Web Consortium (W3C) and published freely so that anyone can author web documents without needing some proprietary software to create said web pages.
These standards are things like HTML, CSS and JavaScript, which are at the core of the whole web. Which leads to another difference - with the exception of JavaScript which is still technically a scripting language - HTML and CSS are not even programming languages. One is a markup language, and the other is a style sheet language. The key difference being that programming languages require a pretty legitimate understanding of computer logic to work with, while markup and style sheet languages require a much lesser computer science understanding, so they are much more accessible to the average person (ie - without a computer science education).
SO...in getting back to the question at hand, there are really two response questions we need to ask:
1. Is such software that does this task well even possible (or realistic)?
Of course "any possible thing is possible" (thank you Dr. Foreman, my philosophy prof for that), but the real point here is: Is it possible that software can be written that would do as these unicorn-seekers wish for?
The answer is probably, "Yes." And since I'm not a programmer, I cannot offer a definitive opinion.
But what I can offer, are a few insights into challenges to making said software truly a viable product offering, starting with the moving target known as "Web Standards."
Those open source standards that I referred to a bit ago are the real issue with this whole thing. Going back to our Microsoft Word example, in Microsoft's case, Microsoft controls the standards that determine the code output of Word when you are creating a .DOC file. In other words, you just type stuff, and Microsoft determines how it works, and how the end product is created from a programming perspective.
But in the case of the web, such a company, like Adobe for example, does not control the standard for how web documents are to be written. The W3C does to some extent, and the entire web community also has a large say in how such standards progress.
So to be fair, the Adobe Dreamweaver Muse software team has to constantly aim to hit the moving target known as web standards with what their software is producing. A target which they do not control how it evolves, unlike in our Microsoft Word example.
2. Is such software really necessary, or in high enough demand to produce a business model?
The other big question here revolves around the demand for such software. I post the question merely because it must be asked, not because I'm certain I have the right answer. My opinion is actually Yes and No.
YES. Are there loads of people who if given a simple software solution to publish web content that requires no knowledge of coding would use it? Yes. Abso-friggin-lutely.
Would said people pay a significant price for the software rather than hiring someone to do it for them? Probably. But maybe not. A lot of the people who really do have an interest or need for publishing web content are not necessarily do it yourself type of people. Many are. But many are not. People who are running businesses don't always do their own accounting, or marketing, or etc. They hire people who know how to do it.
The average person, on the other hand, who can't afford to hire someone may find the cost of entry to buying a nice software package for a cool $400 or $500 greater than the cost of learning some basic markup languages to do it themselves.
But more specifically, the people who are already making the web I would say far and away would not be interested in software that takes the coding aspect away. Part of crafting a truly meaningful, accessible, standards compliant web document is personally handling the code. That's a part of the process that as a designer I find beautiful, and very fulfilling.
In 50 years...
I don't have the end all answer to what is going to play out in our industry over the coming decades. In fact, I only have an opinion.
My opinion is that in 50 years, software will not be replacing the need for people to know code in order to publish web content. Instead, the average person will become much more comfortable with code, and it will be commonly taught in schools along with English and Math.
I think rather than thinking that technology gets in the way of the creative process, people will see technology as part of the creative process, and code as part of building and creating beautiful things.
Or I could be completely wrong, and everybody will just be using Adobe Muse.
But I guess we'll just have to wait and see what the world looks like in 50 years...or at least the internet.