Email for Developers: A Survival Guide

Making Email for Developers Easier

Back when I was a fresh-faced young web developer (just how much younger, I’ll leave to your imagination, though the fact that I was working with a Perl CGI script on a Netscape web server might give you some idea…), I was given the task of writing a script that would accept an email address from a web form and auto-reply an email with some bit of information (a thank-you note, if I recall correctly).

For obvious reasons, my script needed to parse the submitted data to make sure the user had entered a valid email address. Easy, I thought; the regular expression was going to be really straight-forward. I think I came up with something like “ \w+@[\w\.]+ ” After I had built out enough code to get a working demo, I showed the senior programmer on our team my work. He just shook his head, and promptly schooled me on how sloppy my assumptions were and showed me why my regex was many orders of magnitude insufficient. If you’ve ever tried to grep email addresses, you know how hard it is to write a regular expression that covers all of the bizarre edge cases.

Fast forward to today, and you can understand why I lol-ed reading the title of a blog post written by a developer a few years ago: “I Knew How to Validate an Email Address Until I Read the RFC.” The more things change…

The task of grepping a valid email address neatly captures the exasperation that nearly every developer who works with email has felt at some point. There’s really no getting around it: email can be a pretty strange beast with conventions, dependencies, and quirks unlike anything else, and many of us have a love/hate relationship with making it work. We love email because it’s ubiquitous, open, flexible, and effective; we hate—or perhaps have learned to treat it with a wary respect—because getting an email from point A to inbox B has so many variables outside our control. In short, it’s easy to feel like “I Knew How Email Worked Until I Started to Build an App that Sends Email.”

Fortunately, services like SparkPost let developers offload the operational considerations of building and hosting email infrastructure. We deal with the challenges of sending email at scale, the arcana of sender authentication, and the weeds of email deliverability so you don’t have to.

But even so, if you’re building email into your app or business process, email presents a number of messy details and idiosyncrasies that turn out to be gotchas for many developers. So, to save you a little bit of grief as you dig into the quirks of email, check out “The Developer’s Survival Guide to Email.” It’s an easy read that highlights 10 things builders new to email might not realize about implementing and sending email (and gives some great tips for solving them) – email for developers!

Let me know what you think. What are some of the things that surprised you about email as you began working with it? I’d love to hear about the challenges (and solutions!) you found.

—Brent
@brentsleeper

productivity tips graphic hands multi-tasking

Can’t Get Out of Your Slump? Check Out These Productivity Tips.

We all have those days… the ones where every distraction is far more enticing than what we’re supposed to be accomplishing for work. Sometimes we’re able to pull ourselves back with sheer determination and willpower. Other times, let’s face it, we’re driven solely by guilt and a sense of responsibility.

So how do we keep the productivity train rolling and the hazardous distractions from popping up? I turned to our community to find out what their best productivity tips and tricks are for keeping on track throughout the day.

Understand the Scope of the Project

One of the biggest enemies of productivity is ambiguous direction. Nothing is worse than finishing a large project, only to find out that your idea of “complete” wasn’t remotely the same as the person who requested it.

“If someone says ‘I want an artificial intelligence based recommendation system,’ that could be something I could do in 10 minutes or spend my entire life on. The entire “task” becomes unapproachable,” says David Antaramian.

“Whittling it down to ‘I want an artificial intelligence system that always recommends at least 5 users for me to follow and is updated every minute,’ that task is much more approachable because I have boundaries to the task and a definition of when I will be ‘finished’ with the task.”

Many companies use the SMART method to help define goals. This method helps you think through projects to make sure they are Specific, Measurable, Achievable, Relevant, and Time-based. This ensures that the project is both well-defined and aligned with company goals.


Work in Small Increments

Understanding the scope of a project allows you to break it into smaller, more manageable increments. This takes away some of the “Where do I start?” predicament that can so often paralyze and stall even the best minds. Getting Things Done author David Allen says, “You don’t actually do a project; you can only do action steps related to it. When enough of the right action steps have been taken, some situation will have been created that matches your initial picture of the outcome closely enough that you can call it complete.”

This also allows you to make your work visible to those around you. Darren Cauthon refers to this as producing output: “Tickets, screenshots, messages, unit tests, branches, pull requests.  There should be outwardly visible output on everything I do.” This gives you the satisfaction of crossing things off the list and also keeps you accountable to your team for what your progress is on a particular project.

Steve Lackey suggests making a game out of small goals, seeing how many things you can accomplish in 10-30 minutes perhaps, or how many Pomodoros you can check off in one day. “The first step is to break the projects down into a list of smaller tasks,” he says. “For a larger project I tend to use either a spreadsheet, tiddlywiki, or even markdown documents in a common directory to manage notes and lists.”

This helps keep the project manageable and also gives you a clear path to follow. For Antaramian, simply seeing results feeds into that feeling of productiveness, which furthers the productivity. “You could think of it as working with yardstones instead of milestones,” he says. “Break it down into smaller increments that show value.”


List One Key Goal for Each Day

Breaking your projects into small tasks also allows you to define a clear goal for each day. Barthelemy Dagenais says, “I need to have at least one clear output done by the end of the day.” This might only be one portion of your overall project, but having that one clear output that you can hold up as the day’s accomplishment can sometimes be just what you need to have the motivation to start the next task.


Take Short Breaks

Now that you’ve broken your projects into smaller tasks and started to whittle down that list, make sure you’re taking breaks to rest your brain in addition to your eyes! The Ontario Ministry of Labour actually requires it at some jobs and emphasizes that “short, frequent breaks are much more effective in preventing excessive fatigue… than longer, less frequent breaks.”

Jenn Lebowitz agrees that “brain breaks” are good for productivity after long periods of intense focus. Whether you head to Dunkin’ Donuts (Jenn’s favorite), to the beach (my favorite), or simply step away from your computer to stretch your neck out, it’s bound to make a difference in your focus when you sit back down to tackle the next task.

Need yet another push toward remembering to schedule breaks throughout your day? Ciphr lists 6 great reasons why breaks are useful, covering everything from increased productivity to improved relationships with your colleagues!

Hint: If you’re looking for apps to help you remember to take breaks and de-stress, Techlicious has a great round-up post


Optimize for Time of Day

Lastly, figure out your “brain schedule”. I set aside an hour or two early in the afternoon (aka after my coffee kicks in) to write blog posts and tackle strategic tasks that require my full attention. My mornings are reserved for smaller, more manageable tasks and teamwork, including reviewing changes, brainstorming new ideas, and responding to community members.

Dagenais’s schedule takes a slightly different slant: “I work on different tasks depending on the time of the day. Early morning and morning are for creative/software design tasks. I never work on software design in late afternoon or evening because I’ll probably have to fix it the next morning, so it’s not really productive. Writing tests and lots of code once I have a clear direction is best done during the afternoon. Meetings that require creativity or critical input from me are best done in the morning too.”

Optimizing for particular times of day and the way that your brain works keeps you from banging your head against the wall to solve a particular problem that you might be able to cross off your list in no time, if you were only in the right frame of mind.

What Are Your Productivity Tips?

What are your tricks for staying productive? Leave a comment below or shoot us a tweet to let us know where you stand on Pomodoros, goal-setting, and best times for brainstorming.

— Mary

Dev Survival Guide Blog Footer

Email Marketing Rookie Kid Missing Steering Wheel

Avoid these mistakes and being labeled an Email Marketing Rookie

Everyone loves a good list. Letterman might’ve been the greatest list maker/reader/practitioner – inspiring and empowering an entire generation of copy writers that regale us with their amazing listacles all around the web! We thought we’d throw our hat into the fray and put together a list of common mistakes, with a heavy dose of snark, on how to avoid being labeled an email marketing rookie.

  1. Everyone wants to hear from us. No really, everyone! No, no, everyone doesn’t want to hear from you. Some only wanted to hear from you once to buy a specific item and then unsubscribed or marked your email as spam. Assuming everyone wants to hear from you is tantamount to ignoring your customers.
  2. Cadence, shmadence, I wanna be in their inbox every single day! How often you send email is important, the time that you send it can be directly tied to your business, e.g. you run a restaurant that wants to advertise lunch specials, sending it at 1145 might’ve missed the mark.
  3. Responsive design? What’s that? It’s what makes emails look good on mobile phones. Responsive email templates are not only the rage, but in our hyper mobilized world they’re an absolute necessity.
  4. Bounces? We didn’t bounce, we just didn’t make it all the way in so we’re gonna keep trying that email until it delivers! That’s spot on–NOT! So if you do that, you may look like a spammer to an ISP. Spammers don’t respect hard bounces, they send lots of emails that will hard bounce, and generally don’t do anything about soft bounces. Bounce policy is what sets you apart from the bad guys and helps you build a positive sending reputation.
  5. A friend told me that he knows a guy that knows a guy that has a really big opt-in database for sale! We could triple or quadruple our open rates! Don’t ever do this. Just don’t. It won’t end well. I assure you; and so will a lot of other experts in the field. This is not the marketing strategy you’re looking for.
  6. Use as many IPs as possible. If one gets blocked, just route the mail on another one! Again, this is a tactic commonly used by spammers. If you do this you will only decrease the likelihood your email will arrive to the inbox. Setup an IP for commercial email, and one for transactional and build positive sending reputations on both. That’s the only route to success.
  7. Unsubscribes are for losers. I can’t. No Seriously. Where do I begin? Unsubscribes are not only a good practice to avoid making your customers angry, but it’s required by the CAN-SPAM act of 2003. You must have a working electronic unsubscribe. That’s all there is to it.
  8. We’re going to make email great again by sending as much of it as possible! Then you might as well shutter your business now and save us all a lot of grief and clicks of the spam button. The right amount of email will change from business to business, but what’s universal is that everyone has a threshold where enough is enough. Experiment with different amounts of email for different users. This means having data to gauge how and when they consume your email.
  9. Targeting? We don’t target, we canvas! Ever heard the phrase the right email for the right person, at the right time and optimized for the right platform? Well now you have. Targeting an offer to a person most likely to be receptive to it requires past purchase history, preference centers, opens, clicks, unsubscribe data, all of the things that help you be smart about your digital communications.
  10. Segmentation? We use a segment of one: everyone gets every email. No no no no. This isn’t how it works. A segment of one means you know so much about your customer that everyone is unique and you personalize the heck out of every communication making it a unique experience. Yeah, it’s not easy, you need real time data, flexible templates with personalization capabilities in your platform and an appreciation for how different segments should be marketed to in different manners and with uniquely different content at times.
  11. Blacklist? Wasn’t that something that happened in Hollywood in the 50s during McCarthyism? Yes there were blacklists in Hollywood, and it’s also a show starring James Spader. However, blacklists are very real and very damaging should your IP or sending domain land on one. Having integrated tools like 250OK in your email platform reduces the likelihood of being on a blacklist and not knowing, and expedites remediation (along with a crack deliverability team) should you land on one.
  12. SPF, DKIM, DMARC, ARC… stop my head’s hurting from all these acronyms. Acronyms got you down? I know you how you feel. However this is important so listen up. SPF, DKIM, DMARC, ARC these are all part of a category of technologies called email authentication and they are really important because they help you protect your brand, and your customers, from phishing and spammers. You don’t want some criminal halfway across the world spoofing your domain and pummeling inboxes with email designed to defraud people do you? You know what happens then? You get laid off, your business fails and the dark side wins. Talk to your tech team, or our tech team and we’ll help you navigate the authentication waters.
  13. We should try and win back every customer that unsubscribes, you never know, they may change their mind! Whooooa, hold your horses there! I agree, you should try to win them back, but re-subscribing unsubscribers is a major no-no, you can land in hot water with numerous folks. However, getting inactive subscribers to become active is an absolute strategy and you should do it like so: slowly and with extreme caution. I’ve heard from ISP postmasters that re-engagement campaigns generate high complaints and that’s bad news for a sending IP or brand. Send these emails slowly in very small batches around the clock. Make it an ongoing best effort basis vs. a giant airdrop all at once.
  14. Subject lines need to be big bold and say anything to get them to click. No, no they don’t. No really, if you don’t believe me read the FTC’s guidelines. Truth in advertising. Be edgy, be bold, be creative, be all that, just be honest. If not, refer to rule #12.
  15. Put as many offers as you can into the receipt or shipping confirmation. It’s a guaranteed chance to get in front of them for more sales! I’m gonna say fuhgeddaboudit! Transactional email closes the loop on a transaction, generally initiated by a customer. There is an unwritten rule that says 80% of the content in a transactional email should be just that, transactional, 20% marketing. If you pack in too much marketing you change the fundamental content and nature of the communication. Transactional email should be sent on its own IP to create a ‘separation between church and state’ from commercial email for just this reason.
  16. Hey why don’t we make the font for our unsubscribe link white, like the background?! Once again I get to say don’t you dare! And why do I say this? I refer you back to the FTC’s guidelines. Let this be your guiding principle: clean and conspicuous. And if you need another reason chew on this: if someone unsubs they can always re-sub at some later point. If they mark your message as spam because they can’t find the unsub link, or you didn’t include it, then your entire reputation suffers, its harder to deliver email, your revenues decline, you get fired and the dark side wins. Which do you prefer?
  17. Someone said millennials like snark, can we just make our postal address 1600 Pennsylvania ave? Or maybe 666 Elm St.? Who reads that stuff anyway?! And you wouldn’t believe what will happen if you do this. Yeah, once more, FTC, CAN-SPAM, valid, physical mailing address is required. And if you need another reason: you’re not a spammer, so don’t act like one!

There you have it! A comprehensive list of email marketing rookie mistakes, and how to avoid them. Anything we missed or overlooked? Leave us a comment!

Zillions Guide Blog Footer