Web and WordPress Development
(678) 694-1709 // Email Us

A Constant Contact “Case Study”

Yeah I put case study in quotes. Not sure if this really qualifies as an official case study, but definitely worth a post.

Recently did a quick job with a client to update some of their mailing lists.

In a nutshell they needed some custom data added for each contact. The data was created using an algorithm provided by the client, but relied on some unique information from each subscriber.

So the process in pseudocode:

  1. Connect to Constant Contact’s API
  2. Get all of the contacts in a specific list
  3. For each contact get some of their information such as the user id, email address, etc.
  4. Build a string based on this data
  5. Update the contact’s information in Constant contact with this new data

Simple process, but a nice challenge.

Here are a few fun facts I learned:

  • Constant Contact returns its contact data in paged lists. So you can’t just ask for all of the contacts in a specific list and get one result set. You have to ask for each page. Yay recursive-ness.
  • There are limits to how many characters you can put in a field. Since the url that got built didn’t really fit logically in any of the provided fields I decided to use the custom fields CC provides. Fun fact: you can only put 50 characters in each custom field.
  • From the sending side of things, Constant Contact only allows you to enter subscriber fields into an email if the email is XHTML. And you must have valid XHTML or no dice on even getting the email out of draft stage.

All in all it was a bit frustrating, but successful. Which adds up to a fun programming day. And I got this nice little code sample I can post for you guys which includes a PHP class provided by Constant Contact, and my own custom code to use that class to do stuff to subscribers in a list.

If you’re interested in the code you can check it out here: download Constant Contact Class and case use files



Your system will fail

Two jobs ago (a lifetime it seems!) I worked with this great programmer who came from a job with the military. The Air Force to be exact. His job was to maintain a system that managed inventory for parts for aircraft. Seems like a simple system, but when he got into the depth of the inventory it blew my mind. They tracked everything down to each nut, each bolt, exactly where each part was on the aircraft, it was amazing the detail they had to keep track of.

The main reason for all this detail was the massive amount of redundancy in the construction. Basically if you’re flying into enemy territory and start taking fire you don’t want a bullet or shell to hit the wire that links the joystick to the wings. Or any wire for that matter (turns out they’re all pretty important) . So you put the wire in a place that has the lowest percentage of being hit.

But there’s still a chance (even small) it could get disabled. And when millions of dollars of aircraft and at least one human life are at stake, you want to get as close to 0% as possible. So you add in another wire that does the same job in a different place. Just in case.

But there’s still a chance right? So you add another wire in another spot.

The end of the story is, there are several redundant wires, nuts, bolts, hardware, software, everything. All in different spots. All to back up the other. All to make sure that if one fails the plane doesn’t fall out of the sky.

And why not? If one little wire is the difference between life and death, and there’s room and time and money to put it in, why not?

Luckily Twitter does not work for the military

A less dire example (and the point of this rant) is Twitter. For me the twitter service is sketchy at best. I set it up to get the tweets from the people I want to hear the most directly on my phone. The rest I monitor through the web or rss.

It rarely works 100%.

Case in point, this morning I got an email from twitter about a direct message from someone I follow. It was about some potential work. Even though I have my account set up to send his tweets to my phone I never got the message that way. I went to my feed online (and rss) but since it was a direct message I didn’t see the notification there. Luckily I’m a big fan of redundancy so I have direct messages sent to my email. Crisis averted. And luckily so because the work that came from it looks to be a good gig, and has tons of upside for a future working relationship.

The question is, does your web site or application have that redundancy? If someone is trying to contact you, do you have fail safes in case one way doesn’t work? Will it lose you money if it fails? Do you give your users the opportunity to be paranoid, sometimes justly?

If not, maybe now is a good time to check out your processes and add in that extra wire.



Latest Posts
Archives
Paper Canopy is a Web development shop specializing in Web development, database development, application development and WordPress integration. We're not designers. We're coders with a design eye. We code XHTML/CSS, Javascript, PHP, Classic ASP, MySql, MSSQL, Access, and .NET. Learn more about us >>