Blog

Rework

11/16/2011
Books

Last night I picked up a copy of REWORK written by Jason and David, the founders of 37signals. I tore through the first 100 pages in 20-30 minutes. I can already tell this is a great book and I strongly recommend it. I wouldn't say that REWORK is a wealth of information you don't, but need to know. Instead the book is one of those reads that articulate common sense ideas so well that it becomes exciting.

The REWORK book has been out for over a year, but I just caught wind of it from a CEO's reply on Sprouter.com. The catchy text on the back cover caught my eye. But the warning from Seth Godin on the cover to "ignore this book at your own peril" sold me.

Anyway just wanted to give props to the guys at 37signals for building great tools, writing a great book, and continuing to be a source of useful inspiration to those who consider themselves starters! 


 

Lazy Karl v1 - The ultimate cross-browser lazy load plugin for images with jQuery

Demo & Download LazyKarl v1

The lazyKarl jQuery plugin loads a webpage's images once they are within the user's viewport.This is a working cross-browser lazy load jQuery plugin. Other lazy load plugins have been less than effective because some major browsers load all of the images on a page when the DOM loads. jQuery plugins are usually not effective until the Dom is finished loading and only after all the images on the page have already loaded.

The Lazy Karl plugin works around this issue with a less than perfect approach, but none the less a functional one. By leaving the src attribute empty or out of the img tag completely, and placing the path to your image inside the rel attribute, images will never load until they are within the user's viewport at DOM ready and on scroll event. A perfect solution would utilize server side scripts like php, but lazyKarl works great for images.

Usage

Place the following code into the head of your document





The following code is an example of how to write the html. Just wrap the list of images you wish to load lazily with the element that you declared lazykarl on in the head.

        


Make sure that you place path from standard src tag value in the rel tag. This is important to how LazyKarl v1 works correctly across multiple browsers. You do not have add the src attribute to the image tag at all.

Demo & Download LazyKarl v1

6,500 Bottle Rocket Array

09/09/2011
Good Times

Just a little something I threw together for the 4th of July. Go America!

 

Constant Contact API

05/05/2011
APIs
0 Comments

3rd Party email marketing services like Constant Contact, Mail Chimp, iContact, Benchmark Email, Campaigner, just to name a few are the the increasingly popular solution for managing website newsletters and email campaigns. However I was unsatisfied with the pre-generated contact forms provided by these companies. You know the forms where you enter your email and are then redirected to the 3rd party's site to confirm your email address before being added to the list. Anyway I  wanted to write an article talking up the benefits of using an API (if available), rather than the standard pre-generated forms. This article will deal with Constant Contact's API.

The Standard Constant Contact Form


When customers submit the standard constant contact form the following paramaters are passed to constant contact:

  • ea = Email Field
  • m = CC Account Number

When this form is submitted the customer is taken to away from the website to another form within a popup window. Additional information can be collected by adding fields to the form through constant contact. However there is no way of passing the information from the form on your website to the form on constant contact when the user submits there information.. So the solution to more customized constant contact forms is to use their API. You can get to the sample forms and code from the constant contact developer website or download them straight from sourceforge at this link http://sourceforge.net/projects/ctctsampleforms/.

The sample code includes a class to work with the API in a file called cc_class.php. The file contains the class CC_Utility() with 3 extensions to the class CC_List(), CC_Contact(), CC_Campaign(). This is where you put your cc account information:

var $login = 'cc-account-username'; //Username for your account
var $password = 'cc-account-password'; //Password for your account
var $apikey = 'your-api-key'; // API Key for your account.

Once you have your cc account information in the right place the class and API are very easy to work with, and provide the ability for you to setup a completely custom signup form on your website that interacts directly with your constant contact account. You can specify which email lists you want people to sign up for, allow customers to edit/update their contact information, and more. Best of all the customer will never leave your website, maintaining a professional appearance, and a more user-friendly process for your customers.