Home » How To

Category: How To

“I need help! I have a problem!” Syndrome

“I need help! I have a problem!”: I see a lot of emails with those titles almost every day. And in some cases, these emails are sent to public figures who may have large audiences. 

What goes through my head is this: 

“Does this person seriously think that their email will be picked out of the thousands and get a reply?”

And the answer is that probably yes, or they would not have sent the message in the first place.

For me, that is selfish thinking and selfish expectations. Especially for someone who has a broader audience, the email situation is asymmetric. There is way more incoming email than one person could possibly read, let alone send a response. 

And this also applies to social media communications.

I am writing this post here because I have seen a similar trend in the business world where people send messages asking for a job or offering their services to anyone who has a contact form on their website. 

These messages boil down to: “Hey, I am intrigued by what you do, can you hire me?” or “Hey, some nice content here, do you need SEO on the website?”

How would you feel if a stranger came up to you on the street and said that to you? Would they seem trustworthy? Would you think that they genuinely have your best interest at heart? Would you be eager to work with them? 

I understand that sometimes crises happen. I know there are situations where you desperately need to put food on the table and keep the lights on. But the problem is that everyone else also has their own issues to think about; they have their own story running in their head. The fact that you have a big problem, does not give you permission to but in and ask to be hired or offer a service that is not needed. It just creates friction and noise and lowers your chance to be seen as trustworthy

This shotgun approach has a math justification. It is free to interrupt many people in the information age and demand that they focus on my problem. So, the logic says, I just have to interrupt a lot of them, and eventually, I will get a hit! 

If you are doing this, how is it working for you? I bet that it’s not working very well.

The Alternative is to be generous and respectful.

Imagine that you are indeed about to approach a stranger in real life, not online, and you will see how face-to-face interaction changes the dynamic. 

None of the short meaningless pick-up lines would work. You would need to show genuine empathy and generosity. 

Being generous does not have to be about money. You can be generous with your time, attention, and emotional labor. Before you contact a potential lead, do read their about page, their social media activity. Get out of your head and your problems, and do your best to comprehend their story and problems. Once you feel you have seen the world through their eyes, only then you can go to them and say:

“Hey, I’ve been following your activity for a while, and I know a big launch is coming. Do you need any help with that? I am especially effective at creating and distributing flyers!”

If you were honest with your investigation and were paying attention, your lead was thinking or worrying about this issue. By mentioning it directly and specifically, you show that you care and that you’ve spent the time and the effort of getting familiar with their business and their problem. 

Do you see how this would set you miles apart from some just bombing with generic “I don’t care about you, please hire me” messages? 

The key to solving your problems is to help other people solve their problems first. 

Keep that in mind, when you send your next email or post your next message on LinkedIn. Are you selfish? Or generous? 

Where do you start when you design a Website?

“Writing is easy. You only need to stare at a blank piece of paper until drops of blood form on your forehead.” Gene Fowler

I used to feel the same way when it came down to designing a website. 

I would have all these general ideas of what should happen on the site, but then I was faced with this white emptiness and an infinite amount of possibilities. 

The simple task of laying down the first line felt daunting! 

If this is your struggle as well, read on, because you’re in for a treat!

It turns out that the problem is with the “infinite number of choices” when thinking about design. If you only had two colored crayons to choose from, you would not spend to much time picking one.

The key is to limit your choices to just a few!

If going down from “infinite” to “a few choices” makes you cringe, consider the fact that most designs that work were built within pretty restrictive design systems.

But now it seems like we just shifted the problem. Instead of figuring out where to start, you wonder how I choose my design system restrictions?

I will argue that this is a new and different problem. Because you don’t have to choose these restrictions, they are instead imposed on you by the project you want to create. 

What is this project for? Who is it for? 

When you answer these questions, you will build a set of features and an audience for these features. Within these answers, you will find your constraints. 

For example, let’s look at color. Instead of randomly choosing a color or thinking of something that is appealing to your sensibilities, you would serve your audience better by reading on the psychology of color and choosing the one that conveys the message you want to convey to your audience.

The same applies when choosing the fonts for your design. If you know how different people perceive different type-faces, the font choice will be an obvious one.

When it comes to the overall design and layout, you are again constrained by creating a clear hierarchy. You don’t just jam everything in there; you need to consider what is most important and prioritize accordingly. It also helps if you sketch first the features and build up from there, instead of figuring out what the navigation should be like when there is nothing to navigate to. 

The web needs to be accessible, so you need to create proper contrast with your color, provide appropriate text sizes for your labels and enough space around the buttons. 

When you write all these restrictions down, you are left with very few options to choose from. And starting the work on your design will be much easier, especially if you focus on the features or the main call to actions and build from there. 

Build your constraints first (from the requirements of your audience), and the design will flow from there.

Quick SEO Setup for your WordPress website

SEO is a large and complicated subject. And it can feel challenging and overwhelming to get everything right.

However, it is essential to get it right because it affects the “first” impression that your potential customers have when they are about to click a link on Google or Facebook that sends them to you. Not to mention the amount of organic traffic that you will get.

The easiest way I know to add this to your WordPress site in a technically correct way, but a breeze to configure, is to use the YOAST SEO plugin.

I am not associated with them in any way, but I do recommend them as I used them on all my WordPress websites.

After the initial plugin install, it will guide you through a configuration wizard. You will answer simple questions, and in the end, everything is configured for you.

Every time you write a new post, or create a new page, take some time to inspect the Yoast block as it will have recommendations about how to improve your SEO for that particular content.

What I like most is the super-easy way to control the image and description that social media platforms will use with links to my websites. It takes the guesswork out of it, and you can even add different images for different platforms if that is important to you.

Subscribing to their free newsletter is another good way to get free SEO training and reminders to keep your website in shape.

Still not using Log Files in your app?

Have you ever had to contact support for a web app or a plugin to fix a problem, and the first thing they ask is for full access to your web server so they can “debug” the issue? 

This request frustrates me to no end. 

It is unprofessional, and it is lazy. 

The reason support asks for this is so they can run tests and inspect the results on your LIVE server. If that makes you nervous, it should! How can you know that they will not accidentally mess with your customers’ data? Not to mention all the privacy issues that crop up as soon as you hand your keys to a third party with no control. 

A proper way to deal with providing support for your app or your plugin is to add logs—a log file journals the activity and the data passing through your code. Inspecting a good log file will almost always let you know what the problem is and where the problem is. When a customer calls you for support, you only need to ask for the log files, not the keys to the server. 

In my experience, a good log file creates a breadcrumb trail that documents the data flow and the branching decisions in your code. Ideally, inspecting the log file alongside your code allows you to precisely follow along and determine what was wrong, without even having to run any code. 

A common mistake is to be unnecessarily verbose while at the same time not documenting the branching decisions. Silently discarded errors and exceptions are the usual pitfalls, and close second are if/else branches where only one of them leaves in a mark in the log. 

Security and Privacy

Now that you understand why log files are a must, especially in a client-server situation (like all the web applications), you need to be careful not to store sensitive data into the log file. Don’t store passwords or credit card numbers, and unless absolutely necessary, do not store emails. 

If sensitive data is required for you to be able to rebuild the data flow, make that available under a specific “log level” that is only activated on request. And in some cases, the entire log system can be activated only when trying to debug a problem. With this approach, however, you lose historical data that you need to fix the problem.

Always provide a way for an admin to flush the logs. 

Rolling Over

I am an overly enthusiastic user of log files. Simply because they work, and they speed up the process of solving problems. But there is a mistake that I kept doing for far too long. That mistake was no automatic rolling of the log files. What that meant is that the logs grew and grew until they would eat up all the allocated disk space. 

Oopsy! 

When using log files, decide when a log entry is too old and have an automated mechanism to remove those logs. Rolling the log files once a month (log1, log2, log3, etc.) and removing the very old files is a useful approach. 

If you don’t currently use log files, what is your strategy to support and debug your application while it is running on the customer’s LIVE server? I hope you will not say: “get root access and hack away until I find the bug” 🙂

Staying on top of your email. One account to rule them all!

Why yet another email management article? 

I am writing this article because, in my work, I have met many people who still struggle with managing their emails, and I can suggest a reasonably simple solution. 

The problem

Online communication still requires an email address. From making purchases to setting up a subscription and staying in touch with your audience, you will need to use email

The wrong solution for this is to use your personal account for all situations. The main reason people use this is that it is convenient. There is one account to check, one password to remember, one email client, to learn to use. It is hard to argue against these advantages. But there are serious drawbacks as well. 

  1. You expose your personal email to spammers. The logic is quite simple: the more places you use an email address, the more likely that some spammers will find it. 
  2. It also becomes harder to keep track of email and categorize it based on purpose: subscriptions, business, personal, marketing, etc. Everything piles up in one big inbox. 
  3. There are some privacy concerns. Using the same email everywhere allows data tracking algorithms to follow you around and to infer some usage patterns that you may not want to be exposed. But even more fundamental than that, you may want to avoid online stackers and trolls by being very careful with whom you share your personal email. 

A better solution is to use different emails for different purposes. It is keeping things separate. While this solves all of the problems above, it creates a big hassle with having to check multiple email accounts, managing various passwords, and using different email clients. 

The Best of Both Worlds

If you make good use of auto-forwarders and filters, you can have the best of both solutions. 

With auto-forwarders, you collect all of the emails into one central account. (For advanced users I recommend POP3 pooling instead, as it is better when handling SPAM.) The best way to create forwarders is to use the “Forwarders” feature for your hosting provider or email provider.

The second part is to use filters into your main account, you categorize, label and organize the incoming email based on the email address it was actually sent to. E.g., email that was forwarded from the business email goes into the business folder, emails from the customer care address will go into a customer care folder, and so on. 

The way you choose to organize your inbox is up to you, but you now have the power to do so because even though all email arrives in your main inbox, you know where it came from. 

Now that incoming email is sorted out, how about outgoing? 

Most email services allow you to configure “aliases” that will hide your main account email. In effect, this will enable you to “Send email As…” The power of this approach is that you can also send all of your emails from your favorite client, as long as you use the proper “Send Email As…” when you need to communicate from a different email account. 

The Short Recipe

1. Create different emails for different purposes

2. Setup auto-forwards to collect all the email into your main account

3. Use Aliases/Identities/Send As features to send email from the main account but “as if” from a different account

4. Use filters in your main account to organize the incoming email

The Discipline

For this to work, you need to be disciplined and follow this process. If you are in a rush, you may be tempted to use your main account when someone asks for your email. It is best to have a “disposable” account on hand for this situation. An account that is already configured. This way, you will avoid the temptation to share your main email account because you can’t be bothered to set up a new email.

What other strategies do you use to keep spam out of your inbox and organize your email accounts? 

Building ZAPs!

Since I recommended you build an API into your service that integrates with Zapier, I figured I might as well give it a try myself, and not just talk theory

I was shocked to finish the integration without having to write one single line of code

But I am getting ahead of myself. 

Part of my skill up plan is to take a deep dive into automation. What a better way to study than looking at what the masters are doing? Or, in this case: Zapier. 

I’ve fired up their tutorial and was getting ready to crank some code! 

I have integrated APIs before, and if the documentation was clear and with relevant examples, I could get the hang of it pretty quickly and then extend it easily. 

As I am progressing through the tutorial, it dawns on me that this integration will be created entirely online, in the Zapier UI, by answering some questions and filling forms! 

My mind was going: “it cannot be that simple! Each API provider has its own interface or authentication mechanism… you would have to write some adapter for that!” 

No, sir! Not so! 

If the APIs follow the standards when it comes to authentication and passing data around using JSON, then Zapier has you covered! 

You answer the questions, you fill out the forms as instructed… and you’re done! No code required! And since there is no code required, there is nearly zero chance of having a bug in your integration. How cool is that? 

Needless to say, I am impressed. And I got another confirmation of why following standards is a good idea. 

Not quite like building with Legos

Even though I did not write any code, it did not feel like building with Lego blocks. But more like solving a jigsaw puzzle. Because the APIs are very diverse, you need to spend some time to connect the right pieces in the correct order. But since everything is built via filling forms, you have validation available and tests. There is immediate feedback if what you are making is not working as you’d expect.

I did spend two hours getting the final step to work. I almost contacted Zapier’s support to inform them that their builder is broken, but in fact, the problem was with me :). 

I had a typo in one of the data fields, and the error message I was getting from the API I was using at the time was very misleading (apparently on purpose). So it took me two hours to find that typo in my configuration and get the Zap to work. Take away here: please make your error messages clear; it will save you time in the future!

Just as with finishing a complex puzzle, seeing the success message was so satisfying. 

Why all the fuss?

Building a Zapier integration is so simple and straight forward that I can easily see AI building integrations and ZAPs in the (very) near future. This means that if you decide to provide an API that can integrate with platforms like Zapier, your service may be used in ways you cannot even imagine. The pieces can be interconnected in infinite ways to create something new, exciting, and why not: disruptive!

Keep on creating the new paradigm. 

New Normal – Collaboration Tools – Trello

Trello – The playful and pretty way to manage a project

If you are a fan of using post-it notes to organize your projects, you will love this next tool!

This post is part of the “New Normal – Collaboration Tools” series, and we are going to look at Trello.

Trello is so simple that it can be explained with just the picture below:

The idea is to use cards, organized in lists, to keep track of what is going on in the project. And the most simple version is to have the three classic lists:

  • To do 
  • Working On In
  • Done 

As you have guessed, you choose a card from the “To Do” list and move it to “Working On It” and when you finish, you move the card to the “Done List.”

So why is this so powerful, and not just use sticky cards on a real board? 

This series is called “Collaboration” tools, so that is where the power is. The Trello boards can be shared with teams of people. Now everyone can see the lists and move the cards around. This way, you can easily coordinate. For example, two people cannot pick up the same card to start working on it. Everyone has a clear picture of the status of the project by looking at the board. 

And the goodies don’t stop here! 

Each card can have its own comments – keeping the discussion always linked to the correct context.

The cards can have checklists – those can be used in very creative ways. For example, you can fragment the work further in sub-tasks, you can have a list of prerequisites that you are waiting to be fulfilled, and so on.

And the cards also have attachments. Attachments allow you to link relevant files to the card so the team can easily find them and access them as needed.

You can assign the card to someone, and you can set a due date

The interface is very friendly, playful, and easy to grasp! But make no mistake, Trello is not a toy. If you have time to dig into it, you will discover that it is an amazingly powerful tool. 

How to choose between Trello and Asana? 

If you are just starting with project management online, go with Trello. The free tier will serve you well for a long time. Asana is more complex and not as easy to learn. The only reason I am using Asana over Trello is due to my own resistance to change :). 

New Normal – Collaboration Tools – Asana

As I wrote in a previous post, the remote collaboration will become the “new normal,” so you might as well get comfortable with the tools. 

I bring up again the resistance to change. Know it is there, say “hello” to it, and then persist anyway. There are gems and diamonds on the other side! (And cookies if you like sweets).

Bribing aside, you can find dozens of tutorials on how to use Asana, so let’s instead dive into this question: “why bother?”

The challenges of “self-management”

School, and the first jobs I had, taught me to be obedient and to follow orders. This habit meant that someone else had to do the planning, issue the requests, and track the progress. 

When I broke off, on my own, choosing my projects and collaborators did not mean that I instantly knew how to self manage! Quite the opposite!

I was anxious that nobody was telling me what to do and when to do it. I perceived this responsibility as a burden. (spoiler alert – it is, in fact, great freedom, but it took me a while to wake up to that).

I began by writing my thoughts and things to do on pieces of paper. That worked so well for the first few days until I realized I was losing the pieces of paper, or some of the messages were no longer making sense because they had no context. (I had on a piece of paper this note in big, bold letters: “Very Important: 5“. To this day, I don’t know what was so important about that five.)

Next, I moved my notes to the computer. Each project had a “TO-DO.txt” file where I would write my tasks, and log my progress. This file worked well for many years. And I still use it today for small projects. With larger projects, it was getting more and more difficult to scan the file to see what is “done” what “needs to be done” and what is the deadline for each item. 

And there was another problem. I was continually checking that I did not miss anything from what I promised I would do and that I would deliver on time. This monitoring would crowd my attention by keeping mental track of dates and features and promises. Not much room left for creative thinking. 

I looked for a solution. I knew from the start that it had to be online. Why? Because I did not want to carry my computer with me to check on things. Ideally, I would log into a website and have everything there, accessible from wherever I have an internet connection.

The right tool for the job

I tested a couple of things, and the tool I like the most was Asana.

First of all, it has a free tier that has everything that I need. 

Second, it has an excellent design that makes sense. Think of it as an advanced “TO DO” list manager. That means you can easily add items; you can check them off as done; you can immediately see what still needs your attention.

These reasons were great, but what sold it to me was the feature to add “comments” for each item. I did not even know that I was missing this feature. Comments became essential for complex tasks, where I had to do research and keep track of my findings and have all that information connected with the relevant “to-do item.” A long text file with notes would become so hart to read that it would be useless. But items with their own set of comments, now that is very easy to digest at any time. 

The second thing was the reminders! When you set a deadline for a specific item, you will be emailed a few days in advance that you need to take care of that item. Now, I could relax and free my memory from all the dates and deadlines and allow the software to do that for me, knowing that I will not miss anything. 

The final reason is why I put this into the “collaborative tools” section. You can add more people into a project, share your list of items, add comments, and complete tasks. You no longer have to write emails working out with collaborators what needs to be done. Instead, you can assign a task to someone with two clicks, and they will get notified about it. A follow up to the email problem is that you can keep all the discussion next to the task, so you don’t have to search for an old email.

For a team (and even a solo project), this tool adds clarity! I have discovered that when you are clear on what needs to be done, it is much easier to build the confidence and the motivation to actually do it. 

In Conclusion: choose a small project and give Asana a go. Don’t just read this post and decide, but actually test it out and then decide if this can improve your workflow by freeing your mind to focus on the creative things and not project tracking. Look at this as an investment in yourself and your team.

Automation with Zapier

What do you value most? I hope that your answer is: “TIME.” 

Time is our most valuable resource because it is non-renewable. Wasted time is lost forever. And it could be argued that the reason we work so hard is to have enough resources. Resources that will allow us to spend more time doing the activities that we enjoy: activities like following your dreams, working on your business, spending more time with friends and family. 

I don’t know of any better time-saver in the online environment than automation.

Automation means to identify and formalize processes for the flows that make your business work and then use various tools to set them on “automatic.” This way, they can work even when you are not paying attention. It is like having an employee that is almost free and never sleeps or rests. 

In today’s world, the leading tool for automation online is Zapier

The idea behind Zapier is quite simple and yet profound because of the market they are speaking to. 

What happens is that in the online world of business, you have your website, your store, your payment gateway, customer engagement, webinar, emails, and so on. All these components need to talk to each other. What used to happen before, is that you, as the business owner would have to create and manually maintain this communication, usually based on email notifications you would get from various systems. 

The alternative was to hire someone to do it for you or hire a developer to write a custom program that would automate these processes. Both options could get pretty expensive.

There has been a shift in the past few years. Each of these services exposes an API. This API allows them to talk to each other in a clear and standardized way. With this option available, you would need somebody to integrate these APIs. To connect them in ways that make sense for your business. 

Here in comes Zapier! The beauty of it is that they have put together a platform that allows non-developers to visually express their processes and to connect all these components in a way that makes sense. This flow is testable (which is very important, you want to make sure that your automation works as intended), and you have analytics and an overview of what is happening.

There is a free tier for Zapier, but I want to get into the paid one because I think that is where the power is. You may shy away from paying them the monthly fee. So let’s explore that a bit. 

The way to think about choosing a paid plan is to make a business decision. Would paying Zapier a monthly free enough time and generate enough sales to cover for the costs and then some?

If you get their $20/mo plan, you need to only generate an extra $20/mo in sales for this option to make sense to you. But not only that. Also, consider the free time you now have to do something else, and how much you value that. Consider the money you would spend on a developer to set this up for you and then have it maintained. (By the way, I am not an affiliate for Zapier, I am just using them as an example to talk about automation)

In conclusion, we live in exciting times, where with a bit of patience and thinking through your processes, you can build your website and connect the required components with no need for a developer if you use a tool like Zapier. And this excites me because it enables even more people to express their creativity cost-effectively!

If you are reading this and you are a developer, then seriously consider exposing and API for your services and products and have them seamlessly integrate with Zapier. 

The New Normal – Collaboration Tools – Google Docs

A new era of remote work and collaboration is upon us. And it is time to build a “new normal” as we have this excellent opportunity for a reset. 

I have mixed feelings about Google, but leaving that aside, for now, let us have a look at their Google Docs platforms and how to use it to collaborate with your team. 

My idea here is to share with you what is possible so you can make an informed decision if this is something you can use to support your project and your people. If you do like these features, there are plenty of YouTube tutorials on how to use them. 

As you go through this keep in mind the “sunk costs” of using old technology (MS Word… I am looking at you!):

– I am used to it, and it works just fine

– I don’t have time to learn something new

– This is too confusing…

Note that this is your brain resisting change. When you evaluate a new tool, honestly consider the question: “if I were a master as this would this help my project and my team?” and try to ignore the “I don’t want change” mind chatter. 

Back to business! 

To get the most out of this tool, you will need a Google Account. It’s free to get one – free as in you pay with your attention and your privacy. If that is fine with you, then let’s proceed. 

Top collaboration features:

1. Multiple Live Editors of the document

This is ideal when you work with your team over a Zoom or Skype call. It allows everyone to open the document on their device and start working on it. The changes will be visible to everyone nearly instantly. No more sharing of Word Documents around! 

Tip: it may be a good idea, for some projects, that each editor uses their own color, so you can know later on what you wrote and what others wrote. (This is just a simple solution to this the advanced way is “version control” explained last)

2. Make suggestions instead of edits!

This is based on (or similar to) the MS Word “Track Changes” feature. You need to change your editing mode to “Suggestions,” and now, all the changes you make will have your name attached to them, and they will be next to the old text (instead of overwriting the old text). This feature allows anyone to chime in when doing brainstorm and review. At the end, the author of the document can review all the suggestions and approve or reject them. This is such a powerful tool because you can instantly see on the side of the document if there are changes that you need to review, and you have the name of the person who suggested the change. On top of this, each change gets a comment section where you can ask for clarifications, or you can explain why your suggestion should be accepted. 

This is, by far, my favorite tool to use when working on a document that requires the team’s input.

3. Comments

This feature is similar to the previous one. But instead of editing the document in “Suggestions” mode, you select a piece of text and make a comment on it. 

This comment will create a discussion box around it. This feature is useful in some cases, but it lacks the quick “accept/reject change” buttons that a suggestion has. So any editing suggestion you make as a comment has to be manually typed into the document later. 

Comments are great to give feedback on the text regarding legibility or clarity because you are not suggesting a change, you just need the author to make some clarifications. 

4. Assigning Tasks

This tool does not replace a proper project management tool (like Asana or Trello) but, for small teams, it can work wonders! Using the comments or suggestion features, when the discussion box is open, you can notify someone (prefix their name with @), or you can assign that item to someone (prefix their name with +). 

The beauty of this is that they get an email notification, so they will know their input is required. And if you have assigned the item to someone, in their google drive view, next to the document name, they will see a number of pending issues that they need to resolve. 

I hope it is obvious how this can be used to keep track of what needs to be done in a small project, so you don’t have tasks being forgotten or now knowing who is supposed to work on them. 

5. Version History

This is the least used feature, but one of the most powerful. I am a big fan of backups. It allows me to move quickly and to make mistakes, knowing that I have a solid safety net. If I screw up, I can restore the old version, and everything is good again! 

For large documents and documents that need to go through many revisions, sometimes it is helpful to see a “history” of how the document grew, what was changed, why, and by whom. Google Docs allows you to do that out of the box because the document has in it a history of the changes. This is tracked automatically, you don’t need to do anything. 

You can, however, at some point, label one of the versions as, say, “Final Draft” or “Version 1 – Published” and later one “Version 1.1” and so on. These labels that you create make it easier for you and the team when you go back to look at the timeline to make sense of what are the important edit points. 

In software development, this tool is used a lot, and I know how powerful it is. If you are new to this “version control” thing, you may not see the power of it right away, but give it a go in a big project, and you’ll not regret it. You will no longer be afraid you make a mistake, or that someone in the team got in and accidentally destroyed the document with large copy/paste operation. You can always “go back in time,” to when things were in good shape! And when you are no longer concerned with making mistakes, you can allow your creativity to shine!

In conclusion 

I’ve stormed through these features. If there is one in particular that you like, look for YouTube tutorials about it and put it to good use! 

Go create something amazing!