<?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>Gilles Vandenoostende &#187; webdev</title>
	<atom:link href="http://blog.vandenoostende.com/tag/webdev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vandenoostende.com</link>
	<description>Musings on the nature of Form and Function</description>
	<lastBuildDate>Tue, 27 Jul 2010 08:53:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Jason Santa Maria: A real webdesign application</title>
		<link>http://blog.vandenoostende.com/2010/jason-santa-maria-a-real-webdesign-application/</link>
		<comments>http://blog.vandenoostende.com/2010/jason-santa-maria-a-real-webdesign-application/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 08:53:56 +0000</pubDate>
		<dc:creator>@gillesv</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[markup]]></category>

		<guid isPermaLink="false">http://blog.vandenoostende.com/?p=77</guid>
		<description><![CDATA[Prominent webdesigner Jason Santa Maria wrote an interesting article the other day about the pro&#8217;s &#38; cons of current webdesign tools (such as Photoshop, Fireworks, etc&#8230;) and what a true webdesign application (if it were created today) would need. It&#8217;s an interesting read, so check it out at:
http://jasonsantamaria.com/articles/a-real-web-design-application/
The author raises a lot of valid points, [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_78" class="wp-caption alignnone" style="width: 600px"><a href="http://jasonsantamaria.com/articles/a-real-web-design-application/"><img class="size-full wp-image-78" title="Jason Santa Maria - A Real Web Design Application" src="http://blog.vandenoostende.com/wp-content/uploads/2010/07/JSMArticle.jpg" alt="Screenshot: Jason Santa Maria - A Real Web Design Application" width="600" height="355" /></a><p class="wp-caption-text">Jason Santa Maria - A Real Web Design Application</p></div>
<p>Prominent webdesigner Jason Santa Maria wrote an interesting article the other day about the pro&#8217;s &amp; cons of current webdesign tools (such as Photoshop, Fireworks, etc&#8230;) and what a true webdesign application (if it were created today) would need. It&#8217;s an interesting read, so check it out at:</p>
<p><a title="Jason Santa Maria: A Real Webdesign Application" href="http://jasonsantamaria.com/articles/a-real-web-design-application/">http://jasonsantamaria.com/articles/a-real-web-design-application/</a></p>
<p>The author raises a lot of valid points, notably the huge disconnect between designing static pixels in Photoshop &amp; co. and the crafting of HTML markup, CSS styles and how to resolve cross-browser inconsistencies. <a title="Zeldman.com - An Indesign for HTML/CSS" href="http://www.zeldman.com/2010/07/05/an-indesign-for-html-and-css/">Jeffrey Zeldman</a> wrote a similar article a while back and makes the point that hand-coding HTML/CSS isn&#8217;t going anywhere anytime soon. I&#8217;m of a similar opinion.</p>
<p><span id="more-77"></span>In my current workflow, I use a myriad of different tools when designing for the web.</p>
<div id="attachment_79" class="wp-caption alignnone" style="width: 326px"><img class="size-full wp-image-79" title="My webdesign tools" src="http://blog.vandenoostende.com/wp-content/uploads/2010/07/WebdesignTools.png" alt="Mac OSX dock with icons of popular webdesign applications" width="326" height="71" /><p class="wp-caption-text">Some of my favourite webdesign tools</p></div>
<p>After wireframing I&#8217;d hop into Photoshop, design all the pages (keeping browser capabilities/limitations at the back of my mind at all times) and then use Layer Comps to review the flow of the site through all the different pages. Some web-designers have begun skipping Photoshop altogether and  designing  straight in the browser, but I&#8217;ve found that a hybrid  solution is still  the best option for getting the most out of your  designs.</p>
<p>Once the client is satisfied with the static comps I fire up Coda, write the markup to be as efficient and semantically valid as possible. With the markup done I hop into CSS, boot up all the virtual machines and alternative browsers I&#8217;d like to support and then I&#8217;m off for several hours of writing a few lines of CSS, Cmd/Ctrl-S, and then tabbing between browsers while pressing F5 to make sure my layout works.</p>
<p>This is a hugely time-consuming process and is usually the cause of great frustration among beginning web-designers (or designers used to the consistency of the Flash platform) &#8211; but for all its faults, it&#8217;s still the best option. All the WYSIWYG (What You See Is What You Get) tools out there either sacrifice flexibility, browser compatibility or cleanliness of the markup. Or, in the worst case, all 3.</p>
<p>Writing semantic, search-able markup is one of the most difficult and multifaceted jobs out there. Most hand-coders even find this to be a difficult task, weighing the different semantic options, and choosing between either making alterations to the original design, or sacrificing markup brevity to stay true to the design&#8217;s visual complexity (i.e. adding more divs). For a machine to be able to do this, it would need not only to understand the different design elements, but the content you&#8217;re designing for as well.</p>
<p>If I was designing such a piece of software, I&#8217;d make it work as a block-based design tool: in the design phase, you just drag &amp; drop all the different &#8220;boxes&#8221; onto a canvas. The design remains mostly static until you come to the export phase. Then your task would be to go through each block, assign a type to it (be it a div, section, header, footer, aside, whatever), give it an id or a class-name and then change the nesting order of the tags (within reason) while the rendering engine attempts to refactor the page&#8217;s CSS to work with the changed markup.</p>
<p>Of course, taking browser inconsistencies into account this becomes an almost mind-bogglingly complex task for a computer to handle. With HTML/CSS, to achieve any kind of style or effect there are as many options and techniques available as there are webdesigners and webbrowsers.</p>
<p>To create a simple header some would use 3 divs and an h1, where others could use just a single div, an h2 and a nested span tag. And that&#8217;s just the markup, adding the myriad of possibilities CSS offers the potential amount of ways you can go about to achieve a certain style or look become infinite. Any webdesigner worth his salt will know at least 3 or 5 different ways to accomplish something in CSS. He&#8217;ll try one way first, finds it works in most browsers except in one instance, and then tries the two other coding techniques until he finds something that yields the most predictable cross-browser results.</p>
<p>Because of the cascading nature of CSS, almost every single situation is unique and there is almost no way of knowing beforehand which technique will yield the best results, except maybe years and years of experience. Software could never be a full substitute for something like that.</p>
<p>As long as our markup is critical to our client&#8217;s business needs (S.E.O. is 80% about having good, clean markup), and web-browsers continue to display subtle (or not so subtle) differences we can never in good conscience use WYSIWIG editors. Perhaps one day, when all rendering engines adhere to the same strict webstandards (or a single engine gains such market dominance and quality that all others would strive to emulate its behaviour) such a design tool could become a reality, but until then you&#8217;re still better off learning to code by hand.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vandenoostende.com/2010/jason-santa-maria-a-real-webdesign-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selling progressive enhancement to conservative clients</title>
		<link>http://blog.vandenoostende.com/2009/selling-progressive-enhancement-to-conservative-clients/</link>
		<comments>http://blog.vandenoostende.com/2009/selling-progressive-enhancement-to-conservative-clients/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 11:43:05 +0000</pubDate>
		<dc:creator>@gillesv</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.vandenoostende.com/?p=49</guid>
		<description><![CDATA[Consider the following scenario: you're asked to design and develop a website for a big client. It's a large company, with probably thousands of employees. A bank, for example, or a large pharmaceutical company. Or maybe it's a government contract, or a big public sector player, like public transport or the electric or gas company.

What all of these clients have in common, is that 9 times out of 10 they'll all be lorded over by a restrictive and overly protective IT department, who only updates their software and hardware every other decade. Which means the client will be looking at your work through the shit-tinted goggles of IE6...]]></description>
			<content:encoded><![CDATA[<p class="intro">Indulge me, if you will, in a little hypothetical. Consider the following scenario: you&#8217;re asked to design and develop a website for a big client. It&#8217;s a large company, with probably thousands of employees. A bank, for example, or a large pharmaceutical company. Or maybe it&#8217;s a government contract, or a big public sector player, like public transport or the electric or gas company.</p>
<p>What all of these clients have in common, is that 9 times out of 10 they&#8217;ll all be lorded over by a restrictive and overly protective IT department, who only updates their software and hardware every other decade. Which means the client will be looking at your work through the shit-tinted goggles of IE6.</p>
<p>But you&#8217;re used to that by now. You know all the dirty tricks and hacks in the book, so you make the site. You know the client won&#8217;t be able to see modern web stuff, so you deliberately stay away from them. No round corners, no fancy fonts, little or no Ajax-techniques and no obvious transparent PNGs.</p>
<p>That&#8217;s not to say you&#8217;re making a bad site, on the contrary. Some of the best design is done within tight constraints, and a little restraint never hurt anyone. Also, most of these clients have pretty restrictive corporate identities and styleguides anyway. So you design your site, slightly boring, but ultimately functional and usable. Something, maybe like this:</p>
<div id="attachment_50" class="wp-caption alignnone" style="width: 500px"><img class="size-full wp-image-50" title="un-enhanced" src="http://blog.vandenoostende.com/wp-content/uploads/2009/11/un-enhanced.jpg" alt="A plain-jane website" width="500" height="256" /><p class="wp-caption-text">A plain-jane website</p></div>
<p>The client approves the comps, and the finalized website is online soon afterwards. The client tests the site on their internal, locked-down network and sees exactly what he was promised in the comps, being rendered in IE6. The client also notes that the site feels snappy and loads quickly, even on their outdated hardware. A direct result of the site&#8217;s design being restrained and sober.</p>
<p>The client then drives home, and, feeling a little bit proud of the work he&#8217;s helped to achieve, decides to whip out his personal laptop and opens up the site in a more modern browser (Google Chrome, Safari or Firefox, perchance), so he can show his wife what he&#8217;s been doing all these weeks. At first, a shock.</p>
<div id="attachment_51" class="wp-caption alignnone" style="width: 500px"><img class="size-full wp-image-51" title="enhanced" src="http://blog.vandenoostende.com/wp-content/uploads/2009/11/enhanced.jpg" alt="Wait, what's all this then?" width="500" height="256" /><p class="wp-caption-text">Wait, what&#39;s all this then?</p></div>
<p>This site looks a lot better than it did a few hours ago in the office! What happened here? There&#8217;s subtle animations, tasteful rounded corners and the odd drop shadow here and there. The headings are rendered in a slick custom font that he never recalled installing and the entire site just oozes quality.</p>
<p>&#8220;Did I pay for this?&#8221;, the client wonders, &#8220;Who ordered these upgrades?&#8221;</p>
<p>First thing next morning he calls you, and asks where those upgrades came from, and why they&#8217;re suddenly gone again, now that he&#8217;s looking at the site back on his office machine sporting IE6.</p>
<p>&#8220;Well,&#8221; you start, &#8220;have you heard of &#8216;progressive enhancement&#8217;?&#8221;</p>
<p><strong>Progressive Enhancement?</strong></p>
<p>Progressive Enhancement is a web-design methodology that aims to provide the best user experience to as many types of browsers and users as possible. It does this by building the site for the oldest browsers, making sure it works great for them, and then adding enhancements for modern browsers on top of that framework, so people get a more enhanced experience, the more modern, or progressed, their browser is.</p>
<div id="attachment_52" class="wp-caption alignnone" style="width: 500px"><img class="size-full wp-image-52" title="ProgressiveEnhancement-disection" src="http://blog.vandenoostende.com/wp-content/uploads/2009/11/ProgressiveEnhancement-disection.jpg" alt="Some of the techniques you might use to enhance the site." width="500" height="309" /><p class="wp-caption-text">Some of the techniques you might use to enhance the site.</p></div>
<p>It is closely related to another methodology called Graceful Degradation. This works the other way around, where you build a website that has all the bells and whistles you can imagine (AJAX, CSS3, etc&#8230;) and then either hacking those to work with the older browsers, or making sure that those browsers fail &#8220;gracefully&#8221;, in other words, so that the site remains usable when certain features simply don&#8217;t work.</p>
<p>The advantage of PE over GD is that with PE, you&#8217;re always certain that most of your users wile have a great experience, and that their experience will only improve in time as they upgrade their browsers. With GD, you only hope that people stuck with older browsers won&#8217;t be freaked out too much, and that future browsers won&#8217;t choke on your ancient hacks.</p>
<p>For new, let&#8217;s go back to the hypothetical client. You&#8217;ve just given him the gist of what Progressive Enhancement is all about, but as I&#8217;m sure you can imagine, several different outcomes to this conversation are possible.</p>
<p>Best case scenario, the client &#8220;gets&#8221; it, and is thrilled to know that you&#8217;ve covertly built him a future proof website that scales beautifully, from the ancient, turn-of-the-century browsing dinosaurs to the latest CSS3-, HTML5-sporting Web 3.0 browsers.</p>
<p>Worst case scenario is that the client demands those same enhancements be recreated for IE6. But now you&#8217;ve got an arsenal of valid counter-arguments, such as:</p>
<ul>
<li>It&#8217;ll take a lot of extra time and money to get that kind of visual fidelity in older browsers.</li>
<li>Updating or upgrading the site later on will take longer and thus will be more expensive.</li>
<li>The site won&#8217;t run as fast as it does now, both on IE as well as on modern browsers.</li>
<li>Etc&#8230;</li>
</ul>
<p>So, unless your client is Satan himself and/or completely immune to reason or logic, you&#8217;ll have saved yourself a mountain of extra work, and earned yourself a contented, loyal new customer, one with a better understanding of what designing for the web entails.</p>
<p>And all it took, was a little</p>
<p><strong>Managing expectations</strong></p>
<p>We designers have a tendency to pull out all the stops when we&#8217;re mocking up a  website. We know what&#8217;s theoretically possible in all browsers, so we don&#8217;t skimp on the frivolous details. Technically, rounded corners and drop shadows and the like are all possible on IE6. They just require a lot of hacking, extra markup, extra images&#8230; all of them slowing down the rest of the site for everyone. So, what to do?</p>
<p>Well, it just requires adding just one extra step to your existing process.</p>
<p>First you design your site like you always do, pulling out all the graphical &amp; typographical stops as you see fit. Then, when you&#8217;re happy with it &#8211; STOP. Don&#8217;t send it to the client just yet. Instead, duplicate your file and tone it down. Take out everything you know is difficult to do in IE6. Better yet, ask the guy who&#8217;ll be writing the CSS to do that for you. After removing all the frivolous eye-candy, give the comp a final spit &amp; polish to make sure the design still *pops* and only <em>then</em> send it to the client.</p>
<p>After the usual bout of back&amp;forth, and you finally get client approval for the &#8220;restrained&#8221; comp, build that, re-adding some or even all of the eye-candy by way of targeted CSS3 and AJAX, so those with modern browsers get the enhanced &#8220;special edition&#8221;.</p>
<p>It&#8217;s a difficult balancing act, sure, and it requires an intimate working knowledge of CSS and browser capabilities, as well as a keen eye for design, but the rewards for dealing with these &#8220;conservative&#8221; clients in this way are legion, and you&#8217;ll end up with:</p>
<ul>
<li>Smoother &amp; quicker development cycles, as there&#8217;s little or nothing to hack.</li>
<li> A site that just works and has no IE overhead.</li>
<li>A client who might feel as though they got more than they bargained for.</li>
<li>Happy users, regardless of what browser they&#8217;re using.</li>
</ul>
<p>Now wouldn&#8217;t that be nice?</p>
<p><em>Addendum:</em><br />
The example given is a mock-site for a mock-client. It was quickly thrown together as an example of what&#8217;s possible with progressive enhancement.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vandenoostende.com/2009/selling-progressive-enhancement-to-conservative-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
