Advice for the Geographically Challenged Employee (AKA Working Remotely)

Ryan Irelan of Happy Cog recently posted about the challenges of working remotely as part of a team in the web development industry. I’ve got some experience with that; before moving back to Vermont I spent about a year working from an apartment in Florida, 1400 miles away from the rest of my team. A lot of what Ryan said resonates with my own experience. He touched on keeping a strict schedule for certain tasks and emphasizing certain types of communication to minimize interruptions and protect your time. He also talked about techniques he uses to avoid breakdowns in communication that can occur when you’re never face to face with anyone. He has some great tips that are probably almost as valuable if you do work with your team in an office.

I’ve got a few other tips that I’ll throw out, just for kicks:


Ryan touched on this. Use as many methods of communication as you need to make sure everyone is on the same page. Then take it a little farther. Know what everyone on the team is up to and let them know what you’re up to. Check in about non-work stuff, too (but only when it’s not going to be an interruption.) It’s tough to keep a good working relationship going via single-sentence emails.


You may be working 6 feet from your comfy bed. You may be tempted to oversleep. You may have lots of great stuff to play with at home. You may have cool games on your computer that call to you. You may have friends asking you to hang out (you don’t really work, anyway. Right?) Ignore it all. Don’t fall into these traps. Don’t tell yourself “I can sleep in 10 extra minutes and no one will know.” It’s a slippery slope. You’re a professional and you should act exactly as you would in an office with other professionals. Arrange schedules to keep yourself on task. Always be available at the same time every day. Communicate often. Stay focused. Discipline is absolutely the key to working successfully when separated from your team by geography.

For me, keeping rigid discipline in my workday was the way to make sure I didn’t inadvertently abuse my employer’s trust or let down my team members. And it paid off. I was the most productive I had ever been.


Seriously. I don’t remember where I read this tip originally, but it always helped me. Something about wearing shoes always made it feel like I was out of the house and into the office, even though I was working from my bedroom desk. If you’re struggling for focus, slap on a pair of shoes and tie them, tightly. This is not a joke.

Create a Static Splash Page in WordPress

I know, splash pages are wrong, evil, and will probably bring about the downfall of society. But what if you need one anyway? Say, for example, you are preparing to launch a site based on wordpress but while you’re still putting it all together you don’t want visitors poking around. How can you create a static splash page to tell people that your site is coming soon (whatever that means?)

I found myself in just that situation recently. I looked around for a plugin to let me replace my index with a simple html document for a little while. I may write one yet, but for now a beautifully simple solution is doing the trick. Here’s what to do:

  • Create a blank file in your theme directory and call it something like splash.php.
  • Make it a page template by pasting in the following:
    Template Name: Splash Page
  • Write your static HTML. If you need to link to images or stylesheets, I suggest putting them in a subdirectory of your theme called something like splash. You can then reference them in your HTML using a bit of code like <img src="<?php bloginfo('template_directory'); ?>/splash/image.jpg" alt="" />. Notice the php which finds your theme directory for you so your theme remains portable.
  • Create a blank page and set it to use the custom page template you’ve created. You’ll find it under the Page Attributes menu. As of WordPress 3.1 it’s on the right side of the admin and looks like this image.
  • Under Settings > Reading set the front page to use a static page and select the new page you’ve created. The index of your website will now be your page template with no dynamic content and no other theme files included. Easy-peasy.

Because you never called get_header(), get_sidebar(), or get_footer() you can now have a totally static splash page while you’re tweaking a theme, editing content, and doing your WordPress business in secret behind the scenes. If you still want to pull in some content from WordPress (like the title and page content) you can even grab the loop from your existing page.php and use it in your splash page.

Simple 301 Redirects Version 1.02 (and 1.03) Released

I’ve released a bug fix version of Simple 301 Redirects for WordPress. Version 1.02 fixes a couple of bugs and 1.03 adds PHP4 support, which I carelessly neglected in 1.02. It seems that a lot of people still use PHP4 even though it’s been officially dead (i.e. unsupported and with no security updates) for over 2 years. You can get the latest version of the plugin by updating from your admin system or by visiting the WordPress plugin directory.

TeuxDeux iPhone App Released

TeuxDeux, my favorite simple to use and difficult to spell todo list application, has quietly launched an iPhone app. They’re apparently waiting to announce it later this week, but Tina Roth Eisenberg (the designer behind TeuxDeux) recently talked about it on The Pipeline with Dan Benjamin. The app costs $2.99 and supports all of the features of the free browser-based version plus support for multiple accounts, and it’s always in sync with your accounts on the website. You can buy the TeuxDeux app here (iTunes link.)

Stop Friends From Checking You In With Facebook Places

Facebook Places adds geolocation to Facebook, allowing you to share where you are, what you’re doing, and who you’re with. It differentiates itself from Foursquare or Gowalla, with an interesting additional feature: it allows you to check your friends in with you. This is a cool feature but it is certainly open to abuse; your friends could check you in somewhere embarrassing as a practical joke. Depending on who’s watching, you may find it causing problems for you.

Here’s how to prevent other people from checking you in on Facebook Places:

  1. Click on Privacy Settings
  2. Click Customize Settings
  3. Under Things Others Share, disable Friends can check me in to Places

That’s it. I’d like to see the ability to select certain people or friend lists which are allowed to check you in (or filter out people and lists which are not) but for now it’s an all-or-nothing setting. I’ll update this post if the options around this feature become more robust in the future.

Prefetch Content With HTML5

Cameron Moll recently pointed out that HTML5 allows you to use link elements to preload content–either pages or page assets like images. Cameron rightly points out that Firefox is, for the moment, the only browser that supports this feature, but I imagine it’s only a matter of time before some enterprising individual puts together some JavaScript to extend the functionality to other browsers. Image preload scripts, after all, have been around forever.

You can read more about HTML5 pre-fetching here.

Programming Cheat Sheets At is a web gallery of cheat sheets related to programming. It’s got rating features bolted on which, with any luck, will help you find the best cheat sheet when there are several available for a given language or technology.

I haven’t owned a printer in something like 8 years, and that makes getting the most of QuicklyCode difficult for me. I may start making routine trips to FedEx Kinkos though, because I do love a good printed sheet of quick documentation.

Load A Page Into A WordPress Theme Outside Of The Loop

I build a fair number of WordPress sites on small budgets for my employer, Union Street Media. Sometimes I need to give our clients an editable region in the sidebar, away from the main blog/page content. Here’s a quick and dirty trick I use to pull a page into a theme outside of the loop:

// must use a variable for page id
$id = 3;
$p = get_page($id);
echo apply_filters('the_content', $p->post_content);

You can get your page ID by editing the page. It will show up in the url (the ‘post=x’ portion.) It’s important to note that you have to pass a variable to the get_page() function. If you just pass an integer it will throw a fatal error. No need to go into why that is; just keep it in mind. get_page() essentially wraps get_post() so that function’s documentation is a good place to start if you want to learn what’s available to you.

This isn’t a particularly pretty solution, but it’s quick and it works well provided you know your page IDs and you’re not making a theme for distribution. I like to name my page something like ‘**Sidebar Content’ so it is easy to differentiate from regular pages.

WordPress 301 Redirect Plugin Released

I’m very pleased to announce that I’ve released my first WordPress plugin. It’s called Simple 301 Redirects and it does just what it says on the tin. It provides an interface for redirecting URL requests. It’s handy for when you’ve migrated a site to WordPress and are unable to maintain the URL structure. With Simple 301 Redirects you can redirect your old urls like “/about.html” to new, clean URLs like “” or whatever you like. Redirecting your old links to new destinations is important for preserving inbound links and pagerank after migrating a site. And this plugin does it in the easiest possible way I could think of.

You can read a little bit more about the plugin at its official home on this site or go straight to the WordPress plugin directory to download it. I hope you find it helpful!

Simple 301 Redirects Plugin Screenshot

Browser Use in 2009

Douglas Bowman at StopDesign recently shared how his site visitors break down in terms of browser use. As a hero of the web standards movement (sort of like our Hercules or Michael Jordan,) Douglas admits that his stats are skewed toward tech-savvy folks. I decided it would be interesting to look into stats from a more general audience. I develop a lot of real estate websites at work, so that seemed like a natural place to look. I surveyed several of our more heavily-trafficked sites and I’ve made the following observations (which I have also posted at Douglas’ site:)

  • Internet Explorer users account for between 65% and 85% of all visits
  • Firefox and Safari account for almost all the rest of the traffic, and Firefox tends to have 2-3 times the share of Safari.
  • 70% of IE users are browsing these sites with IE7. There was very little variation here, even though the percentage of IE users in general varied by 20% across sites.

(Observations are based on the last month of data, across a sampling of sites based around the United States. Visitors were primarily from the US.)

It’s unfortunate to see how dominant Internet Explorer is sector, but progress is evident. It’s a relief to see that IE7–a fairly capable browser in its own right–has seen increased adoption recently.