Home » optimize

Tag: optimize

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 Power of Using APIs

Many years ago, I had set up my very first website. It was a Sudoku generator based on a selected difficulty level.

To promote the website, I wanted to have a newsletter so I could email my subscribers a daily puzzle to print out.

At the time, I was using AWeber as my newsletter service.

I was very annoyed with the fact that to capture the email of my visitors I would have to send them to a new AWeber page where they would fill out a form, and then instruct them to go to their email to click the confirmation link, and that would get then to a confirmation page on AWeber, and then finally back to my website.

Those were way too many clicks to get yourself a printable sudoku puzzle!

What I wanted, was a way to plug into the AWeber service, and communicate with them, on my visitors’ behalf, while the visitors were staying on my website. What I wanted was an API, which is short for Application Programming Interface.

They did not offer that at the time, so I decided to simulate one by using a “fake browser” to make it “as if” the user has opened their page instead of my mine.

I was very proud of my solution, and it worked very well for about ten days until my account was banned for violation of terms of service.

Today they do offer an API, so I don’t have to resort to “shady tactics” to keep the users on my page.

I use this little story to make it evident why APIs are so powerful. I am all about automation and integration and the APIs make all this possible in a way that is reliable and makes sense and does not violate any agreements 🙂

I don’t think it makes sense to create an online service in today’s world and not to develop an API for it. Interconnectivity and interoperability increase the rate of adoption of your service. And you open it up to be used in ways that you may not even have imagined before and if you connect it, for example, to a platform like Zappier.

In conclusion, I feel that all software development is moving towards building APIs that will talk to each other. Even the front-end of websites will be a templating API making requests to a back end API.

This change will bring about dramatic shifts it what software developers do and will open the doors for non-developers to be even more expressive and sophisticated in their creations. Add AI to this mix, and we can only guess at the limits 🙂

Event-Based Programming

After you work long enough on software projects, it will become self-evident why complexity is your enemy. Pieces of code that are highly dependent on each other will result in a maintenance nightmare. You cannot change or upgrade anything without risking to break the different parts that are tightly connected to it. 

The solution I have found that works best is “Event-Based Programming.” I did not invent it; it has been around for a long time. I discovered that adopting this pattern has made maintenance much more straightforward. 

In a nutshell, your program is no longer a collection of functions that call each other in an ever-increasing web of complexity. Instead, you have components that talk to each other by raising or listening to events. 

This breakdown allows you to change each event generator or event listener individually, and as long as the event format does not change, you don’t risk a break down in communication. 

An event generator will say: “Hey, something interesting has happened, and here are the details.” And it does not care what happens with that announcement. It could be that nobody cares, or it could be that many will take action on that event. 

An event listener, on the other hand, does not care how an event was generated. As long as something interesting happens, it will act on it. 

This decoupling makes debugging super easy too! Because you can test components independently by merely looking at the kind of “chatter” they generate. 

If you’re reluctant to adopt “events” in your codebase, now it’s time to make the jump.

How much cheaper is an expensive freelancer?

There are two types of readers that this article is for.

1) you are already considering hiring a freelancer, but you are still on the fence about it, and you hope this information will help you decide.

2) you are a freelancer looking for a way to position yourself in front of potential clients.

The short answer to the question in the title is that if you had the time and the skill, you would do it yourself. It would save you money, and you would not have to deal with communication issues. 

But here you are. And this means that either you lack the skill, or more likely, you lack the time. If you had enough time, you could acquire the skill and deliver before the deadline. 

The right freelancer will save you both time and money. 

You will save time in two ways: you don’t have to wait until you build the skills, and you can do other work while the freelancer does theirs. 

Saving money is not always that obvious. I can best illustrate it with a story. 

A couple of years ago, someone reached to me to help them with their site. After the initial discussion, I estimated that the project would cost them around $3k. 

They respectfully told me that it was too much for what they wanted to do, and we parted ways friends.

Fast forward four or so years, and I hear again from this person. They were desperate now. They had spent over $15k hiring help, and their site was still not working. 

Paying $3k to someone you trust looked like a bargain right now. 

Part of it was my mistake for not knowing at the time how to explain the value they were getting. 

And this brings me to another point: the price of hiring a freelancer is not the same as the cost of hiring them. A lousy experience means you need to hire someone new. That means more money spent and more time lost having your work redone. A good experience means you get it right from the start, and you recoup the money quickly from your working website. So which experience ends up costing you more? And what if you consider the cost that is not financial. Like a stressful relationship vs. smooth sales. 

And of course, this begs the question: how do I know if this freelancer is the right one for me? Is expensive, necessarily better or cheap, necessarily bad? 

Let’s deal with cheap/expensive first. Indeed there is no guarantee that expensive means better or even the right choice. But let’s look from the viewpoint of risk. Why would a freelancer charge you less money than another? It could be for a variety of reasons:

  • they desperately need the job;
  • they are new on the market, so they need to earn trust and build experience;
  • they self-evaluate their own ability to deliver as lower than other freelancers;
  • they have turn-key solution ready for you, so their cost is nearly zero;

It is a gamble. They could be outstanding but out of work and needing a job right now. (But this would beg the question, if they are so good why do they have trouble finding work). Or they have a turn-key solution ready to deliver. The catch here is to make sure that this “ready-made” solution actually fits your custom needs, or you would be left trying to fit a round peg into a high-quality and cheap square hole. Can you afford to take this risk?

With a more expensive freelancer, they could be bluffing, but they could also invest in themselves and have better training and a better experience. They could deliver the work with higher quality, faster, and with a lower risk for having to redo it again with someone else. 

Now back to: “how do I know if this freelancer is the right one for me?” 

It comes down to trust. What have they done that they can show you to prove their experience? What have they created and put out? Who is talking about them? How did you find them? Has anyone you know recommended them? 

My argument is that if you trust them, if they come with recommendations, and if you can see past work from them that is in line with what you want to build, then it makes sense to pay a premium now and have the peace of mind that comes with lower risk.

Choose wisely. 🙂

Business Automation

When you start a business, you do it because you have something to say, something to share, or a service that may benefit others. So there are a lot of opportunities to be creative and to express yourself. 

But once you start getting some traction or you have been at it for a while, you begin to realize that many of the activities you do are business administration tasks, and not so many creative tasks. 

Some people enjoy this, but most creatives tend to feel drained by it. 

If you can afford it, a solution is to hire someone who cares to help you. 

Another solution is to automate as much as you can. 

We live in the age of Artificial Intelligence. If you wonder: “Is there a way I could automate this” the answer is very likely to be “yes.”

Here are some of the things that can easily be automated:

  • order fulfillment for downloadable products
  • thank you notes
  • providing support and guides about how to use or access your products
  • ask for feedback or testimonials
  • subscribe customers to your newsletter service
  • backups of your important data
  • weekly or monthly reports
  • health checks of your systems
  • posting on social media

Zapier is one of the most powerful automation tools that I know. It allows you to connect apps and services that do not talk to one another and create all kinds of workflows that will run automatically. 

And if you are thinking of building an online service yourself, it may be worthwhile to integrate it with Zapier as this will increase the rate of adoption. Many other services will be able to connect with you without having to write custom code. 

There is a caveat to all of this: your customers and visitors are humans, and they crave a human connection. Automate the repetitive tasks, and for the others, let your creativity and human nature shine :).

Make good use of your Analytics data

Some people love looking at numbers, and some people don’t! Which kind are you?

That was a trick question because it does not matter. You have an online business, so you have to look at the numbers period. It is that simple.

I am surprised that even to this day, there are website owners who are not using Google Analytics. So by using it, I mean actually using it, not just having it installed. If you don’t have Google Analytics installed yet, this article is not for you 🙂

If you don’t like looking at the numbers, think of it as listening to their story.

What story can you learn by listening to your analytics data?

The most basic story could be: your site is broken! A sudden drop in numbers or an unexpected spike in errors is an excellent indicator that something is not working. The sooner you learn about this, the faster you can fix it.

Another story can be the “unexpected audience.” You may be assuming that a specific demographic or geographical region is visiting your site, but you may be wrong. Sometimes you may discover that it makes business sense to translate your offer to a different language, or to promote a page to a different demographic. Without analytics, it is challenging (if not impossible) to adapt to the changes in the market.

However, the most useful way that I am using analytics is to predict the future by looking at the past. Instead of guessing how many sales are you going to generate this month, you can use the past data to get a reasonable estimate of the monthly revenue. This allows you to plan ahead and to budget for your growth. It enables you to think long term, to strategize, instead of just surviving.

The second most useful way to use analytics is for tracking the success of your actions. Meaning: how will you know if the changes you have implemented have helped your business or not? This kind of tracking requires a bit more time to set up, but it is worth it.

It is an excellent idea to have the analytics code installed, even if you don’t know how to listen to the numbers yet. By the time you learn, there will be a story in your analytics data for you to interpret.

Installing the code

Google Analytics has good documentation about how to install their code. Also, most WordPress themes allow you to configure Google Analytics in their options. If a theme does not allow you to do this quickly, maybe it was not the right choice for your website.

For the more advanced users, I recommend using this plugin: PixelYourSite (https://www.pixelyoursite.com/)

How are you using your analytics data? Have you made any breakthroughs? Have you learned any hard lessons :)? Let me know in the comments below.

A gorgeous website is different from a GOOD website

Can over-designing things become a problem?

We like pretty things. I get that.

We like the restaurant to be clean and inviting. Easy to understand.

But where do you draw the line? Where do you find a balance between pretty and functional?

I struggle with finding this balance my work. I want to use data to make a decision and not just my gut feeling.

I am a computer nerd. I design software, I write code, and I take pride in my work. But I am often faced with this dilemma:

Should I invest more in software design or graphic design when working on a project?

Nobody will use a pretty app that is not working.

I think we can all agree on that.

At the other extreme, some people will use an ugly app because it solves a big problem reliably.

But I want to do better and find some middle ground.

Good software design improves stability and performance. Makes maintenance easier, thus reducing the costs.

Good graphic design makes the user experience more comfortable. Reduces the learning curve and makes your application more widespread.

So how do you split your budget? Is it 50/50? Or should you focus more on performance, for example?

The more I think about this, the more I realize that your target audience is the one that will dictate what your focus should be.

If you have software that helps people to solve a big problem, probably nobody will care that it is ugly, not intuitive, and incredibly awkward to use. If they are desperate for a solution, they will accept one, no matter how it is delivered.

On the other hand, if you are talking about a game with bubbles… well those need to be some pretty bubbles to keep the audience engaged. In the case of games, you are not after a solution; you are after an “experience of play.”

How does this apply to websites?

I guess if your offer solves a significant problem, you can be forgiven if your site’s design is still from the 90s. But if there is a lot of competition, then a good design may help you stand out.

And this word “may” is where the problem comes in for me. How can I quantify it in terms of a website goal? It is intuitive to think that a good design will increase sales, but you also need to know how much? You need to have some idea of how close you will get to your end goal, so you know how much you are willing to invest in that good design.

Designers are very excited to make things pretty, to make them pop, to make them unique. And I understand that. You are making art, and you want it to be beautiful. But is it really useful?

I fall into this trap myself with software when I over-design something just for the pleasure of creating a “perfect design.” But in the end, that does not benefit the client all that much. There are so many examples with people doing very well, by using poorly designed tools.

They’re also amazing designs, both software, and graphic, that nobody uses.

To help make this decision more comfortable (and profitable), I’d like to know a way to quantify the benefits of excellent graphic design. Any thoughts?