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



Maker’s and Managers

I found this article by Paul Graham about maker’s schedule vs. Manager’s schedule.

Most powerful people are on the manager’s schedule. It’s the schedule of command. But there’s another way of using time that’s common among people who make things, like programmers and writers. They generally prefer to use time in units of half a day at least. You can’t write or program well in units of an hour. That’s barely enough time to get started.

It’s a good read, and I found a lot of good points especially from the maker’s side of things.

Mostly he talks from the angle of meetings, but for me this goes for any type of interruption. Conference calls, emails, IMs, tweets, text messages, letter, anything.

Anyway, it’s a good reference, especially if you’ve called me and I’ve seemed a bit distracted on the phone ;)



What’s the good word?

About two years ago my wife and I bought a house here in Atlanta. Since we weren’t super familiar with the area and how much things cost we enlisted the help of a realtor. No big deal right, just your standard realtor/buyer relationship.

I don’t know how we found her, but she was great. I mean she really earned her commission, answering our noob questions, finding great houses based on our wants/needs (and not based on her commission or what she wanted to sell). And there was a happy ending with us finding the house that fit us and our budget.

So of course when a friend started their house hunt we recommended her. She did a great job for us, and we knew she would do a great job for them as well. Which turned out to be true.

A few weeks back our realtor asked to take us out to dinner to thank us for the referral. Apparently that one referral had turned into 3 more listings and sales (one of which she was both the buyer and seller agent!) and led to a contact which got her out from under a terrible boss and under someone she really respected as a mentor!

Basically the one referral had taken her business to a whole new level.

And at dinner she kept saying thank you thank you thank you. And I kept saying that she was the one who did all the work. But without our referral she wouldn’t have gotten those leads. But without her hard work we wouldn’t have referred her.

It was round and round the whole dinner!

I don’t know if she ever got what I was saying but I made the realization later that just because you do great work doesn’t mean you will get a referral. And sometimes people who don’t really do great work get referrals. But when that combination of great work and a good referral happens it can be great.

Are you doing both great work that deserve great referrals and referring great work?



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.



Theme Options

The latest project launch has been another quality WP site with a cool new feature I learned just for the occasion.

Theme Options

Yeah it’s been around for a bit, and it’s probably just a baby step to writing full blown plugins, but I’m excited.

Mainly it gives me a way to extend a theme outside of the page/post level of things and get specific functionality available in the admin. My first foray on my latest project (from the killer design by Winters Interactive) is on the new incarnation of the  Ask a Bachelor site. In the header is a teaser for a question and answer article. Since this teaser didn’t necessarily coincide with a new blog post it needed to be somewhat removed from the post interface in the admin.

Enter theme options.

Theme options gave me a way to set up a new form that housed the data to be displayed in the header. It removed it from the post itself so gave the admin a little more control over what was displayed and how it was linked. Basically a form that had the three fields of the title, question, and link. All managed through the admin panel in WP. Pretty cool!

I found the handy how-to at NomeTech.com and can’t wait to work it in on more projects and expand the functionality a little bit as well.



Latest Posts

Launchfest

It seems like February has been the month for launches. And it’s been keeping us busy.

Not just launches with new sites, or the final touches on the standard web development projects, but launches for a lot of our partner’s personal projects. [More]

Using jQuery to make your designs more interactive

Most of my work entails taking flat Photoshop files and turning them into functioning interactive web sites. One of the bigger issues is I usually don’t know what the page is supposed to actually do. Falling back on a few years experience helps, and some stuff is pretty obvious (click here, go there), but most of the time I’d much rather be lazy and have someone just tell me what it needs to do. [More]

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 >>