[Guest Post] Newsletter emails and problem solving

It turns out, that you don’t notice emails aren’t coming, when you don’t actively look for them. Several days after the emails stopped being sent by the blog, the customer approached me in a fierce tone and asked, why they weren’t being sent.

This is rather typical, so I would like to guide you through the process. Something goes awry. By the time it goes wrong, it has already created some form of havoc. In most cases, the person that notices the problem will already have identified, considered and perhaps even attempted several ways to fix said problem. There were issues with the timing of emails in the past, due to the way the system works. Maybe if we just wait a day?

Suggesting one of the options that had been identified, considered and performed only worsened how the customer feels about the problem. Why am I paying this idiot (with love of course), if all suggestions are things I’ve tried already? What the customer rarely realizes, is that they had a lot more time to think about what’s bothering them and try things, due to the fact that they discovered the problem. Once it reaches a so-called expert, they are thrown into cold water.

Now I don’t want to bore you with technicalities, but I would like to try to sell the problem solving we “tech-savvy” people face every day, and show you it’s not so different from what you do as well.

When you write an email, you type some text into a program. In recent years, websites have been made which abstract this process (gmail, yahoo, etc.). For the newsletters to send, we don’t want to manually type in this text, but rather have it be sent, when and if it needs to be. It is a simple logic, which does this: our server (if you don’t know what it is: computer which runs this website) checks in a certain interval (daily) whether new posts have been released. If at least one new post fits that criteria, it makes a list of all of them and creates a “digest” email, where each post is teased. Due to the publishing schedule, it’s usually also only one post.

Once the email has been created, it begins to send it out to the recipients. It does so, by acting like a regular email client. Creating the text to send each person, connecting to the server (Google’s) which handles the mailing of each individual email.

Now since no emails came through, it allows for two major problems. Either the mails are not being created, or they aren’t being sent. Both of those result in several reasons why they might occur.

Luckily both are easy to check. The administration view of the website allows us to see, that the emails were being created. So we know it’s a problem with sending them. Luckily, there is a fantastically easy way to check that. There is a dedicated box to press: send test email. Trying that revealed something along the lines of “Authentication error. Could not connect to Server.” Now maybe I’m reaching here, but I bet even you could come up with some reasons why that may show up. Most likely you would think to check the password. It uses the same password as you normally need to enter to see your mail, so we checked that and it was fine. This meant it had to be something to do with the connection in general, since the credentials (username password combination) worked elsewhere.

You might think it’s rocket science, but it isn’t. The way to solve such a problem? See how other people solved it. Usually they have. I opened the search engine of my choice, and typed in my problem.

[name of newsletter plugin] gmail authentication error

https://www.google.com/search?q=mailpoet+gmail+authentication+error

Now all I do, is read. I look for problems that sound similar, and especially in the ones were a solution is presented. Thank you to those, which struggle with a problem and post not just a detailed description of the problem, but also helpful information which lead them to solve their problems.

In layman’s terms, Google just doesn’t allow the form of connecting anymore, which the newsletter plugin used. Essentially it was just entering a username and password, which was discontinued. Since it was too cumbersome to implement, the creators of the newsletter plugin discontinued support for this form of sending emails. We wanted to anyway.

Other plugins advertised that emails could indeed be sent to Google, implementing their new token based security. All you need to know, is that it uses a different method of securing the information exchanged. These plugins offered something wonderful: they capture any usage of the website-internal mailing function, and replace it with the improved one, which they can pass on to google. That sounds difficult. Think of it this way:

Mail gets delivered to a mailbox. The person that sends doesn’t need to know color or size of it, if it’s a reasonably shaped letter it (usually) gets to where it should go. What the plugin did, is nothing else but stealing mail. Now that might sound bad, but I would rather use the example encountered in New York recently. The kind folks living right next to us are getting to an age, where going out and getting the mail is getting more troublesome. It’s hard and exhausting for them to move, and when walking it’s nice not to have to hold envelopes and newspapers. To help them, our whole family has been picking up the mail from the mailbox, and dropping it inside their entrance hallway. We take things, that aren’t destined for us, do something with them, and deposit them elsewhere. Many parties of this system don’t have to deal with the change. People addressing the letters still write the same thing, and the postman delivers it into the same mailbox. Only the elderly couple doesn’t have to make the trip, and instead we do.

The same thing applies to the plugin. It takes anything that was to be sent, and securely connects to google in to send it. The ‘thing’ that was sending it, doesn’t even have to realize that something has changed. What we tried, is to intercept the attempt to send emails, and send it in a different way, which unlike the first would actually work now.

If that would have been all, it would have been done quickly. The next problem was the sending. The developers of the newsletter chose to take control of exactly how the mail was sent, rather than using the handy existing software. Consider the similarity being the next time you ask someone to run to the grocery store giving them not just a shopping list, but also a lecture on how to drive, detailed maps and instructions, as well as a lengthy weather report. Luckily during the development they had taken the care to prepare for the possibility to use the correct mail function, but had hidden it, visually. Luckily for me, others had found out and written about it, giving detailed instructions on how to “unlock” the “feature”. So now the newsletter plugin was modified, in order to send mails in a way that are not intended, only for those mails to be captured by a different plugin, which would then send them in a way that actually worked. Sounds simple enough right? Well the result of all of this was what was “garbled code” in the recent post. It wasn’t really garbled, in fact it was exactly what it was supposed to be, it was just called the wrong thing. Let me give another analogy. If you speak French beautifully, but then speak your eloquent French to someone you hired to translate Chinese into English, you are going to have a bad time (unless the translator just happens to know French as well, humans are a little more tolerant). The same thing was happening with the emails. It contained all the formatting which normally displays the email with color, spacing and links, and served it as simple text. Only a slight problem, scientifically, but one that still rendered it rather useless to you, our kind audience, and I apologize profusely.

You see, if you remember the little button, which I talked about earlier. The one to send a test email? I used that, to check that everything worked. And it did! However, the email it sends, is one that only contains simple text (a text message like “It works!”). Therefore, I was unable to realize, that once the formatted email would be sent in the same way, it wouldn’t be nearly as successful. This may actually be why the developers hid the function in the first place, but it left me having once again break into the existing code, add in a statement about it being formatted and not just plaintext, and trying again.

The result has been working successfully thus far.

I realize you may still the people that write code are all crazy people, fit for the looney bin. But maybe I was able to show that the things we do, the problems we solve and the way that changing one part doesn’t mean everything else needs to change, can be seen and have been solved by people even when dealing with traditionally non-technological problems.

Also Happy Easter, if you celebrate, otherwise happy day off!

[Guest Post] I’m not hungry

So many times, I’ve heard this saying. Sometimes it happens near the end of a meal, when I’m desperately trying to share the remainder of food left on the table. I hate throwing away food, and it always tastes better without being reheated – except for Chilli, that only gets better.

When I hear the saying much more frequently, is when someone is upset. You might as well have said “I’m fine”. The words are “I’m not hungry”, but I immediately know better. You are hungry, you’ve starved yourself all morning, you are just upset and really want to resolve conflict, but right now you aren’t willing to take another step in my direction, so it’s me that has to work on it. Okay so maybe I am usually right about you being hungry, even when you say you aren’t, but more importantly, why is it, that I don’t accept what you tell me? Why do I immediately think that your emotions are inhibiting you from making rational decisions? Why do I think that it’s typical for women to do this?

Well, I guess I associate it with the many times, that it looked like my assumptions were correct. So many times that women were told to calm down in my presence, by me, or someone else. Arguing is much quicker when you ignore the emotional part. Nothing comes out of screaming and exaggerating… or does it? Maybe you screaming that I shouldn’t assume things about you is right. Maybe I’m making the situation so much worse, by not believing you. When you say something and I decide you meant something else, doesn’t that force you to exaggerate what you were saying? Am I not the reason you can’t tell me what you mean? Maybe if I listened to what you are saying, instead of deciding what you meant, I wouldn’t consider you ‘emotional’ or ‘upset’ or ‘complaining’ – like it’s something you aren’t entitled to do.

You have every right to be talked to and with. Especially when you are upset, you don’t deserve to get asked to rephrase your objections, so that they are easier to digest. Easier to dilute with pointless arguments. Easier to ignore.

Problem Solving (guest)

Sometimes, my partner tells me about her day. About how she tried to do something, and someone was uncooperative. About how the professors at the university are unorganized (http://liljumperaroundtheworld.thr3.de/?p=471). In these times, what that person wants to do, is communicate with me, talk to me. What should my role be? To listen. Obviously.

If only I would do that, I’m sure I would lead a happier life. Instead I start suggesting what could have been done to avoid this problem or minimize that risk. My initial response is to try my best to make sure problems don’t persist. To solve them.

While I certainly don’t mean any harm, I have to face the consequence of what I am essentially doing. Instead of taking part in someone’s problems, showing understanding and sympathy, I immediately critique actions, critique choices. I also have the advantage of doing so from a safe position. I know what the outcome of the choices was, that were made on that day. I know what happened as a result. Of course it is extremely easy for me to suggest something else, but we will not very likely go back in time as a result of it and fix it, trying my version of things. This means any suggestion I make can in fact be seen as blaming anything that went wrong on whoever I would be talking to. Easy. From my point of view, it was obvious that things had to happen the way they did, which is trivial, because of course that’s what happened.

The same problem solving approach seems to appear drastically in the pharma industry. Headache? There’s a pill for that (or rather a whole variety). Sleep deprived? Pill. Nauseous? Pill. Apart from some truly gruesome occurrences, almost anything can be fixed by paying a little price for a handful of pills, drops, you name it. Fix my sleeping schedule? Why not just buy sleeping pills, set alarms and drink coffee?

As someone that doesn’t reside most inside the USA, it seems rather stunning to watch the tremendous advertisement of pharmaceuticals in the states. Directly marketing to customers? That seems rather unsafe. And is a billion-dollar industry. According to Kantar Media, it will have been over 4.5 billion USD in 2014. It seems like “customers” will go to their doctors and ask them for the medication they saw on TV ads. That alone sounds dangerous but even worse is probably that doctors are bound to fulfill patients wishes, since they are interested in keeping both their patients as well as their pharma representatives happy. The marketing to customers? Only a fraction of the advertisement pharmaceuticals spends. The rest goes to free samples or other endorsements.

Our way of trying to find the easiest solution leads us to pay lots of money for products which sometimes only barely outperform simple sugar tablets. As my father always told me: current always takes the path of least resistance. We just rather buy our way out of a situation than really have to put in effort to fix it. After all, this makes us much more productive right? What if we had to build all our furniture ourselves? What about our cars? And when something brakes? Well you used to be able to fix it yourself, but with the complexity nowadays? Good luck to even find what’s broken.

I know that its cheaper to replace a complete transmission of a modern middle class saloon, than to higher a technician capable of diagnosing and fixing the problem of a clutch that keeps falling out of gear. We do what is cheap, not what is right. The process of tackling a problem and fixing it is overrated in most opinions it seems.

A software for a large company recently started running into trouble. The software must compute data for the company to work with each day. The allocated computation time for a process was no longer sufficient to calculate all the required data for a day and this triggered a warning, that employees were working with out-of-date data. When the technicians got word of this, they removed the error message. It took several days for someone to notice something was wrong. In the mean time the developers were praised for the fast and successful efforts.

This theme of taking the easy way, the quick way seems to be recurring way too much for my liking. I think problem solving is important, and we need to get better at it. Nonetheless we also need to understand that sometimes we need to listen to someone and sympathize, without our ever present suggestions and improvements.