Posted on Monday, February 11, 2013
When asked what my hobbies are, I have to suppress the urge to laugh uncontrollably. My main "hobby," web development, became an obsession quite a while ago.
I originally got into web design because I wanted to learn HTML, or hypertext markup language, and make a web site or two. One day I met someone interesting on-line on a forum at which I hang out, and this person taught me the basics of building a web page. From that point on, I have steadily increased my knowledge and understanding of how some of the most common web technologies work, from HTML, for building the structure of a web page, to PHP, for dynamically generating a HTML page "on-the-fly," to AJAX, which is a web-browser-based technology that can be used to perform validation or manipulate a page while it is being displayed. As my knowledge of web development increases, I find myself wanting to know more and more, to the point that I have spent entire evenings reading tutorials and official specification documents to try and understand how I can (or cannot) get a web page to display a certain way. It is at times both amusing and infuriating how much code it takes to implement seemingly simple and ordinary effects on a web page, such as a drop-down menu or a field that updates in real-time.
An interesting side effect of learning web design: I have become something of a "standardista," meaning that I go to great lengths to make my web pages conform to web standards, and I have a certain amount of contempt for those web designers who don't conform to these standards. These "web standards" I keep mentioning? They were designed to provide for a universal implementation of certain web technologies, such that a web page viewed in one web browser should look very similar to the same page in another web browser. A page coded to web standards gets a lot closer to this ideal than, say, a web page built to take advantage of a special feature of a browser, such as the CSS filters available in Internet Explorer and it's derivatives, or prefixed styling attributes available in Mozilla- or Webkit-based browsers.
Of course, being a web developer brings me face-to-face with many ethical struggles. I have an obligation as an author to only relate information that is reliable and accurate, but suppose I want to discuss a topic for which I do not have a complete understanding? Do I state up front that I am not an expert, and risk losing a part of my audience simply because they assume that if I am not knowledgeable in this topic, I must therefore lack knowledge of related topics? Do I go out of my way to reference "trusted" subjects, at the risk of making my content harder to read? Or do I simply fudge the information I am shaky on, and hope no one ever calls my bluff?
Many web professionals build web sites for clients, which brings with it a struggle over how much responsibility we as web designers & developers have to ensure that the products we build and the services we provide are used morally and ethically. I myself would gladly build a nice web page for the local 4H group or Reading Club, but you would never, ever convince me to build a web site for the purpose of distributing, say, child pornography or bootleg media, but there are many designers who will simply wash their hands of a project and say, "I just build it. What they do with it is not my concern."
Another concern with regards to content is when we accept the need to censor that content. As a "red-blooded American" I believe everyone has a Constitutionally-guaranteed right to free and timely access to information. However, I am also a realist, and I know that there are times when I should not make certain information available. For instance: does Little Timmy deserve the right to seek out and review the exact ingredients and proportions to build powerful explosives out of common household cleaners and outdoor chemicals? You bet. Do I really want Timmy to have this knowledge? Not exactly, especially if he is the kind of kid that has been picked on by his classmates for most of his childhood. This would be one of those "situational" ethical decisions, where we base our response on the level of rational thought we believe our subject or subjects to be capable of.
To be a good web developer, I need to know who, what, and where my audience is, and I can find this information using various tracking technologies. Do I have to disclose that I collect this information? No. Should I? Maybe. The question to be asked here is, to whom the information I collect actually belongs. Since it is my domain and my site you are reading, it could be argued that you implicitly agree to share that information with me in exchange for whatever useful information I disseminate. But, it could also be argued that I am invading your privacy by collecting details of your personal computer, regardless of my altruistic motivations. If we agree I am ethically allowed to collect this data, then I now have a responsibility to safeguard that information from prying eyes. Spammers (people or organizations that send massive quantities of unsolicited email) would love to have access to my readers' personal information, as would "hackers" and pranksters.
In summary, while consciously considering the ethics of my projects while I build my web pages can often times create much more work for me, this hobby of mine ultimately benefits from that extra effort, as I will produce material I can be proud of, knowing that I did my best to be honest, concise, and responsible.