<?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>Siblify - blog &#187; Web design</title>
	<atom:link href="http://siblify.com/blog/category/webdesign/feed/" rel="self" type="application/rss+xml" />
	<link>http://siblify.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 02 Jun 2010 09:40:17 +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>An automatic navigation for ExpressionEngine</title>
		<link>http://siblify.com/blog/2010/an-automatic-navigation-for-expressionengine/</link>
		<comments>http://siblify.com/blog/2010/an-automatic-navigation-for-expressionengine/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 09:16:20 +0000</pubDate>
		<dc:creator>mike952</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[automatic]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[expression]]></category>
		<category><![CDATA[expressionengine]]></category>
		<category><![CDATA[navigation]]></category>

		<guid isPermaLink="false">http://siblify.com/blog/?p=446</guid>
		<description><![CDATA[
Having experimented with several different content management systems, one feature I really value is the ability to dynamically create a navigation menu based on the content of the site.  When I started using ExpressionEngine, I liked it&#8217;s user interface, flexibility and ease of implementation but I missed the automatic navigation builder&#8217;s that are included with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://siblify.com/blog/wp-content/uploads/eegps.jpg"><img class="alignnone size-full wp-image-475" title="eegps" src="http://siblify.com/blog/wp-content/uploads/eegps.jpg" alt="" width="625" height="423" /></a></p>
<p>Having experimented with several different content management systems, one feature I really value is the ability to dynamically create a navigation menu based on the content of the site.  When I started using <a href="http://expressionengine.com/">ExpressionEngine</a>, I liked it&#8217;s user interface, flexibility and ease of implementation but I missed the automatic navigation builder&#8217;s that are included with some open source packages such as <a title="cms made simple" href="http://www.cmsmadesimple.org/">CMS Made Simple</a>.<span id="more-446"></span></p>
<p>These examples are built for ExpressionEngine 2 but the same techniques can equally be applied to ExpressionEngine 1 by switching &#8216;channel&#8217; for &#8216;weblog&#8217;.</p>
<h4>A simple one level menu</h4>
<p>The following will use the standard channels module to iterate over all items in a chosen channel and use their titles as the navigation&#8217;s list item text.  I have set dynamic = &#8220;off&#8221; to ensure all menu items are shown on every page.</p>
<pre class="brush: xml;">
&lt;ul&gt;
{exp:channel:entries channel=&quot;inner_pages&quot; dynamic=&quot;off&quot; sort=&quot;asc&quot;}
&lt;li&gt;&lt;a  href='{title_permalink=&quot;/TemplateGroup/TemplateName&quot;}'&gt;{title}&lt;/a&gt;&lt;/li&gt;
 {/exp:channel:entries}
 &lt;/ul&gt;
</pre>

<h4>A two level navigation</h4>
<p>More often than not, some sort of split level navigation is needed in my sites which needed a bit more work to implement. In this example I have a main navigation and a sub-navigation.</p>
<p>For the main navigation I created several categories that each acted as a parent item for my sub-menu items.  ExpressionEngine was then able to  iterate over all the categories in the specified channel and create a list of all the parent items, using &#8216;path=&#8217; to link the item to the top page in each category.</p>
<pre class="brush: xml;">
&lt;ul id=&quot;mainNav&quot;&gt;
{exp:channel:categories channel=&quot;inner_pages}
&lt;li&gt;&lt;a href='{path='TemplateGroup/TemplateName/index'}'&gt;{category_name}&lt;/a&gt;&lt;/li&gt;
{/exp:channel:categories}
&lt;/ul&gt;
</pre>
<p>I then used the first single level menu above to create the sub-menu.</p>
<p>The first slight problem I ran in to was the fact that all the sub-menu items were showing on every page, regardless of the category that they had been placed in. I needed to incorporate some way of telling the sub-menu which category of items to show. To do this I needed two bits of information, the category that the current page was in and the category that each menu item was in.  To get the page&#8217;s category I used a small snippet of php at the top of the template to create a variable which was then passed to a ExpressionEngine tag as follows.</p>
<pre class="brush: xml;">
{exp:channel:entries channel=&quot;inner_pages&quot; limit=&quot;1&quot;}
&lt;?php $current_cat_id = &quot;{categories}{category_id}{/categories}&quot;; ?&gt;
{preload_replace:current_cat_id=&quot;&lt;?php echo $current_cat_id ;?&gt;&quot;}
{/exp:channel:entries}
</pre>
<p>This created a tag named {current_cat_id} to hold the category of the current page.  The next step was to create a tag to hold the category id for each of the menu items as they were read.</p>
<pre class="brush: xml;">
{preload_replace:side_nav_id=&quot;{categories}{category_id}{/categories}&quot;}
</pre>
<p>This snippet was placed inside the navigation&#8217;s channel tags to make sure it was refreshed for each item.  Then all I needed to do was compare the page&#8217;s category tag to the current item&#8217;s tag and only display the list item when the two matched.</p>
<pre class="brush: xml;">
&lt;ul id=&quot;side_nav&quot;&gt;
{exp:channel:entries channel=&quot;inner_pages&quot; dynamic=&quot;off&quot; sort=&quot;asc&quot;}
{preload_replace:side_nav_id=&quot;{categories}{category_id}{/categories}&quot;}
{if {current_cat_id} == {side_nav_id}}
&lt;li {if &quot;{url_title}&quot; == &quot;{active_url}&quot;} {/if}&gt;&lt;a href='{title_permalink=&quot;/TemplateGroup/TemplateName&quot;}'&gt;{title}&lt;/a&gt;&lt;/li&gt;{/if}
{/exp:channel:entries}
&lt;/ul&gt;
</pre>
<p>The result was a main navigation that displayed all categories in the site and a sub navigation that just showed items that were in that category.<br />
</p>
<h4>Active highlighting</h4>
<p>This method can be extended further to include active highlighting for each item by including a short if statement to check the active status of the link against a predefined variable.</p>
<p>I created a tag that holds the url title of the currently active page at the top of the template:</p>
<pre class="brush: xml;">
{exp:channel:entries channel=&quot;inner_pages&quot; limit=&quot;1&quot;}
&lt;?php $active_url = &quot;{url_title}&quot;; ?&gt;
{preload_replace:active_url=&quot;&lt;?php echo $active_url ;?&gt;&quot;}
{/exp:channel:entries}
</pre>
<p>Then I placed this if statement within the link to compare the page&#8217;s url title tag to the url title of the  current link to add an active class if they matched.</p>
<pre class="brush: xml;">
{if &quot;{url_title}&quot; == &quot;{active_url}&quot;} class=&quot;active&quot; {/if}
</pre>
<p>Likewise I added an active class to the main navigation by comparing the {current_cat_id} tag created earlier to a new tag called {main_nav_id} that is iterated over in the main  navigation&#8217;s channel, defining the category of the current item.</p>
<pre class="brush: xml;">
&lt;ul id=&quot;mainNav&quot;&gt;
{exp:channel:categories channel=&quot;inner_pages}
{preload_replace:main_nav_id=&quot;{category_id}&quot;}
&lt;li&gt;&lt;a {if {current_cat_id} == {main_nav_id}} class=&quot;active&quot; {/if}  href='{path='TemplateGroup/TemplateName/index'}'&gt;{category_name}&lt;/a&gt;&lt;/li&gt;
{/exp:channel:categories}
&lt;/ul&gt;
</pre>
<p>This solution is obviously not perfect or as slick as something like you would find in CMS Made Simple, but if you have settled on ExpressionEngine and you want a way for clients to be able to add new pages without too much fuss then something like this could be your solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://siblify.com/blog/2010/an-automatic-navigation-for-expressionengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One blog. Two websites</title>
		<link>http://siblify.com/blog/2010/one-blog-two-websites/</link>
		<comments>http://siblify.com/blog/2010/one-blog-two-websites/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 20:31:47 +0000</pubDate>
		<dc:creator>mike952</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[duplicate]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://siblify.com/blog/?p=419</guid>
		<description><![CDATA[
Whilst developing siblify.com and msibley.com I was unsure how best to implement my blog which I wanted to be accessible from both sites. I considered having two blogs, one for art and one for web design, but I felt that the two should overlap and I wanted to find a middle ground where both topics [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://siblify.com/blog/wp-content/uploads/wordpress_logo.jpg"><img class="alignnone size-full wp-image-434" title="wordpress_logo" src="http://siblify.com/blog/wp-content/uploads/wordpress_logo.jpg" alt="wordpress logo" width="625" height="311" /></a></p>
<p>Whilst developing siblify.com and msibley.com I was unsure how best to implement my blog which I wanted to be accessible from both sites. I considered having two blogs, one for art and one for web design, but I felt that the two should overlap and I wanted to find a middle ground where both topics could be discussed along with some more random thoughts when I felt like it.  I was aware of the fact that duplicating content can cause problems with search engines and I felt that having two blogs with identical content may cause confusion amongst users so it was a bit of a conundrum.</p>
<p><span id="more-419"></span></p>
<p>I finally decided that the best solution was to host the blog on siblify.com as this was where I expected the majority of traffic to stem from and to link to it from msibley.com.  Due to the fact the blog link was going to be in the main navigation, it was of prime importance that users were immediately aware of the fact they were now in a different domain and given a quick and easy method to return.</p>
<p>To deal with this problem I added a query string variable to the URL of the blog link to tell the landing page that the user has come from msibley.com and that a message needed to be displayed. The link was formatted as follows:</p>
<pre class="brush: xml;">
&lt;a href=&quot;http://www.siblify.com/blog?sourcepage=msibley&quot;&gt;blog&lt;/a&gt;
</pre>
<p>The information after the question mark creates a new variable called sourcepage with a value of msibley which can be processed by the destination page and trigger the message.  To do this I used the following piece of code at the top of the blog page:</p>
<pre class="brush: php;">
&lt;?php

//check if the variable sourcepage has been set

if (isset($_GET['sourcepage'])) {

//if it is, check whether it has a value of msibley

if ($_GET['sourcepage']==msibley) {

//If it does, write the message at the top of the page alerting the user

echo '&lt;div id=&quot;uvleftmsibley&quot;&gt;&lt;p&gt;You have left msibley.com to read Michael\'s blog at siblify.com - &lt;a href=&quot;javascript:javascript:history.go(-1)&quot;&gt;Click here to return &amp;raquo;&lt;/a&gt;
&lt;/p&gt;&lt;/div&gt;';
}
}
?&gt;
</pre>
<p>I kept the message simple but put it in red to make sure the user is immediately aware of it.</p>
<p>So now the user knows they have left msibley.com and has an option to return but how does the link know which web page to return the user to?  Using a simple bit of javascript I&#8217;m able to redirect the user to the last page they were on.  The link would look something like this:</p>
<pre class="brush: jscript;">
&lt;a href=&quot;javascript:javascript:history.go(-1)&quot;&gt;
</pre>
<p>Now if the user visits my siblify blog from msibley.com they are alerted that they have left msibley.com and given the option to return to the page that they navigated from. Problem solved.</p>
<p><a href="http://www.siblify.com/blog?sourcepage=msibley">Click here</a> to see it in action.</p>
]]></content:encoded>
			<wfw:commentRss>http://siblify.com/blog/2010/one-blog-two-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing HTML emails on a Mac</title>
		<link>http://siblify.com/blog/2010/testing-html-emails-on-a-mac/</link>
		<comments>http://siblify.com/blog/2010/testing-html-emails-on-a-mac/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 09:26:52 +0000</pubDate>
		<dc:creator>mike952</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://siblify.com/blog/?p=387</guid>
		<description><![CDATA[
HTML emails are notoriously difficult beasts to tame thanks to patchy/non-existant  support for web standards in most of the main email clients.  One of the worst offenders and the most widely used of these is Microsoft Outlook and for those of us who try to spend as little time as possible in a Windows environment, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://siblify.com/blog/wp-content/uploads/caution.jpg"><img class="alignnone size-full wp-image-402" title="caution outlook ahead" src="http://siblify.com/blog/wp-content/uploads/caution.jpg" alt="caution outlook ahead" width="625" height="416" /></a></p>
<p>HTML emails are notoriously difficult beasts to tame thanks to patchy/non-existant  support for web standards in most of the main email clients.  One of the worst offenders and the most widely used of these is Microsoft Outlook and for those of us who try to spend as little time as possible in a Windows environment, it can be tricky to test.  In this article I will give an outline of how I test HTML emails using my mac with both local applications and online test suites.</p>
<h3><span id="more-387"></span>Testing locally</h3>
<p>Online &#8217;screen-grab&#8217; systems are great for testing html emails in the full range of email clients but there is something re-assuring about seeing your handy work natively in the actual email client.  Whilst some of the major clients are easy to test on a mac (apple mail, thunderbird, gmail etc..), outlook is a little trickier and requires a copy of windows running under bootcamp or a virtual machine.</p>

<h4><strong>Outlook 2008</strong></h4>
<p>Probably the most important client to have tested thoroughly on I found that it was possible to <a title="microsoft office trial" href="http://www.microsoft.com/mac/products/Office2008/trial-download.mspx">install the trial version of Microsoft Office 2008</a> then keep on receiving email long after the trial had expired.  Whilst it does prompt you each time you launch to register the application this doesn&#8217;t pose an issue and this method has proved a quick, reliable and simple way to test emails in Outlook 2008.</p>
<h4><strong>Outlook 2003</strong></h4>
<p>This was a bit trickier to track down as there are no longer trial versions available to download but I eventually  came across a portable version of Outlook 2003 available from less official sources (do a <a title="search for outlook 2003 torrent" href="http://www.google.co.uk/search?source=ig&amp;hl=en&amp;rlz=&amp;=&amp;q=microsoft+office+2003+portable+torrent&amp;btnG=Google+Search&amp;meta=lr%3D&amp;aq=f&amp;oq=">search for Outlook 2003 portable torrent</a>).  Whilst this method might not be strictly &#8216;by the book&#8217; it is a great way to test on this still widely used browser.  Just download the folder to your Windows installation, launch the application file and set up your email account &#8211; no installation necessary.  Outlook 2003 can also be tested for free on Email on Acid and Litmus online services (see below).</p>
<h3>Online test suites</h3>
<p>One really convenient way to test in a multitude of email clients all at once is to use an online test suite which takes your html email and renders it in a variety of the main email clients.  The three I have used are Litmus, Email on acid and Campaign monitor.</p>
<h4><a title="email on acid" href="http://www.emailonacid.com/">Email on acid</a></h4>
<p><strong>Pros:</strong> Whilst it is no longer free to use it is still one of the more affordable paid for services with a couple of email clients still available to preview without charge.  As well as the screen renders they also offer a useful code conflict tool which highlights any possible conflicts with individual browsers.  With both pay as you go and monthly tariffs are available and you can perform tests from as little as $3 ($1 if you are willing to buy 300 credits at once).  I found Email on Acid to be the fastest of the three to produce the finished renders and with a user friendly and fun interface.</p>
<p><strong>Cons:</strong> I have had a couple of results with text formatting that turned out to be slightly inconsistent with results from the actual applications but this was whilst the product was still in Beta so may well have been remedied by now.</p>
<p><a href="http://siblify.com/blog/wp-content/uploads/EMAILONACID.jpg"><img class="alignnone size-full wp-image-407" title="EMAILONACID" src="http://siblify.com/blog/wp-content/uploads/EMAILONACID.jpg" alt="Email on acid" width="625" height="641" /></a></p>
<p><em>Above: Email on Acid&#8217;s main render screen with code conflicts displayed below.</em></p>
<h4><a title="campaign monitor" href="http://www.campaignmonitor.com/">Campaign monitor</a></h4>
<p><strong>Pros:</strong> Convenient to use if you are already using their product for distributing your email campaigns as your account will already be set up with the emails uploaded and ready to test.  I have found the results to be consistently accurate and the spam filter test that is included with the service is useful.</p>
<p><strong>Cons:</strong> I found Campaign Monitor to be slower than Email on Acid to produce all the renders and it was also a couple of dollars more expensive for a single test.</p>
<p><a href="http://siblify.com/blog/wp-content/uploads/CAMPAIGN_MONITOR.jpg"><img class="alignnone size-full wp-image-408" title="CAMPAIGN_MONITOR" src="http://siblify.com/blog/wp-content/uploads/CAMPAIGN_MONITOR.jpg" alt="" width="625" height="578" /></a></p>
<p><em>Above: Campaign Monitor showing thumbnails of all the available renders.</em></p>
<h4><a title="litmus" href="http://litmusapp.com/">Litmus</a></h4>
<p><strong>Pros:</strong> Whilst Litmus is a paid for service it can be used free of charge with the <a title="pure 360" href="http://www.pure360.com/">Pure 360 distribution system</a> or to view a couple of clients via their main portal.  I have found the results to be reliably accurate and inline with real world results.</p>
<p><strong>Cons:</strong> I have on occasion struggled to get renders to appear for all the different email clients and sometimes I have only managed a couple  but this may be a restriction placed on the free service bundled with Pure 360.  It can also be a little slow to produce results and there doesn&#8217;t seem to be a pay as you go option, only subscriptions.</p>
<p><a href="http://siblify.com/blog/wp-content/uploads/LITMUS_PURE360.jpg"><img class="alignnone size-full wp-image-409" title="LITMUS_PURE360" src="http://siblify.com/blog/wp-content/uploads/LITMUS_PURE360.jpg" alt="Litmus test suite" width="625" height="246" /></a></p>
<p><em>Above: Litmus displaying render results via Pure36o.</em></p>

<h3>Summary</h3>
<p>I tend to use a combination of methods to test my html emails.  I would usually start by testing locally until I am pretty sure everything is rendering correctly in Outlook, Apple Mail etc&#8230; then move to a test suite for the final check and for backup to show the client if things go wrong once the email is out of my hands.  If the client is using Pure 360 I tend to use the Litmus testing service as it is free, otherwise I would use Email on Acid.</p>
]]></content:encoded>
			<wfw:commentRss>http://siblify.com/blog/2010/testing-html-emails-on-a-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 useful Joomla extensions / hacks</title>
		<link>http://siblify.com/blog/2009/10-joomla-extensions-hacks-to-make-joomla-even-more-flexible/</link>
		<comments>http://siblify.com/blog/2009/10-joomla-extensions-hacks-to-make-joomla-even-more-flexible/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 15:42:33 +0000</pubDate>
		<dc:creator>mike952</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://siblify.com/blog/?p=258</guid>
		<description><![CDATA[
In a hurry? Read the 30 second version »
expand(document.getElementById('ddet1453079050'));expand(document.getElementById('ddetlink1453079050'))
1. Remove Mootools 1.1
2.  Add classes to your menu items
3. All Videos Reloaded (AVR)
4. Readmore Link
5. Superfish
6. Featured Items module
7. JoomlaFCK Editor
8. Pop-up login box
9. Joomla pack
10. Confirm new users

Here are 10 Joomla extensions and hacks that I&#8217;ve found useful.  Some of them are a bit obscure [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://siblify.com/blog/wp-content/uploads/Joomla.gif"><img class="alignnone size-full wp-image-285" title="Joomla" src="http://siblify.com/blog/wp-content/uploads/Joomla.gif" alt="Joomla logo" width="625" height="150" /></a></p>
<p><a style="display:none;" id="ddetlink1040229356" href="javascript:expand(document.getElementById('ddet1040229356'))">In a hurry? Read the 30 second version »</a>
</p><div class="ddet_div" id="ddet1040229356"><p><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1040229356'));expand(document.getElementById('ddetlink1040229356'))</script></p>
<p><em><strong><strong>1. <a href="http://www.kinesphere.fr/mootools-control">Remove Mootools 1.1</a></strong></strong></em></p>
<p><em><strong><strong><strong>2.  <a href="http://cecilgupta.com/?p=122">Add classes to your menu items</a></strong></strong></strong></em></p>
<p><em><strong><strong>3. <a href="http://extensions.joomla.org/extensions/multimedia/video-players-a-gallery/3955">All Videos Reloaded (AVR)</a></strong></strong></em></p>
<p><em><strong><strong>4. <a href="http://extensions.joomla.org/extensions/structure-a-navigation/site-links/5279">Readmore Link</a></strong></strong></em></p>
<p><em><strong><strong>5. <a href="http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/drop-a-tab-menus/6731">Superfish</a></strong></strong></em></p>
<p><em><strong><strong>6. <a href="http://extensions.joomla.org/extensions/news-display/featured-articles/5890">Featured Items module</a></strong></strong></em></p>
<p><em><strong><strong>7. <a href="http://extensions.joomla.org/extensions/edition/editors/90">JoomlaFCK Editor</a></strong></strong></em></p>
<p><em><strong>8. <a href="http://www.theartofjoomla.com/home/6-layouts/16-layout-overrides-popup-login-box.html">Pop-up login box</a></strong></em></p>
<p><em><strong><strong>9. <a href="http://extensions.joomla.org/extensions/access-a-security/backup/1606">Joomla pack</a></strong></strong></em></p>
<p><em><strong>10. </strong><strong><a href="http://blog.katipo.co.nz/2009/09/21/joomla-vetting-new-signups/">Confirm new users</a></strong></em></p>
<p></p></div><p></p>
<p>Here are 10 Joomla extensions and hacks that I&#8217;ve found useful.  Some of them are a bit obscure but I have found them all invaluable at different times for making Joomla the flexible content management system I need it to be.  I generally wouldn&#8217;t use all of these hacks in one website but just knowing what is possible by changing a few lines of code or by installing a free plugin can broaden your scope when designing for Joomla or help you when deciding if Joomla is suitable for a specific project.</p>
<p><span id="more-258"></span></p>
<p><strong>1. Remove Mootools 1.1</strong></p>
<p>Included in the core Joomla install and feeling its age a bit is Mootools 1.1.  It can come in handy depending on the extensions you are using with your website but more and more I am either finding I don&#8217;t need it or worse it is deterring me from using other more powerful Javascript libraries for fear of conflicts.</p>
<p>There are two easy options for removing Mootools 1.1 from the front-end without affecting it&#8217;s uses by the admin panel, either through a few lines of PHP in your template file or using a simple Joomla extension.</p>
<p><strong>Option 1 </strong></p>
<p>This tip uses a snippet of PHP at the start of the template&#8217;s index.php file and came from <a href="http://www.blog.highub.com/cms/joomla-cms/remove-mootools-from-joomla-header/">Highub &#8211; web tips</a>.  It only removes the Mootools 1.1  library from the front end but they also provide instructions for removing caption.js if you want to go all the way in streamlining your site.</p>
<pre class="brush: php;">&lt;?php&lt;/pre&gt;
// Remove auto generated mootool from header
$headerstuff = $this-&gt;getHeadData();
reset($headerstuff['scripts']);
$moo = key($headerstuff['scripts']);
unset($headerstuff['scripts'][$moo]);
$this-&gt;setHeadData($headerstuff);
?&gt;&lt;jdoc:include type=&quot;head&quot;&gt;
&lt;pre&gt;</pre>
<p><strong>Option 2: </strong><a href="http://www.kinesphere.fr/mootools-control">&#8216;Mootools control&#8217; plugin</a></p>
<p>This may be a more user friendly method if you are more familiar with the Joomla admin panel than the template files and requires nothing more than a simple plugin to select when and where Mootools 1.1 is implemented.  This extension also enables you to change the Mootools file itself if needs be.</p>
<p>Mootools control is a free download from <a href="http://www.kinesphere.fr/mootools-control">Kinesphere</a> and is the method I have found myself using on a regular basis thanks to its ease of use.</p>
<h3><strong>2.  <a href="http://cecilgupta.com/?p=122">Add classes to your menu items</a></strong></h3>
<p>I have needed this hack on a couple of occasions where I have been handed a design to be built in Joomla with a menu system that could only be achieved either by targeting each individual list item with a class selector or at the very least by styling the first and last menu items.</p>
<p>The solution came from <a href="http://cecilgupta.com/?p=122">Cecil Gupta&#8217;s blog </a>in the form of a small adjustment to the mod_mainmenu/default.php overide file .  Cecil&#8217;s solution only applies the class names to the first and last menu items but I modified it slightly to apply a class name to each specific menu item in order. This is the adapted version and instructions on usage can be found on <a href="http://cecilgupta.com/?p=122">Cecil&#8217;s blog</a>.</p>
<pre class="brush: php;">&lt;/pre&gt;
//NEW CODE STARTS HERE

 $children_count = count($node-&gt;children());
 $children_index = 0;

 foreach ($node-&gt;children() as $child) {

 $child-&gt;addAttribute('class', 'nav'.$children_index);

 if ($children_index == 0) {
 $child-&gt;addAttribute('class', 'first nav'.$children_index);
 }

 if ($children_index == $children_count - 1) {
 $child-&gt;addAttribute('class', 'last nav'.$children_index);
 }

 $children_index++;
 }
 //ENDS HERE</pre>
<h3><strong>3. <a href="http://extensions.joomla.org/extensions/multimedia/video-players-a-gallery/3955">All Videos Reloaded (AVR)</a></strong></h3>
<p>One of the reasons I often find myself turning to Joomla is when the client needs to be able to easily add video to their site.  The extension <a href="http://extensions.joomla.org/extensions/multimedia/video-players-a-gallery/3955">All Videos Reloaded</a> is a fork of the popular All Videos project and offers a flexible and powerful solution to adding video to your Joomla website.</p>
<h3><strong>4. <a href="http://extensions.joomla.org/extensions/structure-a-navigation/site-links/5279">Readmore Link</a></strong></h3>
<p>This is another case of being handed a design which isn&#8217;t possible to achieve with a standard Joomla installation. I had one particular case where the intro text needed to be nothing more than a large image and as such the whole thing needed to be a clickable &#8216;read more&#8217; link<strong>. </strong><strong><br />
</strong></p>
<p>The <a href="http://extensions.joomla.org/extensions/structure-a-navigation/site-links/5279">Alternative Readmore Link</a><strong> </strong>plugin turns any text or image into the readmore link by simply wrapping it in a pair of tags.<strong><br />
</strong></p>
<h3><strong>5. <a href="http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/drop-a-tab-menus/6731">Superfish</a></strong></h3>
<p>This is by far my favorite drop down menu script which is now <a href="http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/drop-a-tab-menus/6731">available as a plugin</a> for Joomla 1.5.  Superfish uses Jquery  1.2.6 and whilst it does come with an option to run Jquery in Mootools compatibility mode, if possible I would suggest removing Mootools (see tip 1) to avoid clashes and bloated pages.</p>
<h3><strong>6. <a href="http://extensions.joomla.org/extensions/news-display/featured-articles/5890">Featured Items module</a><br />
</strong></h3>
<p>This may seem a bit of a strange choice seeing as there is a free <a href="http://extensions.joomla.org/extensions/news-display/featured-articles/5890">Featured Articles</a> module that performs a similar task but at only £5 I really liked this commercial version for the added flexibility and hackability which enables it to be used for a far broader variety of uses than the basic Featured Articles module.</p>
<p>The module offers the option to display a short excerpt from articles in a selected category, with link and optional thumbnail image.  You can choose the number of characters displayed, the section, category and ID to be displayed, and whether to display a thumbnail image using the module parameters.</p>
<h3><strong>7. <a href="http://extensions.joomla.org/extensions/edition/editors/90">JoomlaFCK Editor</a></strong></h3>
<p>I install this alternative editor plugin at the beginning of every Joomla site I work on due to it&#8217;s rich set of features and easy to use interface.  One really useful function that isn&#8217;t available in some other popular editors (uh hum&#8230; TinyMCE) is the ability to upload images straight from the editor interface rather than having to upload to the media library first.  It doesn&#8217;t stop there though with bags of customisation options and a snappy, responsive feel.  Best of all, it&#8217;s free.</p>
<h3><strong>8. <a href="http://www.theartofjoomla.com/home/6-layouts/16-layout-overrides-popup-login-box.html">Pop-up login box</a></strong></h3>
<p>More and more websites seem to be utilising modal windows to display additional information to users and whilst this can pose usability issues one common use of this type of  functionality is to display login forms and <a href="http://www.theartofjoomla.com/home/6-layouts/16-layout-overrides-popup-login-box.html">this handy little hack</a> on the <a href="http://www.theartofjoomla.com/home/6-layouts/16-layout-overrides-popup-login-box.html">Art of Joomla</a> website enables you to do just that with a small adaptation to default_login.php override file.  It uses the built in Mootools 1.1 Javascript library to do most of the work and just needs a few lines of extra code to get it working.  If like me you are inclined to remove Mootools altogether to make way for a different library then I found this hack gave me all the clues I needed to achieve a similar effect using Jquery fancybox. <strong> </strong></p>
<h3><strong>9. <a href="http://extensions.joomla.org/extensions/access-a-security/backup/1606">Joomla pack</a></strong></h3>
<p>A regular feature of best Joomla extension lists and for good reason, this component for Joomla 1 and 1.5 provides a really easy and powerful way to both backup and restore not only your Joomla databases but the entire install!  Having toiled with Mysql dumps and automated database backups in the past discovering JoomlaPack was something of a revolution and an essential part of every Joomla install.</p>
<h3>10. <strong><a href="http://blog.katipo.co.nz/2009/09/21/joomla-vetting-new-signups/">Confirm new users</a></strong></h3>
<p>Whilst this hack tampers with core Joomla files which can cause issues when it comes to upgrading your install it can also provide the solution to a problem which in my opinion should have been addressed by Joomla 1.5 from the outset and that is to allow new users to be vetted by the site administrator before becoming active.</p>
<p><a href="http://blog.katipo.co.nz/2009/09/21/joomla-vetting-new-signups/">This post</a> over at Katipo Developers Blog provides instructions to change the sign up process to send both a acknowledgment email to the new users whilst sending the activation email to the site administrator to either grant or deny membership.  It does take a a few steps to achieve this functionality but could be a life saver if required by the client.</p>
]]></content:encoded>
			<wfw:commentRss>http://siblify.com/blog/2009/10-joomla-extensions-hacks-to-make-joomla-even-more-flexible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A better contact form thanks to jQuery slideUp</title>
		<link>http://siblify.com/blog/2009/a-better-contact-form-thanks-to-jquery-slideup/</link>
		<comments>http://siblify.com/blog/2009/a-better-contact-form-thanks-to-jquery-slideup/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 15:34:15 +0000</pubDate>
		<dc:creator>mike952</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[contact form]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[slideDown]]></category>
		<category><![CDATA[slideUp]]></category>
		<category><![CDATA[sliding div]]></category>

		<guid isPermaLink="false">http://siblify.com/blog/?p=174</guid>
		<description><![CDATA[




It was an article in smashing magazine entitled  45 Incredibly Useful Web Design Checklists and Questionnaires that started me thinking about this.  Whilst I think it is a great idea to keep website contact forms as simple as possible for users, I also wanted to offer the ability for potential clients to provide more in-depth [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl id="attachment_251" class="wp-caption alignnone" style="width: 635px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-251" title="can-phone2" src="http://siblify.com/blog/wp-content/uploads/can-phone2.jpg" alt="Jquery contact form" width="625" height="304" /></dt>
</dl>
</div>
<p>It was an article in smashing magazine entitled  <a href="http://www.smashingmagazine.com/2009/06/29/45-incredibly-useful-web-design-checklists-and-questionnaires/">45 Incredibly Useful Web Design Checklists and Questionnaires</a> that started me thinking about this.  Whilst I think it is a great idea to keep website contact forms as simple as possible for users, I also wanted to offer the ability for potential clients to provide more in-depth information about themselves and the projects they represent.</p>
<p><span id="more-174"></span></p>
<p>I had noticed an effect on other websites where contact forms or additional information slide out from discreet tabs to reveal hidden content and whilst I am generally not a big fan of hiding content that the majority of users will want to see, I decided that this might be an occasion where it&#8217;s use was warranted.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-8-174">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://siblify.com/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=8&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-19" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/contact-form/contactform1.gif" title=" " class="shutterset_set_8" >
								<img title="contactform1" alt="contactform1" src="http://siblify.com/blog/wp-content/gallery/contact-form/thumbs/thumbs_contactform1.gif" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-20" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/contact-form/contactform2.gif" title=" " class="shutterset_set_8" >
								<img title="contactform2" alt="contactform2" src="http://siblify.com/blog/wp-content/gallery/contact-form/thumbs/thumbs_contactform2.gif" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>For the most part the contact form remains pretty basic but users are given the option of clicking a &#8216;Reveal extended form&#8217; link to reveal a short questionnaire that should not only help me to get a better idea of what they require but also help them to consider their needs more thoroughly from the outset.  The added benefit I have found from having this type of contact form is that it is easy to identify the people who are really serious about the possibility of working with me as they are the ones who take a bit of extra time to fill in the answers.</p>
<p>The code is really simple and basically just uses jQuery slideUp and slideDown to slide the div holding the contact form in and out of view whilst using hide and show to make sure that the correct link is showing.</p>
<pre class="brush: jscript;">
$(document).ready(function() {

//make the extended form link visible and clickable
 $(&quot;#extend_form_link&quot;).show(); $(&quot;#extend_form_link&quot;).click(function() {

//when extended form link is clicked, hide 'Reveal extended form' link &amp; show the 'Hide extended form' link
 $(&quot;#extend_form_link&quot;).hide(); $(&quot;#retract_form_link&quot;).show();

//use the slidedown effect to reveal the div with id 'extended form'
 if ($(&quot;#extended_form&quot;).is(&quot;:hidden&quot;)) {
 $(&quot;#extended_form&quot;).slideDown(&quot;slow&quot;); }
 }

//use the slideup effect to hide extended form
 ); $(&quot;#retract_form_link&quot;).click(function() {
 $(&quot;#retract_form_link&quot;).hide(); $(&quot;#extend_form_link&quot;).show(); $(&quot;#extended_form&quot;).slideUp(&quot;slow&quot;); }
 ); }
);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://siblify.com/blog/2009/a-better-contact-form-thanks-to-jquery-slideup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My search for the best UK web host</title>
		<link>http://siblify.com/blog/2009/my-search-for-the-best-uk-web-host/</link>
		<comments>http://siblify.com/blog/2009/my-search-for-the-best-uk-web-host/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 14:19:58 +0000</pubDate>
		<dc:creator>mike952</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[fleelancers]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[web hosts]]></category>
		<category><![CDATA[web site hosting]]></category>

		<guid isPermaLink="false">http://siblify.com/blog/?p=88</guid>
		<description><![CDATA[




In a hurry? Read the 30 second version »
expand(document.getElementById('ddet1437613031'));expand(document.getElementById('ddetlink1437613031'))
The various web hosts I am going to review here vary greatly and the right one for you depends on the requirements for your site. None of these hosts are disastrous choices (although Easily has had me close to tears at times).  My personal recommendations would be [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl id="attachment_141" class="wp-caption alignnone" style="width: 635px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-141" title="Best web host" src="http://siblify.com/blog/wp-content/uploads/webhost.jpg" alt="Best web host" width="625" height="263" /></dt>
</dl>
</div>
<p><a style="display:none;" id="ddetlink1207101177" href="javascript:expand(document.getElementById('ddet1207101177'))">In a hurry? Read the 30 second version »</a>
</p><div class="ddet_div" id="ddet1207101177"><p><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1207101177'));expand(document.getElementById('ddetlink1207101177'))</script></p>
<p>The various web hosts I am going to review here vary greatly and the right one for you depends on the requirements for your site. None of these hosts are disastrous choices (although Easily has had me close to tears at times).  My personal recommendations would be Virtual names for smaller sites where you would benefit from a simple-to-use yet powerful control panel and great customer support and Easyspace for a larger business sites where the price, whilst certainly not the cheapest, is more acceptable and comes coupled with an efficient support system and a more corporate feel.</p>
<p>Here&#8217;s a breakdown of the different hosting provider&#8217;s basic and professional hosting packages.  I have excluded any packages that don&#8217;t include php and mysql support as I regard these as essential for modern web development.</p>
<table border="0">
<tbody>
<tr class="toptableline">
<td>Host name</td>
<td>Package</td>
<td>Storage limit</td>
<td>Bandwidth<br />
limit</td>
<td>Mailboxes</td>
<td>Mysql<br />
databases</td>
<td>Domain name<br />
included</td>
<td>Price p.a.<br />
inc. VAT</td>
</tr>
<tr>
<td>Easily</td>
<td>Beginner</td>
<td>1GB</td>
<td>Unlimited</td>
<td>Not stated</td>
<td>1</td>
<td>NO</td>
<td>£24.99</td>
</tr>
<tr class="eventr">
<td>Rating: 4/10</td>
<td>Professional</td>
<td>20GB</td>
<td>Unlimited</td>
<td>Not stated</td>
<td>5</td>
<td>NO</td>
<td>£89.99</td>
</tr>
<tr>
<td>Names Co.</td>
<td>Starter +</td>
<td>1GB</td>
<td>10GB</td>
<td>15</td>
<td>5</td>
<td>YES</td>
<td>£89.99</td>
</tr>
<tr class="eventr">
<td>Rating: 6/10</td>
<td>Business +</td>
<td>4.5GB</td>
<td>45GB</td>
<td>10</td>
<td>10</td>
<td>YES</td>
<td>£199.99</td>
</tr>
<tr>
<td>Nethost</td>
<td>Student</td>
<td>500MB</td>
<td>Ulimited</td>
<td>20</td>
<td>3</td>
<td>NO</td>
<td>£9.99</td>
</tr>
<tr class="eventr">
<td>Rating: 7/10</td>
<td>Deluxe</td>
<td>Unlimited</td>
<td>Unlimited</td>
<td>Unlimited</td>
<td>Unlimited</td>
<td>NO</td>
<td>£129.99</td>
</tr>
<tr>
<td>Easyspace</td>
<td>Starter</td>
<td>3GB</td>
<td>Unlimited</td>
<td>200</td>
<td>1</td>
<td>YES</td>
<td>£55</td>
</tr>
<tr class="eventr">
<td>Rating: 8/10</td>
<td>Business</td>
<td>6GB</td>
<td>Unlimited</td>
<td>200</td>
<td>7</td>
<td>YES</td>
<td>£110</td>
</tr>
<tr>
<td>Virtual Names</td>
<td>Basic</td>
<td>50MB</td>
<td>5GB</td>
<td>10</td>
<td>Unlimited</td>
<td>NO</td>
<td>£23</td>
</tr>
<tr class="eventr">
<td>Rating: 8/10</td>
<td>Super Pro</td>
<td>1GB</td>
<td>60GB</td>
<td>100</td>
<td>Unlimited</td>
<td>NO</td>
<td>£184</td>
</tr>
</tbody>
</table>
<p></p></div><p></p>
<p>In the course of my work as a freelance web designer I have been forced to use a multitude of different web hosts and have come to realise that all web hosts are not equal.  Here is a list of 5 web hosts that I have used with a brief review of my experiences with them.  I have had more experience with some than others so this is by no means a conclusive study but I hope it will help you if you are looking for a web host and don&#8217;t know where to begin.</p>
<p><span id="more-88"></span></p>
<p>Before I start I&#8217;d like to make clear my perspective.  I am a web designer working mainly in HTML, CSS and a bit of PHP with experience of various CMS platforms including Wordpress, CMSMS and Joomla.  I am not a web app developer or database ninja or anything else that sounds complicated so my views do not really take into account the requirements that someone working in these areas might have.</p>
<p>5. <a title="link to easily website" href="http://easily.co.uk/">Easily</a> &#8211; Rating: <span class="rating"><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span></span></p>
<p>Bottom of the pack and for good reason is Easily, the 9th largest web host in the UK with a 2% market share.  Their name gives me a chuckle every time I read it  just for the pure irony.  My initial impressions of Easily were just how ugly and cryptic their control panel was, links to the various functions were denoted by a single letter logo, the key to which was below the viewing threshold of my screen.  Once I had located the various departments I was still left wondering how to do simple things like set up a mysql database or change your version of php without phoning customer support.  You just don&#8217;t seem to be able to manage much stuff on your own from the control panel and if you can, I couldn&#8217;t work out how which is just as bad if not worse.  As well as the short comings of the control panel there is also no way of manually adjusting file permissions which was in the course of time to present me with more problems.</p>
<p><a style="display:none;" id="ddetlink1959223190" href="javascript:expand(document.getElementById('ddet1959223190'))">Click hear to continue reading my easily rant ...</a>
</p><div class="ddet_div" id="ddet1959223190"><p><script language="JavaScript" type="text/javascript">expand(document.getElementById('ddet1959223190'));expand(document.getElementById('ddetlink1959223190'))</script></p>
<p>My worst experience with Easily came when I tried to install a wordpress blog, something I&#8217;d done many times on other hosts without a problem.  Because I was unable to alter the file permissions on the uploads folder I ended up spending over half an hour on the support line waiting to speak to someone who could do it for me.  After a couple of calls and much begging they finally did what I had asked and changed the permissions and all was well, that is until the next morning when I awoke to find the site had been hacked.  My immediate thought was that the permissions had been set too high but I had no way of checking so I was back on the support line.  Initially they apologised and said it had all been fixed but within hours the site was hacked again.  After several more calls and numerous attempts by them to put the blame back on me I finally insisted that I spoke to someone who knew what they were talking about and managed to get through to someone higher up who set up an entirely new hosting for me and set the permissions to my specifications.  Finally the problem was solved but it took me hours of work and worrying that it was something I had done wrong.</p></div><p></p>

<div class="ngg-galleryoverview" id="ngg-gallery-2-88">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://siblify.com/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=2&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-8" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/easily-images/easily1.jpg" title=" " class="shutterset_set_2" >
								<img title="easily1" alt="easily1" src="http://siblify.com/blog/wp-content/gallery/easily-images/thumbs/thumbs_easily1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-9" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/easily-images/easily2.jpg" title=" " class="shutterset_set_2" >
								<img title="easily2" alt="easily2" src="http://siblify.com/blog/wp-content/gallery/easily-images/thumbs/thumbs_easily2.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>4: <a title="Link to Namesco website" href="http://www.names.co.uk/">Namesco</a> &#8211; Rating: <span class="rating"><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span></span></p>
<p>Names co. is the 5th largest web host in the UK with about 3% of the market share and I have only used them for 1 site.  My overall impression isn&#8217;t bad really.  Their control panel is fairly straight forward and easy to use and doesn&#8217;t look too bad aesthetically speaking.  You can manage things like your mysql databases, quotas and email accounts and the file permissions can be set from your ftp program without problems.  My only issue came when I wanted to upgrade my PHP version and had to contact the support line to do so, not a big issue but it took them 24hrs and a couple of emails to get it done so not ideal.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-5-88">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://siblify.com/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=5&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-13" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/namesco/namesco1.jpg" title=" " class="shutterset_set_5" >
								<img title="namesco1" alt="namesco1" src="http://siblify.com/blog/wp-content/gallery/namesco/thumbs/thumbs_namesco1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-14" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/namesco/namesco2.jpg" title=" " class="shutterset_set_5" >
								<img title="namesco2" alt="namesco2" src="http://siblify.com/blog/wp-content/gallery/namesco/thumbs/thumbs_namesco2.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>3: <a title="Link to nethost website" href="http://1-nethost.co.uk/hostpay/">Nethost</a> &#8211; Rating: <span class="rating"><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span></span></p>
<p>I have only recently used nethost for a site and at first I was a little skeptical.  Their control panel is pretty ugly (It looked like it was based on cPanel) and a bit confusing with hundreds of icons and options to filter through but in the end I actually found them to offer a pretty powerful hosting package with a good level of user control.  Things like adding databases and changing php settings are really easy to do and they include some nice usability features like actually showing you your database passwords from the management panel rather than blanking them out which is handy when you are setting up a cms and have forgotten your mysql details.  I also like the prices which were the lowest of all those I have reviewed, offering a fair amount of functionality for relatively little money.</p>
<p>On the down side their customer support seems pretty lame.  They don&#8217;t have a phone number to call and when I emailed them (twice) I didn&#8217;t receive a response.  I also found that the site was sand boxed from public view during development which was great until I was ready to go live, at which point I couldn&#8217;t find any way of activating it.  It took a couple of emails from the account holder before the problem was resolved.  If it wasn&#8217;t for these issues I may have given them an 8 stars or more so if you are confident you wouldn&#8217;t need much help and have a tight budget they might be a good bet.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-6-88">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://siblify.com/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=6&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-15" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/nethost/nethost1.jpg" title=" " class="shutterset_set_6" >
								<img title="nethost1" alt="nethost1" src="http://siblify.com/blog/wp-content/gallery/nethost/thumbs/thumbs_nethost1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>3: <a title="Link to easyspace website" href="http://www.easyspace.com/">Easyspace</a> &#8211; Rating: <span class="rating"><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span></span></p>
<p><em><strong>Update (20/02/2010): </strong>Since writing this post it has been brought to my attention from a couple of different sources that some Easyspace customers are having issues with the reliability of their email service (see comment below).  I probably wouldn&#8217;t mention it if it were just one case, but I have now heard of three separate instances and felt it was worth drawing attention to.</em></p>
<p>Easyspace was the first ever web host I used and I&#8217;ve used them for a couple of sites since.  This host has a more &#8216;corporate feel&#8217; than most of the others I am reviewing here, with an overseas support desk and a slightly pushier sales technique which could either be taken as annoying or reassuringly &#8216;big business&#8217; depending on what sort of person you are.</p>
<p>Their control panel is probably the prettiest of the five hosts I&#8217;m reviewing here but I have always felt it needed some more user testing as many simple tasks can be confusing and unintuitive to achieve. I&#8217;ve often had to run people through simple tasks like setting up autoresponders on the phone over and over again. I did recently receive an email notifying me of a new beta version of their control panel (picture included below) which looks promising but it is still not fully featured at the time of writing this article.  They claim to have based the new UI on extensive user consultation and testing so it could be a big step forward.</p>
<p>I am also quite impressed with a new service of theirs that notifies you via email of any security holes they have spotted on your site, giving you the opportunity to sort them out before your site is compromised.  Their general standard of telephone and email support, whilst not perfect, seems fairly prompt and efficient at dealing with issues.  They also offer free domain names with a lot of their hosting packages which is something to bear in mind when reviewing the prices.</p>
<p>If I were to say anything negative about Easyspace it would be that I have found their email accounts to be a little temperamental with the odd outages and rogue spam filters but I guess no host&#8217;s email servers are perfect.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-7-88">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://siblify.com/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=7&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-10" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/easyspace/easyspace1.jpg" title=" " class="shutterset_set_7" >
								<img title="easyspace1" alt="easyspace1" src="http://siblify.com/blog/wp-content/gallery/easyspace/thumbs/thumbs_easyspace1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-11" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/easyspace/easyspace2.jpg" title=" " class="shutterset_set_7" >
								<img title="easyspace2" alt="easyspace2" src="http://siblify.com/blog/wp-content/gallery/easyspace/thumbs/thumbs_easyspace2.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-12" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/easyspace/easyspace3.jpg" title=" " class="shutterset_set_7" >
								<img title="easyspace3" alt="easyspace3" src="http://siblify.com/blog/wp-content/gallery/easyspace/thumbs/thumbs_easyspace3.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>1: <a title="Link to virtual names website" href="http://www.virtualnames.co.uk/">Virtual names</a> &#8211; Rating: <span class="rating"><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span><span>&#9733;</span></span></p>
<p><em><strong>Update (20/02/2010):</strong> Since writing this review, Virtual Names have been subject to a serious hack attack in which the passwords to all hosting accounts held with them were compromised.  As you can imagine this raises some major concerns regarding security and whilst I felt their response to the situation was transparent and fast, it has still dented my opinion of what is otherwise a really reliable host.</em></p>
<p>Virtual names was the second host that I ever used after it was recommended to me by an agency I was working for.  Initial impressions might be a bit poor due to the basic looking homepage with it&#8217;s pink background and the rather functional design of the control panel but what they lack in slick interface has definitely been made up for in ease of use and flexibility.  Just about every adjustment I have ever needed to make to my hosting I have been able to make quickly and easily via the control panel without needing to contact customer support.   Another strong point in their favor is the speed at which they deal with support requests on the rare occasions that they are necessary.  I have always received an answer to my email within minutes of sending it and the problem has been sorted.</p>
<p>My only negative issue with Virtual Names has got to be the value of their professional packages.  In comparison to some of my less preferred hosts such as Easily, their storage and bandwidth offering is pretty paltry with a 1GB upload limit compared to Easily&#8217;s which is unlimited and a 60 GB bandwidth cap which is once again unlimited with Easily and all at nearly double the price.  Having contacted Virtual Names to ask them about this they did say that they do not penalise users who exceed their bandwidth limitations and that they are looking to increase storage limits in the near future.</p>
<p>As a result of this I would say that unless money is no object, I would only recommended Virtual names for smaller websites where ease of use and reliable support are more important than unlimited storage.  For large scale sites I would wait until they have become a little more competitive and maybe take a look elsewhere for the time being.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-3-88">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://siblify.com/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=3&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-16" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/virtualnames/virtual1.jpg" title=" " class="shutterset_set_3" >
								<img title="virtual1" alt="virtual1" src="http://siblify.com/blog/wp-content/gallery/virtualnames/thumbs/thumbs_virtual1.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-17" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/virtualnames/virtual2.jpg" title=" " class="shutterset_set_3" >
								<img title="virtual2" alt="virtual2" src="http://siblify.com/blog/wp-content/gallery/virtualnames/thumbs/thumbs_virtual2.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-18" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://siblify.com/blog/wp-content/gallery/virtualnames/virtual3.jpg" title=" " class="shutterset_set_3" >
								<img title="virtual3" alt="virtual3" src="http://siblify.com/blog/wp-content/gallery/virtualnames/thumbs/thumbs_virtual3.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>Conclusion</p>
<p>The various web hosts I am reviewing here vary greatly and the right one for you depends on the requirements for your site. None of these hosts are disastrous choices (although Easily has had me close to tears at times).  My personal recommendations would be Virtual names for smaller sites where you would benefit from a simple-to-use yet powerful control panel and great customer support and Easyspace for a larger business sites where the price, whilst certainly not the cheapest, is more acceptable and comes coupled with an efficient support system and a more corporate feel.</p>
<p>Here&#8217;s a breakdown of the different hosting provider&#8217;s basic and professional hosting packages.  I have excluded any packages that don&#8217;t include php and mysql support as I regard these as essential for modern web development.</p>
<table border="0">
<tbody>
<tr class="toptableline">
<td>Host name</td>
<td>Package</td>
<td>Storage limit</td>
<td>Bandwidth<br />
limit</td>
<td>Mailboxes</td>
<td>Mysql<br />
databases</td>
<td>Domain name<br />
included</td>
<td>Price p.a.<br />
inc. VAT</td>
</tr>
<tr>
<td>Easily</td>
<td>Beginner</td>
<td>1GB</td>
<td>Unlimited</td>
<td>Not stated</td>
<td>1</td>
<td>NO</td>
<td>£24.99</td>
</tr>
<tr class="eventr">
<td>Rating: 4/10</td>
<td>Professional</td>
<td>20GB</td>
<td>Unlimited</td>
<td>Not stated</td>
<td>5</td>
<td>NO</td>
<td>£89.99</td>
</tr>
<tr>
<td>Names Co.</td>
<td>Starter +</td>
<td>1GB</td>
<td>10GB</td>
<td>15</td>
<td>5</td>
<td>YES</td>
<td>£89.99</td>
</tr>
<tr class="eventr">
<td>Rating: 6/10</td>
<td>Business +</td>
<td>4.5GB</td>
<td>45GB</td>
<td>10</td>
<td>10</td>
<td>YES</td>
<td>£199.99</td>
</tr>
<tr>
<td>Nethost</td>
<td>Student</td>
<td>500MB</td>
<td>Ulimited</td>
<td>20</td>
<td>3</td>
<td>NO</td>
<td>£9.99</td>
</tr>
<tr class="eventr">
<td>Rating: 7/10</td>
<td>Deluxe</td>
<td>Unlimited</td>
<td>Unlimited</td>
<td>Unlimited</td>
<td>Unlimited</td>
<td>NO</td>
<td>£129.99</td>
</tr>
<tr>
<td>Easyspace</td>
<td>Starter</td>
<td>3GB</td>
<td>Unlimited</td>
<td>200</td>
<td>1</td>
<td>YES</td>
<td>£55</td>
</tr>
<tr class="eventr">
<td>Rating: 8/10</td>
<td>Business</td>
<td>6GB</td>
<td>Unlimited</td>
<td>200</td>
<td>7</td>
<td>YES</td>
<td>£110</td>
</tr>
<tr>
<td>Virtual Names</td>
<td>Basic</td>
<td>50MB</td>
<td>5GB</td>
<td>10</td>
<td>Unlimited</td>
<td>NO</td>
<td>£23</td>
</tr>
<tr class="eventr">
<td>Rating: 8/10</td>
<td>Super Pro</td>
<td>1GB</td>
<td>60GB</td>
<td>100</td>
<td>Unlimited</td>
<td>NO</td>
<td>£184</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://siblify.com/blog/2009/my-search-for-the-best-uk-web-host/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
