<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" >
	<channel>
		<title>Echo Enduring Blog &#187; html</title>
		<atom:link href="http://blog.echoenduring.com/tag/html/feed/" rel="self" type="application/rss+xml" />
		<link>http://blog.echoenduring.com</link>
		<description>A Web and Graphic Design Blog</description>
		<lastBuildDate>Thu, 01 Dec 2011 13:56:22 +0000</lastBuildDate>
		<language>en</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
		<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
			<title>Wireframing is About More than Just Visual Layout</title>
			<link>http://blog.echoenduring.com/2011/07/19/wireframing-is-about-more-than-just-visual-layout/</link>
			<comments>http://blog.echoenduring.com/2011/07/19/wireframing-is-about-more-than-just-visual-layout/#comments</comments>
			<pubDate>Tue, 19 Jul 2011 14:00:51 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[development]]></category>
			<category><![CDATA[html]]></category>
			<category><![CDATA[Websites]]></category>
			<category><![CDATA[wireframing]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=5395</guid>
			<description><![CDATA[In this article, I will be drawing on my own recent experience to consider the topic of wireframes. Most specifically, I will be considering how wireframes are about more than just establishing the visual layout for a website and should not be created entirely in a vacuum, but rather with thoughtful consideration to structure and even HTML.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.echoenduring.com%2F2011%2F07%2F19%2Fwireframing-is-about-more-than-just-visual-layout%2F"><br /><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.echoenduring.com%2F2011%2F07%2F19%2Fwireframing-is-about-more-than-just-visual-layout%2F&amp;source=echoenduring&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br /></a></div><p>Over the past couple of days, I have been working on an initial concept/prototype for a new, interesting website. As I normally like to do whenever I am tackling a new project, I started by opening up a notebook and making a few really simple layout sketches for how I initially thought the page should be laid out (at this stage, I am just working the layout for a single type of page, with others following later). After discussing these initial concepts with members of the team I am working with, I very logically moved on to the creating more fully realized wireframes. For me, this meant printing of some grids and using a pen to draw and label content boxes.</p><p>The process, however, started me thinking about wireframes, their importance and the role(s) that they play in the design and development process. More specifically, it got me thinking about how wireframing— even in the rudimentary pencil on a paper grid method that I use—may be even more important and useful than it may initially appear, or than we like to give it credit for.</p><p>Any form of design—but especially web design (or anything else that actually requires a tangible user interface)—is about more than just what the product <em>looks</em> like. It also needs to consider its audience, its purpose and its media. On the web and in application development, this means questions of usability and user experience, interaction and information architecture, all of which are at least as important—and likely more so—than the what something looks like.</p><p>Yet, in the same way that “design” has a tendency to be understood merely as the creation of a unique (and often disconnected) visual aesthetic, so to can wireframing have a tendency to be relegated solely to the realm of layout, when it is, in fact a tool with a much broader scope.</p><h3>It&#8217;s All About Structure</h3><p>Often, many good designers will approach the question of layout from the perspective of arranging the elements on a page in such a way as to create something that is aesthetically pleasing to look at. Conversely, others will approach the layout as a matter of arranging elements in a logical, predictable and consistent fashion, which leads to improved usability and a better user experience.</p><p>Great designers do both, and I wouldn&#8217;t be at all surprise to learn that 9 times out of 10, this is generally reflected in their wireframing.</p><p>Earlier this year Nick Haas authored an <a href="http://www.orbitmedia.com/blog/7-reasons-to-wireframe">excellent post</a> on why wireframing is important and should not be glossed over in an effort to jump straight into the “real” design (and I use that term somewhat ironically) that determines a site&#8217;s appearance. In this article, Haas rightly points out that wireframing:</p><blockquote><p>forces everyone to look objectively at a web site’s ease of use, conversion paths, naming of links, navigation placement and feature placement. <strong>Wireframes can point out flaws in your site architecture</strong> or how a specific feature may work.</p></blockquote><p>From this perspective, wireframing is as much about the underlying structure of a site as it is about the visual dressing that we drape over that structure. It&#8217;s about planning the skeleton or framework on which the site will ultimately be built. And, while this skeleton will be reflected in a visual manner, with a number of sketched or grey boxes arranged in a particular fashion, that does not mean that the wireframes themselves are at all limited to the visual aspect of the site.</p><p>When done properly, those boxes tell us more than what kind of grid to use or how many CSS floats will be required. Through their positioning and interaction (and, ideally, accompanying notes), they bring a site&#8217;s underlying structure to the forefront. If that structure is solid and logical, then it will be easily be able to accept the aesthetic trappings that will eventually formulate its final apperance.</p><p>On the other side of the coin, if there are issues or flaws in that structure, those problems can be readily addressed (and hopefully fixed) at this early stage of the process. This certainly beats having nearly completed the entire design only to discover some fundamental structural flaw that forces you to tear everything apart, fix the problem and then try to put it all back together again.</p><p>Wireframing can help you catch these issues early, saving time and precious budget dollars.</p><h3>Wireframing With HTML</h3><p>There has been a lot of discussion at different points about the merits of designing in the browser, as opposed to creating flat mockups in an application like Photoshop. There are strong opinions on both sides of the fence. My own view is somewhat less concrete, in that I feel that approaching any new web design project is really a matter of context, and the tools and techniques that I chose to employ will depend on what I am looking to accomplish.</p><p>That being said, however, while I may not always start in the browser (or even get to it early), I do feel that it is vitaly important to always be designing with the browser in mind. In other words, to consciously design within the constraints and limitations of HTML and CSS. With new and emerging technologies, these constraints are certainly shrinking, but there remain certain things that we still can&#8217;t do (or things that we <a title="Are We Taking CSS Too Far?" href="http://blog.echoenduring.com/2010/08/14/are-we-taking-css-too-far/"><em>shouldn&#8217;t</em> do</a>).</p><p>Moreover, it is important to always keep in mind that when we are designing for the web in the traditional sense (apps, I believe, may be somewhat different in this regard), what we are actually doing is creating the visual skin that will be placed over our standard HTML.</p><p>We&#8217;ve already touched on how wireframing is very much a matter of creating the initial skeleton or structure for a site. In practice, the HTML that we craft becomes the tangible result of that structure. It the context of the document, it brings semantics and meaning to the content, while simultaneously providing the key hooks that will be required to wrap that same content in the visual layout that we have created.</p><p>For this reason, I believe that wireframing and HTML are (or at least should be) fundamentally connected, to the point where I am increasingly finding myself actually <em>writing out</em> simple HTML structures at the same time that I am creating my wireframes. In my experience this has a number of key benefits:</p><ol><li>It helps remind me that wireframing is about <em>more</em> than just the visual aesthetic of the site.</li><li>It helps keep my mind &#8220;in the browser&#8221; so to speak.</li><li>It helps me think of structure in a broader context. By constantly working out how the layout would need to be represented in HTML, I am better able to consider the placement of my wireframed boxes and make important decisions about the relationships <em>between</em> those boxes, both visually and structurally.</li></ol><p>For me, these are all key components to my design and development process—components which help strengthen the quality of my work and ensure that the structure and layout are more than just a cool visual treatment. As such, I plan to continue to pair my traditional, rough pencil and paper wireframing with equally rough HTML structures, especially as I dive deeper and deeper into world of responsive design.</p><p>Of course, while the <em>concept</em> of wireframing generally serves the same basic purpose from designer to designer (or team to team), the <em>techniques</em> that are used in the process can be very different. As already noted, I like to work more traditionally with pencil and paper. Some designs will use simple grey boxes in Photoshop or Fireworks, while others will actually use applications and other tools that are specifically geared towards wireframing. Regardless of the technique that is used, I believe that the important relationship between these wireframes and HTML still exists and needs to be considered.</p><p>The only “exception” would be for those designers who wireframe by creating basic, lightly styled HTML documents right out of the gate. Of course, in these cases the exception is not that HTML should not be considered, but rather that it is no longer a matter of considering the relationship between two seemingly autonomous elements. Instead, the HTML <em>is </em>the wireframe, which only serves to further underscore the point that I&#8217;ve been driving at through the entire article: that a thorough consideration of HTML should be an integral part of any wireframing process.</p><p>How that manifests itself is up to you.</p><p>For those readers who may not be all that familiar with wireframing, feel free to check out Grace Smith&#8217;s “<a title="Permanent Link to Get Wireframing: The All-In-One Guide" href="http://www.gracesmith.co.uk/get-wireframing-the-all-in-one-guide/" rel="bookmark">Get Wireframing: The All-In-One Guide</a>” for a full complement of resource materials. There are all kinds of wicked resources to help get you started, or to help you dig deeper into the concept.</p><p><em>article photo my <a href="http://www.flickr.com/photos/jolly_sonali/5790735754/in/photostream/">sonali sridhar</a></em></p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2011/07/19/wireframing-is-about-more-than-just-visual-layout/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		</item>
		<item>
			<title>A Simple Attribute for More Semantic HTML Forms</title>
			<link>http://blog.echoenduring.com/2010/12/08/more-semantic-forms/</link>
			<comments>http://blog.echoenduring.com/2010/12/08/more-semantic-forms/#comments</comments>
			<pubDate>Wed, 08 Dec 2010 18:31:46 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[forms]]></category>
			<category><![CDATA[html]]></category>
			<category><![CDATA[semantics]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=4826</guid>
			<description><![CDATA[In this article, we will take a brief look at the concept of semantics and the Semantic Web, and then turn to one little, often overlooked but extremely useful little HTML attribute that can really help make your web forms more semantic (assuming you're not using it already). <p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.echoenduring.com%2F2010%2F12%2F08%2Fmore-semantic-forms%2F"><br /><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.echoenduring.com%2F2010%2F12%2F08%2Fmore-semantic-forms%2F&amp;source=echoenduring&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br /></a></div><p>Semantics, semantics, semantics—sometimes it feels like it has become just another clichéd buzzword that we like to throw around the web these days. Obviously it&#8217;s more than that though. Semantics has everything to do with meaning. More specifically, in the context of web design/development and the deployment of markup, it has to do with meaning in a very particular context.</p><p>I&#8217;ve always tended to think of semantics in web design as being primarily a means of accurately describing content. In fact, that&#8217;s how I have described HTML to a number of the people who have asked me questions as they were getting started using the language. The tags in which we wrap our content essentially describe what the content is, and as the sort of person who obsesses over grammar, structure and the meaning instilled by language, this is a huge part of the reason that I preach the necessity of using the correct tags in your HTML.</p><p>Using the wrong tag is basically telling us that the content is something that it&#8217;s not.</p><p>This understanding of semantics is, well, primarily semantic. In other words, it concerns itself with meaning <em>for meaning&#8217;s sake</em>. Yeah, trust the guy with the English degree to make <em>that</em> argument.</p><p>There are others on the web, however, who (being far more intelligent than I) look beyond the semantics of semantics and theorize the concept of what they call the Semantic Web. All the way back in 2001, Tim Berners-Lee, James Hendler and Ora Lassila authored an article published in Scientific America about this very topic. Simply entitled &#8220;<a href="http://www.scientificamerican.com/article.cfm?id=the-semantic-web">The Semantic Web</a>,&#8221; the article envisions meaning (semantics) as becoming the common bond the would bring information from different and even unrelated sources together in a way that could be readily processed by software, due simply to the common shape of meaning. In the article, the authors write:</p><blockquote><p>The Semantic Web will bring structure to the meaningful content of Web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users.</p></blockquote><p>It is a fascinating idea, and though we will probably get there one day, I don&#8217;t think we&#8217;re there yet. There are probably thousands of semantic &#8220;content pockets&#8221; all over the web, but the glaring inconsistencies between sites and other data models are probably still polluting the waters too much for any truly extensive semantic tasks to be readily performed by the envisioned &#8220;agents&#8221;</p><p>That being said, however, it is <em>still</em> a good practice to work at creating the most semantically accurate code that we can today. It is important simply for the sake of meaning, but also to train ourselves for the day when semantic coding will be more than just a best practice that we as web designers and developers like to talk about amongst ourselves. The chances are <em>very</em> good that one day, semantics will become a true <em>requirement</em>.</p><h3>But What about Forms?</h3><p>Yes, this article <em>is </em>about forms. We&#8217;re getting there.</p><p>If you <a href="http://twitter.com/echoenduring">follow me</a> at all on Twitter, you may have seen that I am currently working on an application called Survd, which will allow users to create and manage surveys (on other data collection forms) right from their own websites. As such, I&#8217;ve been spending a lot of time working with forms lately, and it occurred to me that, up to now, I had not been creating forms that were quite as semantic as they could have been.</p><p>Why, you ask?</p><p>Simply because I had previously been unaware of a somewhat obscure little attribute of the &lt;label&gt; tag, called &#8220;for&#8221;. In a nutshell, this little attribute actually allows us to specifically <em>declare</em> the input field that a particular label actually describes. For example, I could define a label and input in HTML like this:</p><pre><code>&lt;label&gt;Name&lt;/label&gt; &lt;input type="text" name="name" id="yourname" /&gt;</code></pre><p>As human beings looking at this, code we can obviously deduce that the label is intended to describe the input field. However, from a purely technical standpoint, the label and the input are not related to each other in any way other than their relative proximity. An extremely intelligent program might be able to correlate the name value of the input with the contents of the label, but what if we had something like this?</p><pre><code>&lt;label&gt;What do they call you?&lt;/label&gt; &lt;input type="text" name="name" id="yourname" /&gt;</code></pre><p>Now there is no textual relationship at all. The elements may rest right beside each other in the document, but is it really safe for any program parsing the document to <em>assume</em> that this proximity <em>automatically</em> implies relationship? Probably not. There are too many possible exceptions.</p><p>That&#8217;s where the for attribute comes in really handy. Now, we can take our same block of code, but add the attribute in:</p><pre><code>&lt;label <strong>for="yourname"</strong> &gt;What do they call you?&lt;/label&gt; &lt;input type="text" name="name" id="yourname" /&gt;</code></pre><p>Instantly, this establishes the desired relationship! The label now explicitly defines the connection between the input and its label through the common value held by the id attribute of the input. Using this attribute also brings the added usability benefit of allowing the user to click on the label to bring focus to the related input element. It&#8217;s a small touch, but in many ways, isn&#8217;t that what a lot of usability is all about—those small touches that help to make a site or web app super user friendly?</p><h3>Conclusion</h3><p>I&#8217;m sure that there are plenty of people out there who already knew about the for attribute. Until, recently, I wasn&#8217;t one of them. It&#8217;s one of those oddly obscure attributes that you don&#8217;t read a lot about and which doesn&#8217;t do anything overly visible of flashy to draw attention to itself. As such, in my continuing journey of self-education, it was unfortunately something that got lost or glossed over.</p><p>I&#8217;m glad to have it well in mind now, though, and I hope that those of my readers who were in the same boat as me will also benefit from the knowledge. I&#8217;ve already gone back and checked through my comment form on the blog (attributes were already there, thanks to rock-solid coding from WordPress), and will be improving the semantics of all my forms of the future by explicitly linking my labels and inputs.</p><p><strong>What about you? Are you so familiar with the for attribute that it&#8217;s like second nature to you now? Or, did you come into this article like me, having somehow missed it? </strong></p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2010/12/08/more-semantic-forms/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		</item>
		<item>
			<title>HTML (and CSS) Do Not a Website Make</title>
			<link>http://blog.echoenduring.com/2010/10/06/html-and-css-do-not-a-website-make/</link>
			<comments>http://blog.echoenduring.com/2010/10/06/html-and-css-do-not-a-website-make/#comments</comments>
			<pubDate>Thu, 07 Oct 2010 02:53:08 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[CSS]]></category>
			<category><![CDATA[html]]></category>
			<category><![CDATA[process]]></category>
			<category><![CDATA[Website]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=4520</guid>
			<description><![CDATA[As web designers and developers, we talk a lot about HTML and CSS. And, with the emergence of HTML5 and CSS3, it seems as though we are talking about them more than ever. Yet, despite all the great discussion, websites are about more than just HTML and CSS. In this article, we will look at the concept of the website as a larger, unified body of technologies and content, and consider the importance of this understanding for design.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.echoenduring.com%2F2010%2F10%2F06%2Fhtml-and-css-do-not-a-website-make%2F"><br /><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.echoenduring.com%2F2010%2F10%2F06%2Fhtml-and-css-do-not-a-website-make%2F&amp;source=echoenduring&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br /></a></div><p>Recently, one of my awesome Twitter followers was asking me a few questions about getting started with WordPress. From what I could understand, this individual worked for an agency or firm where he created website designs in Photoshop, and then sent the PSD on to another team member in order to have it coded up. Now, he was working on setting up a personal site and, while he could rock off a custom site design, he openly admitted that he knew nothing about coding and asked me for a little help getting started.</p><p>After a bit of discussion, I suggested that the best place to begin would be to start learning the basics of HTML, and then CSS. After all, any great theme (WordPress or otherwise), ultimately begins with good, well-formed HTML and CSS.</p><p>Still, this interaction got me thinking (as I am prone to do) about the roles of both HTML and CSS within the larger context of a website. Through my contemplation, I began to <em>consciously</em> formulate the thought that, while these two technologies are clearly an important part of web design, they are only ever single pieces of the puzzle. In other words, there&#8217;s a lot more to a website than just its markup and style.</p><p>This isn&#8217;t some sudden realization that is going to dramatically change the way that I approach web design. I wouldn&#8217;t even say that it&#8217;s really anything all that new to me. It&#8217;s more like putting a structure to something that&#8217;s always been in my mind, but which I have simply never articulated. So, in this article, I would like to undertake that articulation, and offer my own understanding of what defines the a website. I think it might be valuable.</p><h3>A Page vs. A Site</h3><p>One of the most important distinctions, and probably the best place to start, is by differentiating the concepts of the web page as opposed to an actual website. A web <em>page</em> is what&#8217;s loaded in the browser, and is generally a combination of text, images, video and other content. HTML gives the page its structure, while CSS provides (or <em>should</em> provide) the visual appearance.</p><p>On the other hand, a website at its most fundamental level can be understood as comprising a network of individual pages, which are all linked in some (usually) logical and predictable manner. Back when I first started this web design thing, most sites were comprised of a number of unique and separate HTML documents, all located in the same folder, or within a hierarchy of folders, and each containing links to many (and sometimes all) of the other pages that made up the site.</p><p>Today, of course, things have become a bit more ambiguous, with the introduction of content management systems and dynamic content fed to us through technologies like jQuery or AJAX. When using a system like WordPress or Concrete5, we&#8217;re not focusing on creating static pages (though they may be generated behind the scenes for caching purposes). Instead, we build theme and template files, which have designated content areas that are populated with data extracted from a mySQL database.</p><p>From a maintenance perspective, this kind of thing is certainly a godsend, since we don&#8217;t have to manually go through hundreds, or even thousands of individual pages to make a single change to the design. Fundamentally, though, it doesn&#8217;t really change the way a website is structured.</p><p>Whether we are looking at a site comprised of static HTML documents or one that is fully CMS-driven, we still have “pages” that exist at unique URLs. The content found at these URLs may vary significantly on some sites, like Facebook – where the home page features different “news” everyday, for every different users – but the basic concept of structure still exists. Our profiles have the same URLs, as do our Fan Pages. The content simply varies based on what our “friends” are doing.</p><p>This distinction, though not perfect (as we shall see below), is an excellent starting point, as it emphasizes the importance of the unity of a site.</p><h3>Unity</h3><p>But what about single page websites? There are thousands and thousands of such pages out there, featuring all of the important content within a single HTML document, elegantly styled with CSS. Do these sites contradict everything that I have been suggesting so far? Or, am I somehow suggesting that single page websites are not, in fact, websites at all?</p><p>I would say no on both counts.</p><p>I will admit that this idea did make me stop and ponder these very same questions. After some contemplation, however, I reasoned that there is nothing that necessarily <em>requires</em> a website to have more than a single page. In looking at both the fact that most sites do have multiple pages, and the obvious success of single page sites, I would actually suggest that a website comprises the entire collection of unique URLs that exist for a given location on the internet (which could be an complete domain, a particular subdomain or even an individual folder).</p><p>To take this back to the original premise on which we began this discussion, we can think of a website as a singular unit, which ultimately equals more than the sum of its parts. It&#8217;s kind of like looking at a MacBook (or any other kind of technology). Taken on their own, its individual parts really aren&#8217;t worth all that much. Taken together, however, these parts create the powerful machine, and a popular tool among many of you designers out there.</p><p>A website is much the same. CSS without HTML is entirely meaningless, while HTML without CSS is extremely plain and unattractive. JavaScript and its various frameworks can&#8217;t accomplish all that much outside of the DOM. When it comes to content management systems like WordPress, the mySQL database is useless without the PHP (or other sever side language) to extract the information, and the PHP itself needs to generate HTML (usually through a template) in order to display that information in the browser. And, of course, this entire network of technologies means absolutely nothing to the user without content.</p><p>So, when a website is working properly, all of these different elements come together in (what should be) a beautiful symphony of interaction and interrelationships that from the backbone of the interface that you design to connect your users with your content. At the same time, that content – represented by either a single page or a network of pages – also works together to round it all off and complete the entire, unified package that is the website.</p><p>Clearly, then, a site is much more than just its HTML and CSS.</p><h3>Purpose</h3><p>There is, however, one more piece to this website puzzle. Even after all the technologies have been accounted for, and we&#8217;ve grasped the important role of great content, there still remains one important concept to consider. That concept is <strong>purpose</strong>.</p><p>Every website should have a purpose. It may be to inform potential customers about your business (probably one of the most common types of websites). It may be to function as an informational resource. It may be to connect people with other people. It may be to showcase yourself, or even simply to entertain. Whatever the purpose is, it is ultimately the core of the site, the nucleus around which everything else that we have looked at so far is ultimately wrapped.</p><p>However, while HTML and CSS do not a website make, when it comes to this question of purpose it is entirely possible to build a beautiful, functioning website full of content, but which ultimately has no real purpose. Unfortunately, this well crafted but purposeless website is more than likely destined fail and fizzle even faster than a poorly designed site with a clear and identifiable purpose.</p><h3>Implications on Design</h3><p>As I mentioned earlier, I don&#8217;t think that there is anything all that revolutionary or earth shattering to what I am saying here. Most competent web professionals will probably read all of this and find that they already knew it. But the point isn&#8217;t whether you <em>know</em> it; the point is whether or not you <em>think</em> about it.</p><p>Sometimes, it seems as though our design processes can fragment what is ultimately intended to be a unified product. The typical process that I seem to see from the design community goes something like this:</p><ol><li>Simple wire framing on paper (maybe)</li><li>Design in Photoshop</li><li>Code up the design in HTML and CSS</li><li>Develop a theme from the HTML and CSS</li><li>Install the CMS</li><li>Import content</li><li>Find another client and repeat</li></ol><p>At each stage, we tend to be focused on one or two parts of the larger project, and I have to wonder how much time we spend thinking about the <em>other</em> parts. For instance, if you&#8217;re working in Photoshop, are you already looking down the line, towards coding the HTML and CSS? Are you considering the specific capabilities of your CMS? Have you even <em>decided</em> on a CMS yet (assuming that you don&#8217;t always use the same one – which I don&#8217;t)? How do the answers to these questions ultimately inform the design decisions that you are making from inside Photoshop?</p><p>Asking yourself these questions can certainly make your job easier (or your developer&#8217;s job, if you only do the Photoshop layout), but they can also serve an even more important role, by bringing all the pieces of the puzzle together, and forcing you to consider the website more as a single entity rather than a collection of separate pieces.</p><p>I think that&#8217;s where this discussion becomes <em>truly</em> important. The more you consider the website as a whole at each individual stage, the better equipped you will be to make choices that will ultimately help the site succeed by achieving its ultimate purpose. It&#8217;s all about unity.</p><p><strong>What do you think? Do you consider the website in its entirety through every stage of your process? Do you have anything that you&#8217;d like to add or argue against? Be heard! Leave a comment.</strong></p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2010/10/06/html-and-css-do-not-a-website-make/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		</item>
		<item>
			<title>Language and Metaphor: An Alternate View on Coding for the Web</title>
			<link>http://blog.echoenduring.com/2010/03/05/language-and-metaphor-an-alternate-view-on-coding-for-the-web/</link>
			<comments>http://blog.echoenduring.com/2010/03/05/language-and-metaphor-an-alternate-view-on-coding-for-the-web/#comments</comments>
			<pubDate>Fri, 05 Mar 2010 05:38:18 +0000</pubDate>
			<dc:creator>Matt Ward</dc:creator>
			<category><![CDATA[Articles]]></category>
			<category><![CDATA[coding]]></category>
			<category><![CDATA[CSS]]></category>
			<category><![CDATA[html]]></category>
			<category><![CDATA[language]]></category>
			<guid isPermaLink="false">http://blog.echoenduring.com/?p=2704</guid>
			<description><![CDATA[Coding websites is often thought of as being a highly technical craft, but that fact remains that the foundation of all coding is the languages that are used to do it. In this first post in a two part series, we are going to take a different view of coding for the web, by looking at various coding languages as they relate to actual, human language.<p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.echoenduring.com%2F2010%2F03%2F05%2Flanguage-and-metaphor-an-alternate-view-on-coding-for-the-web%2F"><br /><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.echoenduring.com%2F2010%2F03%2F05%2Flanguage-and-metaphor-an-alternate-view-on-coding-for-the-web%2F&amp;source=echoenduring&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br /></a></div><p>Earlier this week, I posted an article by Amber Weinberg, entitled “<a href="http://blog.echoenduring.com/2010/03/02/should-designers-know-how-to-code-thoughts-from-a-developer/">Should Designers Know How to Code? Thoughts From a Developer</a>.” In that article, Amber writes about her own experiences as a front-end developer and comes to the basic conclusion that, while not all designers actually need to code their designs, they should understand the basics of what is and is not possible (or at least desirable) when it comes to web design.</p><div id="attachment_2713" class="wp-caption aligncenter" style="width: 510px"><img src="http://blog.echoenduring.com/wp-content/uploads/2010/03/language-and-metaphor.jpg" alt="Language and Metaphor: An Alternate View on Coding for the Web" title="Language and Metaphor: An Alternate View on Coding for the Web" width="500" height="500" class="size-full wp-image-2713" /><p class="wp-caption-text">Language and Metaphor: An Alternate View on Coding for the Web</p></div><p>She also notes that coding “is another language.” As a designer with a background in literature, this just added fuel to something that I had already been thinking about: namely the idea of how coding languages like HTML, CSS or JavaScript are related to human languages like English.</p><p>I&#8217;m no master coder, but I&#8217;ve been working on websites for well over 10 years now, and in my experience there are essentially four types of languages at work on the internet (both font-end and back-end). These include mark-up, style sheets, programming and database queries. Each type of language has a different general purpose, which is actually reflected in its general syntax and structure. In this article, which will be the first in a two part series, I want to look at these four types of coding languages, and consider their purposes through various metaphorical comparisons to human (written/spoken) language. </p><p><span id="more-2704"></span></p><h3>Some Thoughts on Language</h3><p>First, though, I would like to consider the more general purpose of all languages, which is to communicate. For the purpose of this article, I have a series of ideas that I want to present to you, my readers. To do so, I carefully select strings of words and punctuation with which to form sentences. These sentences then form paragraphs. As you read, you recognize the words, then the combination of words, the sentences and so on. As you recognize, you interpret and as you interpret, you derive meaning. </p><p>If the language is used properly (and I hope that it is), the message that I want to convey is delivered from me to you. </p><p>This is the fundamental purpose of all language, and the various coding languages that we are going to look at are really no different. Each exists to communicate some message from one entity to another. The differences emerge in the form of what those entities are, and the message that is being communicated.</p><h3>Mark Up – Descriptive Language</h3><p>Let&#8217;s start with the granddaddy of all web language types: mark-up. The most common form of mark-up has to be HTML, in its various forms and derivatives. That&#8217;s where I started with coding for the web, and I&#8217;d say it&#8217;s a pretty safe bet to say that it&#8217;s where almost every other web developer started too. Other forms of mark up include XML, or the hybridized XHTML, which is essentially just HTML that conforms to the more rigid syntactical rules of XML. </p><div id="attachment_2716" class="wp-caption aligncenter" style="width: 510px"><img src="http://blog.echoenduring.com/wp-content/uploads/2010/03/mark-up.jpg" alt="HTML is probably the most well known form of mark-up" title="HTML is probably the most well known form of mark-up" width="500" height="175" class="size-full wp-image-2716" /><p class="wp-caption-text">HTML is probably the most well known form of mark-up</p></div><p>Regardless of what specification we&#8217;re talking about, though, the purpose of all markup – in it&#8217;s purest form – is simply to describe content. A document is marked up with various tags, which should do nothing more than indicate the purpose of each part of the document. Consider this simple example.</p><p><code><br />&lt;h2&gt;Introducing &lt;i&gt;The Second Dive&lt;/i&gt;&lt;/h2&gt;</p><p>&lt;p&gt;&lt;i&gt;The Second Dive&lt;/i&gt; is a completely fictional novel that I have made up to write this simple paragraph about. There may actually be a novel titled &lt;i&gt;The Second Dive&lt;/i&gt;, but I have never heard of it, so I am just going to write this out for a few more words. Now it is finished&lt;/p&gt;<br /></code></p><p>What we have here is just some really basic HTML (without the proper document tags, of course). First, we define a second level heading with the &lt;h2&gt; tags (opening and closing). Everything that falls between these tags is considered a second level heading. Next, we define a single paragraph using the &lt;p&gt; tags. Again, everything between those tags is considered to be a single paragraph. </p><p>You will also notice that I&#8217;ve used the &lt;i&gt; tag, which indicates that its contents should be italic. I&#8217;ve done this because it is proper to set the title of any novel, film, play or other “long” work in italics. I&#8217;ve also done it because it gives me a great excuse to talk about description versus formatting. </p><p>Remember, mark-up is a descriptive language, and each tag is like a different description. We could also use the &lt;cite&gt; or &lt;em&gt; tag to make something appear in italics, but those tags have different meanings than the &lt;i&gt; tag. The &lt;em&gt; tag is basically saying that there should be emphasis placed on its content. Conversely, the &lt;cite&gt; tag defines its content as the citation for a quote. </p><p>Neither of these apply to our title. We don&#8217;t want the title to be emphasized, and it&#8217;s not quite a citation either. As such, the &lt;i&gt; tag likely provides the best description for the title of our fictional book. Since mark-up is all about describing our content, then, the &lt;i&gt; tag is clearly the best choice!</p><h3>Styles – Sensory Language</h3><p>If mark-up is basic descriptive language, style sheet languages like CSS (Cascading Style Sheets) are the sensory language that gives life to that description. As such, it is an add-on type of language, that expands the description of a given element.</p><p>I like to think of it like this. Mark up is like a noun, which literally states what something is. For instance, I can point to an object and state that it is a car. In doing so, I have described what it is, and (if you&#8217;ll allow me to extend the metaphor) “marked it up”.</p><div id="attachment_2718" class="wp-caption aligncenter" style="width: 510px"><img src="http://blog.echoenduring.com/wp-content/uploads/2010/03/style-sheets.jpg" alt="CSS adds on to the structure created by HTML mark-up" title="CSS adds on to the structure created by HTML mark-up" width="500" height="175" class="size-full wp-image-2718" /><p class="wp-caption-text">CSS adds on to the structure created by HTML mark-up</p></div><p>Styles, however, are more like adjectives, which add extra values or properties to the noun. Now, if I point to the same object and state that it is a large, red car, the basic understanding of what the object is doesn&#8217;t change – it is still a car. However, we also have additional descriptive information that tells us that it is large and red. </p><p>We can think of styles in much the same way. They hook into HTML and add in various bits of information (predominantly for visual rendering) that exist independently of the mark-up itself. For example, this following rule would add extra information to the second level heading from the our HTML sample:</p><p><code><br />h2{<br />&nbsp;&nbsp;color: red;<br />&nbsp;&nbsp;font-size: 1.3em;<br />&nbsp;&nbsp;font-weight: bold;<br />}<br /></code></p><p>In a nutshell, this styling indicates that all &lt;h2&gt; tags are also to be coloured red, rendered at 1.3 times the basic font size and to be bolded. To translate into relative English, whenever a browser sees and &lt;h2&gt; tag, it understands and renders the content as a large, red and bolded second-level heading. The style adds to the mark-up to make it richer.</p><h3>A One Sided Relationship</h3><p>It also helps to understand the relationship between mark-up language and styling language as being entirely one sided. Styles cannot function without mark-up, but the reverse is not exactly true. Let&#8217;s look at another literary example. Currently, I am reading the novel <i>The Awakened Mage</i> by Karen Miller. Allow me to quote the opening passage. </p><blockquote><p>With one callused hand shading his eyes, Asher stood on the Tower&#8217;s sandstone steps and watched the touring carriage with its royal cargo and Master Magician Durm bowl down the driveway, sweep around the bend in the road and disappear from sight. Then he heaved a rib-creaking sigh, turned on his heel and marched back inside.</p></blockquote><p>Now, let&#8217;s look at the same passage with all of the adjectives (or adjective-like phrases) removed.</p><blockquote><p>With one hand shading his eyes, Asher stood on the Tower&#8217;s steps and watched the carriage with its cargo and Master Magician Durm bowl down the driveway, sweep around the bend in the road and disappear from sight. Then he heaved a sigh, turned on his heel and marched back inside.</p></blockquote><p>It&#8217;s not much different, and still completely readable and understandable. It&#8217;s just missing some of the finer details that help contribute extra meaning to the passage. Now, let&#8217;s look at it with the nouns (and pronouns) removed.</p><blockquote><p>With one callused shading his, stood on the and watched the touring with its royal and bowl down the, sweep around the in the and disappear from. Then heaved a rib-creaking, turned on his and marched back inside.</p></blockquote><p>Without the nouns, the paragraph becomes completely non-nonsensical and looses all meaning, and the adjectives have absolutely nothing to work on. The same concept applies to HTML and CSS. While HTML can exist without CSS and still make sense, CSS without HTML is like throwing a bunch of adjectives onto a page without a single noun to give them context.</p><p>Which, of course, serves to emphasize the importance of the mark-up over the styling in design. Good, clean and well-structured HTML should always proceed the creation of equally good, clean and well-structured CSS.</p><h3>Scripting – Directive Language</h3><p>With that little aside out of the way, let&#8217;s get back to the matter at hand and look at the next type of language: scripting, which could also be called programming. This one probably has the largest series of specific languages that fall beneath it, including JavaScript, PHP, Perl, ActionScript and so forth. Each of these languages are unique in their own right, have varying syntax, functions, methods and core functionality. </p><div id="attachment_2719" class="wp-caption aligncenter" style="width: 510px"><img src="http://blog.echoenduring.com/wp-content/uploads/2010/03/javascript.jpg" alt="JavaScript is a popular form of scripting" title="JavaScript is a popular form of scripting" width="500" height="175" class="size-full wp-image-2719" /><p class="wp-caption-text">JavaScript is a popular form of scripting</p></div><p>However, like all programming languages, they share the common bond of being procedural, or as the title to this section suggests, directive. The purpose of any script is to provide a series of directions which, when followed, will yield a desired result. </p><p>This differs dramatically from mark-up and styling languages, which describe what something is and what it is like. Directive or procedural language is more like the instructions that came with your last IKEA purchase (though hopefully vastly more helpful). For example, here is the code for a simple JavaScript function.</p><p><code><br />function doSomething(myValue){<br />&nbsp;&nbsp;newValue = myValue+5;<br />&nbsp;&nbsp;newValue *= 2<br />&nbsp;&nbsp;newValue /= 3<br />&nbsp;&nbsp;alert(newValue)<br />}<br /></code></p><p>If you don&#8217;t understand JavaScript, this function is basically a series of instructions, that go something like this:</p><ul><li>accept a value</li><li>add 5 to that value</li><li>multiply the resulting value by 2</li><li>divide the resulting value by 3</li><li>display the resulting value through an alert box</li></ul><p>That&#8217;s it – just a simple set of procedures acting upon a given value. And that&#8217;s really the basic premise of all the programming or scripting that I have ever done. It&#8217;s just a matter of writing a series of steps that explain to the computer how to accept, transform and return various bits of information. </p><p>Obviously, I&#8217;m simplifying a little bit, but probably not as much as some people might think. If you can write a basic set of directions about how to get from your house to your favorite pizza joint, you&#8217;ve already written a basic non-computer-based program. To move to programming on the computer – and specifically on the front or back-end of a website – is just a matter of learning how write appropriate commands in the right language! </p><h3>Query – Request Language</h3><p>Last of all, we have query languages, or what I am calling request languages. Chances are that many of you will never even need to work with this kind of thing, but I think that it&#8217;s at least important to know that exists. Basically, a query language, like SQL, is a way for a program or application to communicate with a database, appending, extracting or modifying information within specific tables. </p><div id="attachment_2721" class="wp-caption aligncenter" style="width: 510px"><img src="http://blog.echoenduring.com/wp-content/uploads/2010/03/phpmyadmin.jpg" alt="The popular phpMyAdmin system uses SQL to manage databases" title="The popular phpMyAdmin system uses SQL to manage databases" width="500" height="175" class="size-full wp-image-2721" /><p class="wp-caption-text">The popular phpMyAdmin system uses SQL to manage databases</p></div><p>I like to think of it kind of like a grocery list. Let&#8217;s suppose you want milk, bread, peanut butter and some eggs from the grocery store. You write this all down on a list, give the list to your significant other and send them off to the store. Your significant other (being so kind), enters the store, checks the list, retrieves the appropriate items and finally returns to you with everything you asked for. </p><p>That&#8217;s pretty much exactly what a query language does, except that instead of a store, it&#8217;s a database, and instead of groceries, it&#8217;s retrieving data. Here is an example of an SQL command for extracting data from a standard WordPress database</p><p><code><br />SELECT `post_author` , `post_content`<br />FROM `wp_posts`<br />LIMIT 0 , 30<br /></code></p><p>Basically, this list is saying that we want the information from the post_author and post_content fields in the wp_posts table. It also imposes a limit to only retrieve the information from the first 30 records. Just like a grocery list.</p><p>Admittedly, though, the grocery list metaphor is not perfect, since query languages like SQL can do so much more than just retrieve data. They can also add, remove, move and update data across multiple tables. Still, the basic concept is the same. The query has a single directive (select, add, drop etc), a listing of various bits of data and optional conditions to dictate and/or restrict what data is to be handled. </p><p>In one basic sense, a query can be similar to a script in that it dictates a command, and can actually contain some basic functions to manipulate the data. However, they key difference lies in the fact that a query only ever has a single command (though that command can be extremely complex), whereas a script or program generally contains multiple commands, which form the bulk of the procedure.</p><h3>Conclusion</h3><p>So there you have part 1 of this series. I hope to have accomplished something here for both coders and non-coders alike. For designers who don&#8217;t know how to code their own designers, I hope that this article has shed some light on the different types of coding languages that exist on the internet, and perhaps provided you a context through which to understand their various and different functionality within a website. </p><p>For coders, I hope to have provided a similar context, and allowed you to look at what you do from a different, language-based perspective. At the very least, I hope that I may have provided you with some helpful metaphors to help explain what you do to family in friends!</p><p>Of course, as I&#8217;ve already mentioned, this is only part 1 of a two part series. The second article will follow early next week, and will draw further parallels between scripting languages and the written language, including the roles of logic, syntax and grammar, and why they are all important. </p><p><strong>In the meantime, though, I&#8217;d love to hear your thoughts on this one. Which types of coding are you the most familiar and/or comfortable with? Is there another type of language that I missed (I hope not), or a different metaphor that you think better explains one of the four types outlined above?</strong></p><p><h3>Exclusive Content</h3><p>To thank you for subscribing to my feed, I am including exclusive, feed-only content for you at the bottom of each post!</p><p><strong>Current Freebie Code</strong> - 7ev165dd</p></p>]]></content:encoded>
			<wfw:commentRss>http://blog.echoenduring.com/2010/03/05/language-and-metaphor-an-alternate-view-on-coding-for-the-web/feed/</wfw:commentRss>
			<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>
