Home » How To

Category: How To

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!

Using Visual Builders for your website

I used to hate visual builders!

They looked great on the demo page, but as soon as you would like to do something somewhat different and custom, you would end up fighting with all the constraints put in place.

Because of this issue, I would almost always design my pages from scratch in HTML code and CSS style. Oh, the power and flexibility!

In recent projects, I have been forced to use visual builders because the end client wanted to be able to update the design themselves later on. They insisted that it had to be easy, so I had to go the visual builder way.

What I have learned is that the builders have come a long way since I have first looked at them, and they offer great flexibility within the constraints of their design.

And the constraints are a good thing. It keeps your look consistent and makes it a breeze to create layouts for various screen sizes. That is always a big challenge when writing code from scratch without any design system in place that limits your choices but maximizes compatibility.

The Builder I like the most so far is the one that comes with DIVI, the WordPress theme. Once you get to know it, you can build exciting layouts pretty fast.

There is a problem I have with it, though. That is performance. And sometimes, the output code seems to be unnecessarily complicated, making the size of your page bigger than it needs to be.

So there is always a trade-off.

How do I choose between one or another?

For large projects, I prefer to create my custom template and design systems for the performance and flexibility benefits.

And for smaller projects, I will use DIVI or something similar to create the design faster and visually.

We go back to the saying: use the right tool for the job 🙂

Get to know your tools

I think we can agree that time is a non-renewable resource. You cannot make back lost time. 

So it would make sense to maximize doing what inspires you and minimize tasks that feel like chores. One way to do that is to delegate, but in today’s world, there is another option: automation and better tools. 

The availability of better tools is not always easy to see or even to put in practice, because there is an emotional cost of trying something new, of letting go of how things used to work. 

Children seem very comfortable living in this space of not knowing and being curious. Still, most adults find the same space very uncomfortable, maybe because we associate it with feelings of incompetence. 

But once you become aware of this, you can choose to ask yourself: “Is the way I’ve always done this, the best way forward? Or is time to change?”

Let’s take WordPress as an example. It is trendy for its ease of use. There is a plethora of themes and plugins that allow non-technical people to create beautiful and sophisticated websites. But this does not mean that you will install WordPress and a theme, and in 10 minutes, you will be an expert in building websites. Yes, it is easy to use, but a different kind of easy. It means you don’t have to learn to code or to think like a programmer or do deal with complicated network protocols and fallback mechanisms. But it still means you need to learn to play with your toys. Those cubes won’t stack themselves into something interesting. You have to play. 

It is surprising to me how many people install a “drag-and-drop” builder on their site and then just create a massive text block with some colors in it that makes no use of the power of the new builder. 

Here is how I think about a new tool:

1. I decide based on recommendations from others and what I can glean from their marketing if this is a tool that may help me speed things along.

2. Once I’ve made up my mind that I will use this tool, I want to get close to mastering it. The reason is that a tool you don’t know will not speed things along; it will slow you down. So yes, in the beginning, you will “waste time,” creating silly pages, breaking them, and maybe pulling your hair out, but give it a few tries, and a light bulb goes off in your head. You now understand how your tool works, and you begin constructing instead of stumbling around.

3. To speed up the road to mastery, I have a simple strategy. I do specific Google searches that will help with deep learning. Those searches are:

– “the best features of [your tool]” – get to know why this tool is powerful and how it can help you

– “[your tool] vs [some other tool]” – side by side comparison helps your brain organize and remember the information better. Especially if you know one of the tools. “Oh, this is like my old online store… but better in this specific way! Got it!

– “top ten mistakes when using [your tool]” – let’s be honest; if they are top 10 mistakes, it is likely I am going to make them. So, I try to make different mistakes and learn from the common ones. This approach is good with learning because understanding why common mistakes are common helps you understand how to think about using your tool correctly. We make most mistakes because we don’t use a tool in the way it was designed to be used. (You can fry an egg with a hammer, and it may taste delicious… but that will be a long and frustrating experience. Blaming the hammer for being broken won’t help). 

– “master [your tool]” – this is the last search I do, because what you find assumes you are a pro, and you’re ready to look into more advanced use cases.

This kind of research can take from one hour to a couple of days, but then you can build your pages with blazing fast accuracy, and if something gets broken, you know why and how to fix it. 

Tip: When doing these searches, you will stumble on new terminology. Don’t skip over it. Make sure you understand what they mean. It is a process of discovery that will uncover many gems that you did not even know you were looking for.

4. Subscribe to your tool’s newsletter – this is just to keep up to date with the development of it. There is a caveat here, too many emails to read will not do you good. If you don’t get fantastic value from their newsletter, drop it.

In the end, I challenge you to question “common wisdom and practices” and come up with something better:

– build for desktop first and fix it on mobile – instead of building for mobile and then add layout for the desktop

– we need meetings to move forward and sync up – instead of using an async tool like Slack to share updates, ideas, and track progress 

– I don’t have time to learn new things – instead of learning new things will save me time in the long run

– I am too old/tired/young for this – instead of I am curious about this

Go build something interesting!

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.

Working from Home – Choose to embrace it

I didn’t plan to write about current events, but maybe this will help. 

I have made the transition to work from home a long time ago. The fact that I decided to do that and was not forced to do it, I am sure helped, but here are some things that I have learned that I would like to share with you.

I am also going to assert that you care about your work, and you want to continue, instead of merely taking time off now that “nobody is watching.” 

Your working Space

You need to have your distraction-free working space. It helps you with the discipline of “going to your office” every day. 

Your working Mode

Now that you work from home, you may be tempted to binge-eat while you work, to stay in your PJs, browse the YouTube, and latest news. Don’t do that. It will mess up with your focus and with your ability to do something productive for the day. 

As time passes and you get more disciplined, your working mode may include PJs and peanuts, but don’t start with that. Continue to “dress for success.” All of this is more of a “mind game” than anything.

Do not overwhelm yourself

The home office is a big change. Most humans don’t generally like change. The outside world is also going crazy. Be honest with yourself. Your energy and your ability to focus is not the same as it was before this change. Don’t overcrowd your workday. You are only setting yourself up for disappointment and burnout. 

There are many ways to do time management, but that I would suggest for this time is “the promise for today.” This way, you promise to do one important thing that can be done in a day and you do it. Yes, I said “ONE” (not ten). But I also said “important.” Trust me, drip by drip, you will make steady progress instead of burnout after burnout. 

Take care of your body.

It’s common sense, but let’s make it common practice. Drink water, take some pauses to stretch and walk around, look in the distance to relax your eyes, or better yet close them for a few minutes. This time is not an excuse to get out of working mode and binge on distractions. 

There is a tech solution for almost everything.

I don’t know what your work involves, but there is likely an app, a service, a new way of using technology to help you work from home. From remote access to files, to voice over IP, to Zoom calls and screen sharing, find your tools that can help. It can be done. If you don’t know how to do it, ask for help. Asking for help does not make you an idiot; it makes you efficient. 

We are all in this together.

It can get lonely when you work from home. Setup video calls with your team, even if only for 5 minutes after lunch. Call a friend for a “one on one – how are you doing conversation.”

But most of all, be compassionate and patient. The person at the other end of the line, computer, phone, service is in the same situation as you. They also are going through a big change, they also have family members to worry about, they are also concerned about the unknown future. Humanity first, business second. 

Keep positive

I am a strong believer in keeping your immune system in high gear. Stress can affect it dramatically, so stay positive as best as you can. Take things one day at a time. Make room for humor and play in your work. And when you are done working, I invite you to help another. You may have skills that are needed, knowledge than can be shared, but also a smile, a warm hug, or a deep “I see you” connection can go a very long way. 

“Live long and prosper!”

Using WordPress as a Prototyping tool

Creating a prototype for your product or service is an excellent idea. It allows you to do some research before you commit to a specific solution. You can test various layouts, various interactions, and you also have something to show to your investors or your target audience to check with them if this is something they would spend money to buy. And the cheaper the prototyping, the more tests you can do, and the more information you will have when you want to build the real product or service. 

A prototype has only very basic functionality, and it is used to get an idea of what the user interaction will be like and what possible challenges may show up in future development. Because it is so simplistic, you can choose any technology you want to create your prototype. It does not have to be the same tech you will use for the real product. And this is important because you can choose something free, or something that you know how to operate.

In this article, we will focus on WordPress. Why? Because it is free, it is a common platform, it has a rich plugin environment, and the new block editor makes it ideal for quickly creating complex layouts. 

All you need to do to get a free WordPress site is to head to WordPress.com, create an account, and start a new website using their free plan, and now you are ready to begin prototyping. 

Go to your website’s dashboard and create new pages using the block editor. It is almost like using lego pieces to build something. 

You can create multiple layouts for the same test page; you can create links between pages, simulating a user interaction, you can test how it will look like on a mobile screen, play around with various font faces and sizes and so on. 

As a bonus, you can activate the comments feature and use that to document feedback on the pages you are putting together. 

Using the Free plan on WordPress has some significant drawbacks:

  •  you cannot use custom CSS to finetune your design
  •  you cannot install plugins 

Depending on the complexity of the prototype, you may not need either one of them, but if those are important to you, then you can install WordPress on a shared hosting plan and unlock the full power of the platform. 

Closing Notes

I know that WordPress is not a prototyping tool. For more advanced use-cases, you will find it limiting. In those situations, you are better off investing in some dedicated tools like WebFlow, or Sketch, or Figma.

But as a playground, when you want to get a feel for how your idea will look like, and you want to have something to show to your investors or your audience, give WordPress a try.

Finally, all prototypes should be discarded when you go build the real thing. There is a big temptation to use the prototype for the live product, but please don’t. When you need to make something that is production-ready, start from scratch and do it right.