<?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>Hotgrafix Website Design</title>
	<atom:link href="http://www.hotgrafix.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hotgrafix.co.uk</link>
	<description></description>
	<lastBuildDate>Wed, 16 May 2012 13:45:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Quick Tip: Notable New Features in Dreamweaver CS5</title>
		<link>http://www.hotgrafix.co.uk/quick-tip-notable-new-features-in-dreamweaver-cs5/</link>
		<comments>http://www.hotgrafix.co.uk/quick-tip-notable-new-features-in-dreamweaver-cs5/#comments</comments>
		<pubDate>Tue, 15 May 2012 13:14:31 +0000</pubDate>
		<dc:creator>hotgrafix.co.uk56</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hotgrafix.co.uk/?p=97</guid>
		<description><![CDATA[<p>If you’re a Twitter user, it was difficult not to be aware of <a href="http://enva.to/AdobeCS5">Adobe’s CS5 global launch presentation</a>. While they did an excellent job of promoting Photoshop and Flash, other applications, such as <a href="http://www.adobe.com/products/dreamweaver/whatsnew/">Dreamweaver</a>, only received limited coverage. Nonetheless, take a look at some of the awesome new features in <a href="http://enva.to/AdobeCS5">Dreamweaver CS5</a>, slated to be released in mid-May.</p> <p>&#160;</p> <h2>1. BrowserLab Integration</h2> <p>Adobe, for some time now, has offered a helpful, and free, service called <a href="https://browserlab.adobe.com/">Browserlab</a>. For those unfamiliar, Browserlab is a Live service that allows you to view snapshots of your website in a variety of browsers, not too dissimilar from <a href="http://www.browsershots.org/">Browsershots.org</a>. Luckily, with CS5, this service is fully integrated into Dreamweaver, even allowing us the ability to stack multiple snapshots of our designs, from various browsers, on top of one another. This is especially helpful for those of us with pedantic attentions to detail.</p> <p>“Preview dynamic web pages and local content with multiple viewing, diagnostic, and comparison tools.”</p> <h2>2. CMS Support</h2> <p>Perhaps the most welcomed and exciting new addition to Dreamweaver, there is now a “live view” option, when working ...]]></description>
			<content:encoded><![CDATA[<p>If you’re a Twitter user, it was difficult not to be aware of <a href="http://enva.to/AdobeCS5">Adobe’s CS5 global launch presentation</a>. While they did an excellent job of promoting Photoshop and Flash, other applications, such as <a href="http://www.adobe.com/products/dreamweaver/whatsnew/">Dreamweaver</a>, only received limited coverage. Nonetheless, take a look at some of the awesome new features in <a href="http://enva.to/AdobeCS5">Dreamweaver CS5</a>, slated to be released in mid-May.</p>
<p>&nbsp;</p>
<h2>1. BrowserLab Integration</h2>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/633_dreamweaver/browserlab.jpg" alt="Browserlab" /></div>
<p>Adobe, for some time now, has offered a helpful, and free, service called <a href="https://browserlab.adobe.com/">Browserlab</a>. For those unfamiliar, Browserlab is a Live service that allows you to view snapshots of your website in a variety of browsers, not too dissimilar from <a href="http://www.browsershots.org/">Browsershots.org</a>. Luckily, with CS5, this service is fully integrated into Dreamweaver, even allowing us the ability to stack multiple snapshots of our designs, from various browsers, on top of one another. This is especially helpful for those of us with pedantic attentions to detail.</p>
<blockquote><p>“Preview dynamic web pages and local content with multiple viewing, diagnostic, and comparison tools.”</p></blockquote>
<hr />
<h2>2. CMS Support</h2>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/633_dreamweaver/wordpress.jpg" alt="CMS Support" /></div>
<p>Perhaps the most welcomed and exciting new addition to Dreamweaver, there is now a “live view” option, when working on, for instance, templates for a variety of CMSs, including <a href="http://net.tutsplus.com/category/tutorials/wordpress/">WordPress</a>! This means that you can browse pages, populated with postings from your database, directly within Dreamweaver. How cool is that?</p>
<blockquote><p>“Enjoy authoring and testing support for content management system frameworks like WordPress, Joomla!, and Drupal.”</p></blockquote>
<hr />
<h2>3. Site-Specific Code Completion</h2>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/633_dreamweaver/codehinting.jpg" alt="code completion" /></div>
<p>This is something to be excited about. WIth this latest release, we now can utilize intellisense on site specific coding. For example, imagine being able to access the various WordPress functions directly from the intellisense pop-up? Pretty cool!</p>
<blockquote><p>“Benefit from code hinting on nonstandard files and directories in Dreamweaver..”</p></blockquote>
<hr />
<h2>4. Adobe Business Catalyst Integration</h2>
<p>This new feature is being promoted heavily, and, while it might definitely prove to be appealing to some designers and non-programmers, I doubt our particular community will utilize this new addition. Essentially, it allows you to design and build websites with minimal coding experience.</p>
<blockquote><p>“Leverage integration between Dreamweaver and the Adobe Business Catalyst® service (available separately) to deliver powerful online businesses without programming.”</p></blockquote>
<hr />
<h2>5. Improved CSS Inspection</h2>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/633_dreamweaver/css.jpg" alt="CSS Inspection" /></div>
<p>The Dreamweaver team has added a new feature which allows us to, after clicking the “Inspect” button, click on various elements on our page, and immediately view the applicable styling associated with that particular element. If you’re familiar with the <a href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer Toolbar</a>, and <a href="http://www.getfirebug.com/">Firebug</a>, you’ll be quite familiar with this. Nonetheless, it’s a nice addition to have available from directly within the IDE.</p>
<blockquote><p>“Visually display the CSS box model in detail, and easily toggle CSS properties without reading code or needing to use a separate utility.”</p></blockquote>
<hr />
<h2>Missed the Launch Video?</h2>
<p>If you didn’t catch the live unveiling, you can <a href="http://enva.to/AdobeCS5">watch it here</a>. So what’s the consensus? Has Dreamweaver finally come through for us? Will it take the place of your IDE of choice?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotgrafix.co.uk/quick-tip-notable-new-features-in-dreamweaver-cs5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attention Developers: NewRelic is your Secret Weapon</title>
		<link>http://www.hotgrafix.co.uk/attention-developers-newrelic-is-your-secret-weapon/</link>
		<comments>http://www.hotgrafix.co.uk/attention-developers-newrelic-is-your-secret-weapon/#comments</comments>
		<pubDate>Tue, 15 May 2012 13:10:16 +0000</pubDate>
		<dc:creator>hotgrafix.co.uk56</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hotgrafix.co.uk/?p=91</guid>
		<description><![CDATA[<p>While the title of this article may sound like a cliche, hatched in the bowels of PR hell, I’m serious when I say that <a href="http://newrelic.com/">NewRelic</a> is your secret weapon.</p> <p>In this article, I’ll talk about the common aspects of web application performance, and then demonstrate how NewRelic makes it blissfully easy to manage.</p> <p>In the nearly six years that I’ve worked at <a href="http://envato.com/">Envato</a> – previously developing and managing the series of<a href="http://themeforest.net/?ref=NetPremium">marketplaces</a> and currently managing development of the <a href="http://tutsplus.com/">Tuts+ blog network</a> – I’ve used NewRelic to keep costs down, improve and debug performance problems from the small to the large, and avert potential catastrophes.</p> <p>If you’re new to this topic, or don’t currently manage a website for someone in any capacity, don’t stress; this article will still be useful. You never know when this knowledge could save your bacon, and I’d wager it’s inevitable that it will – unless, of course, you decide to throw in the hypothetical developer towel and become an astronaut or rancher.</p> <h2>NewRelic in 20 Seconds</h2> <p>Before I launch into a reasonably long tirade on <a href="http://newrelic.com/">web application performance</a>, it makes ...]]></description>
			<content:encoded><![CDATA[<p>While the title of this article may sound like a cliche, hatched in the bowels of PR hell, I’m serious when I say that <a href="http://newrelic.com/">NewRelic</a> is your secret weapon.</p>
<p>In this article, I’ll talk about the common aspects of web application performance, and then demonstrate how NewRelic makes it blissfully easy to manage.</p>
<p>In the nearly six years that I’ve worked at <a href="http://envato.com/">Envato</a> – previously developing and managing the series of<a href="http://themeforest.net/?ref=NetPremium">marketplaces</a> and currently managing development of the <a href="http://tutsplus.com/">Tuts+ blog network</a> – I’ve used NewRelic to keep costs down, improve and debug performance problems from the small to the large, and avert potential catastrophes.</p>
<p>If you’re new to this topic, or don’t currently manage a website for someone in any capacity, don’t stress; this article will still be useful. You never know when this knowledge could save your bacon, and I’d wager it’s inevitable that it will – unless, of course, you decide to throw in the hypothetical developer towel and become an astronaut or rancher.</p>
<hr />
<h2>NewRelic in 20 Seconds</h2>
<p>Before I launch into a reasonably long tirade on <a href="http://newrelic.com/">web application performance</a>, it makes sense to quickly sum up what NewRelic is before you trundle off to Reddit or something similar.</p>
<blockquote><p>NewRelic is a managed service (SaaS) that you “plug in” to your web app, which collects and aggregates performance metrics of your live web application.</p></blockquote>
<p>The information it provides can help you find answers to questions like: Is my website slow? Who is it slow for? Where is it slow exactly? Do we need more, or bigger servers? What can we do to improve things?</p>
<p>These questions and their answers are oftentimes crucial to your web application’s success or failure. If you’ve never collected performance metrics from your live web app, you’re literally running while blindfolded; at some point you’re going to hit a wall!</p>
<p>Before I take you on a tour of NewRelic’s features, I have to define what web application performance is. Let’s get to it.</p>
<hr />
<h2>What Exactly is Web Application Performance?</h2>
<blockquote><p>Front-end performance is about “perceived” performance.</p></blockquote>
<p>I like to split web app performance into two conceptual parts: front-end performance and back-end performance. While the two areas do indeed have crossover and affect one another, it’s helpful to draw a distinction.</p>
<p>Primarily, you can think of front-end performance as areas concerning perceived performance, such as how long a page takes to fully render to an end user. Variables that affect this type of performance include:</p>
<ul>
<li>How large your HTML, CSS, JavaScript and images are</li>
<li>How many HTTP requests are sent to servers to fetch all of these assets</li>
<li>How they are organized in the page to affect perceived performance, whether or not a user’s browser has to re-download assets regardless if they’re the same or not.</li>
</ul>
<blockquote><p>I have only seen web applications and websites “fall over” as a result of mismanagement of the back-end.</p></blockquote>
<p>Back-end performance involves some kind of programming language that runs your code (i.e. PHP, Ruby), and some kind of database server (i.e. MySQL). Generally, most web applications are assembling HTML documents to be sent to your user’s browser, and are made up of data fetched from one or more databases – or even one or more external service (such as the Twitter API). I also typically lump in server resources (such as CPU usage, memory usage, disk IO) into this category, as it’s the code running on your server (not in your user’s browser) that affects these resources.</p>
<p>Why is this distinction so important? Because, in my experience, I have found that a confusion between the two leads to useless effort being applied when trying to improve performance issues. I have witnessed work on the front-end performance of ailing websites when the actual issue has been the backend. On the other hand, I have watched people focus on back-end optimization when the problem has been on the front-end. It’s essential that you understand and appreciate the difference.</p>
<p>On their own, these two subjects can be rather deep and complicated, and it’s a topic for an entirely different series of posts. While I’m decidedly specialized in back-end performance, in all of my professional career, I have only seen web applications and websites “fall over” as a result of mismanagement of the back-end.</p>
<hr />
<h2>Three and a Half Approaches to Managing Performance</h2>
<p>There are three ways in which people tend to manage the performance of their web applications:</p>
<ol>
<li>Write code, deploy it, and hope for the best.</li>
<li>Write code, guess which areas will become bottlenecks, measure and optimize them up front, deploy and hope for the best.</li>
<li>Write code, measure the live application with something like NewRelic, then fix and tune as appropriate.</li>
</ol>
<p><strong>The first approach</strong> is 100% reactionary. If you follow this method, you will only know if your web app is failing or performing poorly when your customers tell you (if they <em>ever</em> tell you).</p>
<p><strong>The second approach</strong> is considerably more mature; the developers are preempting problems and attempting to resolve them upfront. While this is admirable, the possibility of spending vital resources optimizing the wrong area, and the lack of ongoing feedback will provide few facts about what is truly going on in the live environment.</p>
<p><strong>The third approach</strong> is the almost ideal situation. By monitoring a live web application, you’re able to review how various things are performing, based on what your customers are actually doing. You can write code and receive immediate feedback on how well (or not) it’s performing.</p>
<h3>The Ideal Approach</h3>
<blockquote><p>The ideal approach is to follow the third and apply a healthy measure of the second.</p></blockquote>
<p>It doesn’t hurt to consider performance up front; it is infinitely more useful to have true metrics. The old programming adage, “premature optimization is the root of all evil” may apply here, though, in programming, as in life, axioms are rarely anything more than half-truths.</p>
<hr />
<h2>Measurement &amp; Management: A Balancing Act</h2>
<blockquote><p>There is no such thing as one true method to managing your web application’s performance.</p></blockquote>
<p>No matter what anyone says (including me!), there is no such thing as one true method to managing your web application’s performance. Depending on your app and customers, there will be different approaches and techniques. Yet one thing remains constant: you have to measure.</p>
<p>So, what do you measure? Again, there isn’t one <em>true</em> list, yet there’ll always be a common number of metrics worth measuring. For example:</p>
<ul>
<li>The number of application requests over time.</li>
<li>The wall clock time requests take to complete.</li>
<li>The CPU usage of your servers over time.</li>
<li>The hard drive reads, writes and utilization over time (known as Disk IO).</li>
<li>The number of database queries, and the time they take to run.</li>
<li>Queries run on your database that take over two seconds to complete (slow queries).</li>
<li>Incoming and outgoing bandwidth over time.</li>
</ul>
<p>This list, while certainly not exhaustive, will offer significant insight into your web app’s behavior, especially if you’ve never monitored them previously.</p>
<p>Once you have this kind of data, the management of your web application is where all the fun begins. You may find that, once removing a bottleneck in your database (perhaps a few slowly executed queries), you’ll expose another as more server resources are freed up. It truly is a balancing act.</p>
<p>Ultimately, what successful management looks like is something like this: you may double the efficiency of that single server of yours, allowing you to delay purchasing a second. On a larger scale, you may cut your server farm down by a factor of 50%, and on a large enough scale, that can equate to serious money. On a lighter side, you may simply provide good quality of service to your customers with no sudden surprises.</p>
<hr />
<h2>NewRelic: Your Secret Weapon</h2>
<p>Now that we’ve covered the “what” and “how” bits, let’s take a look at NewRelic. Once upon a time in software-land, you had to roll your own measurement into an app – if you measured at all (which can be as much work as writing your app itself). NewRelic allows you to simply plug in its agent to your Ruby, PHP, .NET or Python application, and begin collecting real data right away.</p>
<p>Thoughtfully, their product is split up into three core regions:</p>
<ul>
<li>End user monitoring (front-end, the browser)</li>
<li>Application monitoring (back-end, your code)</li>
<li>Server monitoring (back-end, the servers)</li>
</ul>
<p>Let’s have a look at each, in the order they were historically released.</p>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/1133_newrelic/01-app-server-overview.png" alt="" /></div>
<p>The very first feature NewRelic launched was application monitoring. It tracks and reports on ‘Requests per Minute’ (aka RPM), average response times of these requests, and keeps this data for you to analyze. This is particularly useful for discovering trends in traffic over time (e.g. does my site get slower as our page views increase?).</p>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/1133_newrelic/02-transaction-trace.png" alt="" /></div>
<p>Additionally, the “slow transaction traces” will provide you with a list of recent requests from real users that were disproportionately slow. Inspecting these allows you to drill down and determine why a request took such a long time, giving you the information you need to improve it.</p>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/1133_newrelic/03-end-user-monitoring-overview.png" alt="" /></div>
<p>End user monitoring will provide you with insight into how your site is rendering in the users’ browsers. It breaks the total time into chunks, based on things like network time (how long assets took to download), DOM rendering (how long your browser spend figuring out your HTML), image loading (as served by your web server or a CDN).</p>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/1133_newrelic/04-end-user-world-map.png" alt="" /></div>
<p>A neat feature of end user monitoring is that it shows you how well or poorly your application is performing for users in different countries. For example, perhaps 50% of your customers are based in the UK, while the other 50% are in the US. You might discover that front-end performance isn’t too great in the UK, due to the physical distance from your servers. Introducing a CDN or a server in the UK will improve their experience.</p>
<p>The best part of using NewRelic and taking action based on its data is that, once you’ve made any number of changes, you can immediately review if the changes have been effective or not!</p>
<div><img src="http://d2o0t5hpnwv4c1.cloudfront.net/1133_newrelic/05-server-metrics.png" alt="" /></div>
<p>The last piece of the puzzle, and the most recent monitoring NewRelic has introduced, is their server monitoring tools. I’ve always remarked that you must correlate your server’s resources with your web application response times to get a fuller picture of efficiency. You may have excellent response times, but you also may be needlessly sacrificing significant server resources to provide them.</p>
<p>I have seen apps with excellent <a href="http://developer.yahoo.com/yslow/">YSlow</a> scores, for instance, but absolutely no headroom for more traffic – even on significant amounts of hardware!</p>
<p>I hope by now you’re starting to see how valuable this kind of information is!</p>
<hr />
<h2>Installing NewRelic</h2>
<blockquote><p>You’ll need to at least be on a VPS and have root access for the PHP agent.</p></blockquote>
<p>One of my only criticisms of NewRelic is that it’s not easy to install for some types of users. If you are a Ruby on Rails programmer, you’ll find it fairly easy, as it’s a simple Rails plugin.</p>
<p>If you’re a PHP developer and aren’t comfortable goofing around on the command line, you’re going to find it difficult to install, as it’s a PHP extension and requires a daemon to be installed running alongside your web server. However, some PHP cloud platforms, like <a href="http://phpfog.com/">PHPFog</a> offer NewRelic integration out of the box.</p>
<p>This is unfortunate in my mind, as it’s a hurdle for most people. I hope NewRelic are currently looking to partner with more commodity web hosting providers, so that their product is more accessible to a wider audience. There’s literally no tool like it on the market at present, and they should be making it easy for all PHP developers to use.</p>
<p>If you’re using existing hosting, you’ll need to at least be on a VPS and have root access for the PHP agent. Being completely fair, to spin up a VPS from a provider like Linode, and installing Apache, PHP, MySQL and NewRelic is a short process, but it does requires some comfort and know-how in a shell.</p>
<blockquote><p>The best way to get started using PHP and NewRelic is to use a tool like Oracle VirtualBox, install Linux, set up Apache and PHP and then install the agent. Then you’ll be able to use NewRelic in your local development environment, at the very least.</p></blockquote>
<p>I personally haven’t had any experience with the Python agent, and I’ve heard third-hand that the .NET component is easy as pie to get up and running.</p>
<hr />
<h2>How Envato Uses NewRelic</h2>
<p><a href="http://envato.com/">Envato</a> has been using NewRelic since 2008. We’ve used it in the following products with good (and sometimes interesting) results:</p>
<h3>The Marketplaces</h3>
<p>Initially, we discovered roughly three major slow spots in unexpected places in <a href="http://codecanyon.net/?ref=NetPremium">the marketplaces</a>. We discovered what our highest trafficked requests were, and focused on optimizing them specifically. If 80% of our time was spent in one spot, making it twice as fast increased capacity and saved us from allocating more funds to hardware. We’ve spotted unusual traffic (such as spammers and hackers) allowing us to take precautionary measures sooner than later, thus improving the experience for our real customers. We use it daily to monitor the performance of all our new and existing code.</p>
<h3>The Tuts+ Blogs</h3>
<p>In 2009-2010, Envato’s blog network had serious stability problems due to a number of architectural problems. It was my job to step in and solve the issues. After performing an architectural analysis and a redesign of it, we plugged in the (then beta!) PHP monitor. We discovered many, many undesirable things!</p>
<ul>
<li>20% of requests were hits to feeds (which should have been cached or sent to FeedBurner)</li>
<li>3 SQL queries were routinely taking more than 5 seconds to return results</li>
<li>Long-running WP-Cron tasks were tying up our web worker pool</li>
<li>404 pages were taking more than 1 second to generate!</li>
</ul>
<p>Over the course of 2010-2011, we progressively sorted out the issues until they were, more or less, all solved. To this day, we still monitor the PHP blogs using NewRelic. And now, thankfully, the blog network is nice and stable.</p>
<h3>The Tuts+ Premium Redesign</h3>
<p>When we launched the <a href="http://tutsplus.com/">Tuts+ Premium</a> redesign, we used NewRelic to debug performance problems before the actual launch, on the actual servers they were to run on. This allayed any fears of disaster upon launch. We continue to monitor the site’s performance, using <a href="http://newrelic.com/">NewRelic</a>.</p>
<blockquote><p>Today, any important application at Envato has a NewRelic agent plugged in. It honestly has saved us heaps of time and money, and allowed us to provide quality of service to our users and customers.</p></blockquote>
<hr />
<h2>Other Tools Envato Uses to Augment NewRelic</h2>
<p>It wouldn’t be fair to not mention the other tools we use to look after our applications. We currently use<a href="https://scoutapp.com/">ScoutApp</a> for finer-grained server monitoring (it supports user contributed ‘plugins’ so we can monitor specific services like HAProxy, Nginx, etc). We also use <a href="http://airbrake.io/pages/home">AirBrake</a> which logs and aggregates our errors in our Ruby on Rails applications.</p>
<p>Lastly, we have rolled some of our own specialized, custom tools that check things like cache hits, backend requests, revenue, sign ups, notifications when a significant deviation from the trends occur. For example, revenue halting or dropping might mean our payment integration is broken; a change in sign ups means we might have been targeted by spammers creating ghost accounts for later use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotgrafix.co.uk/attention-developers-newrelic-is-your-secret-weapon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 is here: A Brief History on what is to come</title>
		<link>http://www.hotgrafix.co.uk/a-brief-history-of-html5/</link>
		<comments>http://www.hotgrafix.co.uk/a-brief-history-of-html5/#comments</comments>
		<pubDate>Tue, 15 May 2012 13:08:33 +0000</pubDate>
		<dc:creator>hotgrafix.co.uk56</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hotgrafix.co.uk/?p=85</guid>
		<description><![CDATA[<p>This is that article you generally skip over. It’s the one where I don’t detail an ounce of code, but instead describe the important events that lead to what you now recognize as HTML5. Some of us find this stuff interesting, but, certainly, a history lesson may not be your idea of a good time.</p> <p>…Wait – you’re still here? Let’s get on with it then.</p> <p>&#160;</p> <p>We won’t travel as far back as the beginning. That’s an entire book on its own. Instead, we’ll rewind the clock to to the release of HTML 4.01, at the tail-end of the nineties.</p> <h2>What’s the Difference Between the W3C, WHAT WG, and HTML WG?</h2> <strong><a href="http://www.w3c.org/">W3C</a></strong> – A community with the sole purpose of working to develop web standards. <strong><a href="http://www.whatwg.org/">WHATWG</a></strong> – Formed after various members of the W3C became agitated by the direction being taken with XHTML 2.0. They preferred a different, less drastic approach, where the existing HTML was extended. <strong><a href="http://www.w3.org/html/wg/">HTML WG</a></strong> – Once the W3C finally recognized that XHTML 2.0 was not the future, they indicated that they wished to work ...]]></description>
			<content:encoded><![CDATA[<p>This is that article you generally skip over. It’s the one where I don’t detail an ounce of code, but instead describe the important events that lead to what you now recognize as HTML5. Some of us find this stuff interesting, but, certainly, a history lesson may not be your idea of a good time.</p>
<p>…Wait – you’re still here? Let’s get on with it then.</p>
<p>&nbsp;</p>
<p>We won’t travel as far back as the beginning. That’s an entire book on its own. Instead, we’ll rewind the clock to to the release of HTML 4.01, at the tail-end of the nineties.</p>
<hr />
<h2>What’s the Difference Between the W3C, WHAT WG, and HTML WG?</h2>
<ul>
<li><strong><a href="http://www.w3c.org/">W3C</a></strong> – A community with the sole purpose of working to develop web standards.</li>
<li><strong><a href="http://www.whatwg.org/">WHATWG</a></strong> – Formed after various members of the W3C became agitated by the direction being taken with XHTML 2.0. They preferred a different, less drastic approach, where the existing HTML was extended.</li>
<li><strong><a href="http://www.w3.org/html/wg/">HTML WG</a></strong> – Once the W3C finally recognized that XHTML 2.0 was not the future, they indicated that they wished to work with the WHAT WG on development of what would eventually become HTML5. They chartered the HTML WG for this purpose.</li>
</ul>
<p>If that still sounds confusing, don’t worry; continue reading for the full story.</p>
<hr />
<h2>HTML vs XHTML</h2>
<p>Right around the period that HTML advanced to version 4.01 (around 1998), the ground began to shift a bit. Developers started to talk about this next new thing the W3C was working on: XHTML, which stood for “Extensible Hypertext Markup Language.” This first 1.0 specification was more or less identical to HTML 4.01, other than the inclusion of a new MIME type, <code>application/xhtml+xml</code>.</p>
<p>Believe it or not, we’ve always been able to get away with omitting quotations around attribute values (mostly), and not self-closing tags. However, up until recently, it was widely considered to be a bad practice. For the youngsters among you readers, the reason why we viewed it as a bad practice is largely due to the popularity of XHTML.</p>
<blockquote><p>Think of XHTML as your grandmother. When she comes to visit, she forces you to brush your teeth, stand up straight, and eat your peas. Now replace <em>teeth</em>, <em>posture</em>, and <em>peas</em>, with <em>quotation marks</em>, <em>self-closing tags</em>, and <em>lowercase tag names</em>.</p></blockquote>
<p>Though I kid, mostly, we viewed XHTML 1.0 as a good thing – the <em>next step</em>. It required designers and developers to follow a set of standards when creating markup. How could that be bad? The irony is that, though we followed these new rules, the majority of us continued serving pages with the <code>text/html</code> MIME type, which meant that the browser didn’t really care <em>how</em> we created our markup. This way, XHTML could be <em>opt-in</em>.</p>
<blockquote><p>So we were writing markup in a certain, strict fashion to pass XHTML validation that had zero effect or influence on the browser’s rendering. A bit odd, huh?</p></blockquote>
<h3>XHTML 1.1</h3>
<p>This all changed with the introduction of <a href="http://www.w3.org/TR/2001/REC-xhtml11-20010531/">XHTML 1.1</a> – a significant shift toward pure XML. With this release, the <code>application/xhtml+xml</code> MIME type was required. Sure, this may sound like the natural next step, in theory, but there were a couple glaring issues.</p>
<h4>1. “Save to Disk”</h4>
<p>First, Internet Explorer could not render documents with this MIME type. Instead, it would prompt a <em>save to disk</em> dialog. Yikes!</p>
<blockquote><p>“I’ve also been reading comments for some time in the IEBlog asking for support for the “application/xml+xhtml” MIME type in IE. I should say that IE7 will not add support for this MIME type – we will, of course, continue to read XHTML when served as “text/html”, presuming it follows the HTML compatibility recommendations.” –<a href="http://blogs.msdn.com/b/ie/archive/2005/09/15/467901.aspx">Chris Wilson</a></p></blockquote>
<h4>2. Take No Prisoners</h4>
<blockquote><p>XHTML 1.1 was sort of like Professor Umbridge, from Harry Potter.</p></blockquote>
<p>Secondly, XHTML 1.1 was sort of like Professor Umbridge, from Harry Potter: extremely harsh. Have you ever noticed how, if you leave off a closing <code>&lt;/li&gt;</code> tag, the browser doesn’t flinch? Browsers are smart, and compensate for your <em>broken</em>markup (more on this shortly). While, these days, the community is beginning to embrace and take advantage of this truth, with XHTML, the W3C wanted to enforce XHTML’s stricter syntax. Though, up to this point, developers could get away with leaving off, say, the closing <code>&lt;head&gt;</code> or <code>&lt;body&gt;</code> tag, the W3C implemented a new <em>fail on the first error</em> system, known as <em>draconian error handling</em>. If an error was detected, the browser was expected to cease rendering the page, and display an error message, accordingly. Like I said: incredibly harsh for markup.</p>
<p>As a result, few of us ever used XHTML 1.1; it was too risky. Instead, we adopted general XML best practices, and continued to serve our pages as <code>text/html</code>.</p>
<h3>XHTML 2</h3>
<p>In their minds, the W3C was finished with HTML 4. They even shut down and rechartered the HTML Working Group, and transferred their focus to XHTML – or, at this point, XHTML 2.0.</p>
<p>XHTML2 was an effort to draw a line, fix the web, and right the wrongs of HTML. Though, again, this sounds fabulous, in truth, it angered much of the community, due to the fact that it was never intended to be backward compatible with HTML 4. In fact, it was entirely different from XHTML 1.1 as well!</p>
<blockquote><p>Get where I’m going here? The W3C was essentially ignoring the current web, and the demands of its developers, in favor of a strict, potentially page-breaking XML approach. It simply wasn’t practical to expect such a huge transition.</p></blockquote>
<p>XHTML2 was never finalized.</p>
<hr />
<h2>Fight, Fight, Fight!</h2>
<p>(Okay, not as Fight Club as that.) Right around this time, the idea that, “<em>Hey – maybe we should return to HTML and work off that</em>” began to come up again. Work had begun on <a href="http://www.whatwg.org/specs/web-forms/current-work/">Web Forms 2.0</a>, which managed to spark renewed interest in HTML, rather than scrapping it entirely for XHTML2. This notion was put to the test in 2004, during a <a href="http://www.w3.org/2004/04/webapps-cdf-ws/papers/opera.html">W3C workshop</a>, where the advocates for HTML presented their case, and the work they had already done with Web Forms 2.0.</p>
<p>Unfortunately, the proposal was rejected on the grounds that it didn’t fall in line with the original goal of working toward XHTML2. Needless to say, this rejection angered some in the group, including representatives from Mozilla and Opera.</p>
<p>The group consequently branched out, and formed the <a href="http://www.whatwg.org/">WHAT Working Group</a> (or, “<em>Web Hypertext Application Technology Working Group.</em>”), after, for lack of better words, becoming pissed off at the way XHTML 2 seemed to be heading. Their goal was to keep from throwing the baby out with the bath water. Continue and extend development of HTML, via three specifications: Web Forms 2.0, Web Apps 1.0, and Web Controls 1.0.</p>
<h4>The Two Golden Rules</h4>
<p>This new group would embrace two core principles:</p>
<ol>
<li>Backward compatibility is paramount. Don’t ignore the existing web.</li>
<li>Specifications and implementations <em>must</em> match one another. This means that the spec should be incredibly detailed (hence, the 900 pages).</li>
</ol>
<blockquote><p>“The Web Hypertext Applications Technology working group therefore intends to address the need for one coherent development environment for Web Applications. To this end, the working group will create technical specifications that are intended for implementation in mass-market Web browsers, in particular Safari, Mozilla, and Opera.” – <a href="http://www.whatwg.org/news/start">WHATWG.org</a></p></blockquote>
<h3>Parser</h3>
<blockquote><p>Don’t underestimate how significant an achievement this was.</p></blockquote>
<p>While XHTML 2.0 intended to enforce perfect XML, the WHAT Working Group instead took it upon themselves to document exactly how HTML is, and should be <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html">parsed.</a> – a five year task!</p>
<p>Remember when we discussed how browsers do a great job of compensating for your broken markup? The interesting thing is that, before the creation of the WHAT Working Group, there wasn’t any specification that provided instructions to the browser vendors for how to deal with errors. This naturally leads up to the question: how did the browsers match one another’s error handling? The answer is through tireless (though essential) reverse engineering. Firefox, Safari, and Opera copied Internet Explorer’s implementation, and Internet Explorer reverse engineered Netscape handling.</p>
<p>Over the course of five years, the WHAT WG charted out what’s now referred to as the <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html">HTML5 parser.</a>Don’t underestimate how significant an achievement this was. Today, all modern browsers parse HTML according to the guidelines of this specification. Though perhaps not as sexy as, say, <code>canvas</code>, the HTML5 parser is a massive achievement.</p>
<hr />
<h2>A Line in the Sand</h2>
<p>As you might expect, an imaginary line was drawn in the sand. You’re either for XHTML2, or (what would eventually become) HTML5.</p>
<p>Rather than a consensus-based approach, where members debated and voted on what they felt was best, the WHAT WG took a bit more of a dictator-like stance, with Ian Hickson at the helm.</p>
<h3>Wait – Dictator!?</h3>
<blockquote><p>Don’t we usually try to over throw these power mongers?</p></blockquote>
<p>Don’t we usually try to over throw these power mongers? What’s the deal? I must admit, on paper, it sounds awful, doesn’t it? Does one guy determines the future of the web? We prefer this system? Politically speaking, yes, a dictatorship may be a bad idea. But, when you think about it in terms of the web, imagine how much more quickly things can get done. When a community is as passionate as ours, things tend to move very slowly, as debates continue on and on…and on.</p>
<blockquote><p>“The Web is, and should be, driven by technical merit, not consensus. The W3C pretends otherwise, and wastes a lot of time for it. The WHATWG does not.” – Ian Hickson</p></blockquote>
<p>While discussion certainly (and rightfully) takes place at the WHAT WG, ultimately, Ian Hickson has his finger on the button (unless the group and community strongly disagrees with a particular decision. At this point, he can either be <em>impeached</em> (not as Bill Clinton as that), or, more often than not, he’ll re-evaluate and reverse his decision).</p>
<p>That said, it’s certainly not ideal. The W3C has its slow and steady consensus-based approach, which many still prefer. On the other hand, while the WHAT WG moves at a quicker pace, there certainly are hiccups. Then, when you combine the two groups, things can sometimes get a bit muddy!</p>
<h4>The <code>time</code> Debacle</h4>
<p>In October, 2011, Ian Hickson removed the <code>&lt;time&gt;</code> tag, and replaced it with a more general-purpose solution: <code>&lt;data&gt;</code>. In his own words:</p>
<div>
<p>There are several use cases for <code>&lt;time&gt;</code>:</p>
<ol type="a">
<li>Easier styling of dates and times from CSS.</li>
<li>A way to mark up the publication date/time for an article (e.g. for<br />
conversion to Atom).</li>
<li>A way to mark up machine-readable times and dates for use in Microformats or<br />
microdata.</li>
</ol>
<p>Use cases A and B do not seem to have much traction. Use case C applies to more than just dates, and the lack of solution for stuff outside dates and times is being problematic to many communities.</p>
<p><strong>Proposal</strong>: we dump use cases A and B, and pivot <code>&lt;time&gt;</code> on use case C, changing it to and making it like the <code>&lt;abbr&gt;</code> for machine-readable data, primarily for use by Microformats and HTML’s microdata feature. – <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=13240">Ian Hickson</a></p>
</div>
<blockquote><p>Remember: you have much more control over the shape of the web than you likely give yourself credit for!</p></blockquote>
<p>What he possibly didn’t realize was that much of the community did, in fact, use the <code>&lt;time&gt;</code> tag. Further, they (myself included) felt that, though more flexible, the proposed<code>&lt;data&gt;</code> tag was too ambiguous; <code>&lt;data&gt;</code> has as much meaning as a <code>&lt;span&gt;</code>, when it comes to semantics.</p>
<p>After a significant level of uproar from the community, the HTML WG announced that the <code>&lt;time&gt;</code> change must be reverted. They gave Ian a short deadline to make the reversal. Though not without additional layers of drama, the following month, <code>&lt;time&gt;</code> was <em>reinstated</em>.</p>
<p>This chain of events simply proves that, even though Ian has the right to propose these sorts of changes, the web community, as a whole – and, of course, the browser vendors – have quite a bit of control over the specification. There’s a difference between the spec creators, and the authors who integrate these new elements and APIs into their projects. If the authors don’t use them, they might as well be removed from the spec. Remember: you have much more control over the shape of the web than you likely give yourself credit for!</p>
<p>Sign up for the various <a href="http://lists.w3.org/Archives/Public/public-html-comments/">mailing lists</a> and be loud! Otherwise, folks like Ian won’t know if or how you use these new features.</p>
<blockquote><p>“Is there any data showing how people actually use <code>&lt;time&gt;</code> in practice? i.e. is it actually giving anyone any of its hypothetical benefits?” – <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=13240#c36">Comment by Ian Hickson</a></p></blockquote>
<div>
<h4>The Shape of a Specification</h4>
<p>While some may think that a small group of people determine the future of the web, that’s far from the case. Three factions receive equal weight, when it comes to specifications.</p>
<ol>
<li><strong>Spec Creators</strong> – Obviously…</li>
<li><strong>Authors</strong> – People like us; if we reject (i.e. don’t use) a particular element or API, it might as well be dead in the water.</li>
<li><strong>Vendors</strong> – Browsers have a huge amount of input into these specifications, many times leading the way.</li>
</ol>
</div>
<p>If you’d like to learn more about the <code>&lt;time&gt;</code> debacle, <a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=13240">review the bug thread</a>, and Ian’s <a href="https://plus.google.com/107429617152575897589/posts/3ZEQAVkF6xd">Google+ post</a>. They’re interesting reads, and aren’t nearly as black or white as you might think.</p>
<hr />
<h2>Back at the W3C…</h2>
<p>Back to the W3C vs. WHAT WG <em>feud</em>. Well, it was less a feud, and more like two groups ignoring one another for a couple years.</p>
<blockquote><p>As time progressed, it became clearer and clearer that XHTML 2.0 was not the solution.</p></blockquote>
<p>While work at the WHAT WG progressed relatively quickly, work on XHTML 2.0 at the W3C was – how should I put this… – not going well (almost non-existent). As time progressed, it became clearer and clearer that XHTML 2.0 was not the solution (though it wouldn’t be fully dropped until 2009). In 2006, the W3C relented, and signaled that they were interested in collaborating with the WHAT WG on (what would be) HTML5. They chartered yet another group for this purpose: HTML WG, or the <em>Hypertext Markup Language Working Group</em>.</p>
<p>They intended to use the work of the WHAT WG as a basis for continued development of HTML. Weird, huh? Now we have two different groups: the W3C HTML WG and the WHAT WG. Technically, the W3C hadn’t yet given up on XHTML. Nonetheless, as part of the newly formed HTML WG, they renamed Web Apps 1.0 to HTML5.</p>
<blockquote><p>“Apple, Mozilla, and Opera allowed the W3C to publish the specification under the W3C copyright, while keeping a version with the less restrictive license on the WHAT WG site.” – <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html#history-1">WHATWG.org</a></p></blockquote>
<h3>Today</h3>
<p>These days, the WHAT WG and W3C collaborate with one another on HTML5. It’s a bit of an odd relationship, but somehow manages to function, thanks to an endless supply of incredibly passionate activists.</p>
<p><strong>This article is an excerpt from my upcoming book on HTML5 and its friends. Stay tuned to Nettuts+ for more information on the release date!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotgrafix.co.uk/a-brief-history-of-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surprising Trends in the 2011 Web Design Survey</title>
		<link>http://www.hotgrafix.co.uk/surprising-trends/</link>
		<comments>http://www.hotgrafix.co.uk/surprising-trends/#comments</comments>
		<pubDate>Tue, 15 May 2012 08:46:18 +0000</pubDate>
		<dc:creator>hotgrafix.co.uk56</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hotgrafix.co.uk/?p=1</guid>
		<description><![CDATA[<p>Back in November, we asked our <a href="http://webdesign.tutsplus.com/">Webdesigntuts+</a> readers and web designers all around the globe to participate in the 2011 Web Design Survey. The response was pretty amazing. Over 5,000 web designers responded and the majority completed the entire survey, sharing honest insights on how they work, how they design, and their feelings on issues in the industry. I spent the next three months pouring through the data, noting trends and patterns, and writing about what I found. The result was <em><a href="http://tutsplus.com/ebook/web-design-confidential/">Web Design Confidential</a></em>, a book published by Rockable Press and available to all our Tuts+ Premium members for free!<a href="http://tutsplus.com/ebook/web-design-confidential/">Grab it</a> in the library if you haven’t already.</p> <p>In the mean time, I wanted to share just a couple of the surprises I discovered about our web design community. And there were plenty of surprises! Ever want to know more about how your fellow web designer works or what it takes to be successful? Read on!</p> <h2>It’s Not All About Designing Websites</h2> <p>We all get into this business to do what we love–make effective and well designed websites. That’s what anyone ...]]></description>
			<content:encoded><![CDATA[<p>Back in November, we asked our <a href="http://webdesign.tutsplus.com/">Webdesigntuts+</a> readers and web designers all around the globe to participate in the 2011 Web Design Survey. The response was pretty amazing. Over 5,000 web designers responded and the majority completed the entire survey, sharing honest insights on how they work, how they design, and their feelings on issues in the industry. I spent the next three months pouring through the data, noting trends and patterns, and writing about what I found. The result was <em><a href="http://tutsplus.com/ebook/web-design-confidential/">Web Design Confidential</a></em>, a book published by Rockable Press and available to all our Tuts+ Premium members for free!<a href="http://tutsplus.com/ebook/web-design-confidential/">Grab it</a> in the library if you haven’t already.</p>
<p>In the mean time, I wanted to share just a couple of the surprises I discovered about our web design community. And there were plenty of surprises! Ever want to know more about how your fellow web designer works or what it takes to be successful? Read on!</p>
<hr />
<h2>It’s Not All About Designing Websites</h2>
<p>We all get into this business to do what we love–make effective and well designed websites. That’s what anyone who gets into web design imagines themselves doing. Sure, there might be a little paperwork, but web design–that’s what we get paid to do, right? However, the majority of respondents reported a split in their duties:</p>
<p><a href="http://webdesign.tutsplus.com/wp-content/uploads/2012/03/timespent.jpg" rel="prettyPhoto[post_content]" title="Surprising Trends in the 2011 Web Design Survey"><img title="timespent" src="http://webdesign.tutsplus.com/wp-content/uploads/2012/03/timespent.jpg" alt="" width="600" height="451" /></a></p>
<p>The top response fell in the 26 to 50% range. That means half or less of the respondents’ time was spent working on actual web design duties. It’s not as drastic as it sounds–the second most popular response was 50 to 75%, and in many cases, much of the other duties that weren’t explicitly web design were still directly related to it (client meetings, research, etc). The responses also included freelancers and consultants who are frequently required to spend a lot more time on business management than the average employee. However, it’s an important reminder that a successful career in web design depends on more than just your skills with Photoshop and CSS.</p>
<hr />
<h2>Your Education Affects Your Happiness</h2>
<p>It’s common in the modern web design community to disparage the traditional college education experience as out-dated and irrelevant, especially among freelancers and other ambitious professionals. The common argument is that you can learn much more about our industry by getting out there, practicing your skills and doing real web design than by spending four years in a classroom. The initial survey seems to back up that result:</p>
<p><a href="http://webdesign.tutsplus.com/wp-content/uploads/2012/03/edrelevant.jpg" rel="prettyPhoto[post_content]" title="Surprising Trends in the 2011 Web Design Survey"><img title="edrelevant" src="http://webdesign.tutsplus.com/wp-content/uploads/2012/03/edrelevant.jpg" alt="" width="600" height="441" /></a></p>
<p>Well over half of the web designers who responded found their formal education only somewhat or not at all relevant! That’s a pretty harsh statement against college education. However, things get interesting if you compare this result against another question: Are you happy with your career in web design? We used this question as the success indicator because, across the board, if you responded as happy you were much more likely to report positively on the rest of the survey. Look at what happens when we filter our results based on happiness:</p>
<p><a href="http://webdesign.tutsplus.com/wp-content/uploads/2012/03/happy-relevance.jpg" rel="prettyPhoto[post_content]" title="Surprising Trends in the 2011 Web Design Survey"><img title="happy-relevance" src="http://webdesign.tutsplus.com/wp-content/uploads/2012/03/happy-relevance.jpg" alt="" width="600" height="457" /></a></p>
<p>The orange segments are responses by web designers who reported themselves to be happy and successful in the web design field. Designers who did not report happiness are in blue. Notice the inverted responses here. By far, successful web designers (the “happy” people) were more likely to have found their education highly relevant to their field. Designers unhappy with their work were more likely to view their education as unrelated.</p>
<p>There are two ways you can read this trend: either successful designers are just more optimistic people and therefore more likely to appreciate their education, or finding ways to appreciate and relate your education to your work is one small factor to your happiness. In light of all the data we collected about success in web design, I’m prone to the latter interpretation. Several times in the survey, it seemed that if you had a curious, agile mind and were open to new ideas and able to apply your previous experience (college or otherwise) to your current projects, you were more likely to be happy with your web design business.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotgrafix.co.uk/surprising-trends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

