<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>CSS tutorials and more</title>
	
	<link>http://jamesowers.co.uk</link>
	<description>CSS &amp; other web developer stuff</description>
	<lastBuildDate>Tue, 25 May 2010 09:18:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JamesOwers" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="jamesowers" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Easily get javascript libraries using Script SRC</title>
		<link>http://jamesowers.co.uk/general/526/script-src/</link>
		<comments>http://jamesowers.co.uk/general/526/script-src/#comments</comments>
		<pubDate>Tue, 25 May 2010 09:17:40 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=526</guid>
		<description><![CDATA[When developing a new site I always like to make sure I use the latest release of my javascript library hosted by Google. Then I just update it to a local version before the site goes live. Today I came across a great little site that lets you get the links to the latest versions [...]]]></description>
			<content:encoded><![CDATA[<p>When developing a new site I always like to make sure I use the latest release of my javascript library hosted by Google. Then I just update it to a local version before the site goes live.</p>
<p>Today I came across a great little site that lets you get the links to the latest versions of the most popular javascript libraries quickly and easily.</p>
<p><span id="more-526"></span></p>
<p><a href="http://scriptsrc.net/"><img src="http://jamesowers.co.uk/wp-content/uploads/scriptsrc.png" alt="scriptsrc" title="scriptsrc" width="520" height="129" class="alignnone size-full wp-image-527" /></a></p>
<p>You find your library on the page and click the &#8216;Copy&#8217; button. Then all the code you need to include the library in your page is copied to your clipboard. </p>
<p>I really like simple, easy to use sites like this that do one thing and do it well rather than trying to do too much.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/general/526/script-src/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Font API</title>
		<link>http://jamesowers.co.uk/general/520/google-font-api/</link>
		<comments>http://jamesowers.co.uk/general/520/google-font-api/#comments</comments>
		<pubDate>Thu, 20 May 2010 10:40:29 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=520</guid>
		<description><![CDATA[I wrote an article a while back on font replacement techniques, this is a quick update about Google&#8217;s version of this which is seriously easy to use. The Google Font API allows you to use any font from their font directory or you can use the font loader to load other fonts which they co-developed [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote an article a while back on <a href="http://jamesowers.co.uk/typography/320/font-replacement-techniques/">font replacement techniques</a>, this is a quick update about Google&#8217;s version of this which is seriously easy to use.</p>
<p>The <a href="http://code.google.com/apis/webfonts/">Google Font API</a> allows you to use any font from their font directory or you can use the font loader to load other fonts which they co-developed with TypeKit.</p>
<p><span id="more-520"></span><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/font/font.png" alt="" /></p>
<h2>Using the Google Font API</h2>
<p>There&#8217;s no point in re-inventing the wheel so I&#8217;ll just link to a great article and video guide by Jeffrey Way over at Nettuts. You can have a <a href="http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-google-fonts-api-youre-going-to-love-this/">look at his article here</a>.</p>
<h2>Other Info</h2>
<p>The great thing about the Google Fonts API is the fact that you can still use CSS3 effects on your text if you want to. As for page performance, obviously the initial download may slow your page down slightly but they do try to cache everything to minimise and extra loading times, just make sure you don&#8217;t try and load too many fonts!</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/general/520/google-font-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling and disabling a text input with a checkbox using jQuery</title>
		<link>http://jamesowers.co.uk/javascript/506/enabling-and-disabling-a-text-input-with-a-checkbox-using-jquery/</link>
		<comments>http://jamesowers.co.uk/javascript/506/enabling-and-disabling-a-text-input-with-a-checkbox-using-jquery/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 07:00:22 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=506</guid>
		<description><![CDATA[I wanted to make a quick bit of javascript that would enable or disable a text input based on whether a checkbox was checked or not. I thought this might come in handy so I made it into a tutorial and posted it here. This script will work for any amount of checkboxes and text [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jamesowers.co.uk/wp-content/uploads/roi/input_img.gif" alt="Enabling and disabling a text input with a checkbox using jQuery" /></p>
<p>I wanted to make a quick bit of javascript that would enable or disable a text input based on whether a checkbox was checked or not. I thought this might come in handy so I made it into a tutorial and posted it here. This script will work for any amount of checkboxes and text inputs on a page. You can see a <a href="http://jamesowers.co.uk/wp-content/uploads/roi/demo.html">working demo of it here</a>.</p>
<p><span id="more-506"></span></p>
<p>First we start off with our blank HTML page.</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Enabling and disabling a text input with a checkbox using jQuery&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Next include the jQuery js file from Google.</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Readonly Input Box&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Next we add our text inputs and check boxes. I have also added some labels so that you can see which check box goes with which input. I have added 3 inputs so to show that you can use this technique with multiple boxes.</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Readonly Input Box&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Readonly Input Box&lt;/h1&gt;

&lt;label&gt;My Test Label 1&lt;/label&gt;
&lt;input type=&quot;checkbox&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test1&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 2&lt;/label&gt;
&lt;input type=&quot;checkbox&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test2&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 3&lt;/label&gt;
&lt;input type=&quot;checkbox&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test3&quot; /&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Now I add a class to each check box so that I know which check boxes I want jQuery to watch for clicks on. You don&#8217;t have to do this but you might get some strange results if you didn&#8217;t and you had other check boxes on your page.</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Readonly Input Box&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Readonly Input Box&lt;/h1&gt;

&lt;label&gt;My Test Label 1&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test1&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 2&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test2&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 3&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test3&quot; /&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>I&#8217;ll also add a value to each check box, this will match the name of the input I want it to control.</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Readonly Input Box&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Readonly Input Box&lt;/h1&gt;

&lt;label&gt;My Test Label 1&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test1&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test1&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 2&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test2&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test2&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 3&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test3&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test3&quot; /&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Next, the jQuery. First of all we need the javascript tags, this normally goes at the end of the document so that the HTML &#038; CSS are loaded before any javascript, giving the user the impression that the page is loading faster.</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Readonly Input Box&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;h1&gt;Readonly Input Box&lt;/h1&gt;

&lt;label&gt;My Test Label 1&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test1&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test1&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 2&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test2&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test2&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 3&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test3&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test3&quot; /&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
	$(document).ready(function(){
//Our code will go in here
	});
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>This tutorial will only deal with inputs that are all enabled when the page first loads (I might write another one in the future that covers having some disabled when the page loads) so we need to make sure that all the checkboxes are checked when the page loads. I did this with javascript, this might not be the right way to do it if you want it to degrade gracefully. To check all of my checkboxes when the page loads I use the code.</p>
<pre class="brush: jscript;">
	$(document).ready(function(){
		$('.input_control').attr('checked', true);
	});
</pre>
<p>Next I write some jQuery code that tells jQuery to do something whenever someone clicks one of the checkboxes with the class of &#8216;input_control&#8217;.</p>
<pre class="brush: jscript;">
	$(document).ready(function(){
		$('.input_control').attr('checked', true);
		$('.input_control').click(function(){
//Do this when someone clicks something with the class input_control
		});
	});
</pre>
<p>Now we do a simple if statement that says &#8216;if the check box was checked then set the disabled attribute to false, if the check box was unchecked then set the disabled attribute to true.</p>
<pre class="brush: jscript;">
	$(document).ready(function(){
		$('.input_control').attr('checked', true);
		$('.input_control').click(function(){
			if($('input[name='+ $(this).attr('value')+']').attr('disabled') == false){
				$('input[name='+ $(this).attr('value')+']').attr('disabled', true);
			}else{
				$('input[name='+ $(this).attr('value')+']').attr('disabled', false);
			}
		});
	});
</pre>
<p>And that&#8217;s it! I&#8217;ve added the code of the completed page below and you can <a href="http://jamesowers.co.uk/wp-content/uploads/roi/demo.html">see a demo here</a>. There are probably other ways of doing this, but this is the simplest way that I came up with. I did try doing this with toggle rather than using an if statement but although the disable/enable checkbox worked, the checkbox didn&#8217;t check/uncheck.</p>
<h2>Completed Page</h2>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Readonly Input Box&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;h1&gt;Readonly Input Box&lt;/h1&gt;

&lt;label&gt;My Test Label 1&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test1&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test1&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 2&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test2&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test2&quot; /&gt;

&lt;br /&gt;

&lt;label&gt;My Test Label 3&lt;/label&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;input_control&quot; value=&quot;test3&quot;/&gt;
&lt;input type=&quot;text&quot; name=&quot;test3&quot; /&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
	$(document).ready(function(){
		$('.input_control').attr('checked', true);
		$('.input_control').click(function(){
			if($('input[name='+ $(this).attr('value')+']').attr('disabled') == false){
				$('input[name='+ $(this).attr('value')+']').attr('disabled', true);
			}else{
				$('input[name='+ $(this).attr('value')+']').attr('disabled', false);
			}
		});
	});
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/javascript/506/enabling-and-disabling-a-text-input-with-a-checkbox-using-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC and More!</title>
		<link>http://jamesowers.co.uk/general/501/asp-net-mvc-and-more/</link>
		<comments>http://jamesowers.co.uk/general/501/asp-net-mvc-and-more/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 14:28:30 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=501</guid>
		<description><![CDATA[This is just an update post about what I&#8217;m up to at the minute and my ideas for this site for the future. Lately I&#8217;ve been messing around learning ASP.NET MVC which has been interesting, but I haven&#8217;t had time for much else. Luckily I&#8217;ve done a lot of PHP and classic ASP programming so [...]]]></description>
			<content:encoded><![CDATA[<p>This is just an update post about what I&#8217;m up to at the minute and my ideas for this site for the future.</p>
<p>Lately I&#8217;ve been messing around learning ASP.NET MVC which has been interesting, but I haven&#8217;t had time for much else. Luckily I&#8217;ve done a lot of PHP and classic ASP programming so the c# syntax wasn&#8217;t too new and I love CodeIgniter so the MVC part wasn&#8217;t scary either.</p>
<p><span id="more-501"></span></p>
<p>Now I&#8217;m working on trying to set up a database access layer in Visual Studio to connect to a Sybase database we have on the development server at work which isn&#8217;t so straight forward. Maybe I should start using Twitter so I can just tweet when I get stuck with things like this.</p>
<p>I&#8217;ve also been doing a lot of work on one of my clients sites and updating my portfolio site to make it look a bit better. I was thinking of re-doing this site so it&#8217;s a bit more simple but I&#8217;m worried about damaging my rankings in the search engines. I&#8217;ll have to give it some thought.</p>
<p>In the future I&#8217;m going to try and add more tutorial posts and less roundup posts because I think there&#8217;s waayyy too many of those on the internet now, my RSS reader is packed full of them.</p>
<p>Finally, I ordered the <a href="http://shop.smashingmagazine.com/smashing-book-eu.html#d=smashing-book&#038;utm_source=Smashing%2BMagazine&#038;utm_medium=Footerbanner&#038;utm_content=Ziel%3A%2BShop&#038;utm_campaign=Smashing%2BMagazine%20-%20Footer%20Badge%20-%20Smashing%20Book">Smashing Magazine book</a> (not an affiliate link) last week (a bit late, I know) but I&#8217;ll maybe get some photos and or a review up when it comes and I&#8217;ve had a chance to look at it. </p>
<p><strong>Edit: Ok, I&#8217;ve decided I&#8217;m going to try using Twitter again, this time properly&#8230;hopefully!</strong> <a href="http://twitter.com/jmz360">http://twitter.com/jmz360</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/general/501/asp-net-mvc-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing the WordPress Admin Panel</title>
		<link>http://jamesowers.co.uk/wordpress/491/customizing-the-wordpress-admin-panel/</link>
		<comments>http://jamesowers.co.uk/wordpress/491/customizing-the-wordpress-admin-panel/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 14:19:45 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[options]]></category>
		<category><![CDATA[panel]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=491</guid>
		<description><![CDATA[If you&#8217;re creating a website for a client you will normally find they don&#8217;t want to learn how to use everything in the WordPress admin panel. They probably hired you so that they didn&#8217;t have to learn loads of new stuff and I&#8217;m sure what they wanted was a simple admin panel that made updating [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://jamesowers.co.uk/wp-content/uploads/wpadmin.png" alt="WPAdmin" /></p>
<p>If you&#8217;re creating a website for a client you will normally find they don&#8217;t want to learn how to use everything in the WordPress admin panel. They probably hired you so that they didn&#8217;t have to learn loads of new stuff and I&#8217;m sure what they wanted was a simple admin panel that made updating their site easy. </p>
<p><span id="more-491"></span></p>
<p>Unfortunately, as brilliant as WordPress is, if you simply gave them a login and left them to it the chances are they&#8217;d look at the admin panel, get scared and never go there again, or start changing all of the settings until they broke something. Luckily, there are a ton of different ways we can modify the WordPress admin panel to make it quicker and easier for our clients to use.</p>
<h2>Hiding stuff they don&#8217;t need</h2>
<p>This one is obvious, if they can&#8217;t see a button to click, then they can&#8217;t click it! I normally hide things to do with automated site backups (which you should be doing on all of your sites!), settings (for the site and plugins) etc. Basically stuff they wouldn&#8217;t normally need to use.</p>
<p>For this I use WPLite. Once installed WPLite gives you a list of all the options on the left menu in WordPress with a checkbox next to it. Simply select the ones you want to hide from the menu and that&#8217;s it! There is no editing any of WPs files and if in the future they need to see an option that they currently can&#8217;t, it&#8217;s as simple as logging in and changing some options. </p>
<p><img src="http://jamesowers.co.uk/wp-content/uploads/wplite.png" alt="WPLite" /></p>
<p>Just don&#8217;t forget not to hide the WPLite link from yourself! There is an option to show everything to admin users so it&#8217;s advisable to do that and set yourself up as admin and the other users as something else if possible.</p>
<p>A similar plugin to this that I haven&#8217;t tested is the <a href="http://wordpress.org/extend/plugins/hide-admin-panels/">Hide Admin Panels</a> plugin which says it will let you hide certain admin options from specific users. This could come in very hand for some sites.</p>
<h2>Integrating Analytics</h2>
<p>Everybody wants to know how much traffic they&#8217;re getting on their new website but giving a user some login credentials and a link to update their website and then some more credentials and another link for their web statistics can be a little overwhelming for them. Luckily there is a nice plugin for WordPress that allows you to easily integrate Google Analytics into the WordPress dashboard. No more links, no more login details, it just works! Have a look at <a href="http://ronaldheft.com/code/analyticator/">Google Analyticator</a>.</p>
<h2>Custom WordPress Option Panels</h2>
<p>If you&#8217;ve made a custom theme for a client. It might be a good idea to add some custom options to that theme to make it a better fit for the users. I wrote a post a little while back on <a href="http://jamesowers.co.uk/wordpress/471/wordpress-options-panels/">Custom WordPress Option Panels</a> that rounded up some tutorials.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/wordpress/491/customizing-the-wordpress-admin-panel/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress Options Panels</title>
		<link>http://jamesowers.co.uk/wordpress/471/wordpress-options-panels/</link>
		<comments>http://jamesowers.co.uk/wordpress/471/wordpress-options-panels/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 08:00:08 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[options page]]></category>
		<category><![CDATA[theme development]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=471</guid>
		<description><![CDATA[If you&#8217;re into creating WordPress themes for yourself, a client or even to sell the chances are you have thought about how you could improve your themes if they had an options page in the WordPress admin panel. This may seem a bit daunting to start with but it really doesn&#8217;t have to be, I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re into creating WordPress themes for yourself, a client or even to sell the chances are you have thought about how you could improve your themes if they had an options page in the WordPress admin panel. This may seem a bit daunting to start with but it really doesn&#8217;t have to be, I&#8217;ve done a quick roundup of posts that show you how to create options panels in WordPress.</p>
<p><span id="more-471"></span></p>
<h2>Nettuts</h2>
<p><a href="http://net.tutsplus.com/tutorials/wordpress/how-to-create-a-better-wordpress-options-panel">How to Create a Better WordPress Options Panel</a></p>
<h2>WPShout</h2>
<p><a href="http://wpshout.com/create-an-advanced-options-page-in-wordpress/">Create an advanced options page in WordPress</a></p>
<h2>ThemeForest</h2>
<p><a href="http://blog.themeforest.net/WordPress/create-an-options-page-for-your-WordPress-theme/">Create an options page for your WordPress theme</a></p>
<h2>ForTheLose</h2>
<p><a href="http://forthelose.org/how-to-create-a-theme-options-page-for-your-wordpress-theme">How to create an options page for your WordPress theme</a></p>
<h2>Vitali Software</h2>
<p><a href="http://www.vitali-software.com/web-design/wordpress-tutorial-add-an-options-page-to-your-wp-theme/">Add an options page to your WordPress theme</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/wordpress/471/wordpress-options-panels/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free Stuff From MediaLoot</title>
		<link>http://jamesowers.co.uk/freebies/479/free-stuff-from-medialoot/</link>
		<comments>http://jamesowers.co.uk/freebies/479/free-stuff-from-medialoot/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 09:39:35 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[Freebies]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=479</guid>
		<description><![CDATA[If you haven&#8217;t already come across it, Media Loot is a coming soon site that will allow you to subscribe for access to loads of icons and other web design resources instead of paying for every set you use. Although the site isn&#8217;t up yet, they are offering a few free teasers in the MediaLoot [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t already come across it, Media Loot is a coming soon site that will allow you to subscribe for access to loads of icons and other web design resources instead of paying for every set you use.</p>
<p><a href="http://medialoot.com/"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/ml/ml1.jpg" alt="MediaLoot Splash Page" /><br />
</a></p>
<p><span id="more-479"></span></p>
<p>Although the site isn&#8217;t up yet, they are offering a few free teasers in the <a href="http://medialoot.com/blog/">MediaLoot blog</a>.</p>
<h2>Free Icons</h2>
<p><a href="http://medialoot.com/blog/incredibly-detailed-free-icons-set/"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/ml/mlicons.jpg" alt="MediaLoot Free Icons" /><br />
</a></p>
<h2>Free Corporate Identities</h2>
<p><a href="http://medialoot.com/blog/two-free-corporate-identity-sets-basic-style-ultra-minimal/"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/ml/mlid.jpg" alt="MediaLoot Free Corporate Identities" /><br />
</a></p>
<h2>Free UI Set</h2>
<p><a href="http://medialoot.com/blog/freebie-massive-web-ui-button-set/"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/ml/mlui.jpg" alt="MediaLoot UI Set" /><br />
</a></p>
<p>On their splash page it says they&#8217;re launching Feb 2010 (which has already been and gone) so I guess they&#8217;re not too far away from launching now. If you stick your email address in the box on their splash page they will keep you up to date with what&#8217;s going on.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/freebies/479/free-stuff-from-medialoot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AB Testing with WordPress</title>
		<link>http://jamesowers.co.uk/wordpress/467/ab-testing-with-wordpress/</link>
		<comments>http://jamesowers.co.uk/wordpress/467/ab-testing-with-wordpress/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 16:20:50 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=467</guid>
		<description><![CDATA[This is a pretty old video I came across from the Carsonified Blog. But it does cover a lot of interesting things that I&#8217;d never thought of before. It&#8217;s all to do with AB testing when you&#8217;re running your site on WordPress. Don&#8217;t worry if you don&#8217;t know what AB testing is, he goes through [...]]]></description>
			<content:encoded><![CDATA[<p>This is a pretty old video I came across from the Carsonified Blog. But it does cover a lot of interesting things that I&#8217;d never thought of before. </p>
<p>It&#8217;s all to do with AB testing when you&#8217;re running your site on WordPress. Don&#8217;t worry if you don&#8217;t know what AB testing is, he goes through it in the video.</p>
<p>I tried to embed the video in here but it didn&#8217;t want to work so here&#8217;s a link to <a href="http://vimeo.com/5775819">AB Testing in WordPress</a> from <a href="http://carsonified.com/blog">Carsonified</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/wordpress/467/ab-testing-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A feeble update</title>
		<link>http://jamesowers.co.uk/general/465/a-feeble-update/</link>
		<comments>http://jamesowers.co.uk/general/465/a-feeble-update/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 10:43:25 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=465</guid>
		<description><![CDATA[I&#8217;d love to be able to update this site a lot more than I do however my day job and customers must come first! In the little free work time I&#8217;ve had over the past few months, I&#8217;ve managed to get most of my new portfolio website done which you can see if you go [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d love to be able to update this site a lot more than I do however my day job and customers must come first! In the little free work time I&#8217;ve had over the past few months, I&#8217;ve managed to get most of my new portfolio website done which you can see if you go to <a href="http://www.gotwebsites.co.uk/">GotWebsites</a>.</p>
<p>I&#8217;ve been learning loads about CodeIgniter and Doctrine when I&#8217;ve had time aswell and I&#8217;d really like to write a few blog posts on that when I&#8217;m not as busy but it looks like I&#8217;m going to have loads of work on for the next month or two at least. </p>
<p>Hopefully when I get back to having time to post here I&#8217;ll come back with loads of great ideas for articles.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/general/465/a-feeble-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software to get things done</title>
		<link>http://jamesowers.co.uk/software/443/software-to-get-things-done/</link>
		<comments>http://jamesowers.co.uk/software/443/software-to-get-things-done/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 11:37:57 +0000</pubDate>
		<dc:creator>Jmz</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://jamesowers.co.uk/?p=443</guid>
		<description><![CDATA[I&#8217;ve been looking for some good &#8216;Get Things Done&#8217; (GTD) software for a while now. I&#8217;ve looked at loads of different options but nothing has done exactly what I want it to do whilst running on my Windows computer, my Mac and my Android phone and being relatively inexpensive. Here&#8217;s a rundown on the software [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for some good &#8216;Get Things Done&#8217; (GTD) software for a while now. I&#8217;ve looked at loads of different options but nothing has done exactly what I want it to do whilst running on my Windows computer, my Mac and my Android phone and being relatively inexpensive.</p>
<p>Here&#8217;s a rundown on the software I found and the good and bad bits.</p>
<p><span id="more-443"></span></p>
<h2>Things</h2>
<p><a href="http://culturedcode.com/things/" title="Things"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/gtd/things.png" alt="Things" /><br />
</a></p>
<p>First off, there are some excellent programs out there for OSX. Things is a great example of this. It works well and looks great, but only on a Mac and an iPhone. This isn&#8217;t a problem for some people but since I develop stuff for Windows Smartphones I also need a Windows computer for work and Things won&#8217;t work on that, there also isn&#8217;t an Android app yet, maybe sometime in the future! </p>
<p>At $49.95 Things is also quite expensive, although if it would work on Windows and on my phone, I&#8217;m sure I&#8217;d pay it. So if you only work on a Mac and use an iPhone, Things is probably the best it&#8217;s going to get!</p>
<h2>Remember The Milk</h2>
<p><a href="http://www.rememberthemilk.com/" title="Remember The Milk"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/gtd/rtm.png" alt="Remember The Milk" /><br />
</a></p>
<p>Now I move on to web based applications. Remember The Milk is pretty awesome as well. The main online program is free, it&#8217;s browser based and does everything you need a GTD application to do. I don&#8217;t think it&#8217;s quite as pretty as a desktop app like Things, but that&#8217;s just my opinion! Because it&#8217;s browser based, it will work on Windows, OSX, Ubuntu, or whatever.</p>
<p>Their pro plan costs $25 a year which is very cheap and this allows you to get the Android or iPhone app. They also have an api which has allowed other developers to create applications to work with Remember The Milk, one of these applications that I tried out was Astrid. This means you can actually use the service on your phone without having to pay to upgrade to pro, although if you like Remember The Milk and you use it a lot, it&#8217;s worth going pro just to show your appreciation.</p>
<p>The only downside I could find for Remember The Milk was the lack of a standalone desktop application I could use. I didn&#8217;t want to have my to do list open in my browser all of the time. There are a few sort of hacks you can use to see your list somewhere other than your browser but nothing that felt natural to me.</p>
<h2>Google Tasks</h2>
<p><a href="http://mail.google.com/mail/help/tasks/" title="Google Tasks"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/gtd/gtask.png" alt="Google Tasks" /><br />
</a></p>
<p>Google have their own GTD software which is also web based. It integrates with GMail, Google Calendar and iGoogle which is pretty good and there is also a mobile version which isn&#8217;t a mobile app, just a web page optimised for your phone.</p>
<p>Again, the lack of a desktop app and the fact that there wasn&#8217;t an actual mobile app put me off using this.</p>
<h2>Doit.im</h2>
<p><a href="http://doit.im/" title="Doit.im"><br />
<img src="http://www.jamesowers.co.uk/wp-content/uploads/gtd/doit.png" alt="Doit.im" /><br />
</a></p>
<p>I started to think that maybe I was asking for too much from the GTD software and started to use Remember The Milk when I came across doit.im which basically does everything I need it to. There is an Adobe Air app which means it can run on my Windows PC and my Mac just like I wanted, there is also an iPhone and an Android app. All of the applications are synced to the web so all of my computers are up to date and everything works nicely and looks great!</p>
<p>I think the software is quite new so there are a few bug here and there but nothing major. The main one was when I installed it on my Mac it crashed the first few times I tried to run it which I think was something to do with their SSL certificate but it&#8217;s working now and hopefully they&#8217;ll get a better certificate soon so nobody else gets that problem.</p>
<p>Not only does Doit.im do everything I want it to, it&#8217;s also totally free and a according to their website it always will be.</p>
<h2>Other GDT software to check out</h2>
<p>This is a list of GTD software I haven&#8217;t had a chance to test myself.</p>
<p><a href="http://task.fm/"><strong>Task.fm</strong></a> &#8211; Web based software with SMS reminders and email creation of tasks. They offer a free plan and a pro one for $3.99 per month.</p>
<p><a href="http://www.nozbe.com/"><strong>Nozbe</strong></a> &#8211; Another web based one with an iPhone app.</p>
<p><a href="http://www.taskmerlin.com/gtd.aspx"><strong>TaskMerlin</strong></a> &#8211; Windows based GTD software</p>
<h2>Disclaimer</h2>
<p>I should point out here that I have nothing to do with any  of the companies that make the applications I&#8217;ve written about. I&#8217;m just giving my opinions on the software.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamesowers.co.uk/software/443/software-to-get-things-done/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss><!-- Served from: jamesowers.co.uk @ 2010-07-21 05:12:12 by W3 Total Cache -->
