Use SharePoint Callouts to Create an In-page Tour

Callout Tour Featured Image

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, […]

Bookmarklet to Remove Zero-width Spaces (​) from SharePoint Pages


When editing pages in SharePoint, the rich text editor inserts zero-width spaces to assist with text selection. Unfortunately it does not always remove these when a page is saved. These characters appear as ​ in Chrome’s dev tools, for example. These “leftovers” can cause spacing issues for content authors, so we created a bookmarklet to […]

“Cannot Read Property ‘STS’ of Undefined” When Using SP.UI.ModalDialog in SharePoint 2013

STS undefined

I’m using SharePoint’s built-in modal dialog for a single page application I’ve been developing. When I refresh the page to test changes I’ll randomly get an error saying that “Cannot read property ‘STS’ of undefined.” I’m using the Script-on-demand functions that should make things work: SP.SOD.executeFunc(‘sp.ui.dialog.js’, ‘SP.UI.ModalDialog’, myFunction); Looking at the stack trace, I can […]

Rotate Videos that were Recorded Sideways

Screenshot of HandBrake video tab.

Ever since smartphones started adding video recording capabilities, I’ve seen a lot more videos recorded in “portrait” mode. This happens when you record a video while holding your phone upright instead of sideways. Depending on the phone, the video recording app you used, and how you are playing it back, the video may end up […]

Useful CSS Classes in SharePoint 2013

Screenshot of the corev15.css file from SharePoint 2013

SharePoint 2013’s corev15.css file comes with a bunch of useful CSS classes. It doesn’t compare to something like Zurb Foundation or Bootstrap, but there’s enough in there to allow you to write less CSS for your custom apps. It’s also a great way to ensure that your app blends in with the SharePoint UI for a more consistent […]

Upgrading a 2009 13″ MacBook Pro with SSD and RAM

The SSD sure looks pretty next to that old hard drive.

My fiancé has a 13″ MacBook Pro from 2009. While it probably worked great when it was new, five years later it had become painfully slow (#firstworldproblems) with its 2GB of RAM and 160GB HDD. A few searches online uncovered others who had similar setups and successfully upgraded them to modern performance standards with an […]

Retooling for a Mobile-first Apollo Education Group 2013 CSR Report

Screenshot of home page.

My employer, Apollo Education Group, published our 2013 Corporate Social Responsibility Annual Report in February of this year. The project, like our 2012 report, was a fantastic team effort and fun project for me personally. From a web development perspective, my team added a lot of tools and techniques to our repertoire during this project, […]