Thought For The Day

“Don't play what's there, play what's not there.”
Miles Davis



5 Biggest Mistakes Businesses Make When Conducting Email Campaigns

Email campaigns can be very successful if done well.  In fact, when it comes to purchases made as a result of receiving a marketing message, email has the highest conversion rate (66%), when compared to social, direct mail, and other marketing mediums.[1]  However, to obtain a high conversion rate, there are certain mistakes that businesses need to avoid.  Below we highlight the problems that most frequently derail email campaigns:

  1. Not Optimizing for Mobile.  More than half of consumers read emails on their smartphones.  Marketing emails that haven’t been optimized are difficult to read and often end up being deleted.

  2. Not Testing on Multiple Platforms.  Not everyone owns an iPhone.  Rather than only viewing your email on one device before sending it, view it using a variety of platforms.  This will allow you to determine whether it appears aesthetically-pleasing on multiple phones.

  3. Failing to Use a Responsive Design.  Your email will naturally include links to your website.  However, if your website doesn’t have a responsive design, it will be difficult to navigate for smart phone users.  Prior to implementing your email campaign, your website code should be modified to use a responsive design, if it isn’t using one already.

  4. Sending Email at the Wrong Time.  There are good times and bad times to send marketing-related emails.  Generally speaking, the weekends are not the best time to try to appeal to consumers unless your business is in the entertainment field.  As for the optimal time of day, research shows that most emails are opened between 9AM- 5PM (53%) and then later in the evening between 6PM and 11PM (24%).[2]  Experiment with your campaign by sending half of your emails at one time and half at another and then comparing open rates.

  5. Missing or Buried Call-To-Action (CTA).  Your CTA is essentially an instruction, advising consumers what action to take after receiving your email.  It could include things like clicking a link, placing an order, or downloading a white paper.  The CTA of any marketing email should always stand out from the rest of the email so it’s easy to find.

Thought For The Day

“There is no such thing as a great talent without great will power.”
Honore de Balzac



The Basics of Programming: Pointers

In this article, we’re going to introduce a new, special data type which is crucial for programming in C (and practically any other language).

This type is called a pointer, and it is specific, since its value is an address of some other variable.  It is said that a pointer references a location in memory.  This location in memory i.e. some variable, can be accessed through the pointer that’s referencing it.

A pointer in your code is declared like this:

int* pointerToInt; /* or this: int *pointerToInt; */
char* pointerToChar;

Note that this notation doesn’t mean that a pointer is an integer or character.  It means that the pointer is referencing a variable of type int and char, respectively.  The pointer itself is always a 4 or 8-byte variable (depending on the size of the system’s address bus: on a 32-bit machine there is a maximum of 232 usable addresses, hence the size of a pointer will be 32 bits, and the same goes for 64-bit machines).

int a = 5;

int* ptr = &a;

In this example, we’ve assigned the address of the variable a to the pointer ptr, by using the address operator &: &a means “address of a.

Obtaining the value stored in the location which the pointer is referencing is called dereferencing that pointer.  Again, the asterisk sign is used:

*ptr = 8;

Effectively, we have assigned the value 8 to our variable a.

Pointers to data significantly improve performance for repetitive operations such as traversing strings, lookup tables, and tree structures.  They are at the very core of programming, allowing dynamic memory allocation and more complex data structures.

However, they demand concentration and a certain degree of wisdom.  They can easily diminish your program’s performance and are a common source of failure, because they can cause a special kind of runtime error (the kind that your compiler cannot recognize).  This runtime error, called segmentation fault, occurs when you try to access a part of the memory which you don’t have the right to access.

In our next programming article, we’ll discuss a new way to use arrays—dynamic memory allocation—which allows you to declare arrays without knowing from the beginning what the size of the array will be.  We will also mention common data structures such as stack and queue, which use pointers to link elements and are widely used in various algorithms.

Thought For The Day

“There's the moment when you know you can find out the answer and that's the period you are sleepless before you know what it is. When you've got it and know what it is, then you can rest easy.”
Dorothy Hodgkin