Home » productivity

Tag: productivity

Buying Time

There is always a chance for you to make back the money you lost, but lost time is lost forever.

I often talk about our time as a non-renewable resource, and while you cannot buy more time, you can always save time. 

You do this by buying the time that other people have spent learning to do what you want to do today. 

And it compounds: the sooner your start, the faster you will go. The later you start, the harder it is to catch up. 

There are two parts to our life: the part when you have more time than money and the part when you have more money than time. 

I am talking to those in part two because while you are in part one, you trick yourself into thinking there will always be more time.

Invest in Yourself

Use some of the money you have to buy the information that will put you in the fast lane. Hire a consultant, do a strategy call. 

Our egos will trick us into thinking that we know what we are doing and we don’t need someone else drafting a plan for us or reviewing the one we have created. So we end up making mistakes that we could have easily avoided. 

I believe in learning from mistakes, but it’s best to learn from new mistakes instead of rehashing the same territory. 

Ask yourself: has anyone else done this before? What can I learn from them? How can I take that and go farther? 

Use tools like Udemy or Skillshare. Get to know who is word-class in your field and follow their content. Hire them if you can afford it. 

Most people are willing to spend thousands of dollars building a website, but they would not spend $300 to hire a consultant first. What do you do if you realize it is the wrong audience, the wrong tech, or that you are too late at the end of building your website? At that point, you realize how cheap and effective it would have been to get on that strategy call.

What I do today I could have done ten years ago. Instead, I chose to poke around in the dark instead of asking for directions. Yes, I learned what I learned deeply and profoundly, but is it worth ten years of my life? My older self says “no.” I can only imagine where I would be today if I had a ten-year headstart. 

And it is not only about you. The longer it takes you to get your act together, the longer we miss your contribution. 

Buy a map, get a compass, hire a guide, and then go where no one has gone before. 

Using WordPress the wrong way

I have been using WordPress the wrong way, and I have just realized it. 

I often wondered why anyone would want a website built with WebFlow or with SquareSpace when WordPress gives you the power to customize everything you want.

The answer is so simple and evident that it is a little embarrassing that I have not seen it before.

Most people don’t want that power. 

Most people want a website that will help them get closer to their business or personal goals. And if you are not a web developer, those goals do not include customizing every aspect of your site. 

I have watched a video presentation with a project hand-over where the client could only add new items on their site: new beer flavors. I am looking at this, and I am thinking: “wow, that customer is powerless. He is so limited in what he can do with the site. For every little change, he will need to hire the developer again.” 

But I was wrong. The client was not into doing minor changes on the site. He wanted a professional website that he could be proud of, and he only wanted to add more beer flavors. Being so limited in what he could do also meant there was no way he could make a mistake or break the site. He could relax into doing what was important to him. 

When delivering a website built in WordPress, it may not be a good idea to hand over the admin account. The administrator account can feel overwhelming with all the buttons available, and it is also very easy to break the site. 

What you should do instead is to create custom post types, custom fields, and custom capabilities and then set up an account that can only work with those and hand over only that account. This way, the client cannot break the site, and they can only customize and update the items they need to. 

Of course, you have to discuss a maintenance plan for the cases where admin access is needed, but that is a different discussion.

Would you be offended not to have administrative access to your site? Or would you be relieved? 

Lack of Clarity leads to poor results

While it is common sense, it is not common practice to ask “WHY” when doing something. 

Building your new website, or revamping the old one, needs to have a strong “why” behind it. 

If you are doing it because everybody else is doing it, or because your competition is doing it, that is not good enough. 

Drilling deep with the “why-questions” can help you uncover clear, measurable goals. When you have clear, measurable goals, not only do you know what to ask from your vendors, but it is effortless to see where you are headed and when you have reached your destination. 

Clear, measurable goals also cut to the clutter of questions like: “what colors should I use?” “what size should the logo be?”, “what layout should my home page have?” The answer is very straightforward: choose the option that gets you closer to your goals

If you don’t know which one gets you closer, you can either default to what works in your space or A/B test it if you have a large enough audience. 

Getting clarity is hard but is the step that has the most impact on the project’s success. I’d rather delay something until I get crystal clear than building a solution that brings me to the wrong place. 

The power of Everyday

The power of “Every Day.”

What if I told you that if you want to get rich, all you have to do is to put a pebble in a jar every day for 100 days? The rules are:

  • You cannot skip a day.
  • If you do, you need to start over.
  • You also cannot put pebbles in that jar ahead of time.

Do you think this is stupid? Do you think this will work? Are you willing to put it to the test? 

I hope you do, as you will learn a crucial lesson. 

It is effortless to do something once or twice: get on a healthy diet, exercise, develop that marketing skill that you need. But as soon as you commit to doing it every day for 100 days, all sorts of problems come up. 

“What if I forget? What if I have to fly? What if I am too tired? Too sick? In a hospital? What if I change my mind and this is no longer important?”

All of a sudden, “every day for 100 days” seems nearly impossible. 

And yet, some people have done it. And not only for 100 days but for years in a row. 

There is a considerable power inconsistency. In always showing up, even when you don’t feel like it, especially if you don’t feel like it! 

What you may also discover is that you will not have a lot of competition, as most will give up after ten days or so, and you will have many people looking up to you because, at some level, they understand that showing up 100 days in a row is very difficult. So there is a certain kind of power around the people who do it. 

I challenge you to give this a try and report back with the results. Personally, I am yet to have a 100 days streak of doing anything consistently. But don’t make this your excuse.

Send email reliably from WordPress

I am getting close to 20 years of putting together websites for myself and other people, and I have seen a shift happen with email, both in what is possible and what the expectations are. 

In the “old days,” you would get a hosting account for your site, and the email would magically work every time you would need to send one. 

This setup worked because the email protocol itself is very open and interoperable, so it is straightforward to send an email to someone, as long as you have their address.

This openness also invited spammers, who abused the system, making it harder for everyone to send and receive genuine and relevant communication. 

Today, most people expect that email will work “like it used to,” but what is more likely to happen is that all the emails you send out of our WordPress site will not reach their destination. You will not notice this problem unless you specifically test for it. Instead, you will see a lack of engagement or customers complaining they did not get their download links. 

There are a couple of solutions to this problem that are free, but I will present the most effective one: buy a paid email delivery service. 

When you pay for your email delivery service, there are some significant advantages over a free solution:

  • you immediately set yourself apart from the spamming crowd that is using the free solution
  • you have dedicated tools and reports to monitor that your email is delivered and reaches its destination
  • you get support with configuring the email sending process correctly, which is not trivial
  • you get analytics – which is essential for a business owner
  • someone (the service provider) is directly responsible for delivering your email and making sure the process works as expected

Unfortunately, I have seen a lot of people shy away from paying for email. Put your business hat on and think of it this way: how much money and (more importantly) how much time are you wasting with lost emails, with dealing with un-happy customers, with the uncertainty that your outbound messages reach their targets? I bet that the numbers you come up with more than make up for the cost of a paid email service. 

What email service should you use? 

In the past, I have worked with SendInBlue, SendGrid, and Mandrill. Today, my favorite one is MailGun. I am not an affiliate; I recommend them because (as I write this) they offer the best value for money. 

To connect WordPress to Mailgun, the plugin to use is WPMailSMTP.

Shopify – The cost of free

I am a long time user of WordPress and WooCommerce as an eCommerce platform. 

The reasons I got into using those two are likely the same as for everyone: both WooComerce and WordPress are free, so this leaves me with more money for marketing. And a secondary reason: both WooCommerce and WordPress are open-source, which means you can customize them to do pretty much anything you want. 

So what is my conclusion after over five years of using this combo? 

It is not really “free!”

There is the obvious cost of having to pay for hosting. And if you want to do anything useful with WooCommerce, you need to add up extensions and plugins that are not free. The same goes for professional-grade plugins that you will install into the main WordPress site. The total costs with software add to about $50/mo, and to that, you need to add your hosting, which for serious stores it will not be a “starter plan.”

But there is a hidden cost that I don’t see many people talk about. And that is the time and focus you need to put into setting up WordPress and WooCommerce and then maintaining it to make sure it remains secure and up to date. And when (not if) something breaks down, it’s up to you to fix it. 

As a software developer, I am OK with fiddling with tech, fixing bugs, diving deep into the code. But as I transition into being and thinking like an entrepreneur, I notice that instead of working on my business, on my marketing, on coming up with new ways to find and support my target audience, I spend a lot of time tinkering with code. And while it is fun, it does not scale. 

The web is changing at an ever-increasing rate. Sometimes just trying to keep up eats a lot of my time. And the thing with “time” is that it is a non-renewable resource. You cannot ever get a refund on a time you’ve spent doing something. 

So what do you want to do? Spend time learning how to put together the free tools and fix them when they get broken? Or would you instead spend time creating content, products or doing marketing, or simply taking some time off to spend with the family? 

For all these reasons, I am now looking into and recommending the Shopify solution. 

Shopify is right for you if:

  • you are serious about your store, so you will generate sales
  • you don’t have any tech skills, and you don’t want to spend time learning tech
  • you don’t want to worry about security, backups, performance, or maintenance 
  • you value time more than money

If you know of another eStore platform that saves you time, let me know in the comments below. I’d also like to know your experience with WooCommerce as it relates to this article.

Is this the best way to accomplish our goals?

Have you ever tried to coach a team towards an end goal but failed? Either because you can’t get your point of view across or because the discussion gets sidetracked continuously into things that are not that important? 

I have tried to send documentation to be studied that points at the right solution. That did not work. 

I have tried to use my experience and authority to give them the best solution and move on to the implementation phase. That did not work either. 

I have tried allowing them to learn on their own and to figure it out eventually. That also did not work because of time constraints. 

And guess what the common denominator is to all the failed attempts? Me! 🙂

My thinking says: if they only had the right information, they would see things like I do. Unfortunately, that is not true. As I am discovering, each one of us sees the world through a different lens. Our views may be similar, but they will never be the same

Today I was studying Seth’s book “Stop Stealing Dreams.” And I was fascinated with how many ideas he can share, without giving any advice on what to do! And not only that, but almost every paragraph had me stop and ponder what was said. I could feel the cogs in my brain getting a good workout!

I had to digest the entire book to figure it out finally. And the answer is now simple and obvious. Seth asks a lot of questions, inviting the reader to think for herself!

And the most potent question was:

Is this the best way to accomplish (…insert goal here…)?

This question serves double duty:

1. It makes sure that we know and agree on what the goal is. If we don’t, we need to go way back in our discussion and check and decide on our goals again. 

2. Once we agree on the goal, asking “is this the best way” opens everybody’s mind to contribute in a focused way towards the goal. 

The key difference for me is that I no longer dish out my solutions but instead invite everyone to contribute. The best way that the group finds may be way better than what I had initially thought the correct answer was. We all learn, and we move forward together.

I will definitely give implement this one in my communication.

Meetings – as a display of power

Why yet another writing about meetings? Because it is an old habit that needs to change. And because it is so old, we need to challenge it strongly and repeatedly to defeat the inertia.

Most people go to meetings because they feel they have to, not because they want to or need to. 

When there is no engagement, the meeting becomes a waste of time and a show of status (“who’s who”).

If you are the meeting organizer, you may care a lot about your project or your idea or about getting feedback. But not everyone in the meeting cares about the same things that you do. And if all you can see around you are bored people who would rather be someplace else, what can you do differently? (assuming that you care)

You could change the meeting duration from one hour to 10 minutes! No more room for fluff, for checking the phone, or for being late. And above all, you show respect to the other participants forced to spend their time with you.

You could also simply cancel the meeting. Do you need to send an update? There is email; there is slack; there is the phone. Do you need feedback? You can use online surveys or schedule one-on-one interviews in cases where you need to go deeper. 

Above all, seek and measure engagement. If people around you are not engaged, everything moves in slow motion, and you are also missing on a ton of creativity that has no room to be expressed. 

If you are meeting participantwhat would happen if you didn’t go? Would the project miss a critical piece of insight, or would “people upstairs get upset”? If it’s just people getting upset for you being honest about not having anything of value to contribute, then maybe you need to bring this up. Challenge the reason you have been invited to the meeting and make sure you need to be there. If you know your input is valued and sought after, you will be more likely to be engaged. But if you feel like a replaceable cog in the system, then you won’t be missed. 

Another thing you can do is start a discussion about meetings around the office. Are they effective? And how do you measure that effectiveness? If there is little engagement, what can you change to have more of it? What would happen if you canceled the meeting? What is the difference between synchronous communication (phone and meetings) and asynchronous (Slack, email, voice messages)

With new technology, we can do better. Show respect and seek engagement, not a display of power.

How do you think meetings should change in the new environment? Who are meetings for, and what are they for?

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.

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” 🙂