Tag Archives: how-to

Common elements of effective screencasts

People research the darndest things. I found this useful article published in the online journal, The International Review of Research in Open and Distance Learning, about common elements and instructional strategies of screencasts.

Based on the screencasts of the three journal authors and other professional screencasts, a framework with two categories was developed:  structural elements and instructional strategies.

Structural elements describe the format of a screencast in terms of “sectioning, screen recording, and general narrative elements”. The three common structural elements the authors identified  were

  • Bumpers – formulaic intros and “outros” to the videos
  • Screen movement – there are two options here: dynamic screencast movement (the video follows the mouse movement on the screen, like a movie camera) and static screencast movement (there is no point of view movement following the mouse, just a static frame). The default production choice is for static screencast movement; the authors hypothesize that dynamic movement is most often used in advanced screencast topics.
  • Narration – the authors have identified two types: explicit and implicit narration. Explicit narration coincides with the procedure that the learner can see on the video, while implicit narration is a more general description of the procedure that can be viewed on the video. Often both types of narration are used in the same screencast, the authors note.

The authors found five instructional strategies used in their screencast samples. While none of the screencasts used all of them, no other strategies were found.

  • Provide overview – “overview of a particular topic by introducing the topic, giving a rationale for studying the topic, and connecting the lesson topic to future lessons.”
  • Describe procedure – providing procedural, or even sub-procedural knowledge of routines and tasks.
  • Present concept – “an explanation of a specific concept related to the screencast topic,” a similar strategy was to “describe options available in completing a procedure.”
  • Focus attention – “The narration and/or cursor location direct learners’ attention to a particular component on the screen or to a certain part of an overall procedure.”
  • Elaborate content – “[elaborate] beyond the topic with regard to a particular procedure, concept, or other aspect of the screencast. This instructional strategy facilitates opportunities to enrich learners’ understanding and to encourage learners to consider other aspects of the process or concept associated with the screencast’s subject-matter.”

I think you could probably argue with this framework, but it’s a good starting point if you’re new to the world of screencasts. New screencasters can draw on the framework to structure their videos and use clear instructional strategies.

In a future blog post I’ll have a screencast that will demonstrate this framework.

Grabbing attention with the thematic and visual impact of words

Wordle is a tool that can help you visually demonstrate to your students what a passage of text is about, what the author was emphasizing in their writing. The above word cloud was created based on the Gettysburg Address by Abraham Lincoln. The bigger the word, the more it’s prominance in the text you’ve asked to be analyzed. Of course, the assumption is that the more often a word is used, the more important it is to the meaning of the text. Do you think that’s a good representation of the Gettysburg Address?

A practical application for this tool in online teaching might be including these word clouds on the introduction or splash pages for your modules. If you were teaching an English course that was discussing Walt Whitman’s “Song of Myself,” then you might include the following graphic that’s based on part 1 of the poem.

song of myself word cloud

How else can we use these word clouds in online education?

Update: Here are 10 uses for Wordle for learning.

 

Troubleshooting Java problems on a Mac

Mac users, just like Windows users, have issues with Java sometimes. Here’s a screencast that explains how you can begin the troubleshooting process before calling the friendly support person.

For users of Blackboard the most common problems seem to revolve around Java, so if you first clear your cache, delete the security certificate, restart your browser, and log back into Blackboard, that might solve your issue. If it doesn’t, then your efforts will give you a head start in the troubleshooting process.

Photo by cesarastudillo and republished here under a Creative Commons license.

How I wrangled Thesis for WordPress in 5 minutes and got a static CSS layout

This brief tutorial will show you how to customize your Thesis theme, changing it from an em based layout (flexible) to a pixel based one (fixed).

If you look at 100 Web sites built with the Thesis theme and WordPress, I would estimate that 98 of them are using the em based layout (the default). That is, the layout is flexible, not pixel based and fixed. I like flexible layouts, whether they’re em or percentage based, but sometimes that’s not the most appropriate design solution for a given project.

It’s pretty easy to build a fixed width Thesis site if you know what CSS rules to change in your custom.css file. There are four steps to change your layout from flexible to fixed:

  1. Set up your column layout in Thesis > Design Options
  2. Copy the “core layout elements” from the layout.css file
  3. Paste the core layout elements into custom.css, adding “.custom” before each rule
  4. Change appropriate em based definitions to px

Those are the basic steps we’re going to take. Let’s get into the details.

Column layout in Thesis

column preferences for billweye.com

The first thing you’ll need to do is set up your layout preferences in Thesis > Design Options.

First, here’s my obligatory rant about how these preferences are labeled. As of Thesis 1.7, the labels for column widths in the preferences are defined as “pixels”. In fact, you are not entering the pixel width you want, but rather a number that’s then translated into ems using a formula. I’m not going to go on any further, except to say that I explain this problem with more detail in my tutorial, creating a flexible header in Thesis.

Back from my rant … define the column order and widths you want. At this point, the column widths aren’t too important, but you might as well give them the pixel widths you want. The number of columns and the order you want is very important. Define these preferences and save your work.

Copying the “core layout elements”

Now you need to copy the CSS rules that define the layout of your site. There are any number of ways to get these CSS rules; I’ll briefly show you one tool that I use, Web Developer add-on for Firefox. Using that tool you can easily open up all the CSS files. Look under layout.css and find the core layout elements section, then copy all the rules under that block. These are the layout rules for this site in that block (don’t copy these! yours may differ):

 

/*---:[ core layout elements ]:---*/
#container { width: 87.1em; margin: 0 auto; }
#page { padding: 1em; }
#header, #footer
       { padding-right: 1em; padding-left: 1em; }
#content_box { width: 100%; }
   .no_sidebars { background: none !important; }
#content { width: 58.1em; float: left; }
    .no_sidebars #content { width: 100%; }
    .post_box, .teasers_box, .full_width #content_box .page
           { margin: 0 2.1em 0 1em; }
    .full_width #content_box .page { width: auto; }
    .no_sidebars .post_box { margin: 0 1em; }
    .teasers_box { width: 55em; }
       .teaser { width: 26.5em; }
#archive_info, .prev_next
     { padding-right: 2.1em; padding-left: 1em; }
#sidebars { width: 27em; border: 0; float: right; }
    .sidebar { width: 100%; }
#sidebar_1 { border: 0; }
    .sidebar ul.sidebar_list
        { padding-right: 1em; padding-left: 1em; }

 

[Beware that the formating of the CSS code on this page will look different from what you'll find in the layout.css file. It's just the word wrapping that's different, otherwise the code is correct.]

Did you find your CSS code? Great, copy it and we’re onto the next step.

Paste core layout elements into custom.css

Now that you’ve copied the core layout elements, we’re going to paste those into custom.css and add “.custom” before every rule, like this:

 

/*---:[ core layout elements ]:---*/
.custom #container { width: 87.1em; margin: 0 auto; }
.custom #page { padding: 1em; }
.custom #header,.custom  #footer
       { padding-right: 1em; padding-left: 1em; }
.custom #content_box { width: 100%; }
   .custom .no_sidebars { background: none !important; }
.custom #content { width: 58.1em; float: left; }
    .custom .no_sidebars #content { width: 100%; }
    .custom .post_box, .custom .teasers_box,
    .custom .full_width #content_box .page
           { margin: 0 2.1em 0 1em; }
    .custom .full_width #content_box .page { width: auto; }
    .custom .no_sidebars .post_box { margin: 0 1em; }
    .custom .teasers_box { width: 55em; }
       .custom .teaser { width: 26.5em; }
.custom #archive_info,.custom  .prev_next
     { padding-right: 2.1em; padding-left: 1em; }
.custom #sidebars { width: 27em; border: 0; float: right; }
    .custom .sidebar { width: 100%; }
.custom #sidebar_1 { border: 0; }
    .custom .sidebar ul.sidebar_list
        { padding-right: 1em; padding-left: 1em; }

 

Pretty simple. Now we move onto the heavy lifting in creating a fixed width layout.

Making changes to em based definitions

We’ve pasted our code into custom.css, added “.custom” to all the rules, and now we need to change most of the “em” definitions to pixel definitions. A couple of notes here: 1) I’m using this site as an example, so what you’ll need to change will differ; and 2) always test your site on multiple browsers and operating systems.

Let me show you the changes I made to the above code for this site, then I’ll explain those changes to you. Here are the fixed width CSS rules for this site:

 

/*---:[ core layout elements ]:---*/
.custom #container { width: 930px; margin: 0 auto; }
.custom #page { padding: 10px 0; }
.custom #header,.custom  #footer
       { padding-right: 0; padding-left: 0; }
.custom #content_box { width: 100%; }
   .custom .no_sidebars { background: none !important; }
.custom #content { width: 550px; float: left; }
    .custom .no_sidebars #content { width: 100%; }
    .custom .post_box, .custom .teasers_box,
    .custom .full_width #content_box .page
           { margin: 0 10px 0 0; }
    .custom .full_width #content_box .page { width: auto; }
    .custom .no_sidebars .post_box { margin: 0 1em; }
    .custom .teasers_box { width: 545px; }
       .custom .teaser { width: 270px; }
.custom #archive_info,.custom  .prev_next
     { padding-right: 2.1em; padding-left: 1em; }
.custom #sidebars { width: 360px; border: 0; float: right; }
    .custom .sidebar { width: 100%; }
.custom #sidebar_1
   { border: 0; background-color:#f5f5f5;
border: 1px solid #ddd; margin-top: 2em; }
    .custom .sidebar ul.sidebar_list
        { padding-right: 10px; padding-left: 10px; }

 

First, note that I didn’t change all of the rules (the rule changes are highlighted in red). For example, I didn’t change any of .no_sidebars rules — it wasn’t necessary because at this time I don’t have any such pages, but when and if I do, I can easily make those changes in my custom.css file. Also, there are some rules that weren’t necessary to change, but they were in the same block of code so for the sake of simplicity I grabbed it all.

The trickiest change to make is the first, the #container width. That number is the product of the addition of either 2 or 3 numbers (in this example 3 numbers are added). #container is the width of your page with all the content inside, so we’ll need to add the width of your main post section and the sidebars, plus (!) any additional margins we add. In this example I added

#content (550px) + #sidebars (360px) + ul.sidebar_list (20px) = #container (930px)

The last number I added, ul.sidebar_list, is the left and right margin of the sidebar list, which pulls it away from the background and border I styled.

I’m not going to cover all the changes I made above, but let me draw your attention to a few details. On the #content_box .page I needed to take out all the margin space except for the right margin, which gives me space next to the sidebar. For the .teasers_box, that should either be the same or a little less than the #content (mine is 5 pixels less, just in case); and the .teaser should be half or less than the .teasers_box.

Otherwise, the changes should be self explanatory. If you have any questions, please leave them in the comments and I’ll try my best to answer them.

I hope you found this tutorial useful. If you have any improvements to suggest, please leave them in the comments.

Photo by ctankcycles and republished here under a Creative Commons license.

Get the most out of Google Analytics and Thesis for WordPress

There are many things you can do with Google Analytics, WordPress, and a little Thesis theme magic, but really the tips I’ll go over here don’t require Thesis. Most of what you’ll learn here can also be applied to just about any WordPress theme with a bit of customization.

Before I lay the tips on you, let me point out that there’s a useful plugin called WordPress.com Stats. Don’t let the name fool you, the plugin is for self hosted (WordPress.org) blogs. In addition, you might also want to use WordPress.com Popular Posts (you need Stats for this plugin); the Popular Posts plugin gives me that widget on the sidebar of billweye.com. I like using the Stats plugin because it provides a quick, rough idea in real-time of my blog traffic, which isn’t Google Analytics’ strong suit.

Tools you’ll need

There aren’t many things you’ll need to improve the data collection from your blog using Google Analytics. Start with these plugins:

This tutorial assumes that you have a Google Analytics account, have it set up, and have some very basic understanding of how it works. This isn’t a tutorial about how to use Analytics, it’s to show you how to capture customized blog traffic and action data with Analytics if you’re using a Thesis theme (or not).

Tip 1: Installing your Analytics code

We have to start with this one if you’re using the Thesis theme: under Thesis > Site Options > Stats Software/Scripts never add your Google Analytics code here (I don’t know anything about Mint or other stats software). Never. I know what the fine folks at DIY Themes say; still, don’t install your Analytics code using their method. If you do, then Analytics will also be tracking page views of your traffic on the site, which doesn’t make much sense. To get the most accurate site traffic data, you shouldn’t be tracking any of the administrators, editors, or authors on the site (or at least segment that traffic, which you can do with a Analytics plugin). This is one reason you’re going to install the Google Analyticator plugin, to cut out all of undesirable traffic from your stats.

Tip 2: Getting the most out of your Google Analytics plugin

Before we start customizing the theme, let’s get the most we can out of our Analytics plugin. I’m going to reference Google Analyticator, but for the most part all of the WordPress Analytics plugins have the same features.

As I said above, you do not want to track logged-in users, so make sure that feature is turned off. There are now more granular options in the plugin for logging specific user roles, such as premium subscriber or subscribers. This is a nice feature.

Enable both “event tracking” and “outbound link tracking”. When visitors click on outbound links or downloads, those are events that should be tracked.

If Google Adsense ads are on your site, you should definitely enter your account ID (make sure your Adsense and Analytics accounts are linked). This is going to give you much more information in Analytics, such as what pages are generating the most ad clicks. If you have one page that’s outperforming all the others, you can study the page for the reasons the ads are performing well and try to replicated that formula on other pages.

Tip 3: Using tracking codes for site visitor behavior

Links good for event tracking

Tracking the behavior of visitors to your site might be important. For example, wouldn’t you like to know every time someone subscribes to your RSS feed? That’s an event to be tracked. If you’re using the Thesis theme that may be tricky, depending on what you’re looking to track. In this example, I’ve developed a RSS subscribing widget that fits my needs, that includes other things like a YouTube, Flickr, and LinkedIn links (in another tutorial I’ll go over my “stay in touch” widget). I can go in there and manually edit all those links. First, the code you’ll need:

<a href="http://yourdomain.com"
onClick="pageTracker._trackEvent('category', 'action', 'optional label');">Anchor Text</a>

What you need to do now is customize the variables of the event: category, action, and optional label. For example this is how I might track people clicking on my LinkedIn profile link:

<a href="http://yourdomain.com"
onClick="pageTracker._trackEvent('intouch', 'followlink', 'linkedin');">Anchor Text</a>

Many people get confused about what variables that can or should use when tracking events. The short answer is, there is no wrong answer; it’s totally up to you and what kind of data that you want to gather. With that said, you want to be smart. In this example, my logic was pretty simple. For the category I used the name of the area where I’m tracking links; any tracking code under Stay In Touch will have the category of “intouch”. The action I was tracking was following links, thus I used “followlink” (note: I will probably use this action with other links on the page because it isn’t category dependent). Lastly, the label is “linkedin”, which is self explanatory; this label should be the one unique variable that you use.

These variables are important because they’ll help you create some great reports in Analytics. In this example, I can create reports that tell me all about the Stay In Touch area (category), or create reports about one specific action on my site (followlink), or I can combine “followlink” and the label “linkedin” (imagine I was tracking multiple “linkedin” links on my site) and see in total how many people were clicking on my LinkedIn profile link. You could go wild creating customized reports if you capture the right data.

Tip 4: Advanced data capture

Let’s continue with the same example, my “stay in touch” widget. But now I want see how effective that widget is on my home page, compared any other page on my site. I’m thinking that even though my home page gets the most traffic, for some reason the widget’s not performing as well as when it’s on a single entry page. That’s the premise for this tip.

"stay in touch" with widget logic

Given this problem, what I need to do is create two “stay in touch” widgets that are the same except for the tracking code, then serve these different widgets onto the appropriate pages (home page, then all other pages).

To begin, we need to install the Widget Logic plugin I mention above. There are similar plugins that purport to be simpler, but I don’t find them such because their user interfaces are convoluted. With the Widget Logic plugin and a little knowledge about WordPress conditional tags, you can do some clever things.

If you look at the image to the left you’ll see my “stay in touch” widget with the Widget Logic field highlighted. That’s where you enter the conditional tags (this example is simple; using PHP you can get pretty elaborate). We’re going to create two of these widgets, one that has is_front_page() (is the front page) and the other with !is_front_page() (is not the front page) in the Widget Logic field.

Next we want to make changes to our tracking code, leaving everything else untouched for our experiment. For the home page (is_front_page()) I’ll use this as the tracking code:

onClick="pageTracker._trackEvent('intouchhome', 'followlink', 'linkedin');"

and for all other pages (!is_front_page()) I’ll use this tracking:

onClick="pageTracker._trackEvent('intouchothers', 'followlink', 'linkedin');"

Notice how I changed up the category? Now in Analytics I can create reports comparing the two.

Of course, this is a simple example of what you could do using Widget Logic. If you’ve done some other cool things, please drop a note in the comments.

I’ve got many other ideas for Thesis/Analytics tutorials. What do you think would be most useful?

Give birth to 10 WordPress blogs in 30 minutes

If you need to roll out multiple WordPress blogs, this article is for you. I’m going to show you how to set up 10 blogs in 30 minutes, or I’ll eat my hat! Not only that, but we’ll set them up with a standard group of plugins, extra search engine optimization, and security hardening to prevent hacking of your blog.

Here are the 4 basic steps:

  1. prepare the WordPress and plugins upload
  2. set-up your databases
  3. configure your wp-config.php file
  4. WordPress install process

Let’s get started.

Preparing a WordPress installation archive

First, download the latest version of WordPress (WP). Here’s the clever part of this step: because of the WordPress automatic update, you’ll never have to do this again. As I write this WP is at version 2.9.2, but when the next version is released and I want to install a new blog, I’m going to upload the older version (that I’m going to customize) from my computer. After I upload version 2.9.2 I’ll upgrade by going to Tools > Upgrade.

Now that you’ve downloaded and opened the zip file to your computer, let’s customize a couple of things. You’re going to need a plain text editor like Notepad (Windows) or TextEdit (Mac) to create four files. Make sure it’s a plain text editor that can create asci text files, otherwise you might have problems.

The first text file you create is named robots.txt. This file is where you’ll include the rules for search engines that index your site; if you restrict the search engine bots from indexing extraneous files on your site, it’s better for the good content on your site. These are the rules for your robots.txt file:

 

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /category/*/*
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /*?*
Disallow: /*?

Sitemap: http://www.yoursite.com/sitemap.xml.gz

 

See that last line? That tells search engine bots where you’re site map is; we’ll get to that in a moment, but for now just change the domain to yours. Save the robots.txt file into the WP directory that you unzipped.

Next we’re going to create the .htaccess file. This file can do many things, among them it includes the rules for your permanent link structure (found under Settings > Permalinks). Add the following rules to your .htaccess file and save it into the WP directory.

 

Options All -Indexes

# protect wp-config.php
<files wp-config.php>
Order deny,allow
deny from all
</files>

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

 

wordpress directory
Highlighted files we'll be working with

First, note that depending on how the preferences are defined on your personal computer (Mac or Windows), you may or may not be able to see any file that begins with a period, as in “.htaccess”. Because of this, it’s probably best to not include the period when you save the file into your unzipped WP directory; you can add the period (don’t forget) after all the files in the WP directory are uploaded to your server using FTP (or better, SFTP). Also, after uploading  the file, removed the “.txt” so that the file’s name is “.htaccess”.

Looking back at the code I gave you for the .htaccess file, let’s review it from the top. To begin with, the first rule tells the server NOT to display the contents of any directory that doesn’t include any type of index file, such as index.php or index.html. This is for the security of WordPress and your server.

The next rule is also for security, and depending on your server may be redundant, but nevertheless won’t hurt anything. The rule allows access to your WP configuration file only from your server.

The last rule in the .htaccess file is for better tracking of statistics if you’re using something like Google Analytics. Did you know that “www.yourdomain.com” and “yourdomain.com” are two different things for search engines and site stats applications like Analytics? True. That means if you don’t force all your site visitors to one or the other domain URL, you may only be tracking some people. So, that last rule forces the server to always add “www” to your domain URL.

The last two text files you’ll create are “sitemap.xml” and “sitemap.xml.gz“. These are empty files that’ll be used by a plugin we’ll talk about soon. Don’t worry about them, though note that you might have to change their permissions using your FTP program in the future, depending on how the server is configured. The plugin will throw an error and tell you if that’s the case. No worries!

Gathering your WordPress plugins

Part of what makes the process I’m showing you so efficient is that you’re doing preparation that doesn’t have to be repeated in the future. So, gathering your plugins first and putting them into the ‘wp-content/plugins’ directory (unzip the plugins and delete the .zip files) will make your life easier. It makes sense because, at least for me, with minor exceptions, I generally always use the same plugins across many different WP Web sites.

You can develop your own set of go-to plugins (favorites), but here are the ones I recommend:

Again, this is the set of plugins I commonly use. Your set might be different. But, as with the easy updating of WordPress, the same is true with the plugins. If after uploading the WP directory you see that some of the plugins need updating, no problem: go to Tools > Upgrade and update all the plugins in one shot. Finished.

Set-up your databases

Because there are so many variations on how to set-up your database, depending on your server, I’m not going to get too deep into the details. I will note one thing: use strong passwords and unique database and user names. Make them a little weird, for security sake. Other than that, copy down the database info and let’s move on.

Configuring the wp-config.php file

This is straight forward, though let me recommend two things you should do. Under “Authentication Unique Keys” always make the effort to get your keys from https://api.wordpress.org/secret-key/1.1/ and copy them into your wp-config file. Always.

Second, under “WordPress Database Table prefix” always change the default “wp_”. This is for the security of your database. Never use the default. I always throw some random numbers in there like this: “w865p_”. It’s another small step for security, not using default or easily guessed values in your blog configuration.

Installing 10 Blogs Process

You’re ready. You’ve created a customized WordPress directory that you can upload multiple times. Look at that image above of the directory; does yours look like that? It should.

With your first database set-up and the wp-config file squared away, start uploading to your server. While that’s happening, on your other domains create your the WP databases, copying down the corresponding information. After the first upload is finished, move onto the second domain by editing the wp-config file again with the new information, then save. Upload to the second domain. And so on.

See how easy it is to roll out many WordPress blogs once you have a customized directory set up?

If you have any other tips that should be included in this tutorial, leave them in the comments. I can always learn something new.

Photo by Scott Beale (Laughing Squid) and republished here under a Creative Commons license.

How to use Craigslist and Google Reader for power searches (and getting free stuff)

Have you found discovering good deals on Craigslist more trouble than is worth the effort? If you know exactly what you’re looking for, the search works great. But returning day after day is a pain. What if you’re looking for good deals on stuff, but aren’t sure what you’ll buy?  Let me show you how I scan hundreds of ads and laser in on what interests me using one tool and a couple of keywords. Plus, I’ll show you how to find piles of free stuff (could be junk).

I use Craigslist 3 different ways, every day. I look for free things, scan everything being sold in my town, and I’m usually looking for a couple of specific things. I do all of this without going to the Craigslist site; the information just comes to me.

Keywords and free stuff

curb alert - click to enlarge

Savvy users of Craigslist with things they want out of the garage or basement put their crap (in the eyes of some) curb side with the sign “free stuff”. I’m sure you’ve seen these piles. Here’s where Craigslist comes in: you then post an ad with the keywords “curb alert” in the title. Give a basic list of things people can find, your address, and the time you left the things curb side. Believe me, no matter the backwoods road you may live on, people will come and pick through your pile.

Do you want to find these piles of free things? Go to your local Craigslist and search for “curb alert”. The ads will come flooding at you.

Want to keep an eye on what’s being sold in your city or town? Search for your town name — mine’s “Sunderland.”

Are you looking for something specific on Craigslist? Search for “dumbbells” (one of my recent searches).

I probably haven’t told you anything you didn’t know already, so let’s start cooking with gas and push all this information to you automatically.

Using RSS feeds to track searches on Craigslist

Google Reader - click to enlarge

Enlarge the above photo to the left and you’ll see that I circled the orange “RSS” link. You’ve probably seen these before on sites all over the Web; if you didn’t know, that stands for Really Simple Syndication (Wikipedia). This is the tool we’re going to use to get the custom Craigslist searches delivered to you. After doing your custom search, at the bottom of every page, you’ll find that RSS link. The data inside that link will update in real-time; whenever a new ad is posted that falls into your custom search, your RSS link will also update. Simple!

But before copying that RSS link, you need a tool that can process it and output the data into a format your eyes can read. I use the free Google Reader software, but there are many other tools. You can Google “rss reader mac” or “rss reader windows” or “rss reader web” (for Web based software like Google Reader). Find your RSS reader, set it up, copy your Craigslist RSS link, then “add subscription”.

The image to the right is of my “curb alert” RSS feed inside Google Reader. Notice the second ad? They forgot to include their address so people could pick up the free stuff. That’s a common mistake.

Are you overwhelmed? I hope not, because in the long run you’ll save a lot of time and money.

If you have any other Craigslist/RSS tips, please leave them in the comments below.

Photo (CC) by Kevin Dean and republished here under a Creative Commons license.

Step by step how to use Google Insights to brainstorm writing ideas

I’ve been working on an editorial calendar for a blog that I’ve neglected for a while now, My Weight Loss Struggle. To help brainstorm writing ideas, I took a look at Google Insights, the tool that gives insights into keywords, news stories that correlate to spikes in keyword interest, and geographically where these keyword searches are popular.

Google Insights is a tool most useful to advertisers looking for information about trending interests, but just as easily it can help you discover new writing topics or niches of topics you’re already writing about.

Here’s a step-by-step example of how I discovered some great topics for my weight loss blog.

  • First, I did a simple search for “weight loss” to see what came up. This was just some preliminary exploration.
  • I found too much information. I needed more focus. Insights can give you focus using a few different variables; the ones I chose were date (last 12 months), geography (US only), and category (health)
  • Now we’re cooking with gas! Straight away the regional interest section catches my eye. Here are the top 10 states looking for weight loss information using Google search: Alabama, Utah, West Virginia, Tennessee, Oklahoma, Idaho, Montana, Louisiana, Wyoming, and Mississippi. There’s something about that group of states that looks familiar.
  • I look up the median household income by state statistic, which gives us a rough idea of how poor or rich people are in different states. Bingo! Using 2008 numbers, here are the 10 poorest states: Mississippi, West Virginia, Arkansas, Kentucky, Alabama, Oklahoma, New Mexico, Tennessee, Montana, and Louisiana. Get this! 6 of the poorest states in the U.S. are also the ones most looking for weight loss information.

You can’t beat having information like that. In this example it was my curiosity that caused the find. Looking at that Google list regional interest states, it seemed like they were poor. My hunch paid off.

google insightsWhat you can do with this information

Write posts! This gives me some great ideas about post topics because I can now picture my audience. There seems to be a group of states down south …

  • what about weight loss tips for people that like southern food? Is that possible?
  • these are poor states, so many posts about eating healthy on a budget
  • recipes that use ingredients often found in southern food
  • what about finding a guest blogger from one of these poorer states?

I’m just getting started. Do you have any ideas to share?

Give Google Insights a try and let me know your results in the comments below.

Top Photo (CC) andymangold

Sticky Menu Hack in WordPress

I am using the WordPress plugin Sticky Menu for this site and another project I am working on. It’s a very helpful plugin, filling a need that I’ve had for some time. However, I also have the need to do some advanced css, such as wanting to give each menu item its own id; combined with a dynamic body tag, you can create some cool css effects. How to hack Sticky Menu? It’s simple; first look for this line in the plugin:

$output .= '<li><a href="'.$item['link'].'" title="'.$item['name'].'">'.$item['name'].'</a></li>'."\n";

and change it to this:

$output .= '<li id="'.$item['name'].'Menu"><a href="'.$item['link'].'" title="'.$item['name'].'">'.$item['name'].'</a></li>'."\n";

One caveat: this will most likely only work on a main navigation menu that uses one word for each link, otherwise multiple word menu items get output as multiple id tags within the double quote, like this:

<li id="Program ScheduleMenu">

I am working on a solution for this issue.