Use SharePoint Callouts to Create an In-page Tour

SharePoint 2013’s Callouts are used frequently throughout its UI to display contextual information. They also happen to be a great tool for creating in-page tours to guide users through learning about key features on a page. The first time I encountered one of these “tours” was after a Facebook redesign several years ago. Of course, […]

Book Release: Black Magic Solutions for White Hat SharePoint

Book cover for Black Magic Solutions for White Hat SharePoint

I contributed a chapter to the book Black Magic Solutions for White Hat SharePoint which is now available on Amazon. The book was organized by Mark Miller and includes chapters from several SharePoint community members. Mark’s goal was to break away from the traditional publishing model and self-publish an ebook in just a few months. You […]

Introducing SPTools: A GUI for Performing Batch Tasks on SharePoint Lists

About a year ago I started writing JavaScript functions to perform batch tasks on SharePoint lists using SPServices. I did this because SharePoint didn’t offer the functionality I needed out of the box, and I’m limited to SharePoint Designer for all development at my workplace. After writing several of these functions for one-off projects (mostly site maintenance and cleanup tasks dealing with hundreds of items at a time), I realized that there might be a benefit to creating an easy-to-use toolset for the most common tasks I was performing. (more…)

Create a Crossword Puzzle in SharePoint with jQuery and SPServices

As part of a website redesign communication campaign, I was tasked with developing a web-based crossword puzzle for our intranet site (MOSS 2007). After some brainstorming I came up with a solution that seems to be effective and relatively easy to set up using a custom list to store the answers, some jQuery to enhance the interactivity of the crossword, and SPServices to submit the answers to the list. Check out a demo page of the crossword (it won’t actually submit because it’s just a standalone HTML page and it isn’t on a SharePoint server). (more…)

A CSS Naked Day WordPress Plugin

CSS Naked Day is tomorrow, April 9th. Being an advocate of web standards, I think this is a very cool (albeit not well-known) event. You can read more about it at I wanted to participate this year, but the only WordPress plugin for CSS Naked Day I could find was several years out-of-date (and therefore […]

SimpleMaxChars Plugin for jQuery

My SimpleMaxChars jQuery plugin adds a message displaying the number of characters remaining in an <input> or <textarea>. I needed a fairly basic solution quickly and most of the existing plugins that offer similar functionality were too big, too small, buggy, or didn’t meet my specific needs. If this looks like it will work for you, feel free to use it! (more…)

Deleting Documents with SPServices

A while back I was writing a function using SPServices that would delete a document from a SharePoint library when a user clicked a button. I set up the SPServices function the same way I’d done for other lists, but it wasn’t working. Turns out for documents (as opposed to list items) you must include the FileRef field when selecting what to delete. It took me a while to figure this out because the ID is the only field needed to delete list items.

Here’s an example function that will delete a file from a SharePoint library using jQuery 1.7.1 and SPServices 0.7.1a. You’ll need to call the function by passing in the ID, the FileRef, and the name of the library. Notice the batchCmd variable includes both the ID and FileRef fields:


My 2011 Year in Review

This is my first “year in review” style blog post. I feel that this year was particularly eventful for me in terms of my web designer/developer career and my personal life, and I thought it’d be a good idea to reflect on those events and capture it here for myself and any interested readers. (more…)

Let it snow! Try my jSnow Plugin for WordPress

Update 2016-12-17: I release a new version of this plugin on the official WordPress plugin repository. Head over there or search for “flurry” in your WordPress site’s “Plugins > Add New” admin page.

Update 2013-12-09: jSnow is not compatible with recent versions of jQuery. Download my latest falling snow WordPress plugin at All other information below remains accurate.

Update (12/12/2011): I made a couple of small tweaks to optimize the file size after noticing an issue with the WordPress 3.3 update today. If you downloaded version 0.1 of this plugin, I recommend grabbing version 0.2. The link to the plugin above has been updated to point to the new version.

I love using JavaScript to add simple holiday effects to a website. I’ve tried several different “falling snow” WordPress plugins for my blog, but none of them quite fit my personal tastes. Instead I started looking for a good JavaScript or jQuery plugin that I could wrap up myself as a WordPress Plugin. Eventually I came across an updated/modified version of the jSnow plugin for jQuery.

I liked the simplicity of the plugin and the fact that it performs rather well on all of the browsers I tested (as with most of these animated JavaScripts, performance is highly dependent on the browser and computer itself). I also liked the fade out effect and the fact that I could set it to have a short height, essentially keeping the “falling snow” effect within my website header. (more…)