Articles & Tools

You're reading my blog on the art, business and culture of web site design. After you enjoy the latest articles, check out my portfolio and get in touch to learn how I can make your next web project your best yet.

Easy invoicing (and time tracking) with Harvest

When you're one person running a bustling business, efficiency and organization are the name of the game. That's why Harvest, a fantastic tool for estimates, invoices and tracking time, is the hub and home page of my web design firm. Harvest is a software-as-a-service tool that allows me to create professional estimates and invoices -- and track my time on projects I've signed.

Price: $12/month and up
Competitors: BlinkSale for invoicing, Basecamp for time tracking
Verdict: A fast, professional, fantastic combo of three crucial business tools

Invoices and Estimates

It wasn't long ago that I had to crack open InDesign every time I wanted to generate a PDF estimate or invoice -- it was tedious and added a ton of time to my administrative overhead, which meant it took longer for me to sign a project and I had less time in my day for billable work. Like EchoSign for contracts, Harvest takes all the pain out of estimates and invoices, and allows me to present myself professionally in the time it takes to fill out a quick form.

Once you create your invoice (customized with your logo on a slick template), it's one more click to shoot it off to your client as a PDF wrapped in a professional and personalized e-mail. You can also hook your invoices directly to your PayPal account, allowing for easy online payment and further reducing the time you need to spend on getting paid.

Time Tracking

If you're into tracking your time -- which is a great way to make sure your projects stay on budget and your business stays efficient -- there's no better way than with Harvest's desktop widget. Available for both Mac and PC, the widget allows you to quickly log time for all your projects without booting up your browser or any additional software. Check in to the Harvest site for time reports and budget-to-reality comparisons to make sure you're hitting your target hourly rates for each project.

Harvest does an excellent job of integrating these three tools, giving me a single command center from which to track the financial status of my business. It also hooks into Basecamp, Highrise and (for higher-level accounts) QuickBooks, and the Solo account will set you back just $12 a month. It can get a bit expensive if you need a lot of active users, but it's a great addition to any small business.

  • Harvest -- Convenient time tracking, professional estimates and invoices

Chat it up with FreeConference

If you've spent any time in the worlds of productivity and entrepreneurship, you know that uncontrolled meetings are to be avoided like the plague. But when you do need to get a few people on the phone, FreeConference is a fantastic tool for professional, easy and (of course) free conference calling. One of my favorite features: your number and access code never change (or at least mine haven't in years), so you can just add them to your address book for easy access.

  • FreeConference -- And remember, keep those meetings small, short and rare!

Avoiding spam, or inconveniencing your customers?

Web marketing guru Seth Godin has a great article about companies that gratuitously hide their e-mail addresses from customers, forcing us to battle with CAPTCHAs or decode silly "rob [at] webdesigndream [dot] com" strings to get in touch. If you're selling a product or service (especially web design), shouldn't your web site be convenient and easy to use? And what's worse: a little extra spam, or innumerable lost customers?

Drupal disillusionment goes mainstream

My policy on Drupal? If you don't have anything nice to say, politely recommend ExpressionEngine. That said, we'll always have to address Drupal for any client considering their CMS options, and Slate gives us a great list of the system's core problems, through the lens of the Obama administration choosing it for whitehouse.gov. Drupal, says the article, is the anti-Obama: righteous, rigid, disorganized, and the opposite of the open, easy-to-use web.

Sometimes, you're stuck with Drupal. When you have the opportunity to influence your client's decision, this article provides some great Drupal dissent from a trusted source.

Random passwords on your dashboard

In my never-ending quest to streamline my everyday tasks, I've got a brand new item on my Mac OS dashboard -- the Give Me a Password random password generator. I generate random passwords for any new accounts I set up on my development server, and in the past I used sites like this one to generate a random string. That worked, but the dashboard widget saves me the steps of pulling up the site and submitting a form -- and it even copies the new PW directly to my clipboard. A click saved is a penny earned -- so I'm adding this one to my productivity toolkit.

Get some free advertising with Haystack

The ever-prolific 37Signals just launched their new service, Haystack, a web-designer listing to help connect clients to designers and developers like us. It's a great site, as we'd expect from the creators of Basecamp, the authors of Getting Real, and the purveyors of pretty much everything innovative in the Web 2.0 world.

Adding my listing was quick and easy, and my portfolio photo was approved (presumably by a human who's sitting there on a Sunday afternoon) in seconds. I'd expect this to be great for SEO and perhaps send a few clients my way eventually -- but it'll certainly be a challenge to get it popular among clients and keep it from being flooded with chop shops like the freelancing marketplaces.

With the 37Signals name behind it, Haystack is poised to do great things. I am sure there are lots of ideas cooking up already to add more to the service -- for now, I'd be excited to hear about any results or new clients that it brings your way.

Keeping an empty inbox

I'm a huge fan of simplicity, freedom and getting things done -- my productivity plummets when I feel disorganized or have too much on my plate to decide what to do next. So I've embraced the empty inbox, turning Gmail into my ultimate to-do list and making my days more focused and productive.

The concept: everything in my inbox is an item that requires my immediate action. A question from a client, a bill that needs to get paid, and so on. As soon as I respond to it, it goes into my Gmail archive. As I take care of each item, my inbox dwindles, and before I know it Gmail is a thing of beauty: "No new mail!" It's simple, refreshing, and encourages me to address everything on my list -- if something's cluttering my inbox on a Friday, I might as well get rid of it so I can be a free man for the weekend.

Want to give it a try? Here's how to dive in:

  1. Archive everything. I know this seems like jumping off a cliff to some of us -- I had hundreds of e-mails in my inbox when I took the leap. Just close your eyes, select all and click "Archive." It's all still there for you, just a search term away.
  2. Attack your spam. When I got started, I was on more meaningless opt-in lists than I'd care to remember. Every time mail from an opt-in list hits your inbox, turn that into an action item too: unsubscribe! And if you find a couple lists that actually add value to your life, they'll be all the more unique when they come in.
  3. Hit the labs. Switch on the Send & Archive button in Gmail Labs. It adds a new button that sends your response and immediately archives the conversation -- essentially a "mark as complete" button for your inbox to-do list.

For more on empty inboxing, check out these posts:

Draggable, sortable reordering with ExpressionEngine

One of my favorite tools for content management is drag-and-drop sorting with AJAX -- it's a seamless and intuitive way to allow clients to reorder items on their site, whether they're photos in a gallery, pages within a category or items in a list. When I used to roll my own CMS's, I used Script.aculo.us and jQuery to get the job done. When I dove into ExpressionEngine, it was a feature I immediately missed.

Lucky for me, like everything on my EE wishlist, there's an extension (or, in this case, a module) that makes it happen. The REEOrder module attaches itself to a custom field in your weblog (for example, "entry_rank") and populates it with an integer, which you can then use to order your entries when you display them in a template. On the control panel side, it allows your client to click and drag all the entries in a weblog up and down, ordering them however they'd like from a single screen. Perfect.

» Get the REEOrder module for ExpressionEngine