<?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>Web Design &#38; Development Talk &#187; web design</title>
	<atom:link href="http://www.web-design-talk.co.uk/category/web-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.web-design-talk.co.uk</link>
	<description>Web Design &#38; Development Blog</description>
	<lastBuildDate>Thu, 29 Dec 2011 15:34:21 +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>Object Oriented CSS (OOCSS) &#8211; My View</title>
		<link>http://www.web-design-talk.co.uk/447/object-orientated-css-oocss/</link>
		<comments>http://www.web-design-talk.co.uk/447/object-orientated-css-oocss/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 15:34:21 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=447</guid>
		<description><![CDATA[After reading an article about OOCSS (Object Oriented CSS) I was left a little numb and confused to be honest. I&#8217;d advise you read the full article before reading what follows. The idea is fairly simple &#8211; write your CSS using a &#8220;bottom up&#8221; approach, as opposed to a &#8220;top down&#8221; approach, treating your elements [...]]]></description>
			<content:encoded><![CDATA[<p>After reading an article about <abbr title="Object Oriented CSS">OOCSS</abbr> (Object Oriented CSS) I was left a little numb and confused to be honest. I&#8217;d advise you <a href="http://coding.smashingmagazine.com/2011/12/12/an-introduction-to-object-oriented-css-oocss/" target="_blank">read the full article</a> before reading what follows.</p>
<p>The idea is fairly simple &#8211; write your <abbr title="Cascading Styles Sheets">CSS</abbr> using a &#8220;bottom up&#8221; approach, as opposed to a &#8220;top down&#8221; approach, treating your elements as &#8220;objects&#8221;, using mainly classes, as opposed to IDs. The idea of this is to make classes more reusable and to encourage a greater css granularity architecture. The overall theory behind OOCSS is something I don&#8217;t dispute in the least, if anything it&#8217;s simply good practice when writing a CSS file.</p>
<p>For me, the whole article borders on the pedantic to the outright pretentious.</p>
<p>Firstly, I&#8217;m not a fan of the name. &#8220;OOCSS&#8221; implies a link to OOP (Object Orientated Programming), which it is not. I can see why they&#8217;ve named it OOCSS as I guess multiple classes could be similar to inheritance, an element on your page as an &#8220;object&#8221;, classes imply reusability etc. As a web developer, who uses OOP I was instantly put on the defensive, thinking &#8220;OOP for CSS, wtf&#8221;. I understand the name is simply a paradigm, but it sends out all the wrong signals for me personally.</p>
<p>Apologies if this article turns into a bit of a rant&#8230;..</p>
<p><span id="more-447"></span></p>
<h2>Descendant CSS Selectors</h2>
<p>OOCSS seems to have a odd rule whereby descendant CSS selectors (E&gt;g. .foo h4) are suddenly not allowed. Instead, to adhere to OOCSS principals you need to split the this into two separate classes and apply both classes within your HTML code:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;button-basic button-skin&quot;&gt;&lt;/div&gt;</pre>
<p>Both methods &#8211; using a descendant selector and two classes &#8211; are perfectly valid for me.</p>
<h2>CSS Class Abstraction</h2>
<p>One of the ideas that I don&#8217;t agree with the fact that the article and whole concept implies that more class abstraction is good. People still learning could read into this idea the wrong way and (worse case scenario) end up with a plethora of abstract classes that produces some awful HTML:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;padding center-element block text-italic floated-right&quot;&gt;&lt;/div&gt;</pre>
<p>I won&#8217;t go into the debate about speed of selectors either, as the article is little one sided here. Giving preference the use of classes over IDs is not a good way to go in my opinion.</p>
<h2>OOCSS Performance Benefits</h2>
<p>Another major selling point of OOCSS is that of site speed &#8211; which is of huge concern to web developers nowadays after recent Google changes, citing page speed as ranking factor. This part of the article is null and void for me as it&#8217;s so obvious. Small style sheets will result in smaller css files that download faster &#8211; that&#8217;s pretty obvious. Although after the CSS file has been gzipped there wouldn&#8217;t be a great deal of real world benefit. Saying all that however, OOCSS is something the majority of good developers do anyway &#8230;.</p>
<h2>OOCSS &#8211; Already Used &#8230;</h2>
<p>For me, OOCSS is an acronym someone has given to a technique they have suddenly realised they use, after comparing it to OOP &#8211; a fancy name if you like. It&#8217;s an acronym I imagine will be very common on CVs.</p>
<p>After reading the article I wondered why it existed in the first place. OOCSS is something any designer/developer worth their salts does by default after a longer enough period of time. One of the biggest sayings when relating to good CSS is &#8220;don&#8217;t use ID selectors for everything&#8221;. It doesn&#8217;t make a great deal of sense when you&#8217;re learning, but as time goes on you&#8217;ll realise that some commonly used IDs could just as well be a class &#8211; whallah, you have yourself the beginning of OOCSS. For instance, in pretty much all my projects I have a class called input-wide that one applied to an input field, makes it longer.</p>
<p>Hell, when I was first learning CSS years ago and ran my (awful, naff) sites through the <a href="http://jigsaw.w3.org/css-validator/" target="_blank">W3C CSS Validator</a> popped up a warning mentioning redundant CSS that could be better served using a class instead of ID &#8211; I never heard one mention of OOCSS then either.</p>
<p>To conclude, I&#8217;m not against OOCSS per se, I&#8217;m against the way it&#8217;s been described in the article as something new and revolutionary. In reality, everyone uses it, unknowingly as it&#8217;s simply a collection of best practices. The article would have a made a lot more sense if it was titled something along the lines of &#8220;CSS Best Practices&#8221;, as that&#8217;s simply what it describes, nothing more or less.</p>
<p>For me this whole area complicates CSS. Personally, I&#8217;ll keep using <a href="http://lessframework.com/" target="_blank">LESS</a> for rapid development of layouts on multiple devices and as a starting point for my CSS &#8211; which is just what I believe a CSS Framework should be &#8211; a starting point, not a long list of &#8220;do&#8217;s and dont&#8217;s&#8221;</p>
<p>I&#8217;m sure some people will totally disagree with me on this whole topic, so I apologise in advance. At the end of the day it&#8217;s a hugely subjective topic <img src='http://www.web-design-talk.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/447/object-orientated-css-oocss/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ECommerce Content Source Ordering for Product Detail Pages</title>
		<link>http://www.web-design-talk.co.uk/326/ecommerce-content-source-ordering-for-product-detail-pages/</link>
		<comments>http://www.web-design-talk.co.uk/326/ecommerce-content-source-ordering-for-product-detail-pages/#comments</comments>
		<pubDate>Sat, 03 Sep 2011 19:07:37 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[CRO]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=326</guid>
		<description><![CDATA[Content source ordering or SOC (source ordered content) is the idea that content nearer the top of the raw  HTML source code has greater weight and meaning for search engines. For instance, a paragraph of text right at the top of the HTML source has more meaning than the same passage that may appear in [...]]]></description>
			<content:encoded><![CDATA[<p>Content source ordering or SOC (source ordered content) is the idea that content nearer the top of the raw  HTML source code has greater weight and meaning for search engines. For instance, a paragraph of text right at the top of the HTML source has more meaning than the same passage that may appear in the footer. It is very useful for those all too common generic menus (home, about, contact etc.) that has no SEO benefit at all, yet appears at the top of every page of your site. With SOC and absolute positioning of DOM elements, it is possible to position this HTML at the very bottom of the source code, thus gicing greater weight to your page content.</p>
<p>The latter is not a new idea by any means, but is generally considored to be a positive practice to implement on any site.</p>
<p><span id="more-326"></span></p>
<h2>SOC and Ecommerce</h2>
<p>The effect is compounded on ecommerce sites &#8211; sites that usually have a heavy template footprint. For example, a typical ecommerce site may contain a category listing with child categories in the form of a &#8220;mega drop down menu&#8221;, as they seem to to be coined. This is fine, as such menus do contain a lot of good keyword rich material that will be relevant to your site.</p>
<p>However, I have recently been experimenting a little on an ecommerce site I regularly perform SEO on, that does have a fairly beefy drop down menu. I have been focusing on product pages &#8211; I like to think of these as your most important pages and pages you&#8217;d want people to land on, as it tends to help conversions. In my eyes, any white hat technique to give greater weight and meaning to such pages is a good thing.</p>
<p>For the site in question I edited the source to force the top menu to the very bottom of the page and used absolute positioniong to force the top menu to the top of the screen for the user, when the page is rendered. I performed a similar action for the product description. As a result the important content i.e. the product title and description are now very close to the top of the page within the HTML.</p>
<h2>Further Product Page Optimisations for SEO</h2>
<p>Additionally I made a couple of other minor optimisations that I&#8217;ve noticed some bigger sites are using. At the top of the site in question, there is a company logo &#8211; a link, styled with a background using css. For the product page I amended this to a h1 tag with the product title within the header tag. I then used text-indent to hide this. Further down the page, I replaced the old header one tag (was further down the page previously, next to the product description) with a h2 tag and placed the product strapline within a h3 tag. So, the HTML for my company logo, for a product page is as follows:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;h1&gt;
&lt;a href=&quot;/product-url.html&quot;&gt;My Product Name Here&lt;/a&gt;
&lt;/h1&gt;
</pre>
<p>I&#8217;ve been runing the above for a month now and have noticed the following trends in Google Analytics &#8211; I can&#8217;t be 100% sure this is directly down to the above though:</p>
<ul>
<li>Increased traffic to product detail pages from Google</li>
<li>1.2% increase in sales conversions</li>
</ul>
<p>Over the next month I&#8217;ll be experimenting with replacing the logo with the category name, on my category listing pages too. I&#8217;ll update this post with my findings.</p>
<p>Have you had any similar experiences using the above, or similar?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/326/ecommerce-content-source-ordering-for-product-detail-pages/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CRO and SEO &#8211; The Essential Relationship</title>
		<link>http://www.web-design-talk.co.uk/317/cro-for-seo/</link>
		<comments>http://www.web-design-talk.co.uk/317/cro-for-seo/#comments</comments>
		<pubDate>Sun, 22 May 2011 16:39:14 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[CRO]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[ui design]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=317</guid>
		<description><![CDATA[Lately, I&#8217;ve been reading a lot of SEO related posts at the web design forum and have been contacted by a lot of seo agencies at work (my email may be doing the rounds). The thing that I&#8217;m most amazed by is what a narrow and ultimately incorrect, view of search engine optimisation some people [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve been reading a lot of SEO related posts at the <a rel="nofollow" href="http://www.webdesignerforum.co.uk/forum/34-seo-search-engine-optimisation-search-engines/">web design forum</a> and have been contacted by a lot of seo agencies at work (my email may be doing the rounds). The thing that I&#8217;m most amazed by is what a narrow and ultimately incorrect, view of search engine optimisation some people and companies seem to have.</p>
<p>Let me elaborate.</p>
<p>As much as I love the web design forum, some of the advice given is frankly, awful, I can&#8217;t<em> </em> not post a reply. A lot of the advice given is a range of generic seo quotes that people have picked from the web. E.g. &#8216;use headings&#8217;, &#8216;have a keyword density of 4%&#8217; and &#8216;get backlinks&#8217;. The majority of the advice centers around simply getting people on a website or appearing for a generic, competitive term. Compare the latter to SEO&#8217;s calling me up at work (and I quote) &#8211; &#8220;there are 9,000 people searching for xxxxx every month, imagine having 9,000 more people on your site every month&#8221;.</p>
<p>All this is fine in theory. However, say you do manage to appear for a generic competitive term or get 9,000 new people on your site &#8211; what then. There is a high likelyhood that your boucne rate (or percentage of people who leave your almost immediately) will increase a lot.</p>
<p><span id="more-317"></span></p>
<h2>Enter Conversion Rate Optimization</h2>
<p>So what exactly has happened in this instance? You now have a lot of traffic coming to your site with lots of people boucning off. For websites that require their visitors convert &#8211; basically any site that sells a service or product (read: any business website) this is bad news, not to mention a total waste of time.</p>
<p>As a website owner, if you found your site at the latter stage, you&#8217;d want to investigate something called <strong>conversion rate optimization</strong> (or CRO). This is a term given to the science of converting more of you visitors into actual customers &#8211; which is what any business requires from their website. Essentially, it the measure of success of a website. For clients who say they want a nicely designed site, with lots of graphics, or clients who want to appear number one for lots of keywords &#8211; they really mean they want a site that converts and makes them money.</p>
<p>This one factor is overlooked so much and seems to be a highly vicious circle. SEO and CRO go hand in hand, indeed they <em>need </em>to go hand in hand as they are tighly linked. Quality SEO practice is needed to get more people onto your site, while CRO is needed to convert these visitors into customers.</p>
<p>It amazes me that I still get marketing calls from professional SEOs who say they can get me onto page one for &#8216;web design&#8217;, without any mention at all of CRO &#8211; they simply say they&#8217;ll get lots of quality backlinks to my site. This is wrong for two reasons. Yes, my site will recieve a lot of traffic, but is it fully optimised to convert visitors into customers (currently it isn&#8217;t, currently undergoing a redesign). Additionally, it&#8217;sd a well known fact that short tail terms don&#8217;t convert as well as a long tail terms. I&#8217;m currently much happier being ranked highly for a longer tail version of &#8216;we design&#8217; &#8211; &#8216;web design xxxx&#8217;, where xxxx is my county. Yes, it has less traffic than &#8216;web design&#8217;, but the traffic is more targetted and relevant. Additionally, I have a geo targetted page in the SERPs for this term, which helps too.</p>
<p>In relation to narrow views expressed on the web design forum, well, those people aren&#8217;t helping anyone and seem to measure the success of SEO in terms of &#8216;how many&#8217; people land on their site. As I&#8217;ve explained above, this is only part of SEO. I&#8217;ll take a typical scenario. Someone asks how they can improve the SEO on their site. People instantly jump in with the generic seo quotes (which are a pet hate of mine). I&#8217;ll have a quick look att he OPs site &#8211; awful design, no useful content there at all, sometimes not even contact details are present. This is where people need to work backwards before quoting the seo quotes they love so much. Firstly, perform some CRO on the target website and ensure that if a visitor does land on your site that are more likely to convert.</p>
<p>To illustrate some examples of CRO, I&#8217;ll explain a few simple and small examples I&#8217;ve personally used on some sites I&#8217;ve been working on:</p>
<p>&nbsp;</p>
<ul>
<li>Make call to action button stand out and adjust the button text &#8211; on a corporate site website, increased enquiries by 2.5% in the first month</li>
<li>Adjust the way an existing ecommerce store displays related items &#8211; instead of selecting 10 random products on the basket page, select 10 products that people have ultimately ordered, based on the current shopping basket &#8211; increased sales by 2.5% in the first month</li>
<li>Removed unecessary fields in our website enquiry form &#8211; cutting it down to 3 fields, from 6 &#8211; increase in enquiries</li>
<li>Boldened and increased font size of first paragraph of text on inner, informational pages &#8211; resulted in people spending more time on the site and allowed the page to focus a clearer message to the visitor</li>
<li>For one company, that had worked with several recognizable brands, I added their logos onto the site in prominant place to build instant trust and reputation &#8211; increase in conversions of 3.5% in first month</li>
</ul>
<p>I&#8217;m by no means an internet marketer, SEO guru or leading web designers at all <img src='http://www.web-design-talk.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  However, it doesn&#8217;t take any of those to realise that once you have attrcated people to a site you need to do everything humanly possible to get a conversion. On the flip side, you need SEO to get a decent level of targetted traffic on a website.</p>
<p>SEo and CRO, a match made in heaven <img src='http://www.web-design-talk.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/317/cro-for-seo/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>JQuery UI Love</title>
		<link>http://www.web-design-talk.co.uk/311/jqueryui-love/</link>
		<comments>http://www.web-design-talk.co.uk/311/jqueryui-love/#comments</comments>
		<pubDate>Mon, 02 May 2011 21:32:32 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[ui design]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=311</guid>
		<description><![CDATA[Recently, I&#8217;ve completed a fairly large project that involved an invoicing system and electronic time cards. As the system was based in house, I decided to make extensive use of JQuery UI. After taking some time to reflect on this I decided to show JQuery UI some love and write a short list of reasons [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I&#8217;ve completed a fairly large project that involved an invoicing system and electronic time cards. As the system was based in house, I decided to make extensive use of <a href="http://jqueryui.com/">JQuery UI</a>. After taking some time to reflect on this I decided to show JQuery UI some love and write a short list of reasons whyit totally rocks, as it made my life as a <strong>developer </strong>a lot easier. Yes, it is overkill importing the whole Jquery UI library and using a single, none essential widget, on a one page smaller site. However, when you have a medium sized system, that requires a large range of interactions, there really isn&#8217;t anything else I&#8217;d rather use, personally.</p>
<h3>The Range of Widgets Available</h3>
<p>Firstly, I made use of nearly all the widgets available &#8211; this resulted in the final system being highly interactive and useable. For instance, having the ability to sort items simply via dragging and dropping when down extrememley well on the useability front with users. JQuery UI made it very easy to save these sorted positions to my database. Having to write something like this from scratch would have been impossible (for me anyway <img src='http://www.web-design-talk.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) and been very time consuming.The dashboard/portal area was another area, where the requyirement to personalise the location of various content boxes was made easy.</p>
<p>The <a href="http://jqueryui.com/demos/dialog/" target="_blank">JQuery Dialog</a> went down a storm too on the useability front too, as people were used to nasty old default JavaScript ones &#8211; the ability to include HTML within each dialog, on the fly allowed me to achieve some pretty informative and useable diaglog.</p>
<p><span id="more-311"></span></p>
<h3>AJAX Integration</h3>
<p>AJAX was always going to be a big part of the final system, so silently loading reports in background whilst users worked was essential. The majority (if not all) of the widgets have functionality to set AJAX options with ease. For instance, adding a nice ajax loading image while a report loads within a tabbed interface took a couple of minutes to achieve. As a further example take the Dialog widget &#8211; I was able to easily achieve the following, quite involved effect within a few minutes. A user clicks on a &#8216;raise invoice&#8217; link, the dialog popups with a dropdown (the user would choose from an action here). Im was able to update the action all within the dialog, via AJAX.</p>
<p>&nbsp;</p>
<h3>Jquery UI CSS Framework</h3>
<p>I&#8217;m a huge fan of the css framework used and especially of the fact it&#8217;s easy to skin large parts of your application via themes. Additionally, it is easy to borrow small parts of css such as icons and form formatting for use in other parts of the system, thus speeding up development even more, whilst keeping a constant feel to the system. The Jquery UI have added many specific classes that makes it easy to tweak the visual settings. Interestingly enough, it is lucky that JQuery UI has theme switching functionality, as one of the more odd requirements was to have a darker theme in the evening/nightime &#8211; this is easy to do on the fly and by conditionally including different JQuery UI css files &#8211; job done!</p>
<p>&nbsp;</p>
<h3>A Single JavaScript File</h3>
<p>Through a single javascript file, I have a huge range of effects and widgets at my fingertips, all of which are compatible with each other. There is nothing as annoying as finding a nice widget for your application and the realising it breaks exsiting areas of your code. For instance, the <a href="http://flowplayer.org/tools/index.html" target="_blank">JQuery Tools</a> set of widgets look very nice, but seem to break a lot of existing code &#8211; this seems to be fairly regular for that particular set of plugins. Compare this with JQuery UI &#8211; I know I&#8217;ll have a range of rich interactions that will always work together. As a developer, this makes my life so much easier and aids development time. For example, I don&#8217;t have to scour the internet for a individual plugins, all of which will work and look different &#8211; I have them all in the form of JQuery UI.</p>
<p>&nbsp;</p>
<h3>The Filesize Issue</h3>
<p>One of my biggest qualms was the filesize of the library in the past. However, the recent 1.8.x release has been the filesize reduced by over 50%! This is of even little concern for me now, as the speed advantages I gain by using JQuery UI are great. Additionally, Google host Jquery UI on their CDN, so you can use the google.load method is silently load the file, with even less disruption to your users.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/311/jqueryui-love/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Image Masking with CSS and HTML</title>
		<link>http://www.web-design-talk.co.uk/299/image-masking-with-css-html/</link>
		<comments>http://www.web-design-talk.co.uk/299/image-masking-with-css-html/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 14:55:09 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=299</guid>
		<description><![CDATA[A recent web design called for the following: the client must be able to upload their own banner images the banner image was not square and had a transparfent mask around over it (in Photoshop, the banner image was underneath a clipping mask) The design must function in a range of legacy browsers This presented [...]]]></description>
			<content:encoded><![CDATA[<p>A recent web design called for the following:</p>
<ul>
<li>the client must be able to upload their own banner images</li>
<li>the banner image was not square and had a transparfent mask around over it (in Photoshop, the banner image was underneath a clipping mask)</li>
<li>The design must function in a range of legacy browsers</li>
</ul>
<p>This presented a major headache. Usually uplaoding a totally square image is easy &#8211; a client can do this with ease themselves. However, the client in question has no experience using using Photoshop (and why should they to update their website?) and wouldn&#8217;t be able to upload a masked image. Additionally, using some of the new <a href="http://www.webkit.org/blog/181/css-masks/" target="_blank">CSS3 image masking properties</a> are out, as I need to support IE6 and above.</p>
<p>So, the solution here is to use a transparent image to overlay the square image &#8211; meaning a client can upload a square image and have it show masked on the live website &#8211; see the <a rel="nofollow" href="http://www.web-design-talk.co.uk/examples/10/static/index.php" target="_blank">final result</a> of what we&#8217;ll be making.</p>
<p><span id="more-299"></span></p>
<p>The HTML is quite simple:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;banner_outer&quot;&gt;

    &lt;div id=&quot;banner&quot;&gt;
        &lt;div class=&quot;frame_top&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;frame_bottom&quot;&gt;&lt;/div&gt;
        &lt;img src=&quot;images/banners/splat.jpg&quot; alt=&quot;splat&quot; /&gt;
    &lt;/div&gt;

&lt;/div&gt;
</pre>
<p>Here, we have a simple wrapping divider to center the banner &#8211; &#8220;banner_outer&#8221; and a second divider to hold the banner &#8211; &#8220;banner&#8221;. There are also two dviders that are absolutely positioned, using a <a href="http://www.web-design-talk.co.uk/88/css-sprities-and-website-optimization/" target="_blank">css sprites</a> for the background images. The image is a 24 Bit PNG image &#8211; as this gives the smoothest effect for the frame and the underlying images could be photographs.</p>
<p>Remove the two frame dividers you&#8217;ll get a a simple box with a square image. However, when you add the two frame dividers you&#8217;ll see the image is show framed (one frame at the top, one at the bottom), exactly how an image clip would work in Photoshop. The CSS is very simple, but there is one key here to make your life easier and to ensure cross browser compatibility.</p>
<h2>Positioning for Child and Parent Elements</h2>
<p>Postion the parent divider to the two frames relatively. Why do this? Well a DOM element <strong>positioned relatively</strong>, gives you full control of the <strong>child DOM elements</strong> inside it, using absolute positioning &#8211; this was definately one of those &#8216;a-ha!&#8217; moments for me where everything became clear.</p>
<p>In essence, the latter stops <strong>child elements</strong> positioned absolutely, from positioning themselves in relation to the body. To see the effect in action, <a rel="nofollow" href="http://www.web-design-talk.co.uk/examples/10/static/index.php" target="_blank">view the demo</a> and use <a href="http://getfirebug.com/" target="_blank">Firebug</a> to disable the &#8216;position: relative&#8217; on the #banner element &#8211; the two frames are positioned absolutely according to the body element and not the #banner element as we want. You <em>could </em>ignore the position relative for the parent item, position the frame divs abolsutely and use margins to move them about &#8211; -this will work but you&#8217;ll run into issues in IE. I&#8217;d highly abvise you stick to the position <strong>relative method</strong>, as described above.<em> </em></p>
<p>The frame I&#8217;ve chosen is a very subtle curve, but you could use any type of shape the mask the image.</p>
<h3>A Note on IE6</h3>
<p>As I&#8217;m sure many of you have already rightly realised &#8211; IE6 does not support transparent PNGs. This is really the only downside to this <strong>css based image masking</strong> technique. There are an absolute plethora of hacks for this, but I&#8217;ll be using the <a href="http://www.dillerdesign.com/experiment/DD_belatedPNG/" target="_blank">belated IE6 PNG Fix</a> &#8211; which adds PNG support to IE6 and below. All that is required is the the following is added the head tag:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--[if lt IE 7]&gt;
    &lt;script src=&quot;js/IE_PNG.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script&gt;DD_belatedPNG.fix('div');&lt;/script&gt;
&lt;![endif]--&gt;
</pre>
<p>The CSS for the example in question is extremely simple &#8211; there&#8217;s no need for me to explain this. Only difference, is that I&#8217;ve added a splash of CSS3 for eye candy.</p>
<p>The final result using a single image can be seen <a rel="nofollow" href="http://www.web-design-talk.co.uk/examples/10/static/index.php" target="_blank">here</a> and a result with multiple images using the excellent innerfade plugin can be seen <a rel="nofollow" href="http://www.web-design-talk.co.uk/examples/10/innerfade/index.php">here</a>.</p>
<p>Happy image masking! <img src='http://www.web-design-talk.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/299/image-masking-with-css-html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Create A Slick Image Portfolio Effect</title>
		<link>http://www.web-design-talk.co.uk/291/slick-portfolio-opacity-effect/</link>
		<comments>http://www.web-design-talk.co.uk/291/slick-portfolio-opacity-effect/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 16:18:37 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=291</guid>
		<description><![CDATA[I was recently browsing a few photography website and came across a quite slick way to display a small snippet of information for for an image gallery. Unfortunately, it was Flash based, so I attemtpted to mimick the using only xHTML and CSS. The basic xHTML is as follows: The HTML is simply an unordered [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.web-design-talk.co.uk/wp-content/uploads/2011/03/html-css-image-gallery.jpg" ><img class="alignleft size-full wp-image-292" title="html-css-image-gallery" src="http://www.web-design-talk.co.uk/wp-content/uploads/2011/03/html-css-image-gallery.jpg" alt="html css image hover effect gallery" width="604" height="198" style="border:1px solid #bbb;padding:2px;" /></a></p>
<p>I was recently browsing a few photography website and came across a quite slick way to display a small snippet of information for for an image gallery. Unfortunately, it was Flash based, so I attemtpted to mimick the using only xHTML and CSS.</p>
<p><span id="more-291"></span></p>
<p>The basic xHTML is as follows:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class=&quot;gallery&quot;&gt;
	&lt;li&gt;
&lt;div class=&quot;image_holder&quot;&gt;&lt;img src=&quot;images/1.png&quot; alt=&quot;some image&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;detail&quot;&gt;

ImageTitle

{YOUR SNIPPET TEXT}

      &lt;a class=&quot;more button&quot; href=&quot;#detail_link&quot;&gt;View More&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>The HTML is simply an unordered list, with a detail div, absolutely positioned, that contains the popup information about that item. When a user hovers over an image the detail tab will be shown. To achieve this effect a simple bit of CSS is used:</p>
<pre class="brush: css; title: ; notranslate">
ul.gallery li:hover .detail {
   display: block;
}
</pre>
<p>There&#8217;s not a lot more to be honest &#8211; take a look at the <a rel="nofollow" href="http://www.web-design-talk.co.uk/examples/9/index.php">result</a> or <a rel="nofollow" href="http://www.web-design-talk.co.uk/examples/9/9.zip">download the source files</a>.</p>
<p>The only downside is that due to the selectors used, the information divider fails to show in IE6.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/291/slick-portfolio-opacity-effect/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Create a CSS Hover Effect Image Gallery</title>
		<link>http://www.web-design-talk.co.uk/230/css-hover-effect-image-gallery/</link>
		<comments>http://www.web-design-talk.co.uk/230/css-hover-effect-image-gallery/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 18:18:24 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=230</guid>
		<description><![CDATA[After browsing through a a few web portfolios lately I&#8217;ve noticed a rather noce efefct &#8211; whereby when the user hovers over a thumbnail an image appear &#8211; this may be a zoom icon (for images) or a play button (for videos). In thus article I&#8217;ll quickly run through the simple steps on who we [...]]]></description>
			<content:encoded><![CDATA[<p>After browsing through a a few web portfolios lately I&#8217;ve noticed a rather noce efefct &#8211; whereby when the user hovers over a thumbnail an image appear &#8211; this may be a zoom icon (for images) or a play button (for videos). In thus article I&#8217;ll quickly run through the simple steps on who we create a a funky <a href="http://www.web-design-talk.co.uk/examples/css-hover-effect-gallery/">css hover effect image gallery</a>. This is a very useful technique for any sort of site that display thumbnails links.</p>
<h3 style="font-size: 14px;">The HTML</h3>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;thumb_wrap&quot;&gt;
&lt;a href=&quot;#link&quot; class=&quot;thumb_link&quot;&gt;
&lt;span&gt;&lt;img src=&quot;play.png&quot; alt=&quot;play&quot; class=&quot;play_video&quot; /&gt;&lt;/span&gt;
&lt;img src=&quot;thumb.jpg&quot; alt=&quot;thumbnail&quot; /&gt;
&lt;/a&gt;
&lt;/div&gt;
</pre>
<p>I&#8217;ve simply nested a span tag containing the hidden play button. Additionally, to keep everything XHTML valid, the hyperlink doesn;t contain block level elemnts.</p>
<h3 style="font-size: 14px;">The CSS</h3>
<pre class="brush: css; title: ; notranslate">
a img {
border:none;
}

.thumb_wrap {
width:194px;
height:110px;
margin:0 25px 0 0;
float:left;
}

img.play_video {
position: absolute;
margin:40px 0 0 80px;
display: none;}
</pre>
<p>The CSS is simply sets the image&#8217;s position absolutely (to ensure nothing gets pushed out of line).</p>
<h3 style="font-size: 14px;">The JQuery</h3>
<p>The give the show effect a nice fade in style and in order the show our hidden image I&#8217;ll add a small piece of JQuery that finds the image within our span tag and fades it in. The latter is done when the user hovers over the image, when the mouse leaves, the image is hidden again. The folllwing would go within the head tag (I&#8217;ve also<a href="http://www.web-design-talk.co.uk/81/reasons-to-let-google-host-your-jquery-files/"> let Google CDN host my JQuery file</a>):</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {

$(&quot;.thumb_link&quot;).mouseover(function(){
 $(this).find('img.play_video').fadeIn('slow');
});

$(&quot;.thumb_link&quot;).mouseout(function(){
 $(this).find('img.play_video').hide();
});

});
&lt;/script&gt;
</pre>
<p>&#8230;..and that&#8217;s it. You now have a cross browser compatible (IE 6 plus) image gallery effect, that is very easy to implement. See the<a href="http://www.web-design-talk.co.uk/examples/css-hover-effect-gallery/"> image gallery in action</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/230/css-hover-effect-image-gallery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>W3C Validation and SEO Benefits &#8211; My Opinion</title>
		<link>http://www.web-design-talk.co.uk/214/w3c-validation-seo-benefits-my-opinion/</link>
		<comments>http://www.web-design-talk.co.uk/214/w3c-validation-seo-benefits-my-opinion/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 21:40:23 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=214</guid>
		<description><![CDATA[The link between full W3C Validation and it&#8217;s important upon SEO is commonly discussed topic and a huge taboo. This is the notion that  having a valid site according to the W3C Standards is either critical (or not) to your website&#8217;s SEO.The first thing to note that a site passing W3C Validation will have met [...]]]></description>
			<content:encoded><![CDATA[<p>The link between full W3C Validation and it&#8217;s important upon SEO is commonly discussed topic and a huge taboo. This is the notion that  having a valid site according to the <a href="http://www.w3.org/standards/">W3C Standards</a> is either critical (or not) to your website&#8217;s SEO.The first thing to note that a site passing W3C Validation will have met the following criteria: will not use depreciated tags and will not have syntax errors &#8211; essentially a syntax check.</p>
<p>I physically cringe when I hear quotes such as &#8216;valid xhtml will help your users&#8217;. Valid xhtml <strong>will not</strong> help your users, to help your users a site needs to adhere to web coding standards &#8211; this is an entirely different beast. The main difference here is the practice of seperating content from presentation, thus giving the content increased meaning. For example, a page using tables to layout the whole web page would not adhere to web coding standards because using tables for layout is semantically incorrect and requires a lot more code. Tables should be used for tabular data, simple. Another example is the use of paragraph and header tags. Visually they are very similar but have a very very different meaning sementically. However, yet again, semantically incorrect pages will pass validation. The main Google webpage doesn&#8217;t even validate (interestingly, Google does&#8217;t even quote html attributes in order to save on page size). In my opinion, as long this is the case W3C validation will be a none issue, SEO wise.</p>
<p>Understanding which semantic elements add value to the document will affect the onsite of a website and <strong>is</strong> an SEO ranking factor.I have read several artuicles that describe W3C validation and SEO as a match made in heaven, this simply isn&#8217;t the case, although web semantics and SEO are.</p>
<p>There are many websites (40% is a figure thrown around a lot) that do not validate, yet perform quite well in search engines as they have a range of high quality content. Take a quick example. I searched for a <strong>very</strong> competitive term &#8220;houses&#8221;. The number one result was rightmove.co.uk. Rightmove even has an authorative listing for that term too &#8211; SEO wise there can&#8217;t be too many issues here. Running that site through the validator throws up 33 errors and 22 warnings. &#8211; see <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.rightmove.co.uk%2F&amp;charset=%28detect+automatically%29&amp;doctype=Inline&amp;group=0">the result</a>. These are mainly smaller syntax errors that quite rightly, the developers of that site have ignored. There are endless examples where sites a lot worse appear at the top of the SERPs, even though they fail to validate and sometimes, don&#8217;t follow web standards at all.</p>
<p><span id="more-214"></span></p>
<p>There is also another camp that stresses that W3C validation is important for page presentation, in turn page presentation affects your reputation and thus your SEO (the number of people willing to backlink to you). Well again, here I&#8217;d quote the subtle difference between validation and semantics. YOu can also have a perfectly presented and formatted page that fails to validate.</p>
<p>The addictive, green &#8220;congratulations&#8221; message that appears is far too often used to lure unknowledgeable clients into a false sense of trust and can go a very long way into building trust between the SEO and client. As Google uses over 200 ranking factors when indexing your website, I find it very hard to believe that minor syntx errors play much role at all. Whenver I see SEO companies that associate &#8220;100% valid xHTML code&#8221; and SEO I run a mile. It&#8217;s clear they have little knowledge of SEO from this one ststement.</p>
<h2 style="border:none;margin-left:0;">Validator error severity</h2>
<p>My next hate is the severity of these errors are often mis-quoted. Don&#8217;t get me wrong, validating your website is good practice, but not critical for SEO. A random unclosed paragraph tag, or site that uses &#8216;b&#8217; tags instead of &#8216;strong&#8217; tags is of little worry to me. I can spend my time of much more important, valuable areas &#8211; at the end of the day this won&#8217;t effect your SEO or the way the page displays. However, when there are more serious  (or hard) errors iccur these could very well stop the page from rendering all together. The latter is of course an erro you<strong> should</strong> take note of and fix quickly. However, minor syntax errors are of little concern. At the end of the day, pages that have an expected layout and content that the bots can consume easily is my major concern. However, pages that validate fully don&#8217;t give you SEO benenfit at all, however nice it is to have.</p>
<h2 style="border:none;margin-left:0;">Full validation isn&#8217;t always possible</h2>
<p>Another point is that full validation isn&#8217;t always possible. For instance, getting your site to display correctly across the plethora of browsers available can cause validation errors. This brings me to another issue. At lot of people seem to assume that a page that doesn&#8217;t pass the W3C validation is badly coded. I&#8217;ll use the example of the Google home page here. This page doesn&#8217;t validate due to a numbers of reason including the numbers of browsing devices it needs to cater for and page size (saving them a lot of money). By the latter logic, Google is a badly made webpage, I think not. I&#8217;m really not going into this anymore as it infuriates me so much. There is a trend where someone checks a page through the validator, if it fails they instanyly make a judgement that the site is badly made.</p>
<p>To conclude, at the minute there really is no evidence to suggest that Google factors in the validity of your code. In time search engines use it as a ranking factor, simialr to how Google began to use loading speed as a minor ranking factor. Validating or not is NOT the same thing as serious HTML errors that hinder crawling and indexing &#8211; this is one huge SEO scam in my opinion and is pushed upon unsuspecting an unknowledgable clients. Furthermore, I&#8217;m yet to see a site built so badly that it has failed to be included in search engines.For me, quality, quthorative content will always be at the heart of SEO, not coding syntax.</p>
<p>I&#8217;m also not saying that W3C validation should be ignored. Tomorrow, Google could well decide that W3C validation is a must and a suddenly a major ranking factor. However, for the time being, is a bit of a none issue for me.</p>
<p>Is W3C validation good practice for web developers, definately. Is W3C validation a must for SEO, not right now. Are SEO and W3C validation highly linked right now, very unlikely.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/214/w3c-validation-seo-benefits-my-opinion/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>JQuery Hover Effect Image Gallery For eCommerce</title>
		<link>http://www.web-design-talk.co.uk/200/jquery-hover-effect-image-gallery-for-ecommerce/</link>
		<comments>http://www.web-design-talk.co.uk/200/jquery-hover-effect-image-gallery-for-ecommerce/#comments</comments>
		<pubDate>Tue, 04 May 2010 16:58:01 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=200</guid>
		<description><![CDATA[After searching  for a simple jquery image gallery for an online store I decided to make my own. There were several solutions that were close to what I wanted, but quite there. The project required an simple large vierw of an image with multiple thumbnails below, when hovered upon switched the large image. The requirements [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="border: 1px solid #cccccc; padding: 2px 2px 2px 0px; margin-right: 15px;" title="web design talk jquery gallery" src="http://www.web-design-talk.co.uk/wp-content/uploads/2010/05/web-design-talk-jquery-gallery.png" alt="web design talk jquery gallery" width="210" height="255" />After searching  for a simple jquery image gallery for an online store I decided to make my own. There were several solutions that were close to what I wanted, but quite there. The project required an simple large vierw of an image with multiple thumbnails below, when hovered upon switched the large image. The requirements were as follows: cross browser compatible (IE6 plus, Chrome and Firefox &#8211; all the major browsers), have a nice fading effect between image changes and be totally degradable if JavaScript was turned off.</p>
<p>First of all, take a peek and the finished <a href="http://www.web-design-talk.co.uk/examples/5/">JQuery image gallery</a> &#8211; I&#8217;ve put the gallery in context on a product detail page for an ecommerce store.</p>
<h4>JavaScript and JQuery to the Rescue!</h4>
<p>JQuery was the <strong>JavaScript framework </strong>of choice and made it easy to get things up and running. Techniqually the same effect can be achieved without JQuery, but for simplicity I&#8217;m using JQuery. The code is quite easy to follow and I&#8217;ll just pickup  up on the main parts.</p>
<p>Firstly we&#8217;ll start off with the HTML &#8211; simply two dividers, with an unordered lists for the thumbnail images:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;bigpic&quot; class=&quot;b&quot;&gt;&lt;img src=&quot;images/big/iphone-3-big.jpg&quot; alt=&quot;iPod Shuffle 16GB Zoom View&quot; /&gt;
&lt;p id=&quot;desc&quot;&gt;iPod Shuffle 16GB Zoom View&lt;/p&gt;

&lt;/div&gt;

&lt;div id=&quot;thumbs&quot;&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a rel=&quot;images/small/iphone-1-small.jpg&quot; href=&quot;images/big/iphone-1-big.jpg&quot;&gt;
&lt;img src=&quot;images/small/iphone-1-small.jpg&quot; alt=&quot;iPod Shuffle Front View In Blue!&quot; /&gt;
&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt; &lt;a rel=&quot;images/small/iphone-2-small.jpg&quot; href=&quot;images/big/iphone-2-big.jpg&quot;&gt;
&lt;img src=&quot;images/small/iphone-2-small.jpg&quot; alt=&quot;iPod Shuffle Dual View Grey!&quot; /&gt;
&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt; &lt;a rel=&quot;images/small/iphone-3-small.jpg&quot; href=&quot;images/big/iphone-3-big.jpg&quot;&gt;
&lt;img src=&quot;images/small/iphone-3-small.jpg&quot; alt=&quot;iPod Shuffle 16GB Zoom View&quot; /&gt;
&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>The main image is housed in the divider with the id of &#8216;bigpic&#8217;. I&#8217;ve also added a description below the big image &#8211; this will change when the image is hovered over to the thumbnail alternate text. Each thumbnail link goes directly to the enlarged version of the image &#8211; this way, the gallery will still work when JavaScript is turned off.</p>
<h4>The JQuery Magic &#8230;.</h4>
<p>Right after including the JQuery library (I recommend you make use of Google CDN for this &#8211; there are many <a href="http://www.web-design-talk.co.uk/81/reasons-to-let-google-host-your-jquery-files/">reasons to let Google host your JQuery files</a>) I have included an int,js file &#8211; this contains all the gallery JavaScript. The int file is a small file that catches a hover on each thumbnail and switches the main gallery image (Our &#8216;bigpic&#8217; divider). All the code is contained within the mahic document.ready listener. The first half of the file catches the hover on a thumbnail:</p>
<pre class="brush: jscript; title: ; notranslate">
$('#thumbs ul li a').hover(
		function() {
			var currentBigImage = $('#bigpic img').attr('src');
			var newBigImage = $(this).attr('href');
			var currentThumbSrc = $(this).attr('rel');
			switchImage(newBigImage, currentBigImage, currentThumbSrc);
		},
		function() {}
	);
</pre>
<p>Here we are getting the currentBig image href, the new big image (from our thumbs href) and current thumbnail src. The second empty fucntion is included to say &#8216;don&#8217;t do anything when hovering away&#8217;. Exclude this empty function and the hover event will continue to fire when you leave the image. Now we have these three variables we pass them to our switchImage function, code below:</p>
<pre class="brush: jscript; title: ; notranslate">
function switchImage(imageHref, currentBigImage, currentThumbSrc) {

		var theBigImage = $('#bigpic img');

		if (imageHref != currentBigImage) {

			theBigImage.fadeOut(250, function(){
				theBigImage.attr('src', imageHref).fadeIn(250);

				var newImageDesc = $(&quot;#thumbs ul li a img[src='&quot;+currentThumbSrc+&quot;']&quot;).attr('alt');
				$('p#desc').empty().html(newImageDesc);
			});

		}

	}
</pre>
<p>This is quite self explanatory. The first check made is that the current big image is not the same as the target big image &#8211; if this was true we would fade in and out the same image, which leads to a rather weird looking effect. If both paths match, the user has hovered over the thumbnail of the current big image (in this case nothing would happen). Hovering over any other image will result in the current big image fading out, setting the big image src to the src from the thumbnail (the new image) and populating our description paragraph.</p>
<h4>Using the Gallery in a Production Website</h4>
<p>In the example 3 static large and small images have been manually added for simplicity. In a real website, maybe an online store, you would retrieve this information from a database. Another thing to note is image sizes. I always find it useful to let users upload whatever file resolution they want, giving them the exact pixels as a recomendation. To ensure that a particularly large file wouldn&#8217;t break the layout I tend to sue image resizing scripts, such as the <a href="http://shiftingpixel.com/2008/03/03/smart-image-resizer/">excellent smart image resizer from shifting pixel</a> &#8211; uploaded images can be automatically scaled to dimensions of your choosing.</p>
<p>Also, at some point I&#8217;ll learn about making your owns plugins for JQuery and turn this into a self contained plugin <img src='http://www.web-design-talk.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>There&#8217;s not a lot more to this to be honest. tested in IE6, IE7, IE8, Chrome and Firefox &#8211; all working nicely.</p>
<p>Take a look at the <a href="http://www.web-design-talk.co.uk/examples/5/">final result</a> or <a href="http://www.web-design-talk.co.uk/wp-content/uploads/2010/05/jquery-gallery--www.web-design-talk.co.uk.zip">download the source files</a>. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/200/jquery-hover-effect-image-gallery-for-ecommerce/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>How to Deal With Difficult Clients Using Split Testing</title>
		<link>http://www.web-design-talk.co.uk/157/how-to-deal-with-difficult-clients-using-split-testing/</link>
		<comments>http://www.web-design-talk.co.uk/157/how-to-deal-with-difficult-clients-using-split-testing/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 20:23:28 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.web-design-talk.co.uk/?p=157</guid>
		<description><![CDATA[Dealing with awkward clients using split testing]]></description>
			<content:encoded><![CDATA[<p>Sometimes you can be in the process of trying to tell a client that their idea simply won&#8217;t work. Be it a flimsey campaign idea of extra design element that you know through experience will not work and produce the desired KPIs for a client project. You can even show the client links, articles and examples of why their idea will fail to deliver results. However, if this is potential or existing client they are likely to go elsewhere, to a company willing to follow their every word without consideration &#8211; I have come across web companies who will do this.</p>
<p>Recently an existing client came to me asking why his site isn&#8217;t showing up when people search for a particular long tail search term. Now, his existing site used a pretty awful content management system that didn&#8217;t even allow him to set his own pages titles or meta descriptions. Furthermore, he was lacking inbound links, which people ranked above him did have. This all sounds simple and straightforward but even after I had explained (in quite clear and non technical langauge may I add) the merits of good SEO and one page content the client simply wouldn&#8217;t accept this as a solution. He had his own short term and less costly solutions &#8211; basically revolving around the the idea me resubmitting his sitemap page to all the major search engines each day. I&#8217;m not debating that submitting a sitemap isn&#8217;t a good idea, because it is. However, the client&#8217;s main KPI for this project was increased site enquiries.</p>
<p>After much discussing this we had both come to a bit of an awkward silence &#8211; not a good thing if you&#8217;ve ever experinced this in client meetings. For some reason I remebered back to my unoversity days where I had read something about <a title="Split Testing " href="http://en.wikipedia.org/wiki/A/B_testing" target="_blank">split testing (or A/B testing)</a> &#8211; where you can turn a negative situation into a positive one.This is quite a delicate situation to be in as it can damage your client relationship quite quickly.</p>
<p>The idea was to use the client&#8217;s idea for a period of time and my idea for a period of time. At the start of this I would install Google Analytics (I was tempted to use Google&#8217;s website optimizer, but decided against it) and let the statisitics do the talking &#8211; as a no one can argue with statistics.</p>
<p>This method has been very useful previously when demonstrating the merits of creating a dedicated landing page for Google Adword campaigns, but can be used anywhere if you&#8217;re willing to a little bit extra.</p>
<p>This method is beneficial for the following reasons:</p>
<ul>
<li>The client&#8217;s idea are being dismissed as wrong (however right you think you are)</li>
<li>You are showing the client that you care enough to demonstrate your ideas</li>
<li>Occassionaly the client will back down as soon as you explain your plan of attack</li>
<li>It prevents those awful awkward silences</li>
<li>You have a real world example to use in your other client meetings</li>
<li>You are speaking the clients language in that you are demonstrating how your actions lead to increased conversions</li>
<li>You are being direct, which I personally think is alwasy a good thing &#8211; as such statistics are often a huge eye opener for clients</li>
<li>If and when the client comes to the same conslusion as you, they won&#8217;t blame you</li>
</ul>
<p>There is always the arguement that the client is the client and that it&#8217;s all business at the end of the day. However, I personally pride myself on doing things properly. Others will say just get on with, do what the client wants and forget about it &#8211; you can only offer your opinion. This is a good point but can still damage your client relationships when they return later on and you need to charge them again. It all depends if you require long or short term client relationships &#8211; as they are definately an investment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.web-design-talk.co.uk/157/how-to-deal-with-difficult-clients-using-split-testing/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

