I remember when I first learned how to build websites. I would read books after coming home from my job testing software and I would build the simplest of web pages to practice what I read about. A few nights a week I took continuing education courses on my way toward earning a certificate in website design or something to that effect.
But the main way I learned to build websites was by trying to mimic sites I’d come across during my daily travels on the web by viewing the source code to see how they were built and then trying to recreate them.
I wouldd see a web page I liked or perhaps some effect in the design that I noticed, and I’d wonder how the developers of the site coded the page or the effect. Sometimes I’d stop what I was doing and view the source code. Sometimes I’d bookmark the page for later and first see if I could write my own code to do what I saw, falling back on the source when I was stuck.
The classes showed me the very basics of working online and how to think about designing websites. The books I read taught me a lot of theory about how things were supposed to work and they gave me examples to type and modify. However, it was viewing the source code of real sites that helped me learn how to write code to build real working websites.
Complex Sites and Complicated Tools
A few times this year, I’ve come across articles that have talked about the dwindling ability to view the source code of websites, in part because simple tools like the View Source menu command are going away and partly because the code behind websites has grown more complex and complicated.
A few of the articles suggested that maybe it’s ok if the ability to view source code easily isn’t there any more. Maybe it’s not as useful as it once was and perhaps there are other considerations that are more important. You’ve likely seen at least one of these articles.
- Everything Easy is Hard Again
- View Source – Snook.ca
- Different views on view-source
- View Source – CSS Tricks
- View Source in DevTools
I remember bookmarking the article and then completely forgetting about it, but a couple times since I’ve come across others referencing it. Frank Chimero’s original thought was sadness at the loss of view source and perhaps something of a plea to encourage everyone to write human readable code that allows young designers and developers to learn from our example.
The articles since seem to suggest that maybe it’s ok if we don’t. If web development has become more complex, so be it. Our job is to build the most performant and efficient sites we can and if that means they become less of a learning tool, then they will become less of a learning tool.
If you’ve been at this awhile, you’ve likely noticed that the View Source command has been removed from browsers in favor of more powerful developer tools. If you’re new at this, you may not ever have seen the View Source menu command.
Removing the menu command is not a huge loss, given that developer tools can do everything View Source could and much more. I certainly wouldn’t go back, though I have to admit I still on occasion rely on browser extensions that simply let me view the generated source code of the page in human readable form. Sometimes it’s the easiest and simplest way to see something, though I’ll be the first to admit it could be a case of me having settled into old habits.
Still, I have noticed that simply viewing the generated source code isn’t as helpful as it once was, in part because of the way websites are being developed
Is Something Being Lost?
I’m guessing you agree that the literal menu command isn’t important, but what about being able to generally read source code and learn from it?
We certainly have tools to help us make sense of websites even if some of those tools are a little harder to find and a little more complicated to use than the old menu command. True, “a little harder” and “more” are relative terms and the current set of tools are not exactly difficult to discover or use.
I would urge you to remember that you didn’t always know what you know now and what’s easy for you at the moment, may not be so easy for someone who’s just getting started.
I sometimes wonder how a younger me just starting out in web design and development would have learned from today’s more complex sites using more complex and complicated looking tools to understand how those sites are put together. Would today’s tools be simple enough to understand to make me feel like I could learn how the underlying code works? Would I be able to progress at a pace to keep me interested in learning more? I suspect they and I would.
I know performance is important. I’ve been writing about it here for much of the last two years. Education is also important. I understand the desire to minimize everything and move code into separate files, sometimes wrapped in other code more difficult to understand than basic HTML and CSS.
At the same time, I wonder if we are losing something. Might we discourage even a few people who would otherwise go on to have long careers as web developers.
My guess is that won’t happen to any significant degree. There’s no reason the way I learned to develop sites is the right way to learn how to do the same now. The web is different than it was fifteen years ago. It makes sense that learning how it works is different now too.
And while I think it’s a good thing for people in the industry to help the next generation of developers learn the craft, I don’t think it’s the responsibility of any specific web designer/developer to do this.
Does it Matter?
With that said, I wonder how much it will matter. Things change. The way we develop sites changes and continues to change. It’s changing to the point where I wonder how many people will even be writing code to build sites in a few years.
Larger organizations will likely hand code in-house for awhile, but for the majority of websites and people who want them there are a growing number of do-it-yourself tools that allow you to build a site without ever looking at a single line of code.
It’s possible that being able to see the source code behind anything becomes more and more irrelevant to more and more people. Every day it seems like another WYSIWYG workflow is available, WordPress Gutenberg being a recent example. I’ve thought for some time that freelance web design and development will mostly go away in its current form and sooner that people might expect.
I would think as the DIY tools improve, micro business owners will either turn to those tools themselves or to artistic friends and relatives who won’t write any code, but will instead work with the available WYSWYG tools.
It’s easy to envision a future where reading the actual code will be necessary for fewer and fewer people and those who do need it will be able to find the tools they need and learn how to use them. They’ll be interested enough to not let the growing complexity of the web be an obstacle they can’t overcome.
That might not describe me from fifteen years ago, but so what? I’m sure a future version of that me will find plenty of things to be interested in, perhaps the WYSIWYG tools will be more than enough. And like I said, fifteen years ago me probably would have found the tools and whatever else I needed to learn.
It might sound harsh to say, but the person who doesn’t figure out how to view human readable source code today with all the pre and post developer tools, and examples of code online, probably isn’t all that devoted to learning how to build websites beyond a passing interest of the moment.
Life is not easy or fair. There are challenges no matter what you want to do. Having to work a little harder to find human readable source code is one of the lesser challenges you’ll come across if you want to develop websites.
At the same time it wouldn’t hurt if some working developers did offer simpler human readable versions of their code somewhere, perhaps as an expanded colophon of sorts on their sites. And if you need a little motivation, I bet the first few people who build out this kind of resource will become a go to destination and pick up a lot of extra traffic.
Download a free sample from my book, Design Fundamentals.