Effective Communication: Writing e-mails

Communicating effectively is most critical in the workplace today. Time is money and the cost of making mistakes is too high. We just cannot afford to misunderstand each other especially in this ‘Information Era’ in which we currently live in.

One of the more recent technological advancements which shape the way we communicate today is Electronic Mail or e-mail for short. It allows us to quickly share information with others regardless of where they are located. It has emerged as the most common means of sharing information used by businesses across the globe. Writing e-mails have now become part of our daily work routine.

The goal of this article is to help you write e-mails that are easy to understand and effective. Below is a list of things you should keep in mind when writing your e-mail:

1. The subject of the e-mail should be as relevant and informative as possible.

Think of the subject of an e-mail as a title of a book or as a newspaper headline. It lets us know what the e-mail is about and helps us decide if we want to read the message right away or save it for later. Avoid generic subjects that such as ‘Meeting’ or ‘Request’ in favor of something more specific to the message like ‘Agenda for Claims Performance Meeting (6/2/2012)’ or ‘Request for Temporary Parking on Friday’.

2. Get to the point.

Avoid lengthy e-mails with unnecessary wording and sentences. Like I said before, time is money and many of us usually don’t have the time to ready a 500 word essay especially if it could’ve been condensed into 100 words.

More often than not, when faced with unnecessarily lengthy e-mails we tend to skim through the body of the message to extract the salient points. This is something you want to have avoided at all cost since the readers may miss crucial details in your message. Keep it short.

3. Keep the most import points to the top.

This point lends itself from the previous point but is so important I felt that it deserved its own bullet point. Many times we read the first sentence in a paragraph to get the gist of what will be said. If you keep your most important points to the top of every paragraph you can almost guarantee that the reader would not miss anything important, for example:

“The weather forecast for tomorrow was predicted to have at least 1 inch of rainfall with overcast skies. Also a few of our players had commitments which were only brought to our attention at the last minute. As a result we felt that the experience for both teams won’t be ideal and we have decided to reschedule the match. The new match date was set to next Monday.”

Could be rewritten as:

The match carded for tomorrow has been rescheduled to next Monday. A combination of things factored into this decision including poor expected weather conditions and lack of availability of key players.”

4. Make use of bullet points and numbered lists to condense long messages.

Bullet points and lists are great ways of shortening an e-mail and making it easier to understand and follow. The list items should generally be short and to the point.

5. Make use of bold font and alternative colors to highlight important words or sentences.

6. Always introduce people that you cc’d in an e-mail who weren’t in the original conversation thread.

This is just being polite. If you include someone new into the conversation when replying to an e-mail, you should introduce them and also include your reason for including them. Think about!

7. Always mention that there is an attachment with the e-mail and its purpose or relevance.

This is very helpful to the reader and can alert them to the fact that the e-mails should come with an attachment. How many times you forgot to attach a file to an e-mail or the attachment was blocked by some firewall while being sent? In a scenario like that when the reader doesn’t see any attachments in the incoming e-mail they can respond asking you to resend it.

8. Always label all images and pictures that were included in the body of the e-mail.

9. Prune your e-mails.

After you have written your e-mail you should always re-read it to see where you can shorten its length. You will be amazed to find how easily sentences can be weeded out or joined together thus dramatically reducing the length of the e-mail message.

10. Proof read your e-mails.

Always proof read your e-mails before sending them. This can avoid embarrassing situations especially in the work environment.




Does it make sense? (Part 2)

In the first part of this article I focused on pointing out the obvious with most sites or applications that suck. You’d generally hear from the average user or even for yourself think: “this doesn’t make sense”, “this is too hard to use”, “why is this even here”.

Now I ask the question, why?… Why doesn’t it make sense? How do I know that something is wrong or not quite right?

Well in my opinion the answer lies in experience.

Humans are creatures of habit and once we form a habit its pretty hard to change or un-form it!

If I ask you to read a sentence from right to left or even say the alphabet backwards, you’d probably have a hard time doing it. While you can accomplish it, it would surely take alot more effort and concentration to do than doing it the way you are already ‘used’ to. It just doesn’t come naturally!

You may start wondering: “What’s the point?”

The point is that when browsing websites or using applications, we use our past experiences to determine what feels natural. These experiences, especially the ones that we are interested in (ones related to web/apps) can be viewed as Design Patterns or as Conventions.

For example: In newspapers, the greater the font size the more important the article or feature. So you would expect that the most important aspects of a page be more visually prominent that the lesser important ones.

MOST IMPORTANT!!! Almost as important. Not very important.  

If you visit a website that is set up like below, then it probably won’t feel right:

Almost as important. NOT VERY IMPORTANT!!! Most important.

Makes sense?

More convenient ways of mapping social connections – Exploring the WhatsApp model

While brainstorming a system for one of my personal projects I stumbled upon a model used by a mobile application called ‘Whatsapp’. This application uses the contact book of your mobile phone to build a contact list. It essentially saves your phone number to a global database. Then If anyone using the application happens to have you phone number saved to their phone contact book, you and that person are connected and vice versa.

Of course such a model is limited to only mobile smartphone users. The increasing number of smartphone users however still makes this model a viable one.

The benefits are clear. Less work for the end user when setting up their social connections in your application. The user doesn’t have to find the contacts they desire in your application’s framework whether by email address or some other identifier. The contacts are already in your phone’s contact book.

Also because the application grabs the phone number directly from the phone, the identity of the user is already verified to an extent. This leaves less doubt in the authenticity of a user in the system.

Another useful advantage is that the contacts in a users phone book are generally more genuine. In other words if I have someone’s phone number its more likely that I ‘know’ or met the person in ‘real’ life. This relationship can affect the services that your application provides in several ways. From an analytical standpoint more meaning observations can be made from the interactions between users and their contacts. The results of data mining activities can yield more relevant results allowing you to better optimize aspects of the content you provide. It also allows you the luxary of not implementing fine grained security controls of the user’s information since their phone contacts are usually trusted.

In conclusion all of these benefits make a strong case for the use of this model.

Does it make sense? (Part 1)

I’ve come across a vast range of applications that made me raise my hands to heavens and beg for strength, tolerance and patience. How? How could someone in their right mind conceive such things.

After calming down, the clouds that covered my judgement passed and reason sets in. Well maybe at the time of development, the team did not fully understand the requirements or had all to begin with? While this is the most common scenario in custom software development, it is by far, in my opinion, not a good enough reason.

If it doesn’t feel right then why not stop and think about it? Why do I have to click through 10+ links to get to the page I would most frequently use? Why would you place a banner at the top of each page that spans three-quarters of the page’s height forcing me to scroll down every time?

It sure does seem silly when I put it like that, but these are the questions that need to be asked when implementing a solution especially solutions for others to use. In part two I’ll go deeper into how we as developers miss these simple yet crucial details.


Building web applications with the user in mind

Ever used a website or web application that is just too difficult to use? You may even ask yourself – “Did they even use this thing before they made it public?”

Well I’ve been using the internet for over ten years and I’ve came across countless applications like these. To be perfectly honest, I have even developed a few myself in my earlier years of software development. It was only when I met the end user or client and saw them trying to use my crappy applications that I realized that something was wrong.

The fact is after spending months developing the same application I knew fully well how to maneuver around its quirks and idiosyncrasies without even thinking about it. The reality that the end user of the application does not know in an instant what I had unconsciously accumulated over the past few months never set in when designing the interface and functionality. Unfortunately most application users are not challenge seeking and willing to spend hours figuring their way around the software unless they really have to ( for example using that crappy time logging application at the job). Within a few seconds of being frustrated, they generally leave as soon as they get what they want or just cut all losses and leave period. Books such as Steve Krug’s “Don’t make me think” or Jef Raskin’s “The Humane Interface” generally share the same perspective and can provide more detailed statistics.

What does it mean to build web applications with the user in mind?

My personal definition of this is letting go of the technical implementation and focusing in on what functionality and interface layout works best for the users of the application. Notice that I didn’t say the clients! Generally while the clients may have more clarity on what the users of the application may want than the web or software developers, they too face the dilemma of knowing what design they want after spending months of thinking about the solution (and you know the rest). It generally is a tall order to sell to clients that this ‘button’ shouldn’t be on the main home page but instead in another page with related functionality when they are hard pressed that this ‘button’ is most critical to the success of the application so it should be at the front  page. It really boils down to your consultative skills backed with your years of experience with successful projects (that pretty much says you know what you’re doing). If you can convince them that this ‘button’ is not prominent enough and will be stifled by the billion other things thats going on in the front page that eight out of ten times it will be overlooked then you are well on your way. This is just a small example of what harms the usability aspect of web applications that users will use.

Once you have conquered the hearts of the typical nosy clients the next step is to lessen the grip that the technical team has on the end interface. As a technical team lead, more often than not I’ve heard things like “We can’t do that because it would be too difficult” or “We don’t want to do this because our base framework won’t easily allow it”. What I’ve seen happening is classic cases where the technical implementation ruins the user’s experience. The truth that if the user doesn’t use your application then you have failed your clients is a powerful motivation to bend technology to do your will. Once your developers stop becoming boxed in by a specific framework that they initially designed and instead finding simple innovative ways of getting things done then your development team are well on their way to building web applications with users in mind.


Leveraging fb’s social network graph for web apps is not a bad idea… the last thing I want is another friends list, messenger contact list, bbm list, twitter followers list to manage.

We’re at an age where online interactions are becoming more and more closer to real life ones. Web application designers and developers are now taking advantage of known habits of users in their applications instead of forcing users to invent new ones. Socialization is one habit that you would have learnt way before you even turned on your pc and its a need that is very common to most of us; “Man is a social animal” -Bartlett. So it only makes sense that there is a proliferation of social driven websites that are successful such as facebook, myspace, tumblr and twitter.

It is my personal experience that people connect more when the interaction is more personal and specific to the intended target. Many times I would not even open forwarded emails from my friends whenever they were sent to 3 or more recipients at once. I would more prefer if someone sent me a message that was directed to only me with a personalized introduction addressing me by my first name (maybe I’m just selfish ;).

Tying the two together (social habits and personal interaction) makes it possible for building a strong ‘connection’ between a user and a website/application. Binding the social relationships of a user in a personalized way is big in my opinion; but there is one catch- data about the user must be entered into the system for it to work. Sometimes I marvel at individuals that I come across with 4000+ facebook (fb) friends on their fb profiles. Each facebook friend is akin to a node on the social graph for that user and some level of data entry would have occurred to build that 4000+ node graph. Whether it may be accepting 4000 ‘friend requests’ or sending 4000 requests, the necessary data entry would obviously take some time if done from scratch.

Leveraging facebook’s social network graph for web apps is not a bad idea. In most parts (but not all) facebook is the obvious social networking of choice. And as a user the last thing I want is another friends list, messenger contact list, bbm list, twitter followers list to manage. There will always be circumstances that make facebook less favorable or just not possible but in spite of those, capitalizing on fb’s vast data store of user’s social habits has compelling advantages.

The fact that users don’t have to ‘waste time’ duplicating data about their social interactions that are already on fb coupled with the fact that data in fb is available for free are strong arguments for integrating your web 2.0 application with fb’s network graph. The question I ask as a developer is what degree of dependency should the website/application have on fb? Or, after the website was launched and developed its user base, can I easily unplug fb without forcing existing users to ‘start from scratch’ having to re-enter their social data into the site in the absence of fb’s data store (this is not a far fetched scenario, fb’s changes its policies and TOU alot; its quite possible in some future time that they may conflict with the website’s policy and TOU)? Those are just a few questions that I ask myself when assessing the viability of fb for replacing my user account/profile module of a website or application that I am designing or building.