<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><description>S.S. Intrepid is a web development blog covering topics such as PHP, CSS, WordPress, search engine marketing and social media. 

Sam Stevens is a web developer and search marketer who runs Stevens Media from headquarters on Denman Island, BC, Canada.</description><title>S.S. Intrepid</title><generator>Tumblr (3.0; @stevensmedia)</generator><link>http://blog.stevensmedia.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ssintrepid" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>One-click bulk follow for Twitter Lists</title><description>&lt;p&gt;&lt;a href="http://mashable.com/2009/10/15/breaking-twitter-lists-are-live/"&gt;The new Twitter Lists feature&lt;/a&gt; has probably been rolled out to everyone by now. More than just another social media popularity contest, Twitter Lists reveal topic-based influence, pointing you in the direction of the best people to follow for a given topic.&lt;/p&gt;
&lt;p&gt;Lists function slightly differently from what I was expecting. They’re more like groups: tweets made by list members are not displayed in your home feed. Instead they’re grouped together and made accessible via the list link in the sidebar. You can follow a List without actually following its members.&lt;/p&gt;
&lt;p&gt;A feature I was hoping for with Twitter Lists was the ability to bulk-follow list members with a single click. While this isn’t available via Twitter, it is through &lt;a href="http://tweepml.org/"&gt;TweepML&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a List as usual with Twitter.&lt;/li&gt;
&lt;li&gt;Login to TweepML and create a list.&lt;/li&gt;
&lt;li&gt;On the resulting page, paste the URL to your Twitter List members page; TweepML will import the users from your list.&lt;/li&gt;
&lt;li&gt;Now you can share your TweepML list URL and users can bulk-follow the list members with a single click.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It’s an extra step for you, but fewer for your followers!&lt;/p&gt;
&lt;p&gt;TweepML also acts as a directory, but it’s &lt;a href="http://listorious.com/"&gt;Listorious&lt;/a&gt; that will probably emerge as the defacto Twitter Lists directory. Listorious makes it easy to find the best lists of Twitter users on any given topic, and for list creator to publicize their lists, but it doesn’t provide one-click bulk-following like TweepML does.&lt;/p&gt;
&lt;p&gt;Like any new Twitter feature that’s rolled out, it’s been fun playing with Lists and I find them mildly useful. &lt;b&gt;I wonder if Twitter Lists will change the way we currently do FollowFriday and other hashtag days?&lt;/b&gt; Instead of cramming a bunch of usernames into a 140 character #ff tweet, we could just share a link to a List of worthy Twitter users to follow. (Though I realize this takes half the ego stroke out of #ff!)&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/_CZQy8_cFUk/230315785</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/230315785</guid><pubDate>Sun, 01 Nov 2009 18:06:49 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/230315785</feedburner:origLink></item><item><title>Tips for running Twitter contests</title><description>&lt;p&gt;Twitter contests can offer numerous benefits including increased exposure through tweets and retweets (viral), and demonstrating a fun side of your brand (ex. scavenger hunts, &lt;a href="http://www.discobiscuits.com/09twittercontest/"&gt;uniquely interactive contests&lt;/a&gt;.)&lt;br/&gt;&lt;br/&gt;Designing an effective Twitter contest is not without its challenges. Consider this: If you’re running a “1st person to answer” type of contest, how will you judge when the tweets actually arrived, by timestamp? How will you track responses and pick a winner?&lt;br/&gt;&lt;br/&gt;Perhaps the most important element of a Twitter contest is the phrase used for the contest tweet. It needs to be short enough to RT, include a URL, plus include convincing marketing language to entice people to click and enter.&lt;br/&gt;&lt;br/&gt;Another element of a successful Twitter contest is being able to keep people interested. Consider running the contest for only a few days to avoid losing momentum (longer if you don’t have a large base of followers to tap into.)&lt;br/&gt;&lt;br/&gt;Limit entries or not? &lt;a href="http://colorburned.com/2009/03/maximize_traffic_for_your_cont.html"&gt;Colorburned recommends this&lt;/a&gt;, but &lt;a href="http://thewhineseller.com/2009/09/how-to-run-a-twitter-contest/"&gt;Heather DePiano wisely points out: “…the more often they tweet your link, the more marketing power it gives you.”&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Three important things to remember when running a Twitter contest are to 1) pick a prize that’s highly desirable, 2) establish clear contest rules, and 3) keep it simple!&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Twitter Contest Tools:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://tweetaways.com/"&gt;Tweetaways.com&lt;/a&gt; is a service that picks a random winner for your next twitter contest or giveaway.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.itweet2win.com/"&gt;itweet2win&lt;/a&gt; is a permission based contest platform based on twitter APIs.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.retweetradar.com/"&gt;retweetradar&lt;/a&gt; finds trends in the mountains of information retweeted on Twitter.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://tweetswin.com/"&gt;Tweets Win&lt;/a&gt;, enables you to post a contest, gather statistics, and have the winner automatically chosen. &lt;/li&gt;
&lt;li&gt;
&lt;a href="http://search.twitter.com"&gt;search.twitter.com&lt;/a&gt; is the old skool tool for manually tracking contest responses.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Read more about running Twitter contests:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.socialsignal.com/blog/alexandra-samuel/14-tips-twitter-contests-build-followers-and-brand-visibility"&gt;14 tips for Twitter contests that build followers and brand visibility&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cheaptweet.com/blog/2009/07/21/twittercontest/"&gt;4 Kinds of Twitter contests explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twitpic.com/nc0ls"&gt;Shoemoney’s Twitter contest tracking page (screenshot)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/GHwE6TJ3TyQ/226432629</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/226432629</guid><pubDate>Wed, 28 Oct 2009 18:08:29 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/226432629</feedburner:origLink></item><item><title>Social media profile organizers</title><description>&lt;p&gt;This isn’t an exhaustive list, but here are the services I checked out when looking to create a central social media profile. Initially, I was only looking for a static profile page, but I ended up wanting some lifestreaming capabilities as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dandyid.org/id/chrisbrogan"&gt;DandyID&lt;/a&gt; is a nice service that produces a clean-looking profile page, albeit a little flat. I’m not fond of the domain name (and resulting vanity URL.)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://friendscall.me/dariusmonsef"&gt;FriendsCall.Me&lt;/a&gt; has a very nice interface and produces a rich profile page/lifestream. Unfortunately, that layout is killed by the presence of a Google AdSense block. FCM is also currently missing support for TwitPic and BackType.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.google.com/profiles/mattcutts?hl=en"&gt;Google Profile&lt;/a&gt; is overly utilitarian, lacking lifestreaming support aside from a photo block you can configure. (I tried importing a TwitPic feed into that space and GP choked.) Presumably, Google will integrate Blogger-style widgets into GP in the future.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.profilactic.com/mashup/briancarter"&gt;Profilactic&lt;/a&gt; has been around since ‘06 and provides support for over 190 social sites. Profiles contain links to social sites plus a lifestream, but the design is uninspired. The vanity URLs are too long as well. Friends functionality sets Profilactic apart though. It’s closer to FriendFeed than Google Profile.&lt;/p&gt;
&lt;p&gt;In the end, none of these satisfied my exact needs and I wound up downloading &lt;a href="http://sweetcron.com/"&gt;Sweetcron&lt;/a&gt;, the open source &lt;a href="http://blog.stevensmedia.com/post/222099708/lifestream-simplepie"&gt;lifestreaming&lt;/a&gt; application built on &lt;a href="http://codeigniter.com/"&gt;CodeIgniter&lt;/a&gt;. It installed easily and was a snap to customize.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/GCzoeZBarKg/224358463</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/224358463</guid><pubDate>Mon, 26 Oct 2009 18:03:30 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/224358463</feedburner:origLink></item><item><title>Blog migration</title><description>&lt;p&gt;I don’t blog enough to warrant a self-hosted install of WordPress and the regular maintenance and security upgrades that requires. At the same time, I don’t want to lose my place on the web to share web development and SEO related information and resources.&lt;/p&gt;
&lt;p&gt;The solution? &lt;a href="http://tumblr.com/"&gt;Tumblr&lt;/a&gt;. Without the need to tend to the application, I can focus more on sharing content. Tumblr’s custom domain feature also allows me to integrate this into my website pretty seamlessly, almost like my old WordPress blog. It won’t be the same, but that’s kind of the point. Change is good.&lt;/p&gt;
&lt;p&gt;Today I’ll be posting some of the content from my old blog, but only posts that are still relevant. Everything else will just fade away.&lt;/p&gt;
&lt;p&gt;A redesign of this space is forthcoming, along with an overhaul of &lt;a href="http://www.stevensmedia.com/"&gt;stevensmedia.com&lt;/a&gt;.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/dWGMODU4FaA/222085341</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222085341</guid><pubDate>Sat, 24 Oct 2009 13:15:00 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222085341</feedburner:origLink></item><item><title>PHP Anaconda: Amazon AWS 4.0 keyword search script </title><description>&lt;p&gt;&lt;b&gt;UPDATE, 10/24/09:&lt;/b&gt; PHP Anaconda has served its purpose but in August of this year Amazon started requiring that all API requests be signed, rendering the Amazon e-commerce script useless. While it no longer  works right out of the box, you can try integrating &lt;a href="http://mierendo.com/software/aws_signed_query/"&gt;mierendo.com’s Amazon® AWS HMAC signed request script&lt;/a&gt; to retain the simplicity and easy deployment of PHP Anaconda.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;If you’re looking for a quick and simple implementation of the Amazon Associates Web Service for your website, stick around and learn about how &lt;a href="http://www.solutionsphp.com/"&gt;PHP Anaconda&lt;/a&gt; came to be.&lt;/p&gt;
&lt;p&gt;On a number of my websites, I was using the old Amazon ECS web service to pull in a handful a related products based on a keyword search. I used a hacked up version of the &lt;a href="http://associatesshop.filzhut.de/download/index.php?LID=en"&gt;Filzhut.de amazon_functions scripts&lt;/a&gt;. When March 31st of this year rolled around however, Amazon shut down the ECS service in favor the newer Associates Web Service (AWS). This was no surprise: Amazon AWS 4.0 was released back in mid-2005 (if memory serves me correctly), though it was a little buggy at first. Flash forward to 2008 and it was clear that I would have to come up with a new way to display Amazon products on my websites.&lt;/p&gt;
&lt;p&gt;My needs were straightforward:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;As simple as possible: not too many files, called with a simple include statement&lt;/li&gt;
&lt;li&gt;Support for both PHP 4 and PHP 5 &lt;/li&gt;
&lt;li&gt;No dependencies on PEAR packages&lt;/li&gt;
&lt;li&gt;Keyword search driven&lt;/li&gt;
&lt;li&gt;Random results &lt;/li&gt;
&lt;li&gt;Caching &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I assumed it would be easy enough to hit up Google and find a prefab PHP microapp out there that would do the trick. Unfortunately, most of the stuff I found was not compatible with AWS 4.0 or was PHP 5 only.&lt;/p&gt;
&lt;p&gt;No worries, I thought, I’ll just put Paul Reinheimer’s &lt;i&gt;Professional Web APIs with PHP&lt;/i&gt; book to good use. Using his scripts and guidance, I pasted together some code that would satisfy my needs, tested it out, and started to deploy it. Then on March 31, I noticed none of it was working! As it turns out, the code in Paul’s book, published in July 2006—after Amazon AWS 4.0 had been released—was not AWS 4.0 compatible! After some forehead slapping, I leafed through the book and noticed that it didn’t say anywhere what version of Amazon’s web service the code was compatible with. Given Amazon’s multiple offerings, that seemed like an oversight. I visited Paul’s website, the Wrox forums, the author’s notes on Amazon.com, but nowhere was there any mention of AWS 4.0-compatible code available. It was starting to look like I’d have to put a little more elbow grease into this.&lt;/p&gt;
&lt;p&gt;I’m not one to reinvent the wheel though, so I hit up my bookshelf again and grabbed some code from &lt;a href="http://www.amazon.com/dp/product/0470097760/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=0470097760"&gt;Brett O’Connor’s &lt;i&gt;del.icio.us Mashups&lt;/i&gt;&lt;/a&gt; that would handle making the REST request to Amazon and process the results using the &lt;a href="http://sourceforge.net/projects/snoopy/"&gt;Snoopy&lt;/a&gt; library. Next, I pasted in &lt;a href="http://simonwillison.net/2003/May/5/cachingWithPHP/"&gt;Simon Willison’s simple Instant Caching with PHP&lt;/a&gt; code for the caching mechanism. I was still having trouble making sense of the very deeply nested arrays in Amazon’s response however, despite this using &lt;a href="http://ca3.php.net/manual/pt_BR/function.print-r.php#69506"&gt;this handy function to make the output more manageable&lt;/a&gt;. In the end, I got some help from Christian Kamau, who created the code to output those tricky arrays into clean lists and randomize the output.&lt;/p&gt;
&lt;p&gt;The result is &lt;a href="http://www.solutionsphp.com/"&gt;PHP Anaconda&lt;/a&gt;, a simple Amazon AWS keyword search script that accesses the web service via REST and returns either three random results or the first ten results. There’s nothing mind blowing here, it just does the job I needed it to, and since I’m sure I’m not the only one who wants this functionality, I’ve made it available for download:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.solutionsphp.com/"&gt;Get PHP Anaconda here &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://programmingphp.com/"&gt;See it in action here (left column)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There’s a lot you can do with this code if you’re willing to dig a little deeper. For those adventures I recommend the &lt;a href="http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/"&gt;Amazon AWS Developer Guide&lt;/a&gt;. Have fun navigating the Rio Amazon, and watch out for piranhas.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/BU-3EUCs-ow/222114813</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222114813</guid><pubDate>Tue, 09 Dec 2008 13:56:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222114813</feedburner:origLink></item><item><title>Get help with WordPress and French locale dates and times </title><description>&lt;p&gt;&lt;b&gt;Have you ever had to develop a WordPress-powered website in a language other than English?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://codex.wordpress.org/Localization"&gt;WordPress has the capability to serve your pages in the language of your choice.&lt;/a&gt; The WordPress community has already translated it into many languages, and there are themes, translation files, and support also available in many other languages.&lt;/p&gt;
&lt;p&gt;With a client project I’m just about to roll out, I had to present all the content in Canadian French but keep the administrative interface in English. The translation tasks mostly fell into the realms of content, interface and layout graphics, making it a fairly smooth process. However, I did come across one small hiccup regarding post meta data dates and times, and wanted to document and share the solutions here.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;In particular, I needed to translate this meta data:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This entry was posted on Tuesday, June 17th, 2008 at 5:37 pm and is filed under [category].&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;into French:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cette entrée a été inscrite le mardi, 17 juin 2008 à 17 h 37 et elle est classée sous [category].&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;b&gt;It’s simple enough to translate text in single.php, but what about the date and time which are generated using the WordPress function, the_time()?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;First, the file wp-includes/locale.php needs to be translated to include the French names of the days of the week and months. Using &lt;a href="http://svn.automattic.com/wordpress-i18n/fr_FR/tags/2.0.11/messages/fr_FR.po"&gt;the FR .po file available from the WordPress Subversion repository&lt;/a&gt;, I edited the locale file. &lt;a href="http://www.stevensmedia.com/downloads/wp20011_wp-includes/locale.phps"&gt;This can be downloaded here&lt;/a&gt;, and is intended to be used with WordPress version 2.0.0.11.&lt;/p&gt;
&lt;p&gt;Next, you’ll need to edit the two instances of the time function in single.php:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php the_time('l, j F, Y') ?&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php the_time('G \h i') ?&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Along with the translated text, you should now have this in your single.php template:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Cette entr&amp;eacute;e a &amp;eacute;t&amp;eacute; inscrite le &lt;?php the_time('l, j F, Y') ?&gt; &amp;agrave; &lt;?php the_time('G \h i') ?&gt; et elle est class&amp;eacute;e sous &lt;?php the_category(', ') ?&gt;.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And there you have it!&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/jQ_C3rokGgc/222105590</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222105590</guid><pubDate>Fri, 04 Jul 2008 13:44:00 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222105590</feedburner:origLink></item><item><title>tweeternet: An introduction to Twitter </title><description>&lt;p&gt;&lt;b&gt;Need to explain &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; to a client, colleague, or friend?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://tweeternet.com/"&gt;tweeternet&lt;/a&gt; is a one page Twitter primer that I just put online in an effort to streamline my own efforts at describing the social networking and microblogging service.&lt;/p&gt;
&lt;p&gt;I’ve linked to several blog posts about Twitter that I feel are best-of-breed. If you think I’ve missed one, just &lt;a href="http://twitter.com/samdenstevens"&gt;tweet me&lt;/a&gt;. Similarly, I’m pulling in &lt;a href="http://del.icio.us/solutionsphp/twitter"&gt;my del.icio.us links tagged with “twitter”&lt;/a&gt; to provide a small directory of Twitter tools, applications and resources. If you’d like to suggest an addition to this, &lt;a href="http://del.icio.us/solutionsphp"&gt;add me to your del.icio.us network&lt;/a&gt; and share the link.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/An9VZtckrHU/222133394</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222133394</guid><pubDate>Thu, 15 May 2008 14:22:00 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222133394</feedburner:origLink></item><item><title>How to promote your business with YouTube</title><description>&lt;p&gt;YouTube is a video sharing community website owned by Google that offers a   unique (and free) avenue to promote your business on the web. Sure, you can   put videos on your own website without using YouTube, but then you aren’t   tapping into the huge and ever-growing YouTube community, which can virally   spread the word about your products and services, ultimately driving traffic   back to your website–if you know how to put this powerful tool to work for   you.&lt;!-- more --&gt;&lt;/p&gt;
&lt;h2&gt;Your Account&lt;/h2&gt;
&lt;p&gt;Not surprisingly, the first step to using YouTube is &lt;a href="http://www.youtube.com/signup"&gt;getting yourself a YouTube   account&lt;/a&gt;. Note that you can use your Google account as your login if you already   have one. Once you have an account, click “Account” at the top of   the page to see what kinds of preferences you can setup, and to explore the   tools available to you.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Your Profile&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;On the account page, there is a link for Personal Profile. Be sure to add   some profile information to this form so that your users can “get to know   you”. (Don’t forget that updates to your profile and channel customization   can take up to 6 hrs to show up.)&lt;/p&gt;
&lt;h2&gt;Your Videos&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Uploading Videos&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;YouTube has a comprehensive help section on &lt;a href="http://www.google.com/support/youtube/bin/topic.py?topic=10524"&gt;how     to upload videos&lt;/a&gt;. If you are uploading videos that are 100M or larger,     you will need to use the YouTube Uploader. This is software that is installed     on your computer. For additional information, please &lt;a href="http://www.google.com/support/youtube/bin/answer.py?answer=79983"&gt;see     this help topic&lt;/a&gt;. Be patient while your video is uploading–it can take     20 minutes to upload a 100+MB video! Also, your video will not appear immediately     in your account.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Tagging and Categorizing&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Tagging and categorizing your videos is an important step that’s often   rushed, but if done right, will yield benefits you probably don’t want   to miss out on. For ideas, check out popular videos in your niche and see how   they have been tagged and categorized. Don’t overlook the fact that choosing   less popular categories might reduce the competition your videos have, and   may help launch your videos to the most popular or most viewed in your category.   With tagging, add as many relevant keywords as you can, and again, see if you   can match them to other existing video content. This will help gain additional   exposure for your video content.&lt;/p&gt;
&lt;h2&gt;Your Playlists&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.google.com/support/youtube/bin/answer.py?hl=en&amp;answer=57792"&gt;See     this documentation to learn about Playlists&lt;/a&gt; and how to create them. Playlists     can contain your own videos and/or the videos of others. Either way, putting     playlists together is easy: select clips from the My Videos section of your     account and add them to a new playlist, or visit the video you are interested     in and click “save to favorites”.&lt;/p&gt;
&lt;p&gt;The benefit of playlists lies in providing videos that are organized into   a niche-targeted context enabling your users to find related content quickly,   without having to resort to using YouTube search. In providing this service,   you can boost your web traffic without ever even recording a single video of   your own! Look for quality videos with a low view count, and you’ll help   users find content that hasn’t already “done the rounds”.&lt;/p&gt;
&lt;h2&gt;YouTube Email and Bulletins&lt;/h2&gt;
&lt;p&gt;It’s not too common for YouTube users to simply stumble across your channel.   To help get the word out, YouTube provides you with a number of self-promotion   tools, including email and bulletins. With YouTube email, you can reach out   to other users who share similar interests and let them know about your videos,   or send them thoughts about theirs. Bulletins allow you to create short messages   that appear on your channel page, or leave messages on other users’ channel   pages. Share information about your status, newest videos or anything else   that you’d like to broadcast to the YouTube community.&lt;/p&gt;
&lt;h2&gt;Video Responses&lt;/h2&gt;
&lt;p&gt;Just like with blogs, you can leave comments on videos posted by others, but   with YouTube you can also leave video responses. These can be chosen from your   existing videos, or you can create new videos in response to another user’s   video. Just remember to keep your response relevant, choose your target video   well (preferably a high traffic video related to your niche), and respond early   to get your video response noticed by others.&lt;/p&gt;
&lt;h2&gt;YouTube Groups&lt;/h2&gt;
&lt;p&gt;YouTube groups provide a way for users to discuss and share videos. You can   browse groups by category, or create your own group from the YouTube Groups   page. Contributing to YouTube groups provides you with a targeted audience   to promote your videos to, hopefully attracting users to visit and subscribe   to your channel. Joining an existing group provides you with a base of users   to interact with immediately, while creating your own group requires you to   wait for users to join before you have an audience to promote your work to.&lt;/p&gt;
&lt;h2&gt;Active Sharing&lt;/h2&gt;
&lt;p&gt;With Active Sharing enabled, your username and a link to your channel will   be displayed next to videos you are watching for 30 minutes, and all of the   videos you watch will be added to a “Videos I’m Watching” section   in your Profile. This allows others users to discover you and your videos (and   perhaps also your website), based on the fact that you share interests and   watch the same videos.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;YouTube and the YouTube community offers an effective method of online     promotion&lt;/b&gt;, either through your own video content or the videos of     other YouTube users. By putting YouTube’s community features to work     for you and your business, you have the chance to develop a new and viable     source of customer acquisition.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/5W7GHJGykM0/222129478</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222129478</guid><pubDate>Tue, 04 Mar 2008 14:16:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222129478</feedburner:origLink></item><item><title>Easy lifestreaming with SimplePie</title><description>&lt;p&gt;This easy lifestreaming script is handy but it lacks rich media features such as embedded video. If you want something less utilitarian with more wow factor, check out what you can do with &lt;a href="http://www.sweetcron.com/"&gt;Sweetcron&lt;/a&gt;. &lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;Lifestreaming became a popular buzzword in 2007 and doesn’t show signs of letting up. While &lt;a href="http://friendfeed.com/"&gt;there&lt;/a&gt; &lt;a href="http://suprglu.com/"&gt;are&lt;/a&gt; &lt;a href="http://www.tumblr.com/"&gt;several&lt;/a&gt; &lt;a href="http://www.jaiku.com/"&gt;hosted&lt;/a&gt; &lt;a href="http://lifestrea.ms/"&gt;services&lt;/a&gt; &lt;a href="http://streem.us/"&gt;that&lt;/a&gt; allow you to easily create a lifestream (as well as a &lt;a href="http://chrisjdavis.org/lifestream-ala-wordpress"&gt;myriad&lt;/a&gt; &lt;a href="http://elliottback.com/wp/archives/2006/12/14/lifestream-wp-plugin-for-wordpress/"&gt;of&lt;/a&gt; &lt;a href="http://kierandelaney.net/blog/projects/simplelife/"&gt;WordPress&lt;/a&gt; &lt;a href="http://www.h4x3d.com/my-lifestream-secret-lifted-wordpress-lifestream-plugin-code/"&gt;plugins&lt;/a&gt;), you might prefer a quick and easy self-hosted solution (like &lt;a href="http://adactio.com/journal/1202/"&gt;Jeremy Keith’s&lt;/a&gt;). SimplePie’s got you covered!&lt;/p&gt;
&lt;p&gt;With just two short PHP files, a SimplePie installation, and a little RSS icon to pretty things up, you can create your own stand-alone lifestream, tying together all the content you’re publishing on the web into a single source, enabling your favorite contacts (or anyone else who happens to stumble across your stream) to stalk your every online move.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;a href="http://simplepie.org/"&gt;SimplePie&lt;/a&gt;. If you have any trouble with this step, check out their excellent &lt;a href="http://simplepie.org/wiki/"&gt;documentation&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Next, &lt;a href="http://www.solutionsphp.com/downloads/lifestream/"&gt;download these files&lt;/a&gt;. (These files are a bleshing of &lt;a href="http://natwelch.com/lifestream.phps"&gt;Nat Welch’s source&lt;/a&gt; and &lt;a href="http://www.webmaster-source.com/2007/08/06/merging-rss-feeds-with-simplepie/"&gt;Webmaster-Source.com’s merge code&lt;/a&gt;.) Change the extension on the .phps files to .php. &lt;/li&gt;
&lt;li&gt;Open the files up in your favorite editor and configure as needed (they are commented so it should be fairly self-explanatory.)&lt;/li&gt;
&lt;li&gt;Upload the .php files and the RSS icon to your web server.&lt;/li&gt;
&lt;li&gt;Make it your own: add some CSS. &lt;/li&gt;
&lt;li&gt;Presto chango, you’re lifestreaming!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here’s &lt;a href="http://actionstreamer.com/"&gt;my lifestream&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you’d like to setup a lifestream blog, archiving everything in a database, check out &lt;a href="http://www.yongfook.com/post/view/92/how-to-make-your-own-lifestream-blog"&gt;Yongfook’s how-to&lt;/a&gt;, using the &lt;a href="http://www.tumblr.com/api"&gt;Tumblr API&lt;/a&gt; and the &lt;a href="http://www.codeigniter.com/"&gt;CodeIgniter framework&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I’d like to include my Amazon.ca Wish List to my lifestream, but had some trouble getting that up and running. (Why doesn’t Amazon provide Wish List RSS files?) I found a few sources that helped me generate an RSS feed of my Wish List:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.technologyevangelist.com/2008/01/amazon_rss_wishlist.html"&gt;Technology Evangelist’s Amazon RSS Wishlist Generator using Yahoo! Pipes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://iu.berkeley.edu/rdhyee/discuss/msgReader%24849?mode=day&amp;print-friendly=true"&gt;Raymond Yee’s Amazon RSS Wish List Generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.edazzle.net/amazon/"&gt;edazzle.net’s Amazon RSS Wish List Generator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, I haven’t yet figured out how to pull the DateAdded into the feed, making it kind of lame in a lifestream. &lt;a href="http://andreamignolo.com/"&gt;Andrea Mignolo&lt;/a&gt; has it going on though. I’ll have to dig a little deeper into Amazon’s Web Services documentation to get that sorted.&lt;/p&gt;
&lt;p&gt;For more about lifestreaming, see &lt;a href="http://lifestreamblog.com/"&gt;lifestreamblog.com&lt;/a&gt;.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/ZdqxwnOQHgI/222099708</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222099708</guid><pubDate>Fri, 22 Feb 2008 13:35:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222099708</feedburner:origLink></item><item><title>Book review: Professional Search Engine Optimization with PHP </title><description>&lt;p&gt;&lt;a href="http://www.amazon.com/dp/product/0470100923/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=0470100923"&gt;&lt;i&gt;Professional Search Engine Optimization with PHP&lt;/i&gt;&lt;/a&gt; is another fine &lt;i&gt;Programmer to Programmer&lt;/i&gt; book from &lt;a href="http://www.wrox.com/WileyCDA/"&gt;Wrox Press&lt;/a&gt;, authored by &lt;a href="http://www.seoegghead.com/"&gt;Jaimie Sirovich&lt;/a&gt; and &lt;a href="http://www.cristiandarie.ro/"&gt;Cristian Darie&lt;/a&gt;. As a hybrid designer/developer/marketer, I had been waiting for a book just like this for some time, and the authors deliver with concise information, expert advice and plenty of ready-to-use code that helps put your new knowledge into action immediately.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;After the introductory chapter (which helps you get a development environment setup), the book launches with a primer in search engine marketing. Experienced SEMs will already have this knowledge but it’s worth reading, even if it’s just to make sure that you are “on the same page” with the SEO lingo that Sirovich and Darie use throughout the rest of the book. The chapter concludes with a good sampling of available SEO tools, browser plugins, forums, blogs and other resources that are worth taking a look at.&lt;/p&gt;
&lt;p&gt;SE-Friendly URLs, redirection and HTTP status codes, duplicate content and SE-friendly code are covered in the following chapters, each providing clear examples of pitfalls to avoid, complimented by code for best practices solutions.&lt;/p&gt;
&lt;p&gt;Social media marketing is a newer form of SEO, and while this book doesn’t go into extreme depth on the subject (which is deep enough to warrant dedicated texts of its own), it does provide a solid foundation that will help you get up to speed on web feeds and social bookmarking for the purposes of promotion.&lt;/p&gt;
&lt;p&gt;Chapter 8 covers black hat SEO—not how to do it, but how to protect against it. This thick chapter will help you learn about common black hat techniques, security best practices, dealing with comment spam, sanitizing input and CAPTCHA solutions, and how to protect your hard work from dreaded redirect attacks.&lt;/p&gt;
&lt;p&gt;This book arrived in my hands at just the right time: I needed to create dynamic sitemaps for a static website I was optimizing. In chapter 9, the reader learns about traditional versus search engine sitemaps, and the Google, Yahoo! and the sitemaps.org sitemap standards. This isn’t a thick chapter, but it contains the complete code for dynamically creating both Google and Yahoo! sitemaps, which happened to be just what I had been looking for!&lt;/p&gt;
&lt;p&gt;The concept of link bait isn’t new: create engaging, informative content and people will link to your website. With the growth of social networking however, the tools of the trade, and the nature of the game itself, have shifted somewhat. Social bookmarking (see chapter 7) via del.icio.us and digg.com is one way to promote content. Other types of link bait include informational hooks, news story hooks, humorous and fun hooks, and “evil” or controversial hooks.&lt;/p&gt;
&lt;p&gt;The next section teaches the fundamentals of cloaking, geo-targeting, and IP delivery. Cloaking has earned a pretty nasty rap, and &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?answer=66355"&gt;Google confirms that sites that use the technique may be removed from their index&lt;/a&gt;. There are however legitimate uses of cloaking—intent and implementation are key. Examples of legitimate use include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pushing subscription-based content to spiders&lt;/li&gt;
&lt;li&gt;Disabling URL-based session handling for spiders&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Chapter 13 covers foreign language SEO. The very thought of having to optimize a website for multiple languages can cause hair loss without the right knowledge at your disposal. But fear not though: Sirovich and Darie point the reader in the right direction with the basic tips and tricks of the trade.&lt;/p&gt;
&lt;p&gt;The first part of the book closes with chapter 13, where you’ll learn to deal with various technical issues related to SEO, including: unreliable hosting, cross-linking, SEO-aware split testing (I was pleased to see this covered) and broken links.&lt;/p&gt;
&lt;p&gt;The second part of the book includes a case study on e-commerce SEO, a complete site clinic that uses the techniques learned in the book to optimize a website, a how-to chapter on creating an SEO-friendly WordPress website, and finally, an appendix providing a foundation in regular expressions.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.com/dp/product/0470100923/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=0470100923"&gt;&lt;i&gt;Professional Search Engine Optimization with PHP&lt;/i&gt;&lt;/a&gt; is a book that filled an enormous void at the time of its release, and I strongly recommend it for PHP developers* who need to address search engine marketing in their projects (these days, who doesn’t?), as well as code-savvy marketers who would like to take their technical knowledge to the next level. I commend the authors for the obvious efforts they invested in this work, and am grateful to have such a complete guide to the technical side of SEO at my disposal.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.com/dp/product/0470131470/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=0470131470"&gt;*There is also an ASP-flavored version of this book.&lt;/a&gt;&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/DyhEX4aWYh0/222162314</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222162314</guid><pubDate>Fri, 01 Feb 2008 15:03:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222162314</feedburner:origLink></item><item><title>Book review: Defensive Design for the Web</title><description>&lt;p&gt;Any self-respective web developer is well-aware of the achievements of &lt;a href="http://www.37signals.com/"&gt;37signals&lt;/a&gt;, creators of &lt;a href="http://www.basecamphq.com/"&gt;Basecamp&lt;/a&gt; and the extremely popular &lt;a href="http://www.rubyonrails.com/"&gt;Ruby on Rails&lt;/a&gt; development framework. Having already read and thoroughly enjoyed their web application development manifesto, &lt;a href="http://gettingreal.37signals.com/"&gt;&lt;i&gt;Getting Real&lt;/i&gt;&lt;/a&gt;, I was excited to get my hands on 37signalers Matthew Linderman’s and Jason Fried’s 2004 book on web usability, &lt;a href="http://www.amazon.com/dp/product/073571410X/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=073571410X"&gt;&lt;i&gt;Defensive Design for the Web: How to Improve Error Messages, Help, Forms and Other Crisis Points&lt;/i&gt;&lt;/a&gt;. I’m also a big fan of New Riders books, so the bar was set high.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;While this book contains excellent information about user-friendly design, I was disappointed when I finished it. Physically, the book itself is pleasing enough, clocking in at 236 pages with a nice, easy-to-flip-through binding, but &lt;a href="http://www.amazon.com/dp/product/073571410X/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=073571410X"&gt;&lt;i&gt;Defensive Design for the Web&lt;/i&gt;&lt;/a&gt; could have been released as a PDF of about a quarter of the size. From an environmental point of view, the book is a bit of a waste of paper: many pages have content that only fills the top third of the page. (I guess this is good if you’re someone who likes to write notes right on the pages of your books.) &lt;a href="http://www.amazon.com/dp/product/073571410X/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=073571410X"&gt;&lt;i&gt;Defensive Design for the Web&lt;/i&gt;&lt;/a&gt; is extremely repetitive, with an excessive number of real-world examples that simply repeat what the guidelines already stated.&lt;/p&gt;
&lt;p&gt;The guidelines presented in this book (forty in all) are dead-on, and designers and developers should certainly heed Linderman’s and Fried’s sound advice, but if you can get your hands on the complete table of contents, I can’t see a real reason to buy this book. Seriously, just &lt;a href="http://www.amazon.com/dp/product/073571410X/?tag=leadslogic-20&amp;linkCode=asn&amp;creativeASIN=073571410X"&gt;go to Amazon.com&lt;/a&gt;, print out the table of contents, and you have all you need to brush up on your web usability skills.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/v2qRuVruDfA/222160786</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222160786</guid><pubDate>Wed, 30 Jan 2008 15:01:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222160786</feedburner:origLink></item><item><title>Book review: Pro Drupal Development</title><description>&lt;p&gt;&lt;a href="http://www.apress.com/"&gt;Apress&lt;/a&gt; is another publisher that has been putting out some excellent books focused on open source technologies in recent years. Last year’s much needed entry to the world of &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; development is no exception. &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1590597559/leadslogic-20"&gt;&lt;i&gt;Pro Drupal Development&lt;/i&gt;&lt;/a&gt; by John K. VanDyk and Matt Westgate covers the popular open source content management framework with a depth that no previous book attempted, and is an essential guide for intermediate and advanced Drupal developers alike. At the time of this writing, I have yet to get through the entire book cover to cover. Simply put, I haven’t had the opportunity to put to use some of the more advanced concepts in my own work yet. I have the feeling that this will be one of those books in my development library that gets dog eared from frequent referencing.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;In some ways, I found the ordering of chapters to be unorthodox. I don’t know that this takes anything away from the book overall, it was just presented in a way I didn’t expect. The book begins with a short chapter about how Drupal works, then dives right into custom module development in chapter 2. I might have preferred to review information about the menu system, users, taxonomy, etc. before getting into module development, that way I would have been primed on these most critical Drupal concepts before taking the dive. However, another way to look at this is that the introduction on module development prepares the reader for the later chapters where these critical concepts are tied to module development. I see the logic.&lt;/p&gt;
&lt;p&gt;Chapter by chapter, &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1590597559/leadslogic-20"&gt;&lt;i&gt;Pro Drupal Development&lt;/i&gt;&lt;/a&gt; provides a solid foundation in all things Drupal: the menu system, databases, users, nodes, the theme system (an excellent chapter), blocks, the form API, manipulating user input via the filter system, searching and indexing content, working with files, taxonomy, caching and sessions. There’s also a useful chapter on using the newly integrated &lt;a href="http://jquery.com/"&gt;jQuery library&lt;/a&gt;, an excellent section on localization, and a chapter on sending and receiving XML-RPC calls. Finally, the book closes out with sections on security and best practices (these are a must for all Drupalers), optimizing Drupal for performance, and how to create your own installation profiles. The appendixes provide a handy database table reference and additional resources.&lt;/p&gt;
&lt;p&gt;Before &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1590597559/leadslogic-20"&gt;&lt;i&gt;Pro Drupal Development&lt;/i&gt;&lt;/a&gt; hit the shelves, there were no advanced Drupal books available (though I did enjoy &lt;a href="http://www.stevensmedia.com/blog/?p=129"&gt;&lt;i&gt;Drupal - Creating Blogs, Forums, Portals and Community Websites&lt;/i&gt;&lt;/a&gt; by David Mercer). For the developer who wanted to get under the hood and develop in depth, the most useful resources available were the &lt;a href="http://drupal.org/handbooks"&gt;Handbooks&lt;/a&gt; and &lt;a href="http://drupal.org/forum"&gt;support forums&lt;/a&gt;. &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1590597559/leadslogic-20"&gt;&lt;i&gt;Pro Drupal Development&lt;/i&gt;&lt;/a&gt; filled an enormous void and is an extremely useful guide book for Drupal 5. Drupal developers would be wise to access the authors’ deep expertise to leverage this powerful content management framework.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;UPDATE, 02/01/08:&lt;/b&gt; &lt;a href="http://www.ross.ws/"&gt;Michael J. Ross&lt;/a&gt; penned &lt;a href="http://books.slashdot.org/books/07/06/06/1352210.shtml/"&gt;a fine review of this book&lt;/a&gt; that’s worth checking out (via Slashdot.)&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/xm0GksX9MPc/222159260</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222159260</guid><pubDate>Fri, 25 Jan 2008 14:59:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222159260</feedburner:origLink></item><item><title>Book review: Professional Web APIs with PHP</title><description>&lt;p&gt;&lt;i&gt;Professional Web APIs with PHP&lt;/i&gt; by &lt;a href="http://blog.preinheimer.com/"&gt;Paul Reinheimer&lt;/a&gt; is a book that I first got a glimpse of at the &lt;a href="http://www.stevensmedia.com/blog/?p=120"&gt;Vancouver PHP Conference&lt;/a&gt; last spring. Alas, I didn’t have any cash on me to pick it up, but I promised Paul that I would buy it through his website so he could pick up the Amazon sales commission. Unfortunately, when I went to buy the book, I found his website unavailable. Paul, I owe you a beer to make up for that!&lt;/p&gt;
&lt;p&gt;I’m a big fan of the Wrox &lt;i&gt;Programmer to Programmer&lt;/i&gt; book series. The structure of these books allows for at-a-glance learning that enables you to hit the ground running. &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0764589547/leadslogic-20"&gt;&lt;i&gt;Professional Web APIs with PHP&lt;/i&gt;&lt;/a&gt; is no exception. This book covers PHP development using the eBay, Google, PayPal, Amazon, and FedEx APIs, and also features a primer on web feeds. Because the book is broken up by API, you don’t have to read this cover to cover and can instead just review the APIs that you plan to develop with.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;I recommend reading Part One in it’s entirety. It provides an introduction on web services and then covers RSS and Atom web feeds over the next three chapters. Developers who already have this knowledge can skip ahead, though I found Part One to be a good read despite already having experience in this area. By the nature of my own business, I often dive into code before reading much theory (a method sometimes referred to as “ass backwards”), so there’s always more I can learn from these crash course style chapters.&lt;/p&gt;
&lt;p&gt;Part Two is where we find the “meat” of this book. The introductory chapter reviews the REST and SOAP implementations, and offers several points for consideration in choosing which method to use in your applications, including overhead, transparency, ease of use, service definition, and encapsulation. (Of course, the choice between REST and SOAP is often made for you by the service you are working with.) Paul provides numerous clear code examples to get you up and running quickly, regardless of which method you choose, including manual SOAP requests and generation with the NuSOAP module.&lt;/p&gt;
&lt;p&gt;The first API covered is Google Search using SOAP. There are plenty of ready to use code examples, including an SEO keyword and positioning monitoring tool.&lt;/p&gt;
&lt;p&gt;Amazon web services is up next. Amazon is unique in that both REST and SOAP implementations are available to connect to their API. Example applications include searching Amazon by keyword or author, monitoring prices and sales ranks, and creating a personal store front.&lt;/p&gt;
&lt;p&gt;The next chapter on FedEx provides code examples for integrating shipping into an e-commerce application, and also highlights some of the issues that Paul ran into developing for this API due to his location in Canada. I appreciated the tips and pointers in this area since I too am located in the Great White North.&lt;/p&gt;
&lt;p&gt;eBay web services represents a way that developers can monetize their web sites by accessing the huge inventory of the International auction house. The eBay API is dense and thorough, offering both REST and SOAP, making Paul’s clear guidance even more valuable. By the end of the chapter, you will be able search items, filter and display results, and list items for sale. These functions are just the basics—there’s a lot you can do with the eBay API, but this introduction will get you up to speed on the basics and give you a foundation for more involved development using eBay web services.&lt;/p&gt;
&lt;p&gt;Interacting with the PayPal API is the subject of the next chapter. Paul provides an overview of the API, and the development sandbox, and covers accepting payments, encryption, Instant Payment Notification, searching and retrieving transactions, issuing refunds, and how to use MassPay. PayPal’s API introduces some new challenges with client-side certificates, but these are easily overcome with cURL and PayPal’s strong SOAP design.&lt;/p&gt;
&lt;p&gt;Chapter 11 covers the basics of three other web services: the National Weather Service, Flickr, and Del.icio.us. (Note that Wrox also has books in the &lt;i&gt;Programmer to Programmer&lt;/i&gt; series dedicated to Flickr and Del.icio.us alone, and these are worth picking up if you’d like to learn more.)&lt;/p&gt;
&lt;p&gt;The final chapter changes the focus from developing for APIs to developing your own APIs. Paul highlights the technical considerations that should go into planning your API, enabling authentication and encryption, choosing between REST and SOAP, working with the development community that will be accessing your web service, performance and error handling.&lt;/p&gt;
&lt;p&gt;While &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0764589547/leadslogic-20"&gt;&lt;i&gt;Professional Web APIs with PHP&lt;/i&gt;&lt;/a&gt; doesn’t go into extreme depth on any one API, this is an excellent review of the more popular web services that should probably be on the bookshelf of just about any PHP Web 2.0 developer.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/mc3uXQfx7mQ/222156500</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222156500</guid><pubDate>Fri, 25 Jan 2008 14:55:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222156500</feedburner:origLink></item><item><title>Book review: Drupal - Creating Blogs, Forums, Portals and Community Websites </title><description>&lt;p&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/1904811809/leadslogic-20"&gt;David Mercer’s &lt;i&gt;Drupal: Creating Blogs, Forums, Portals and Community Websites&lt;/i&gt;&lt;/a&gt; is a great starting point for anyone who’s getting familiar with the &lt;a href="http://drupal.org/"&gt;Drupal content management framework&lt;/a&gt;. It’s a well-designed, easy to read book that defines Drupal concepts that can be difficult to figure out by trial and error.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;The book begins with a very basic introduction to Drupal. If you’ve surfed through the Drupal website for more than 20 minutes, you can probably skip this first chapter. Similarly, the next chapter covers the installation of PHP, Apache, MySQL and Drupal on your local system, and can be skipped entirely if you have a server already set up to host your Drupal project and are comfortable running through the easy Drupal installer. However, this chapter does include a short tour of administering Drupal’s general settings–a short read that’s worth familiarization.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Basics I: Site Configuration&lt;/i&gt; comes next, and Mercer provides a good overview of managing various system settings: error handling, cache, file system, RSS, date, site maintenance and strong handling. Mercer also passes on this tip: “Taking the time to look through and play with all the available settings is an important step to becoming a competent Drupal administrator.” (p.56)&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Basics II: Adding Functionality&lt;/i&gt; introduces Drupal modules, menus and blocks. This chapter is an excellent, easy-to-read primer covering important Drupal concepts.&lt;/p&gt;
&lt;p&gt;The next chapter on &lt;i&gt;Users, Roles and Permissions&lt;/i&gt; provides readers with a solid foundation for learning how to plan and implement a user access policy for your Drupal-powered website. This chapter, combined with the next, combined to be my favorite sections of the book.&lt;/p&gt;
&lt;p&gt;Chapter 6, &lt;i&gt;Basic Content&lt;/i&gt;, clearly describes the default Drupal content types, and how to administer content, consume RSS feeds, and use content modules. Mercer manages to make the seemingly complex world of Drupal content management… well, &lt;i&gt;manageable&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Advanced Content&lt;/i&gt; continues with introducing input formats and filters. (On a side note, it’s unfortunately that Mercer advocates HTML tables for layout in the examples.) This chapter also covers categorization with Drupal taxonomy and content tagging. It’s a thick section of the book that probably deserves multiple reads.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Drupal’s Interface&lt;/i&gt; comes next and covers the theme system, including customizing themes. I was expecting a little more from this chapter, but it really doesn’t contain any information that couldn’t be gleaned by getting your hands dirty in the theme CSS files.&lt;/p&gt;
&lt;p&gt;Chapter 9, &lt;i&gt;Advanced Features and Modifications&lt;/i&gt;, is somewhat obsolete in its recommendation of the &lt;a href="http://drupal.org/project/flexinode"&gt;Flexinode&lt;/a&gt; module. With Drupal 5.x, you’ll want to use the &lt;a href="http://drupal.org/project/cck"&gt;Content Construction Kit (CCK)&lt;/a&gt; instead. Mercer also touches on topics such as incorporating &lt;a href="http://www.stevensmedia.com/blog/?p=128"&gt;Google AdSense&lt;/a&gt; into your Drupal site, and adding functionality by integrating third party scripts.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Running Your Website&lt;/i&gt; covers the administrative tasks of successfully managing a Drupal site: backups, best practices, cron jobs, throttling modules, and how to apply Drupal patches. Not all of the information in this chapter is Drupal-specific, so seasoned web developers can get away with skimming it. Similarly, the Appendix on &lt;i&gt;Deployment&lt;/i&gt; is also not specific to Drupal, though there are some good security tips worth checking out.&lt;/p&gt;
&lt;p&gt;Overall, &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1904811809/leadslogic-20"&gt;&lt;i&gt;Drupal: Creating Blogs, Forums, Portals and Community Websites&lt;/i&gt; by David Mercer&lt;/a&gt; is an excellent Drupal primer. Despite targeting Drupal version 4, it remains a well-written guide to basic Drupal concepts, with good examples. Chapters 4, 5, 6 and 7 are the best. Developers who are getting into using Drupal to build websites will want to &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1904811809/leadslogic-20"&gt;buy this book&lt;/a&gt; (about $40 at Amazon) and keep it nearby for handy reference during development.&lt;/p&gt;
&lt;p&gt;Next up, I’ll be reviewing &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1590597559/leadslogic-20"&gt;&lt;i&gt;Pro Drupal Development&lt;/i&gt;&lt;/a&gt;, a more advanced book for Drupal developers.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/K4m4qQhxpqs/222154975</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222154975</guid><pubDate>Fri, 27 Jul 2007 14:53:00 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222154975</feedburner:origLink></item><item><title>Book review: The AdSense Code</title><description>&lt;p&gt;&lt;a href="http://www.joelcomm.com/"&gt;Joel Comm&lt;/a&gt; is a well-respected expert on Google AdSense and Internet marketing, so I had no misgivings about picking up his popular book, &lt;i&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/1933596708/leadslogic-20"&gt;The AdSense Code&lt;/a&gt;&lt;/i&gt;. Unfortunately, the book turned out to be somewhat disappointing.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;At first glance, the book looks professional: the front cover, despite the overuse of bevelling, is attractive, and the “New York Times Bestseller” across the top tells a potential buyer that this book is popular. Turn the book over however, and you’re greeted by the amateur look of a marketer’s e-book. I’m pretty certain that this was originally written as an e-book–the typos throughout are a dead giveaway. This transparency could have been tossed by a decent editor.&lt;/p&gt;
&lt;p&gt;Skip the introduction: it’s useless unless you’re completely new to website development.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Chapters 2, 3 and 4 present the most useful information.&lt;/b&gt; They focus on techniques for tweaking your ad units for better CTR, and there’s also a good explanation of site targeted CPM. I also found the information about complementing ad units with other design elements to be helpful. For example, placing a search box near an ad unit can improve performance. Chapter 5 also has some good information about controlling ads through content relevance, density and positioning, and introduces section targeting.&lt;/p&gt;
&lt;p&gt;Chapters 6, 7 and 8 are fluff, covering Google’s Search product, referral programs and using multiple ad blocks. You can find all of this information on Google’s pages, and it’s written better:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.google.com/adsense/support/bin/topic.py?topic=144"&gt;AdSense for Search&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.google.com/adsense/support/bin/topic.py?topic=1449"&gt;Referrals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.google.com/adsense/support/bin/answer.py?answer=10541&amp;topic=8437"&gt;Using multiple ad units&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Chapter 9, Building Content, made me cringe all the way through. Comm talks about his “professional-looking” websites–no self-respecting developer would call these professional. (I don’t even want to link to those sites to give you an example–trust me, they’re bad.) He also suggests using public works for free content. Yes, I’m going to get repeat quality traffic by re-publishing &lt;i&gt;Ulysses&lt;/i&gt; and Sherlock Holmes stories! Next, Comm suggests several automated content tools: just what the Internet needs, more poorly written content!&lt;/p&gt;
&lt;p&gt;Chapter 10 brings the book back to Earth with a discussion about response tracking. However, it would have been helpful if Comm provided a breakdown of tools here, rather than including a few at the end of the book. The next chapter on smart pricing is weak. &lt;a href="http://groups.google.com/group/adsense-help/search?group=adsense-help&amp;q=smart%20pricing&amp;qt_g=1&amp;searchnow=Search+this+group"&gt;Browse the AdSense Group for answers instead.&lt;/a&gt; AdSense and Communities comes next. It’s basically about ad unit positioning, and I fail to see why it received a dedicated chapter–this should have been integrated into chapter 4, How to Maximize Visibility and Response.&lt;/p&gt;
&lt;p&gt;(If you can’t tell already, the book at this point is really sliding downhill…)&lt;/p&gt;
&lt;p&gt;Read Your Visitors and Before You Apply to AdSense contain more fluffy info. I’ll sum them up: Pay attention to CTR and create a quality site. (Would you please send me $16 for these killer tips?) The chapter on tools is useful, but it should also include stats applications. The next chapter, Keeping Track of What Works, should have been integrated with the section about response tracking. Next, Comm discusses other contextual advertising programs. Stop! I bought this book to learn more about AdSense! I must assume that the content was included simply to promote Comm’s other products. Cheezy. Chapters 18 and 19 cover obtaining traffic and search engine optimization. These are big topics that have many books devoted solely to them, so it’s not surprising that the information in Comm’s book, while useful, is overly basic. There’s also stupid information about the importance of search engine submissions (“submit your site to 600,000 engines”.) The following section is about the things you shouldn’t do with AdSense. It’s short and basic, but accurate, and it’s an easier read that the &lt;a href="https://www.google.com/adsense/static/en_US/Terms.html"&gt;AdSense terms of service&lt;/a&gt;. Staying Up To Date is too short and could have contained many more quality references. The Case Studies chapter presents nothing new, just screenshots of more poorly designed websites (these are Comm’s “success stories”). The Conclusion includes nothing more than some self-serving testimonials.&lt;/p&gt;
&lt;p&gt;Overall, &lt;b&gt;I was offended by the language&lt;/b&gt; and tone of this book. I felt like I was reading an advertisement. You know what I’m talking about: the word “free” is always capitalized, the emphasis on “anyone can build a website”, without the real world caveat that poorly designed and executed sites don’t sell. Comm himself says that “people hate being baited”. &lt;b&gt;This book would have been better if Comm listened to his own advice and stuck to facts instead of hype.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;There’s also downright bad advice in this book&lt;/b&gt;, for example the suggestion that submitting your site to search engines is important (it’s not, just get quality inbound links) and advocating the use of tables for web design (please don’t do this!) Comm might know AdSense, but he doesn’t sound well-versed in the current best practices of search engine marketing and web design.&lt;/p&gt;
&lt;p&gt;Do I recommend this book? &lt;a href="http://www.amazon.com/exec/obidos/ASIN/1933596708/leadslogic-20"&gt;&lt;b&gt;For $16, it’s a cheap investment and it’s worth picking up for the information in chapters 2-4 alone.&lt;/b&gt;&lt;/a&gt; You can find this same info reading quality AdSense blogs, but I do like to get off the computer and read a good old fashioned book. Be prepared for the sell-sell language and don’t take this book as law, and you’ll feel satisfied enough with your purchase.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/R_6uQo_Sy8A/222152915</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222152915</guid><pubDate>Wed, 13 Jun 2007 14:50:00 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222152915</feedburner:origLink></item><item><title>Book review: The Principles of Beautiful Web Design </title><description>&lt;p&gt;I’ve been a fan of SitePoint books for many years now, so when they launched &lt;a href="http://www.sitepoint.com/launch/40579e3/3/83"&gt;Jason Beaird’s &lt;i&gt;The Principles of Beautiful Web Design&lt;/i&gt;&lt;/a&gt; I ordered my copy right away. I was immediately impressed upon opening the package (and should note that shipping to Canada is always fast with SitePoint). The larger 8×10” full-color format of this book simply rocks: it stays open on the table while you’re eating and reading!&lt;/p&gt;
&lt;p&gt;Overall, &lt;a href="http://www.sitepoint.com/launch/40579e3/3/83"&gt;&lt;i&gt;The Principles of Beautiful Web Design&lt;/i&gt;&lt;/a&gt; is a well-written book that provides a formula for successful web design. Programmers and new web designers will find a lot of helpful tips and easy to understand design theory that will guide them to better design. Seasoned designers won’t find too much new information to sink their teeth into, but the book is so easy and fast to read that it’s worth perusing even if it simply refreshes your knowledge of design.&lt;!-- more --&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Chapter 1: Layout and Composition&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;I was taken aback by a comment in passing on page 9: Jason starts designing for his clients without any content in hand! As a new designer, I did this often. With 8 years under my belt, I now know better: I never start any design work without some draft content from the client. After all, the layout design should support the content, not the other way around. I’ll chalk this up to designer’s choice, though I would never recommend this approach.&lt;/p&gt;
&lt;p&gt;Beaird presents solid theory in this chapter that’s described in a very practical way. He illustrates concepts that many of us may do without thinking, but knowing the theory behind the design will make you a better designer.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Chapter 2: Color&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;I hadn’t read any color theory in years, so while I was familiar with most of the concepts in this chapter, I really appreciated the refresher. I also enjoyed the section that explained the differences between the RGB and CMYK color models. This is information I probably should have known, but never really took the time to grasp. Beaird explains it all clearly.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Chapter 3: Texture&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;I came to understand the power of texture in web designs by examining the work of other designers. I don’t think I’d read about texture as it applies to web design before, so I was very interested in this chapter. Perhaps my expectations were too high, but somehow this chapter fell short for me. It just didn’t get that interesting until Beaird applied the theory to the sample project at the end of the chapter.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Chapter 4: Typography&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Much like the previous chapter, this section on typography didn’t really get that interesting until the information was applied to the sample project. I did enjoy the screenshots in this chapter which highlight some interesting and successful uses of various type faces.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Chapter 5: Imagery&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Again, the application section of the chapter was far more interesting than the introductory theory.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sitepoint.com/launch/40579e3/3/83"&gt;&lt;i&gt;The Principles of Beautiful Web Design&lt;/i&gt;&lt;/a&gt; is aimed at programmers and new designers. In this light, it’s an excellent book–it applies a formula to the often elusive design process, making quality design more accessible and less of a high art. Experienced web designers will probably find this book interesting, but it will have less of an impact on your skills. Still, I got excited about design as I read the book even though much of the theory was review for me. Overall, I’m glad to have it on my developer’s book shelf and I recommend Jason’s book to anyone interested in becoming a better web designer.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.sitepoint.com/launch/40579e3/2/83"&gt;Download Sample Chapters&lt;/a&gt; | &lt;a href="https://sitepoint.com/bookstore/go/83/40579e3"&gt;Buy Now $39.95 USD&lt;/a&gt;&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/tuMFkRRKXqg/222145770</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222145770</guid><pubDate>Mon, 14 May 2007 14:39:00 -0700</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222145770</feedburner:origLink></item><item><title>State and province drop down code for Phorm</title><description>&lt;p&gt;&lt;a href="http://www.php-form.net/"&gt;Phorm&lt;/a&gt; is an excellent form processor written in PHP that I use on a number of websites. Here’s some copy-and-paste code that will come in handy if you require a drop down menu with U.S. states and Canadian provinces on your form.&lt;/p&gt;
&lt;p&gt;First, &lt;a href="http://www.stevensmedia.com/downloads/phorm/states.phps"&gt;here’s the PHP code for your form’s config file&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now &lt;a href="http://www.stevensmedia.com/downloads/phorm/states.htmls"&gt;here’s the HTML for your form&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hope that saves you some typing!&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/mIxj5lgY6io/222117327</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222117327</guid><pubDate>Tue, 06 Feb 2007 13:59:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222117327</feedburner:origLink></item><item><title>Export MySQL data to a tab-delimited spreadsheet</title><description>&lt;p&gt;This data export script has turned out to be quite useful for me. Assuming that others might also find uses for it, I’m sharing the source code. If you have the need to export MySQL data to a tab-delimited spreadsheet, then the &lt;a href="http://www.stevensmedia.com/downloads/snippets/export2csv.phps"&gt;Data Export Utility&lt;/a&gt; is for you too!&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/6Aw_K9KgG2s/222094920</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222094920</guid><pubDate>Tue, 06 Feb 2007 13:28:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222094920</feedburner:origLink></item><item><title>How to recover your Dreamweaver passwords</title><description>&lt;p&gt;Sure, I could have called the web host and had them reset the password to the shared hosting account I was trying to access via FTP, but they’re great guys and I prefer to bug them over more serious issues. So, how to recover my lost Dreamweaver FTP password? It was actually incredibly easy: I opened the .ste (site definition) file in TextPad, copied the numeric value that followed “pw=” and decrypted it using &lt;a href="http://www.apptools.com/password.php"&gt;this handy tool from apptools.com&lt;/a&gt;. Case closed.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/r06r7PD9CMI/222126021</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222126021</guid><pubDate>Tue, 07 Mar 2006 14:12:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222126021</feedburner:origLink></item><item><title>Free cron job services</title><description>&lt;p&gt;List of free cron job services:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.webcron.org/"&gt;WebCron.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bitfolge.de/pseudocron-en.html"&gt;PseudoCron&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.wsscheduler.com/"&gt;Web Service Scheduler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.onlinecronjobs.com/"&gt;Online Cron Jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.setcronjob.com/"&gt;Set Cron Job&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cronless.com/"&gt;Cronless&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also, Sébastien Willemijns posted an &lt;a href="http://www.willemijns.com/cronjob.htm"&gt;overview of free cron job services&lt;/a&gt;.&lt;/p&gt;</description><link>http://feedproxy.google.com/~r/ssintrepid/~3/c_lCF5u_c1Y/222092157</link><guid isPermaLink="false">http://blog.stevensmedia.com/post/222092157</guid><pubDate>Thu, 08 Dec 2005 13:24:00 -0800</pubDate><feedburner:origLink>http://blog.stevensmedia.com/post/222092157</feedburner:origLink></item></channel></rss>
