<?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>More Than Scratch The Surface</title>
	
	<link>http://www.scratch99.com</link>
	<description>A Journey In Web Development</description>
	<lastBuildDate>Fri, 05 Feb 2010 22:52:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MoreThanScratchTheSurface" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="morethanscratchthesurface" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">MoreThanScratchTheSurface</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Advanced WordPress Admin Tip: Posts By Category</title>
		<link>http://www.scratch99.com/2010/01/advanced-wordpress-admin-tip-posts-by-category/</link>
		<comments>http://www.scratch99.com/2010/01/advanced-wordpress-admin-tip-posts-by-category/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 13:51:06 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=240</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2010/01/advanced-wordpress-admin-tip-posts-by-category/.Go to Posts -&#62; Edit in the WordPress Admin area and you&#8217;ll see a list of all the posts you have. There is a dropdown list called View all categories, which allows you to select a single category to view posts from. But&#8230;
What if you [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2010/01/advanced-wordpress-admin-tip-posts-by-category/">http://www.scratch99.com/2010/01/advanced-wordpress-admin-tip-posts-by-category/</a>.<br /><p>Go to Posts -&gt; Edit in the WordPress Admin area and you&#8217;ll see a list of all the posts you have. There is a dropdown list called View all categories, which allows you to select a single category to view posts from. But&#8230;</p>
<p>What if you want to <strong>view posts from more than one category</strong>, or better yet, want to <strong>exclude posts from certain categories</strong>? Can&#8217;t do it right? Well not through the WordPress interface, but you can do it through URL parameters.</p>
<h2>Finding Out Your Category Numbers</h2>
<p>To make this work, you&#8217;ll need to know the category numbers for your categories. You can find these through either of the following two methods:</p>
<ol>
<li>Go to Posts -&gt; Category screen and hold your mouse over the category in question. In your browser&#8217;s status bar you will see a URL which ends in ID=xx (xx is the number of the category). </li>
</ol>
<p>OR</p>
<ol start="2">
<li>While still in Posts -&gt; Edit, select the category you want in the dropdown list and click Filter. You&#8217;ll be taken to a page showing only posts from that category. In the browser&#8217;s address bar you&#8217;ll see that the URL contains cat=xx (xx is the number of the category). </li>
</ol>
<p>The first method is quicker if you want to look up multiple category numbers (you may want to write them down). The second method is better if you&#8217;re just after one or two category numbers &#8211; you&#8217;ll need to do this step anyway.</p>
<h2>First Step</h2>
<p>By default, the Posts -&gt; Edit screen has a URL that ends in wp-admin/edit.php with no parameters, eg:</p>
<p class="codebox">http://www.scratch99.com/wp-admin/edit.php</p>
<p>Rather than typing all the parameters, it makes sense to start with a URL that includes them. </p>
<p>If you haven&#8217;t already, select one of the categories you want to include / exclude in the dropdown list and click Filter. You&#8217;ll be taken to a page showing only posts from that category, but you will now have a URL that looks like this:</p>
<p class="codebox">http://www.scratch99.com/wp-admin/edit.php?s&amp;mode=list&amp;action=-1&amp;m=0&amp;cat=92&amp;action2=-1</p>
<p>We&#8217;re going to be changing the cat=xx part of the URL.</p>
<div class="csstextbox1">Note: Don&#8217;t bother trying to use the URLs in this post. My <a href="http://www.scratch99.com/2008/10/password-protecting-the-wp-admin-folder/">wp-admin section is password protected</a>, so all you&#8217;ll get is the password prompt.</div>
<h2>Displaying Posts From More Than One Category</h2>
<p>Perhaps I want to display posts from more than one category &#8211; in my case, I may want to see all the posts from my WordPress and Web Development categories, but not from the rest of my categories (too much noise).</p>
<p>Easy. Simply edit the URL and change the cat=xx to cat=xx,xx (where xx is the category numbers that you want). In my case, I change the URL to the following (note the cat=4,65):</p>
<p class="codebox">http://www.scratch99.com/wp-admin/edit.php?s&amp;mode=list&amp;action=-1&amp;m=0&amp;cat=4,65&amp;action2=-1</p>
<p>Want posts from three categories? That&#8217;s right: </p>
<p class="codebox">cat=xx,xx,xx</p>
<p>You&#8217;ve got it now!</p>
<h2>Excluding Posts From Certain Categories</h2>
<p>It&#8217;s also possible to exclude posts from certain categories from appearing in the Posts -> Edit screen.</p>
<p>Why would I want to exclude posts from certain categories? Actually, that&#8217;s how I started looking into this issue. I haven&#8217;t been posting much recently and, as a result, my weekly automatic lifestream digest posts pretty much filled up the screen: </p>
<p><img src="http://www.scratch99.com/wp-content/uploads/2010/01/edit-posts-1.png" alt="too many noisy entries in Edit Posts list" width="500" height="627" /></p>
<p>I was having trouble seeing my real posts! </p>
<p>Thankfully it&#8217;s easy to <strong>exclude the category that these posts are in</strong>. Simply edit the URL and change the cat=xx to cat=-xx (where xx is the category number you want). In my case, I change the URL to the following (note the minus sign, eg: cat=-92):</p>
<p class="codebox">http://www.scratch99.com/wp-admin/edit.php?s&amp;mode=list&amp;action=-1&amp;m=0&amp;cat=-92&amp;action2=-1</p>
<p>The result:</p>
<p><img src="http://www.scratch99.com/wp-content/uploads/2010/01/edit-posts-2.png" alt="A much better list with unnecessary posts removed" width="500" height="155" /></p>
<p>Want to exclude posts from more than one category? That&#8217;s right: </p>
<p class="codebox">cat=-xx,-xx,-xx</p>
<div class="csstextbox1">Note: I follow the rule of having one category per post. I&#8217;m not quite sure what will happen if your posts have more than one category. Will they show up if you exclude one of the categories that they&#8217;re in? Probably, because they are also in a category you are including, but I don&#8217;t know for sure.</div>
<h2>Final Thoughts</h2>
<p>That&#8217;s all &#8211; it&#8217;s a fairly long post for a fairly simple tip. It&#8217;s probably not something that will be needed often, but in some circumstances it&#8217;s very useful to have <strong>greater control over which posts appear on the Edit Posts screen</strong>.</p>
<script type="text/javascript">Nifty("div.csstextbox1","bgcolor-#FFFFFF");</script><img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/dPvaCxeT0WI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2010/01/advanced-wordpress-admin-tip-posts-by-category/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>2009 On More Than Scratch The Surface</title>
		<link>http://www.scratch99.com/2010/01/2009-on-more-than-scratch-the-surface/</link>
		<comments>http://www.scratch99.com/2010/01/2009-on-more-than-scratch-the-surface/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 06:54:37 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[make money online]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=239</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2010/01/2009-on-more-than-scratch-the-surface/.Happy New Year to all! A year ago, after looking at my Google Analytics stats for the year, I wrote a post reviewing 2008. I figure I may as well do it again for 2009 and also take the opportunity to explain the direction of [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2010/01/2009-on-more-than-scratch-the-surface/">http://www.scratch99.com/2010/01/2009-on-more-than-scratch-the-surface/</a>.<br /><p>Happy New Year to all! A year ago, after looking at my Google Analytics stats for the year, I wrote a <a href="http://www.scratch99.com/2009/01/2008-on-more-than-scratch-the-surface/">post reviewing 2008</a>. I figure I may as well do it again for 2009 and also take the opportunity to explain the direction of this site.</p>
<h2>The Top Ten Visited Posts In 2009</h2>
<p>According to Google Analytics, the top ten visited posts in 2009 (with the home page and plugin pages stripped out) were:</p>
<ol>
<li><a href="http://www.scratch99.com/2008/03/creating-javascript-array-dynamically-from-php-array/">Creating A JavaScript Array Dynamically Via PHP</a> (2008)</li>
<li><a href="http://www.scratch99.com/2009/01/blogger-how-to-add-adsense-inside-single-posts-only/">Blogger – How To Add Adsense Inside Single Posts Only</a> (2009)</li>
<li><a href="http://www.scratch99.com/2008/09/avoid-smart-pricing-show-adsense-only-to-search-engine-visitors/">How To Display Ads Only To Search Visitors</a> (2008)</li>
<li><a href="http://www.scratch99.com/2009/02/poll-wordpress-theme-frameworks/">Poll – Which WordPress Theme Framework To Use?</a> (2009)</li>
<li><a href="http://www.scratch99.com/2007/06/wordpress-simple-css-text-boxes-in-posts/">WordPress – Simple CSS Text Boxes In Posts</a> (2007)</li>
<li><a href="http://www.scratch99.com/2007/08/wordpress-most-viewed-sidebar-widget/">WordPress – Most Viewed – Sidebar Widget</a> (2007)</li>
<li><a href="http://www.scratch99.com/2007/06/wordpress-rounded-text-boxes-in-posts/">WordPress – Rounded Text Boxes in Posts</a> (2007) </li>
<li><a href="http://www.scratch99.com/2009/03/custom-page-template-external-css-file/">Custom Page Templates – Calling An External CSS File</a> (2009)</li>
<li><a href="http://www.scratch99.com/2008/09/setting-cookies-in-wordpress-trap-for-beginners/">Setting Cookies In WordPress – Trap For Beginners</a> (2008)</li>
<li><a href="http://www.scratch99.com/2008/01/avoid-adsense-smart-pricing-on-blogs/">How To Avoid Adsense Smart Pricing On Blogs</a> (2008)</li>
</ol>
<p>While I feel some of those posts deserve to be there, there are some that I don&#8217;t feel are particularly deserving. </p>
<p>Also, as you can see, there&#8217;s only 3 posts written in 2009 in that list. The others were written in 2008 (4 posts) or 2007 (3 posts). I guess that&#8217;s not too surprising as a lot of my traffic comes from search engines and old posts are just as likely to rank well as new ones. </p>
<p>It also doesn&#8217;t help that I only wrote 20 posts in 2009 (not counting automatic lifestream posts), but more on that later.</p>
<h2>My Top 5 Posts From 2009</h2>
<p>Last year, I included a list of the 10 posts that <strong>I thought were my best</strong> in 2008. If I were to do this again for 2009, I&#8217;d only go with 5 articles that I was particularly happy with. There are others which are okay, but don&#8217;t particularly stand out for me. </p>
<p>So, here are my top 5 posts written in 2009:</p>
<ol>
<li><a href="http://www.scratch99.com/2009/06/subscribe-to-comments-protected-wp-admin-folder/">Subscribe To Comments &#038; Protected Wp-admin Folder</a></li>
<li><a href="http://www.scratch99.com/2009/02/xammplite-virtual-directory-and-wordpress-permalinks/"></a><a href="http://www.scratch99.com/2009/01/blogger-how-to-add-adsense-inside-single-posts-only/">Blogger – How To Add Adsense Inside Single Posts Only</a></li>
<li><a href="http://www.scratch99.com/2009/01/make-money-online-smart-pricing-on-blogger/">Show Adsense To Search Visitors Only – On Blogger</a></li>
<li><a href="http://www.scratch99.com/2009/02/xammplite-virtual-directory-and-wordpress-permalinks/">XAMMPLite Virtual Directory And WordPress Permalinks</a></li>
<li><a href="http://www.scratch99.com/2009/10/sharepoint-as-a-cms-microsoft-tech-ed-australia-2009/">Sharepoint As A CMS – Microsoft Tech.Ed Australia 2009</a></li>
</ol>
<h2>Other Interesting Stats From Google Analytics</h2>
<p>Google Analytics also provided some interesting statistics for 2009 on this site.</p>
<h3>Traffic</h3>
<p>The site had significantly more traffic in 2009 than in did in 2008. There were <strong>75,343 Visits</strong> and <strong>113,016 Pageviews</strong> in 2009, up from 46,488 Visits and 74,916 Pageviews in 2008.</p>
<p>That said, the first half of 2009 was the best: traffic tailed off slightly in the second half of 2009 (since I <a href="http://www.scratch99.com/2009/05/bye-bye-dofollow/">disabled my DoFollow plugin</a>).</p>
<p>It will be interesting to see what will happen in 2010. Unlike last year, I&#8217;m not particularly concerned about whether traffic will increase in 2010. </p>
<p>I now consider this site as an area for me to write about my <a href="http://www.scratch99.com/wordpress-plugins-by-stephen-cronin/">WordPress plugins</a> and my <a href="http://userscripts.org/users/37070">Greasemonkey scripts</a> &#8211; I no longer have any grand ambitions about creating a thriving blog.</p>
<h3>Browser Breakdown</h3>
<p>The vast majority of visitors were using Firefox. That isn’t surprising given the nature of this blog, as it appeals to web developers and bloggers, groups given to using FireFox. The full breakdown is as follows:</p>
<ol>
<li>Firefox – 67.62%</li>
<li>Internet Explorer – 17.65%</li>
<li>Chrome – 6.24%</li>
<li>Safari – 4.75%</li>
<li>Opera – 2.30%</li>
</ol>
<p>Of the Internet Explorer users, 20.66% were using IE6 (about 3.6% of all visitors). Too many! The numbers are roughly the same as last year, but with a slight drop for IE and a 5% increase for Chrome.</p>
<h3>Operating systems</h3>
<p>The major operating systems used by visitors was virtually the same as last year, being dominated by Windows. The full breakdown is as follows:</p>
<ol>
<li>Windows – 82.92% </li>
<li>Macintosh – 12.28% </li>
<li>Linux – 4.25%</li>
</ol>
<h3>Top 10 Screen Resolutions</h3>
<p>The screen resolution of visitors is always important to web developers. I’ve included the top 10 resolutions below.</p>
<ol>
<li>1024×768 – 21.23% </li>
<li>1280×800 – 19.57% </li>
<li>1280×1024 – 15.07% </li>
<li>1440×900 – 11.88% </li>
<li>1680×1050 – 11.06% </li>
<li>1920×1200 – 5.21% </li>
<li>1152×864 – 2.36% </li>
<li>800×600 – 1.76% </li>
<li>1366×768 – 1.50%</li>
<li>1280×768 – 1.46%</li>
</ol>
<p>Interesting things to note are:</p>
<ul>
<li>800×600 has actually moved up one place, despite me proclaiming last year that it had almost dropped off the list at last. It&#8217;s hanging in there grimly.</li>
<li>1024×768 is still the most popular, but it&#8217;s 5% lead in to 2009 has been reduced to just 2% in 2009. Will it hang on in 2010?</li>
</ul>
<h3>Top 10 Countries</h3>
<ol>
<li>US (by far)</li>
<li>India</li>
<li>UK (London was the top city)</li>
<li>Canada</li>
<li>Australia</li>
<li>Philippines (Hi RT)</li>
<li>Germany</li>
<li>Indonesia</li>
<li>France</li>
<li>Netherlands</li>
</ol>
<p>Not much change here.</p>
<h2>Report Card For 2009</h2>
<p>I didn&#8217;t meet many of my goals for 2009, as I changed my objectives during the course of the year. Here&#8217;s a brief rundown on how I did for each of my 2009 goals.</p>
<h3>Post More Often</h3>
<p>I published 52 posts in 2007, followed by 41 posts in 2008. One of my 2009 goals was to post more often.  I failed big time, only publishing 20 posts in 2009. As I said last year:</p>
<blockquote>
<p>It’s not for lack of ideas – I have <b>lots</b> of half written posts that I just need some time to finish off. I tend to spend more time working on my projects than writing about what I’m learning.</p>
</blockquote>
<p>That&#8217;s still true, but I&#8217;m more comfortable with it now. I&#8217;ll probably post more this year, but won&#8217;t sweat it if I don&#8217;t.</p>
<h3>Post On Topic</h3>
<p>Last year I wrote:</p>
<blockquote>
<p>It’s noticeable in my top 10 posts above that many are my Make Money Online posts. I’d like to keep posting on that topic as I learn more about it, but I want to post more often on my Web Development efforts (and WordPress of course).</p>
</blockquote>
<p>I didn&#8217;t post often in 2009, but I was probably more aligned with my core topics than in 2008.</p>
<h3>Update My Current Wordpress Plugins</h3>
<p>I had planned to overhaul my <a href="http://www.scratch99.com/wordpress-plugins-by-stephen-cronin/">my existing WordPress plugins</a> and move them into the official WordPress plugin directory. Didn&#8217;t happen. The new ones are going into the official directory, but the old ones haven&#8217;t been touched. Still on my list for 2010.</p>
<h3>Release Some New WordPress Plugins</h3>
<p>Last year I wrote:</p>
<blockquote>
<p>I started off by writing that I’d like to release another 4 WordPress plugins this year (I already have 4 half finished plugins that I want to finish off). However, thinking of my workload, I changed it first to 3 plugins, then to 2 plugins! So we’ll have to see how many I can actually get out.</p>
</blockquote>
<p>Spot on! I released 2 new plugins in 2009. I&#8217;m sure more will follow in 2010.</p>
<h3>Release A WordPress Theme </h3>
<p>I had been thinking that I&#8217;d release a WordPress theme in 2009. Didn&#8217;t happen. This is now far down on my priority list. I may release one in future if I create my own theme framework for my sites, but it&#8217;s not likely anytime soon.</p>
<h3>Release Some Greasemonkey Scripts</h3>
<p>I released a couple of Greasemonkey scripts in 2009 and plan to release more in future. Greasemonkey rocks! I write little scripts for it all the time, although I haven&#8217;t released many of them (yet).</p>
<h2>Changing Goals For 2010</h2>
<p>I don&#8217;t really have many goals for this site in 2010. As I mentioned above, I&#8217;d like to update my old WordPress plugins and move them into the official directory, release some new WordPress plugins and release some new Greasemonkey scripts, but that&#8217;s about it. </p>
<p>I have other projects, which I won&#8217;t mention here, that are more of a focus for me in 2010. This is just going to become the &#8216;portal&#8217; to the software I release, with the occasional post thrown in.</p>
<h2>Final Thoughts</h2>
<p>Well that’s a quick look at the year that was and the year that will be here at More Than Scratch The Surface. I hope all your endeavours for 2010 are successful! If you have any big plans for your blog, feel free to share in the comments.</p>
<img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/im1nmYrShJ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2010/01/2009-on-more-than-scratch-the-surface/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Sharepoint As A CMS – Microsoft Tech.Ed Australia 2009</title>
		<link>http://www.scratch99.com/2009/10/sharepoint-as-a-cms-microsoft-tech-ed-australia-2009/</link>
		<comments>http://www.scratch99.com/2009/10/sharepoint-as-a-cms-microsoft-tech-ed-australia-2009/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 12:12:21 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=217</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/10/sharepoint-as-a-cms-microsoft-tech-ed-australia-2009/.It&#8217;s been over a month since I published my notes on the Thursday session of Microsoft Tech.Ed Australia 2009. In that post, I promised to write up the SharePoint discussion session separately. Finally, here it is.
Session Details
Session: BOF007 SharePoint, .Net and SQL blended applicationsPresenter: Elaine [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/10/sharepoint-as-a-cms-microsoft-tech-ed-australia-2009/">http://www.scratch99.com/2009/10/sharepoint-as-a-cms-microsoft-tech-ed-australia-2009/</a>.<br /><p>It&#8217;s been over a month since I published my notes on the <a href="http://www.scratch99.com/2009/09/microsoft-tech-ed-australia-2009-thursday/">Thursday session of Microsoft Tech.Ed Australia 2009</a>. In that post, I promised to write up the SharePoint discussion session separately. Finally, here it is.</p>
<h2>Session Details</h2>
<p><strong>Session</strong>: BOF007 SharePoint, .Net and SQL blended applications<br/><strong>Presenter</strong>: <a href="http://laneyvb.blogspot.com/" target="_blank">Elaine van Bergen</a><br /><strong>When</strong>: Thu 9/10 | 12:45-13:45 | Meeting Room 5</p>
<h2>Official Description</h2>
<p>Join Elaine van Bergen in this discussion as to why SharePoint is a powerful platform which is increasingly used to build applications. This session will include discussion on methods for addressing the many challenges faced in scenarios such as:</p>
<ul>
<li>A complete custom user interface build on top of SharePoint, such as a public facing internet site </li>
<li>SharePoint application with complex relational components provided by SQL Server integration </li>
<li>An ASP.Net application running beside SharePoint using components such as search </li>
<li>A generic application that is written in a way to be able to switch in and out SharePoint.</li>
</ul>
<p>The knowledge discussed will be based on recently completed SharePoint projects and will include debate on pros and cons of various approaches, approaches for .net developers moving to SharePoint, ways to avoid or workaround common problem including when to just use a pure custom build instead of SharePoint.</p>
<h2>My Comments</h2>
<p>This session was the highlight of the day for me. It was held in one of the meeting rooms and had about 70 or 80 people, with 4 or 5 facilitators leading the discussion and running around to get people&#8217;s input. </p>
<p>The lead &#8216;presenter&#8217; was <a href="http://laneyvb.blogspot.com/" target="_blank">Elaine van Bergen</a>, State Manager of .Net at OBS. The other facilitators were all <strong>leading .NET / Sharepoint consultants</strong> from around the country. There was discussion around Documents Records Management and various other disciplines, but I&#8217;m only going to focus on <strong>using Sharepoint as a Web Content Management System</strong>. </p>
<p>The thing that shone through for me was a consistent message that: </p>
<ol>
<li>Sharepoint won&#8217;t do everything you want out of the box</li>
<li>It can be made to do anything but you&#8217;ll have to customise it</li>
<li>Sharepoint development is complicated </li>
</ol>
<p>I&#8217;ve heard a lot of anti Sharepoint rhetoric in web development circles, but this is far more valuable for me. </p>
<p>This isn&#8217;t coming from people with an anti Sharepoint agenda. This is from the people on the ground who make their living by implementing Sharepoint. These people are some of the top Sharepoint professionals out there, those that Microsoft selected to run a session at Microsoft&#8217;s biggest annual developer event. </p>
<p>Now, they&#8217;re not criticising Sharepoint. They&#8217;re just giving us a <strong>realistic view of implementing Sharepoint</strong>. </p>
<p>Why is this so important? Because I&#8217;ve heard the Microsoft sales pitch for Sharepoint and they are super smooth. There is no hint of weakness, no acknowledgement that implementing Sharepoint may involve a lot of effort or that it may be complicated. </p>
<p>Personally, I think that&#8217;s why Sharepoint has a bad name in some circles: <strong>Microsoft don&#8217;t give clients a realistic view of what they&#8217;re getting into</strong>. </p>
<p>Onto some of the quotes (well paraphrases actually, I can&#8217;t type that fast!): </p>
<p>One of the facilitators was actually anti Sharepoint which surprised me given the setting. I didn&#8217;t catch his name, but he said that for public websites, <strong>Sharepoint is the very last resort</strong>, because of the problems he&#8217;s seen in implementing it. He said his preference was to build the site in ASP .NET. He seemed to be talking about a site with minimal content pages and a lot of products in a database. </p>
<p>I personally think that while creating that site with ASP might be feasible, it&#8217;s not practical for a site with a large number of content pages of varying types. A Content Management System would be essential in that scenario. </p>
<p>Anyway, he moved on to talk about forms. For one client he had to use InfoPath for forms because the client&#8217;s forms were too complex for Sharepoint. They used Sharepoint to store the forms, but they kept the application layer separate, because the <strong>analysis logic and Silverlight were too hard to build into Sharepoint</strong>. </p>
<p>One of the audience members backed him up and said they use ASP .NET for forms because it&#8217;s too hard to make forms look the way the user wants in Sharepoint. However Elaine responded to both by saying that Sharepoint was good, as long as you employ staff to fix the UI layer. </p>
<p>The anti-Sharepoint facilitator went on to say that the decision to use Sharepoint should be made by technical people deciding it&#8217;s the best solution for the problem, but that it seemed to him that the decision is often made by business people. <strong>They decide to buy Sharepoint</strong> without having properly considered how it will used, <strong>then they look at what they can use it for</strong>, which is the wrong way around. </p>
<p>An audience member related their experience with the Starlight Foundation: they consolidated 70 different sites across various open source systems onto a&#160; common platform of Sharepoint. For one of those sites, they had to create a .NET website because Sharepoint &quot;couldn&#8217;t deal with it&quot;. For the other 69 sites, Sharepoint was fine. That seems like good odds to me. </p>
<p>Elaine said that <strong>Sharepoint won&#8217;t cater for all your needs out of the box</strong>. You need to do some analysis and you&#8217;ll probably have to write some customisations yourself. She also said that it&#8217;s very difficult to do unit testing. </p>
<p>Another audience member said that he has to do development on the server &#8211; he can&#8217;t do it on his workstation because his computer isn&#8217;t powerful enough to run Sharepoint. </p>
<p>Someone else said there were issues between the Silverlight and Sharepoint web parts. Elaine said that while she can&#8217;t comment on that problem specifically, there are <strong>a lot of Silverlight related improvements in Sharepoint 2010</strong>, which is coming soon. </p>
<p>Another person said that they didn&#8217;t have any problems with implementing Sharepoint, but that was because he&#8217;d created a custom library to tweak the default web parts. </p>
<p>Elaine said &quot;<em>Sharepoint is its own enemy, you can throw all sorts of things in and it won&#8217;t all work together. Have a look at DevWiki. Sharepoint development is complicated &#8211; there&#8217;s a lot to know if you want to build a simple to use and scalable site.</em>&quot; </p>
<p>That&#8217;s the end of the &#8216;quotes&#8217;. If they sound negative, I need to point out that <strong>the discussion wasn&#8217;t negative</strong> &#8211; it was well grounded and based on a realistic viewpoint. The facilitators openly discussed the issues involved with implementing Sharepoint, warts and all. They were positive in places, but acknowledged the problems in other places. </p>
<p>For me, it was a real eye opener, and <strong>extremely valuable</strong> in understanding just what we&#8217;d be getting into if we went down the path of using Sharepoint as a CMS. It could do what we need it to do, but <strong>not out of the box</strong> and <strong>a reasonable amount of work would be required</strong> to get it set up correctly.</p>
<img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/1uBoGYvNwvQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/10/sharepoint-as-a-cms-microsoft-tech-ed-australia-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Web Host With Great Customer Service</title>
		<link>http://www.scratch99.com/2009/09/a-web-host-with-great-customer-service/</link>
		<comments>http://www.scratch99.com/2009/09/a-web-host-with-great-customer-service/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 07:27:54 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[Websites]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=212</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/09/a-web-host-with-great-customer-service/.There are a bucketload of blog posts out there about web hosting. The vast majority of these are either praising their current hosts (along with a nice little affiliate link for you to click) or berating them for poor service. 
Today, I&#8217;m going to do [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/09/a-web-host-with-great-customer-service/">http://www.scratch99.com/2009/09/a-web-host-with-great-customer-service/</a>.<br /><p>There are a bucketload of blog posts out there about <strong>web hosting</strong>. The vast majority of these are either praising their current hosts (along with a nice little affiliate link for you to click) or berating them for poor service. </p>
<p>Today, I&#8217;m going to do something different: I&#8217;m going to <strong>praise a web host that I no longer use</strong> and for which <strong>I don&#8217;t have an affiliate link</strong>.</p>
<p>Why would I take the time to do this? I truly believe that the company in question, <a href="http://www.kwikhosting.com/" target="_blank">kwikhosting</a>, <strong>offers exceptional customer service</strong>.</p>
<p>First some background: I first used <strong>kwikhosting</strong> back in 2006 to host a single short term website (related to the 2006 FIFA World Cup in Germany). I can&#8217;t tell you exactly what the uptime was like. I didn&#8217;t notice it, which means it must have been pretty good. The site was fast, despite the server being on the other side of the world from me (it was in Houston, I was in China).</p>
<p>There were a couple of issues in the initial setup of the site (my fault), but they were <strong>resolved like lightening</strong>. Answers came back within minutes (at best) or a couple of hours (at worst).</p>
<p><strong>So why did I leave kwikhosting?</strong> Well, I&#8217;m ambitious and I had my eyes on creating several different sites. Kwikhosting didn&#8217;t offer unlimited domains. <a href="http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=sjcronin99">Hostgator</a> did (yes that is an affiliate link).</p>
<p>I swapped and, as they say, the rest was history.</p>
<p>I&#8217;m very happy with HostGator. I&#8217;ve been with them for several years and have had very few problems. On the couple of occasions when I have needed to contact Hostgator support, the issue has been resolved pretty quickly. But as great as they are, the service can&#8217;t compare with <strong>kwikhosting</strong>.</p>
<p>I guess the analogy is that HostGator is like the large national chain of supermarkets that&#8217;s <strong>cheaper and has more products</strong>, but which has large impersonal service points, while kiwkhosting is like the corner store that&#8217;s slightly more expensive and doesn&#8217;t have the range, but the guy behind the counter <strong>knows all the customers and treats them like old friends</strong>.</p>
<p><strong>Would I move back to kwikhosting?</strong> No, I need the extras offered by HostGator.</p>
<p><strong>Would I recommend kwikhosting?</strong> Definitely, especially to people who only have a single site. </p>
<p><strong>Why am I writing about this now?</strong> I recently moved to consolidate my domain names onto one domain reseller. I had a domain name being looked after by <strong>kwikhosting</strong> and wanted to transfer it away from them. </p>
<p>Halfway through the process, I realised that it would take up to 5 days to transfer the domain &#8211; which put the transfer day as the same day the domain expired. I was worried there&#8217;d be complications as a result. </p>
<p>I contacted <strong>kwikhosting</strong> for assistance in fast tracking the transfer. Even though I was transferring away from them, the service was just like it was back when I was a new customer. They were very fast to respond, they found out what I needed to know and they fast tracked things for me. </p>
<p>They even offered to renew the domain at the price of the new domain registrar (lower than their normal fee). Pure class.</p>
<p>Anyway, this post is just a shout out to <strong>kwikhosting</strong>, a web host with great customer service. Thanks guys!</p>
<img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/fOw7FUb_wF0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/09/a-web-host-with-great-customer-service/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Microsoft Tech.Ed Australia 2009 (Thursday)</title>
		<link>http://www.scratch99.com/2009/09/microsoft-tech-ed-australia-2009-thursday/</link>
		<comments>http://www.scratch99.com/2009/09/microsoft-tech-ed-australia-2009-thursday/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 03:05:16 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[teched]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=209</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/09/microsoft-tech-ed-australia-2009-thursday/.I was fortunate to attend Microsoft Tech.Ed Australia 2009 last week. I made copious notes during the day, so I thought I&#8217;d share them.
Note: These are my general observations only: I won&#8217;t comment on anything that specifically relates to my work. The opinions and views [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/09/microsoft-tech-ed-australia-2009-thursday/">http://www.scratch99.com/2009/09/microsoft-tech-ed-australia-2009-thursday/</a>.<br /><p>I was fortunate to attend <strong>Microsoft Tech.Ed Australia 2009</strong> last week. I made copious notes during the day, so I thought I&#8217;d share them.</p>
<div class="csstextbox1">Note: These are my general observations only: I won&#8217;t comment on anything that specifically relates to my work. The opinions and views expressed here are my own and in no way represent those of my employer.</div>
<h2>Tech.Ed At Last</h2>
<p>This was my first time at Microsoft Tech.Ed. I almost went to Tech.Ed 2000 in Cairns: I was working for an <strong>integrated library system software house</strong> that was a Microsoft Certified Solutions Provider and Tech.Ed was the highlight of the year. Everyone wanted to go, including me, but in the end I missed out. </p>
<p>Fast forward to Tech.Ed 2009 on the Gold Coast: I&#8217;ve long moved on from the MCSP company I used to work for. I&#8217;m now a web developer and when the opportunity to attend TechEd arose, I was a little skeptical of the benifits: </p>
<p>Sure, Tech.Ed had a web track, but <strong>it&#8217;s based heavily around .NET development</strong>, which my team doesn&#8217;t do much of- we focus mostly on the client side (HTML, CSS, JavaScript), usability and accessibility, etc. We have a strong emphasis on being standards compliant and lets face it, Microsoft haven&#8217;t got the best reputation when it comes to standards. To top it off, although we don&#8217;t use it at work, <strong>I consider myself a PHP developer</strong>. </p>
<p>So, when I wanted to go to Tech.Ed, I didn&#8217;t get the chance and when I got the chance, I didn&#8217;t want to go! <img src='http://www.scratch99.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>Given the choice, I would have rather gone to a conference relating to Search Engine Optimisation, Usability, Accessibility, etc. However, there was a position available and we identified a genuine business need for me to go, so along I went. As it turned out, <strong>I did get some real value from it</strong>.</p>
<h2>Arriving At Tech.Ed</h2>
<p>Tech.Ed 2009 was held at the <strong>Gold Coast Convention and Exhibition Centre</strong> at Broadbeach, just across the road from Jupiter&#8217;s Casino. </p>
<p>I drove down from Brisbane in the morning, arriving a little after 9am. I parked at the Casino and walked across. The Exhibition Centre was bustling with people as I collected my ticket and the HP Mini that every attendee is given, then headed off to find the session I&#8217;d earmarked for 9:45am. </p>
<p>One of the things I noticed was that about 99% of the people in centre were male! There were more women in the web sessions (perhaps 10%), but the low number of women was was really noticeable, especially in out in the corridors. </p>
<h2>The HP Mini</h2>
<p>Whilst waiting for my first session to begin, I fired up the HP Mini and had a go with it. I have to say I was very impressed with it. It was running <strong>Windows 7 Ultimate</strong>, which seems nice (better than Vista) at first glance. It carries an Intel Atom N270 1.6GHz processor, 2 GB RAM and a 149GB HDD. </p>
<p>I have an Acer Aspire 1 netbook that I use each day on the train and I have to say that that the HP Mini tops it. Although the maximum resolution is similar (1024 x 600 for the Acer, 1024 x 576 for the HP), the HP Mini&#8217;s 10 inch screen was bigger than my Acer&#8217;s 9 inch screen. The overall physical size of the HP Mini wasn&#8217;t noticeably larger, although the keyboard did seem bigger and more comfortable to use. Battery life and overall quality both seemed better . </p>
<p>Logistics wise, there were plenty of recharging points around the exhibition centre where you could recharge your HP Mini. These were mostly full, most of the time, but there were always some spaces available. </p>
<p>The wireless network connection was decent throughout the day, although it did drop out once for about 10 minutes and there were some slow moments (mostly during lunch time). </p>
<p>Having <strong>the HP Mini was very useful</strong>, as it allowed me to make notes on the fly. When I&#8217;m back at work, it&#8217;ll be much easier to action these notes. If I&#8217;d used pen and paper, the notes would probably sit on my desk for a month before I typed everything up. Now it&#8217;s mostly done, I just need to tidy them up a little. </p>
<p>It also made me think about <strong>live blogging</strong>. I&#8217;ve read posts by live bloggers such as <a href="http://outspokenmedia.com/about/lisa-barone/" target="_blank">Lisa Barone</a> and have been impressed by what they&#8217;ve been able to do. Now, all of a sudden, I was sitting in a conference with a laptop and an internet connection. It wouldn&#8217;t have been a big step to turn my note taking into live blogging &#8211; but in the end, I was on my employer&#8217;s time and they need me to spend that little bit extra time concentrating on how we could apply what I learnt, rather than trying to capture everything and blog about it. </p>
<h2>Lunch And Goodies</h2>
<p>You can&#8217;t talk about a conference without talking about:</p>
<ol>
<li>the food </li>
<li>the giveaways </li>
</ol>
<p>On the food and beverage side of things, free coffee was in plentiful supply &#8211; both from &#8216;make your own&#8217; service points and from proper coffee stands (but there were big queues at time). </p>
<p>Lunch was great, although they did run out of food as I got to the head of the queue and we had to wait 5 minutes till they got some more food out. The food itself was great for a conference and there was everything you&#8217;d expect. </p>
<p>The items put out for afternoon tea were interesting. They looked more like a kids party than a conference: bright coloured jellies, sherbet cones, chocolates coated in hundreds and thousands. Geek food perhaps? An interesting choice anyway. There was free ice cream somewhere, but I missed it. </p>
<p>As for giveaways, they were in very short supply, especially compared to the library software shows I&#8217;ve been to in the past. There was virtually nothing, even in the Expo room. Of course, <strong>all attendees were given a HP Mini</strong>, so I can&#8217;t complain about the lack of pens, hats and other such things! </p>
<h2>Sessions</h2>
<p>It&#8217;s time I started talking about the sessions! I attended 5 sessions in all and I&#8217;ve outlined my thoughts (and the official description from the Tech Ed website) below. </p>
<h3>WEB304 Building Silverlight applications for Microsoft Dynamics CRM</h3>
<p><strong>Presenter</strong>: <a href="http://twitter.com/sundium" target="_blank">Jian Sun</a> </p>
<p><strong>When</strong>: Thu 9/10 | 9:45-11:00 | Meeting Room 8</p>
<p><strong>Official Description</strong>: </p>
<p>We start with demonstrating some real world examples of Silverlight applications built on Microsoft Dynamics xRM implementations. We then will look at how Microsoft Silverlight can be used to deliver richer experiences within Dynamics CRM applications. We&#8217;ll explain the fundamentals of XAML and Silverlight before discussing hosting and connectivity approaches to integrate Silverlight applications into both the Out of Box CRM UI as well as Customer Self Service we portals. This session will provide a practical how-2 demonstration of a Silverlight based Dashboard for Dynamics CRM</p>
<p><strong>My Comments</strong>: </p>
<p>The Citrix session next door was was packed, with several hundred people fighting to get in the doors. In contrast, there was no trouble getting into Building Silverlight applications for Microsoft Dynamics CRM and there was total of only about 50 people in the session. </p>
<p>The presenter, Sun Jian, was quite likeable. He started off by saying that we needed some knowledge on</p>
<ol>
<li>Microsoft CRM </li>
<li>Silverlight </li>
<li>C#. </li>
</ol>
<p>Three strikes for me before he even got on to the topic! </p>
<p>The topic was of very little use to me, either personally or professionally. This was the only web session on at the time and there was nothing else on of interest to me, so there I was. </p>
<p>We got to see a Silverlight application being developed. He used <strong>Visual Studio</strong> to create the app, along with <strong>Expression Blend</strong> to style the user interface. It made me wonder whether Silverlight applications can be developed with alternative (ie non Microsoft) software. </p>
<p>I&#8217;ll have to look into it as I don&#8217;t have either &#8211; not that I&#8217;m expecting to develop any Silverlight apps in the near future. Actually, I&#8217;m still wondering <strong>why anyone would choose Silverlight over Flash</strong>, which would be present on a much greater number of computers. If anyone has views on this, please let me know via the comments below. </p>
<p>One useful tidbit I did pick up was that Silverlight doesn&#8217;t need the full .NET framework to run. That makes sense if they&#8217;re trying to compete with Flash &#8211; they&#8217;d need to keep the size of the player as low as possible. </p>
<p>Sun Jian embedded the Silverlight app in an iFrame within Microsoft CRM, passing parameters to Silverlight via the code calling the iFrame (I think). Quite interesting. </p>
<p>He did have a problem with the Silverlight app working, which turned out to be a spelling mistake. Haven&#8217;t we all been there! Anyway, Sun recovered well using humour to turn the problem to his advantage.</p>
<h3>WEB305 Modular User Interfaces: Easier than Ever</h3>
<p><strong>Presenter</strong>: Omar Besiso </p>
<p><strong>When</strong>: Thu 9/10 | 11:30-12:45 | Arena 1B</p>
<p><strong>Official Description</strong>: </p>
<p>WPF &amp; Silverlight, the new cool neighbours you always wanted to have. Yet you&#8217;re still scared to introduce yourself. Well in this session Omar Besiso will not only introduce to the beautiful world of simple WPF, but will also show you using the WPF composite framework &amp; the Model-View-ViewModel pattern how you can build highly scalable user interfaces with very appealing user experiences. After the session you will think twice before using any other technology for your windows or web apps. </p>
<p><strong>My Comments</strong>: </p>
<p>Once again, this session didn&#8217;t promise much of interest me: I don&#8217;t develop Silverlight applications and I don&#8217;t use WPF. In fact, I&#8217;ve never even heard of WPF, which as it turns out, stands for <a href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation" target="_blank">Windows Presentation Foundation</a>.</p>
<p>Although in the Web stream, this session only had a tenuous connection to web development. Web applications development perhaps (quote description: &quot;for your windows or web apps&quot;), but not straight up web development. </p>
<p>The session was held in a much larger room, with tiers of chairs flowing from the upper level of the building, down to the stage on the ground level. There were a couple hundred people. It was quite dark (ie too dark) compared to the first room. </p>
<p>Omar started off saying he was going to <strong>build an RSS reader</strong> using WPF. That peaked my interest as I&#8217;ve written various PHP scripts that work with RSS feeds. However, it didn&#8217;t turn out as interesting as it sounded and I consulted my schedule. </p>
<p>There was a &quot;discussion&quot; over lunch that I wanted to attend. As the Modular User Interfaces session didn&#8217;t really have anything applicable to me, I left early (after 40 minutes) and headed off to try to get an early lunch.</p>
<h3>BOF007 SharePoint, .Net and SQL blended applications</h3>
<p><strong>Presenter</strong>: <a href="http://laneyvb.blogspot.com/" target="_blank">Elaine van Bergen</a> </p>
<p><strong>When</strong>: Thu 9/10 | 12:45-13:45 | Meeting Room 5</p>
<p><strong>Official Description</strong>: </p>
<p>Join Elaine van Bergen in this discussion as to why SharePoint is a powerful platform which is increasingly used to build applications. This session will include discussion on methods for addressing the many challenges faced in scenarios such as: </p>
<ul>
<li>A complete custom user interface build on top of SharePoint, such as a public facing internet site</li>
<li>SharePoint application with complex relational components provided by SQL Server integration</li>
<li>An ASP.Net application running beside SharePoint using components such as search</li>
<li>A generic application that is written in a way to be able to switch in and out SharePoint</li>
</ul>
<p>The knowledge discussed will be based on recently completed SharePoint projects and will include debate on pros and cons of various approaches, approaches for .net developers moving to SharePoint, ways to avoid or workaround common problem including when to just use a pure custom build instead of SharePoint.</p>
<p><strong>My Comments</strong>: </p>
<p>This session was the highlight of the day for me and I have extensive notes on it &#8211; so many that I&#8217;ve decided to put them into a separate Sharepoint post (coming soon). </p>
<h2>WEB208 Your Windows Live Messenger Web Toolkit </h2>
<p><strong>Presenter</strong>: Vaughan Knight </p>
<p><strong>When</strong>: Thu 9/10 | 13:45-15:00 | Meeting Room 9 </p>
<p><strong>Official Description</strong>: </p>
<p>Hook your website instantly into a social graph of over 400 million users with Windows Live Messenger Web Toolkit. In this session Vaughan Knight will discuss how to get started with the Live Messenger UI controls, and then dive in deep with the Windows Live Messenger API. Come away from this session knowing how to connect sites and build applications that to reach out into the Live Messenger social network. Learn how to use the Live Messenger API to allow your site and users to interact with the social graph, send messages, integrate and build applications with Silverlight, and create site features that are social graph aware. </p>
<p><strong>My Comments</strong>: </p>
<p>There were only 5 people at this session (20% female which must be a record for the day). The session was showing <strong>how to integrate the Live Messenger Web Toolkit into your website</strong>, adding social media abilities to your site. </p>
<p>The most obvious feature seems to be ability to add chat to your website, allow users to give you instant feedback via an Instant Messenger embedded in your site. There are quite a few other solutions for live chat, but if you&#8217;re a fan of the Microsoft Instant Messenger client, this may be the solution for you. </p>
<p>The web toolkit also includes other features that utilise the network of Live Messenger users. For example a Live Messenger bar can be added to the bottom of your web pages and visitors who are logged into Live Messenger have access to additional functionality. </p>
<p>Apparently it is easy to set up out of the box, but you can also create your own interface using either: </p>
<ul>
<li>HTML UI controls (XHTML), along with server side components for .NET, PHP etc. </li>
<li>Live Messenger UI controls (Flash, Silverlight, Java applet), along with the same server side components. </li>
</ul>
<p>This session was sort of interesting, but didn&#8217;t really catch me, for several reasons: </p>
<ul>
<li>To be honest, I was still writing up my notes on the Sharepoint session, which has far more importance for me. </li>
<li>The web toolkit is probably not appropriate for my organisation&#8217;s websites (at least for the moment). </li>
<li>I&#8217;m not likely to use it on any of my personal sites, and following on: </li>
<li>Lets face it, Microsoft just aren&#8217;t cool when it comes to Social Media. Integrate Twitter? COOL!! Integrate Live Messenger? zzzz&#8230; </li>
</ul>
<p>Still an interesting attempt by Microsoft to get more involved in social media. </p>
<h3>WEB306 Building Fast, Standards Compliant ASP.NET sites</h3>
<p><strong>Presenters</strong>: <a href="http://twitter.com/DamianEdwards" target="_blank">Damian Edwards</a>, <a href="http://twitter.com/tathamoddie" target="_blank">Tatham Oddie</a> </p>
<p><strong>When</strong>: Thu 9/10 | 15:30-16:45 | Arena 2 </p>
<p><strong>Official Description</strong>: </p>
<p>In this demo-packed session, Damian Edwards (MVP) and Tatham Oddie (MVP) will share their experiences from building Australia&#8217;s largest e-commerce site with ASP.NET Web Forms. They&#8217;ll show you how to be a good web citizen by covering standards compliance (properly!), cross browser and accessibility considerations, non-JavaScript support, coding techniques like the Model-View-Presenter pattern to improve maintainability and testing, as well as both client and server side performance. Along the way, there&#8217;ll be plenty of discussion of the differences between Web Forms and ASP.NET MVC in each area, as well as an early peek at some of the new features coming in ASP.NET 4 and VS 2010. </p>
<p><strong>My Comments</strong>: </p>
<p>This was a great session, looking at <strong>how to run and optimise a high traffic website</strong>, based on the presenters&#8217; experience with <a href="http://www.graysonline.com/" target="_blank">graysonline.com</a>. </p>
<p>It was the only session, in the whole day, that had a lot of value for non ASP .NET web developers, covering issues such as doctypes, CSS, accessibility, jQuery, Firefox extensions, improving performance, etc. </p>
<p>For me, the session fell neatly into two halves: </p>
<ul>
<li>The first half which, although interesting, wasn&#8217;t anything I hadn&#8217;t heard of before (via my RSS reader); and </li>
<li>The second half which truly pushed the boundaries of my knowledge. </li>
</ul>
<p>I&#8217;ll briefly list some of the things they covered: </p>
<p>They focused on markup. They are proponents of using XHTML 1.1 Strict, which I found interesting. I&#8217;m still using XHTML 1.0 Transitional for most things. I find Strict too &#8230; strict. So I respect them for making the effort to use Strict. They did mention that moving forward they are going to try to use HTML5 more, now that the <a href="http://www.h-online.com/open/XHTML-2-to-be-discontinued--/news/113686" target="_blank">XHTML project has officially been discontinued</a>. </p>
<p>They used <a href="http://cssfriendly.codeplex.com/" target="_blank">CSS friendly code adaptors</a>, to change what the server delivers at run time. This one is an ASP .NET only one, although there are probably similar utilities out there for other languages. </p>
<p><strong>Visual Studio 2010 was their IDE of choice</strong>. I have to say that the code completion / sanitization functionality looks pretty good, up there with anything I&#8217;ve seen. Of course I won&#8217;t be using it any time soon, what with the price and so many good cheap alternatives out there. </p>
<p><strong>Accessibility!</strong> The Sydney Olympic case was raised (it&#8217;s the poster child for accessibility related legal cases). They said to make sure that the site complies with <strong>WAI, WCAG, WAI-ARIA, WebAIM</strong> and <strong>WAVE</strong>. This is important not just for people, but also for search engines such as Google and Bing (they&#8217;re the ones they named). </p>
<p>Regarding optimisation, they used Firefox, &quot;as all web developers should&quot;, along with Firebug and Y-Slow to measure performance. Their main tip was to reduce http requests, through the use of <strong>CSS sprites, combining JavaScript files, combining CSS files</strong> etc. Their combined JavaScript file was 250KB and the HTML was 120KB, before being compressed using GZip. </p>
<p>For ASP .NET developers out there, you can&#8217;t use the built in automatic method to add scripts, as it will include the files individually. You need to combine the files manually, then call the combined file. They also said to <strong>set Load scripts before UI to false</strong>, so the JavaScript loads lower down the page. </p>
<p>They used <a href="http://www.fiddler2.com/fiddler2/" target="_blank">Fiddler</a> to slow the download speed to emulate dial up. They added version numbers to the CSS and JavaScript file URLs, so that new files can be forced to be used (ie instead of the old ones in the cache). </p>
<p>They talked about <strong>using different subdomains to serve up images</strong> etc, to get around the limitation on concurrent downloads from the same server. They mentioned that Bing maps use 4 subdomains for tiles, so more can be served up at the same time. However, if you&#8217;re doing this, you can&#8217;t use etag for caching because it doesn&#8217;t handle multiple servers for delivery. </p>
<p>High traffic websites should have a <strong>full time front end web engineer</strong> for UX (User Experience) and Accessibility. </p>
<p>A very clever tip for scaling: When server load is light, they use heavy GZip compression. As server load increases, the amount of compression decreases, meaning less work for the server (for each page served up), but larger files for the end user. Clever. </p>
<h2>Final Thoughts</h2>
<p>Well that wraps it up. I had a good time and learnt a fair bit at Tech.Ed 2009. It still would be my conference of choice, but I&#8217;m glad I went.</p>
<script type="text/javascript">Nifty("div.csstextbox1","bgcolor-#FFFFFF");</script><img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/eElHiqhS7Y4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/09/microsoft-tech-ed-australia-2009-thursday/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Greasemonkey Script To Number Google SERPs</title>
		<link>http://www.scratch99.com/2009/09/new-greasemonkey-script-to-number-google-serps/</link>
		<comments>http://www.scratch99.com/2009/09/new-greasemonkey-script-to-number-google-serps/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 03:15:04 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[Web Related]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[SERPs]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=207</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/09/new-greasemonkey-script-to-number-google-serps/.I&#8217;d like to announce the release of my second Greasemonkey script: Google Numbered Search Results; which numbers the SERP entries delivered by the Google search engine. 
Other Scripts To Number Google Search Results
If you&#8217;re someone who&#8217;s likely to use this (ie an SEO practitioner or [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/09/new-greasemonkey-script-to-number-google-serps/">http://www.scratch99.com/2009/09/new-greasemonkey-script-to-number-google-serps/</a>.<br /><p>I&#8217;d like to announce the release of my second <a href="https://addons.mozilla.org/firefox/addon/748" target="_blank">Greasemonkey</a> script: <a href="http://www.scratch99.com/greasemonkey-script-google-numbered-search-results/">Google Numbered Search Results</a>; which numbers the <abbr title="Search Engine Results Pages">SERP</abbr> entries delivered by the <a href="http://www.google.com/" target="_blank">Google search engine</a>. </p>
<h2>Other Scripts To Number Google Search Results</h2>
<p>If you&#8217;re someone who&#8217;s likely to use this (ie an SEO practitioner or website administrator checking their rankings), you&#8217;re probably saying &quot;Wait! Aren&#8217;t there already Greasemonkey scripts for this?&quot; </p>
<p>Yes there are.</p>
<p>For years, I&#8217;ve relied on the <a href="http://www.addedbytes.com/tools/numbered-google-results-user-script/" target="_blank">Numbered Google Results</a> script, but it seems it&#8217;s not being updated. When Google introduced the <strong>SearchWiki</strong> functionality, it stopped working, prompting me to write a <a href="http://www.scratch99.com/2008/11/searchwiki-breaks-numbered-google-results-easy-fix/">simple hack to fix the problem</a>. I left a comment on the script&#8217;s home page, but the fix wasn&#8217;t added to the script. I&#8217;m not complaining, because I didn&#8217;t email the author (Dave Child) directly &#8211; I had my fix and, as a user, I was happy. </p>
<p>Now, Google has introduced <strong>AJAX powered search results, which has broken Numbered Google Results</strong> again (along with many other Greasemonkey scripts). AJAX powered search results have been being phased in for a while now, but recently it&#8217;s become a lot more common. </p>
<p>There&#8217;s also another script, <a target="_blank" href="http://userscripts.org/scripts/show/35428">Google Search Results &#8211; Numbered</a>, but it starts at 1 on every page. For example, items on the first page of results will be numbered 1 to 10 and items on the second page will also be numbered 1 to 10 (instead of 11 to 20). I didn&#8217;t even bother seeing if it worked with the AJAX powered search. </p>
<h2>What This Script Offers</h2>
<p>Instead, I wrote my own script, which <strong>works with the AJAX powered search results, SearchWiki and can number entries appropriately</strong> for pages other than the first one.</p>
<p>I didn&#8217;t mean to write my own. I started off <strong>hacking Numbered Google Results</strong>, but I ran into a serious problem I couldn&#8217;t resolve, so I started again from scratch. As it happens, I encountered the same problem and my eventual solution could have worked with Numbered Google Results. </p>
<div class="csstextbox1">I&#8217;ve got no problem if the author of Numbered Google Results wants to fix his script and keep his place as the number script for numbering the Google SERPs. Open source is great!</div>
<p>My eventual solution will also <strong>help many other Greasemonkey scripts for Google Search</strong>, so I&#8217;ll write up what I did in case it&#8217;s useful for others &#8211; although I should point out I didn&#8217;t actually make it work with the AJAX powered search results, I just worked out how to bypass them and force the use of the traditional search.</p>
<p>This may not work forever, as Google may eventually turn off the traditional search, but such is the life of a Greasemonkey script: <strong>when the site changes, the script breaks</strong>. </p>
<h2>Acknowledgements</h2>
<p>As with my first Greasemonkey script, <a href="http://www.scratch99.com/greasemonkey-script-bing-numbered-search-results/">Bing Numbered Search Results</a>, I&#8217;ve embedded <a href="http://jquery.com/" target="_blank">jQuery</a>. Thanks to John Resig and his team! </p>
<p>I started by hacking the <a href="http://www.addedbytes.com/tools/numbered-google-results-user-script/" target="_blank">Numbered Google Results</a> script, which obviously helped me write my own. Thanks to Dave Child for a great plugin to start with.</p>
<h2>Where Can I Get It</h2>
<p>You can find out more about it at the <a href="http://www.scratch99.com/greasemonkey-script-google-numbered-search-results/">Google Numbered Search Results</a> home page or you can skip straight to <a href="http://userscripts.org/scripts/show/57306" target="_blank">Userscripts.org</a> if you want to download it.</p>
<script type="text/javascript">Nifty("div.csstextbox1","bgcolor-#FFFFFF");</script><img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/6uiIYcTxcLY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/09/new-greasemonkey-script-to-number-google-serps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Taking Out The What?</title>
		<link>http://www.scratch99.com/2009/08/wordpress-taking-out-the-what/</link>
		<comments>http://www.scratch99.com/2009/08/wordpress-taking-out-the-what/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 23:24:00 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=199</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/08/wordpress-taking-out-the-what/.After listening to recent episodes of the WordPress Weekly podcast (episodes 67 and 68), I was surprised to learn that in future versions of WordPress, the Delete link will be replaced with Trash. 
So what does Trash mean? After looking it up in the dictionary, [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/08/wordpress-taking-out-the-what/">http://www.scratch99.com/2009/08/wordpress-taking-out-the-what/</a>.<br /><p>After listening to recent episodes of the WordPress Weekly podcast (episodes <a href="http://www.wptavern.com/wpweekly-episode-67-everywhere-you-look-theres-a-wordpress-book">67</a> and <a href="http://www.wptavern.com/wpweekly-episode-68-hey-i-didnt-change-my-password">68</a>), I was surprised to learn that in future versions of WordPress, <strong>the Delete link will be replaced with Trash</strong>. </p>
<p>So what does Trash mean? After looking it up in the dictionary, I find it means the same thing as rubbish (or garbage)! </p>
<p>Ahh, I see. Items will not actually be deleted in future, they&#8217;ll be sent to the &#8216;Trash can&#8217;. The WordPress team don&#8217;t want to use the term Delete, as it implies that the item will be deleted and can&#8217;t be recovered. This may cause confusion amongst users. </p>
<p>The WordPress team&#8217;s thinking is commendable and I&#8217;m glad that over the last year or so they&#8217;ve put a lot of effort into usability. I actually think Jane Wells&#8217; appointment is the best thing to happen to WordPress in a long time.</p>
<p>The only problem is that in this case, they are <strong>replacing a term that is used universally</strong> in the English speaking world, <strong>with a term that is North American centric</strong>: Trash is not commonly used in Australia or the UK.</p>
<p>This may cause confusion in it&#8217;s own right. It probably won&#8217;t, because we&#8217;ve all seen American movies and know what it means &#8211; I didn&#8217;t really need to look up trash in the dictionary! </p>
<p>Actually I&#8217;m not upset about it. I just felt like making a point. </p>
<p>That&#8217;s probably because at one time in the past, I was the International Product manager for a library software company and had to ensure it was localised properly for Australia, UK and the US. It was little things like this that we needed to be careful about &#8211; we didn&#8217;t want to alienate our customers. </p>
<p>Of course they were paying customers, which means you have to cater for them a little more than for users of open source software, who are getting a great product for free. But <strong>it would be better to find a term that is used by everyone</strong>.</p>
<p>For my part, I&#8217;d be happy with keeping the term Delete. I&#8217;ve been using Windows for 15 years or so and I&#8217;m quite comfortable with the action of Delete actually sending things to the Recycle Bin. But I&#8217;m sure I&#8217;ll adjust if I have to take out the Trash in future.</p>
<img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/hBOsccZRqj8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/08/wordpress-taking-out-the-what/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Version 1.12 Of Comment Warning Released</title>
		<link>http://www.scratch99.com/2009/08/version-1-12-of-comment-warning-released/</link>
		<comments>http://www.scratch99.com/2009/08/version-1-12-of-comment-warning-released/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 23:19:09 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[My WordPress Plugins]]></category>
		<category><![CDATA[comment warning]]></category>
		<category><![CDATA[KeywordLuv]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=198</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/08/version-1-12-of-comment-warning-released/.I&#8217;ve released version 1.12 of Comment Warning overnight. It only contains a small, non critical, change &#8211; it now counts how many comments have been made from each IP address in the Log. 
What Does Version 1.12 Include?
As mentioned above, version 1.12 only includes one [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/08/version-1-12-of-comment-warning-released/">http://www.scratch99.com/2009/08/version-1-12-of-comment-warning-released/</a>.<br /><p>I&#8217;ve released version 1.12 of <a title="WordPress plugin to deter comment spam" href="http://www.scratch99.com/wordpress-plugin-comment-warning/">Comment Warning</a> overnight. It only contains a small, non critical, change &#8211; it now counts how many comments have been made from each IP address in the Log. </p>
<h2>What Does Version 1.12 Include?</h2>
<p>As mentioned above, version 1.12 only includes <strong>one small, non critical, change</strong>: counting how many comments have been made from each IP address in the Log.</p>
<p>The number of comments counted will include all comments from an IP address, even those before the comment author was warned. It will NOT include comments that have been marked as spam (or deleted obviously).</p>
<p>If there are some comments for an IP address, the number will link to the Edit Comments page for that IP address, so you can check the comments left by that visitor to see if they are appropriate to remain on the site. </p>
<p>Note: Because of the way the Log is created, there may multiple entries for each IP address. In this case, the comment count will be duplicated for each entry from the same IP address.</p>
<h2>How To Upgrade</h2>
<p>To upgrade to the new version, go to the <a href="http://www.scratch99.com/wordpress-plugin-comment-warning/">Comment Warning plugin page</a>, download the new version, unzip it and upload it over the top of the existing files on your server. </p>
<p>Basically you just need to follow the installation instructions on the plugin page, without the need to activate it. Although not strictly necessary, it&#8217;s always recommended to backup your database and files before doing anything on your server.</p>
<p>Alternatively, if you&#8217;re already running Comment Warning and are on WordPress 2.7+, you&#8217;ll see an upgrade notification in the Plugin page of the Admin area. Click the upgrade link and it will do it all for you in about 15 seconds.</p>
<img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/-QeWMchsGy0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/08/version-1-12-of-comment-warning-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New WordPress Plugin To Deter Comment Spam</title>
		<link>http://www.scratch99.com/2009/08/new-wordpress-plugin-to-deter-comment-spam/</link>
		<comments>http://www.scratch99.com/2009/08/new-wordpress-plugin-to-deter-comment-spam/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 13:02:53 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[My WordPress Plugins]]></category>
		<category><![CDATA[Dofollow]]></category>
		<category><![CDATA[KeywordLuv]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=197</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/08/new-wordpress-plugin-to-deter-comment-spam/.Late last week, I quietly released my new WordPress plugin, Comment Warning. Over the weekend, I added some extra functionality and it&#8217;s now reached the point where I&#8217;m ready to announce it to the world. So here goes.
Who Is Comment Warning For?
Comment Warning is aimed [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/08/new-wordpress-plugin-to-deter-comment-spam/">http://www.scratch99.com/2009/08/new-wordpress-plugin-to-deter-comment-spam/</a>.<br /><p>Late last week, I quietly released my new WordPress plugin, <a title="WordPress plugin to deter comment spam" href="http://www.scratch99.com/wordpress-plugin-comment-warning/">Comment Warning</a>. Over the weekend, I added some extra functionality and it&#8217;s now reached the point where I&#8217;m ready to announce it to the world. So here goes.</p>
<h2>Who Is Comment Warning For?</h2>
<p>Comment Warning is aimed at <strong>DoFollow</strong> and <strong>ex-DoFollow</strong> blogs that have become a target for comment spammers, including those running the <strong>CommentLuv</strong> and <strong>KeywordLuv</strong> plugins.</p>
<h2>Background</h2>
<p>Although DoFollow and related plugins can reward your commentators (and help increase traffic), it also attracts comment spammers. These spammers often <strong>hunt for blogs</strong> through <strong>DoFollow lists</strong> or <strong>Google searches</strong> for terms related to the CommentLuv and KeywordLuv plugins.</p>
<p>The level of comment spam I get on this blog has become untolerable. I turned off DoFollow, but <strong>the spammers keep coming</strong>. </p>
<p>Comment Warning helps deal with this problem. <strong>In the 7 days</strong> that I&#8217;ve been running the plugin on this blog, <strong>113 visitors have triggered the warning</strong>. The number of borderline spam comments have dropped. </p>
<p>Of course this means that the total number of comments I&#8217;m getting has dropped as well, but I&#8217;ve decided I only want genuine comments at this stage.</p>
<h2>Compatibility</h2>
<p>The plugin has been tested on WordPress 2.7 and 2.8. </p>
<p><strong>I suspect that this plugin will NOT be compatible with the WP Super Cache plugin</strong>. I will be doing some testing in the near future and, if necessary, changing the plugin so it does work with WP Super Cache. </p>
<h2>How Does It Work?</h2>
<p>Comment Warning checks where visitors come from. If there are certain terms in the referring URL that may indicate that the visitor is a <strong>potential comment spammer</strong>, they will be presented with a warning message, outlining your comment policy. The message is displayed via a JavaScript modal &#8216;popup&#8217; (not a real popup). </p>
<p>Both the list of triggers and the message are customisable, allowing you to control <strong>who is shown the message</strong> and <strong>what they are shown</strong>. If you come across another site or term that should be added, please <a href="http://www.scratch99.com/wordpress-plugin-comment-warning/comment-warning-support-page/">let me know</a>.</p>
<p>It is possible to redirect potential spammers to a URL of your choice, either immediately (bypassing the warning) or after a certain number of visits from the same IP address. However, my own personal view is that redirecting visitors is harsh.</p>
<p>A log of visits that trigger the warning is kept. This allows you quickly jump to any comments left by these visitors. It also adds a message, letting you know that the commentator has been warned in the past, to all new comment email notifications and to comments appearing in the Admin area.</p>
<h2>What It Doesn&#8217;t Do</h2>
<p>Comment Warning won&#8217;t help if a comment spammer comes directly to your site, rather than from a search or a page with a URL that contains one of the trigger words.</p>
<p>However, if they have been <strong>warned previously</strong>, this will have been recorded in the log and a message indicating this will appear next to their comments in the Admin panel and in comment notification emails.</p>
<h2>How Do I Get It?</h2>
<p>You can read more about <strong>Comment Warning</strong> and download it on the <a href="http://www.scratch99.com/wordpress-plugin-comment-warning/">plugin page</a>. Alternatively, you can get it from the <a href="http://wordpress.org/extend/plugins/comment-warning/" target="_blank">Official WordPress Plugin Directory</a> (or search for Comment Warning in the install plugin page in the WordPress Admin area).</p>
<h2>The Official WordPress Plugin Directory</h2>
<p>This is the first time I&#8217;ve added a plugin to the official WordPress Plugin Directory (when did it change from Repository to Directory?). The process wasn&#8217;t too hard, but it would have been much harder without the excellent <a href="http://weblogtoolscollection.com/archives/2007/06/17/listing-your-plugin-at-the-wordpressorg-plugin-directory/" target="_blank">Listing Your Plugin at the WordPress.org Plugin Directory</a> post by Ronald Huereca on WebLogToolsCollection.</p>
<h2>Other WordPress Plugin Development News</h2>
<p>It was with some surprise that I noticed that this is my first release for almost 18 months! Time flies&#8230;</p>
<p>I&#8217;m working on some other WordPress plugins in the background and I&#8217;m still holding to my statement that I&#8217;ll update my old plugins and move them into the official plugin directory. I&#8217;ve also started thinking that I should tidy up and release some of the custom plugins that I use on my sites. </p>
<p>Time will be an issue, but I&#8217;m hoping I can get most of this done.</p>
<img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/IpnRPMxhZfk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/08/new-wordpress-plugin-to-deter-comment-spam/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin Development (Beginner’s Guide)</title>
		<link>http://www.scratch99.com/2009/07/wordpress-plugin-development-beginners-guide/</link>
		<comments>http://www.scratch99.com/2009/07/wordpress-plugin-development-beginners-guide/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 03:36:49 +0000</pubDate>
		<dc:creator>Stephen Cronin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>

		<guid isPermaLink="false">http://www.scratch99.com/?p=185</guid>
		<description><![CDATA[Copyright © 2010 Stephen Cronin. Visit the original article at http://www.scratch99.com/2009/07/wordpress-plugin-development-beginners-guide/.This is perhaps my most overdue post ever &#8211; a review of Vladimir Prelovac&#8217;s book, WordPress Plugin Development (Beginner&#8217;s Guide) [note: that's an affiliate link]. 
I&#8217;ve had other posts that I&#8217;ve promised to write that I&#8217;ve had trouble finding time to deliver. In this case [...]]]></description>
			<content:encoded><![CDATA[Copyright © 2010 <a href="http://www.scratch99.com">Stephen Cronin</a>. Visit the original article at <a href="http://www.scratch99.com/2009/07/wordpress-plugin-development-beginners-guide/">http://www.scratch99.com/2009/07/wordpress-plugin-development-beginners-guide/</a>.<br /><p>This is perhaps my most overdue post ever &#8211; a review of <a href="http://www.prelovac.com/vladimir/" target="_blank">Vladimir Prelovac</a>&#8217;s book, <a href="http://www.amazon.com/gp/product/1847193595?ie=UTF8&amp;tag=scratch99-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1847193595">WordPress Plugin Development (Beginner&#8217;s Guide)</a><img style="margin: 0px; border-top-style: none! important; border-right-style: none! important; border-left-style: none! important; border-bottom-style: none! important" height="1" alt="" src="http://www.assoc-amazon.com/e/ir?t=scratch99-20&amp;l=as2&amp;o=1&amp;a=1847193595" width="1" border="0" /> [note: that's an affiliate link]. </p>
<p>I&#8217;ve had other posts that I&#8217;ve promised to write that I&#8217;ve had trouble finding time to deliver. In this case however, I actually accepted a review copy of the book, so I really should have written about it before now. </p>
<p>In my defence, we had a new addition to the family and we&#8217;ve been undergoing major changes at work, so I&#8217;ve been spread pretty thin.</p>
<p>Also, because I live in Australia, Packt Publishing could only send me the eBook version. In many ways, I prefer ebooks &#8211; no more leaving books behind when you change country! In this case however, having a physical book in front of me would have meant I&#8217;d have been more likely to pick it up.</p>
<p>Anyway, enough with the excuses and on to the review!</p>
<h2>Book Details</h2>
<ul>
<li>Title: WordPress Plugin Development: Beginner&#8217;s Guide</li>
<li>Author: Vladimir Prelovac</li>
<li>Publisher: Packt Publishing</li>
<li>Paperback: 278 pages [191mm x 235mm]</li>
<li>Release date: February 2009</li>
<li>ISBN: 1847193595</li>
<li>ISBN(13): 978-1-847193-59-9</li>
</ul>
<h2>Who The Book Is For</h2>
<p>I&#8217;ll just quote the book on this one:</p>
<blockquote>
<p>This book is for programmers working with WordPress, who want to develop custom plugins and to hack the code base. You need to be familiar with the basics of WordPress and PHP programming and believe that code is poetry; this book will handle the rest.</p>
</blockquote>
<p>That seems to be WordPress Plugin developers, WordPress Theme developers, those providing <a href="http://www.scratch99.com/services/">web development services</a> based on WordPress and maybe some power users wanting to push the boundaries a little. </p>
<p>If you don&#8217;t have any experience with PHP (or jQuery for that matter), you might just get by, but I&#8217;d advise you to at least read up on the basics before you jump into this book.</p>
<h2>What The Book Covers</h2>
<p>The book covers most of what you&#8217;ll need to get started writing WordPress plugins &#8211; the right way. The topics covered include (in no particular order):</p>
<ul>
<li>The basics of the WordPress plugin architecture and the API used to hook into the WordPress functionality and manipulate it. </li>
<li>Interacting with the WordPress database </li>
<li>The use of custom fields to store data. </li>
<li>Creating widgets (though not using the new WordPress 2.8 widget api) </li>
<li>How to use both jQuery and AJAX within a WordPress plugin </li>
<li>Working with third party APIs such as Flickr </li>
<li>WordPress Plugin security </li>
<li>User roles and permissions </li>
<li>Localising WordPress plugins (ie to support other languages) </li>
<li>Managing the plugin options. </li>
<li>Maintaining WordPress plugins (including adding them to the WordPress Plugin repository) </li>
</ul>
<p>In short it covers a LOT. As I said, everything you need to know to write WordPress plugins.</p>
<h2>The Positive</h2>
<p>I&#8217;ll be honest &#8211; I haven&#8217;t read the book from cover to cover. I have read the first 3 chapters in their entirety and have skimmed the rest of the book, digging into some areas a little more. However, I&#8217;ve seen enough to get a good feel for the book and to know that I like what&#8217;s in it.</p>
<p>The book&#8217;s tagline is &quot;Learn by doing: less theory, more results&quot;. It teaches by example, rather than pushing a whole lot of theory at you. </p>
<p>The book walks step by step through the development of 6 real life WordPress plugins, covering the various issues that arise for each plugin and how to resolve them. Using real life examples makes it much easier to understand the concepts that Vladimir is teaching.</p>
<p>In my opinion, Vladimir has done a great job of choosing plugins which allow him to demonstrate all the things he needs to, without having to contrive situations just to demonstrate something. He weaves all the complex information together, giving you a little bit at time but building on it and reinforcing it later.</p>
<p>The source code is available for download, allowing you to try it out yourself without typing it &#8211; although if you&#8217;re a beginner I&#8217;d recommend that you do the hard way and type it. You&#8217;re much more likely to remember things that way. The source code is also a great starting point for you to start experimenting on your own.</p>
<p>I learnt quite a few things from the book &#8211; mostly things I&#8217;d heard of before, but hadn&#8217;t gotten around to learning about &#8211; but the book laid them out in a simple straight forward way making it easy for me to quickly understand.</p>
<p>Perhaps the best feature of the book is that Vladimir follows &#8216;best practice&#8217; methods for creating WordPress plugins. Are you not quite sure about any of the following: </p>
<ul>
<li>using nonces to make plugins more secure (and other security issues) </li>
<li>using wp_enqueue_script to load scripts rather than just calling them directly </li>
<li>localizing your WordPress plugin so that it can easily be translated into other languages </li>
<li>using shortcodes to call plugin functionality directly from the post body </li>
</ul>
<p>This book will make it clear just how to use these features and so much more. Whatever Vladimir does in the book, he uses best practice methods. </p>
<p>This is great both for new plugin authors (who&#8217;ll learn to do things the right way) and for existing plugin authors (such as myself) who need a refresher on the best way to do things in WordPress. There are plenty of us out there who have written plugins that work, but which could be written better.</p>
<p>I&#8217;ve been planning to go back and update my plugins to take this into account. When I get around to doing so, I&#8217;ll be consulting this book again for a good overview of what I need to do (and why).</p>
<h2>The Negative</h2>
<p>There are very few negatives with the book. The content, by and large, is excellent. </p>
<p>I did notice a few spelling errors. That&#8217;s always possible with large books, but ideally the editor should have picked them up.</p>
<p>The only other thing I noticed is that the order (within each section) takes a little getting used to. Vladimir pushes through the example, then explains what happened afterwards. For me this approach is a little counter-intuitive. However, you get used to it and isn&#8217;t a big problem. In fact <a href="http://omninoggin.com/wordpress-posts/book-reviews/book-review-wordpress-plugin-development/" target="_blank">some even think that this is a strong point</a>:</p>
<blockquote>
<p>Each mini-tutorial (&#8221;Time for action&#8221;) section is followed by a &#8220;What just happened?&#8221; section that let&#8217;s you take a breather to understand what you just did and why you did it. I believe that this pause for explanation is the key reason why it is so easy to learn from this book.</p>
</blockquote>
<p>Other reviews have mentioned that the book is a little fast paced. Perhaps, but it didn&#8217;t worry me and of course you can work through the examples at your own pace.</p>
<h2>Question Marks</h2>
<p>I do have some concerns about this book &#8211; not to do with the content, which is excellent, but to do with the very concept of a book on WordPress plugin development.</p>
<h3>Out Of Date Content</h3>
<p>I didn&#8217;t put this in the Negatives section, but I easily could have. WordPress is being updated all the time at an astonishing rate. Can the book keep up with this? The widget api was been overhauled as part of WordPress 2.8, meaning that section of the book is out of date already.</p>
<p>Vladimir will be on top of such changes and I&#8217;m sure there will be revised editions of the book, but the nature of a book on WordPress is that it will be behind from almost the minute it&#8217;s published.</p>
<h3>Free Alternative Information</h3>
<p>All of the information contained in this book is available free of charge elsewhere online. </p>
<p>Sure it may not be available in one place and ordered in such a useful way, but there are volumes written on WordPress plugin development. I&#8217;ve always found that a combination of the <a href="http://codex.wordpress.org/" target="_blank">WordPress Codex</a>, Google and the source code have been enough to tell me everything I need to know. I probably wouldn&#8217;t have gone out and spent money on this book because I&#8217;m comfortable with finding information through these alternative sources.</p>
<p>That&#8217;s not to say that such a book doesn&#8217;t have a place: It would be very useful for someone starting out on WordPress development who wants all the information up front without having to go out and search for it. The way I see it, this book is not a necessity, but is a luxury that will save you time.</p>
<h3>Size Of Target Audience</h3>
<p>Lets face it &#8211; when you round up all the WordPress plugin authors, there&#8217;s not too many of us and many won&#8217;t buy such a book. </p>
<p>There are more WordPress theme developers out there and I suspect that they will be a big target audience for this book &#8211; many of them are looking to extend their WordPress skills and to build more plugin-like functionality into their themes. However, there are other books coming that may appeal to theme developers more, as they are less plugin specific.</p>
<p>Perhaps the key to the success of this book is the rapid growth in the use of WordPress by web development agencies to provide solutions to clients. Is it enough to sustain several books on the topic (particularly in light of the other concerns above)? Only time will tell. </p>
<h2>Conclusion</h2>
<p>WordPress Plugin Development: Beginner&#8217;s Guide is a very good book. It covers everything you need know about writing WordPress plugins and it teaches by example rather than by lecturing.</p>
<p>That said there are question marks about the book &#8211; most notably how quickly it will go out of date due to the pace of development of the WordPress core.</p>
<p>For me, it won&#8217;t replace the WordPress Codex and Google as my prime source of information, but it would be very handy to have on a shelf to turn to from time to time. It would also be an excellent starting point for those just getting started with WordPress related development.</p>
<img src="http://feeds.feedburner.com/~r/MoreThanScratchTheSurface/~4/peL3suh7XYM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.scratch99.com/2009/07/wordpress-plugin-development-beginners-guide/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
