2

Collaboration between Citizen Developers and Coders Using Betty Blocks

This chapter is about collaboration between different personas. It focuses on when you build your first larger project, how your team looks, and who you can use in your team for building the application. We’ll also talk about how developers can utilize a no-code platform and gain an advantage by using it. Then we’ll talk about how developers can help out citizen developers during the development of their applications, and we’ll touch on how you can extend the Betty Blocks platform by adding some code to it.

In this chapter, we will cover the following topics:

  • Collaboration for building applications
  • How experienced software developers can also use a no-code platform
  • How pro-coders can help citizen developers
  • Adding no-code blocks to the platform with code

By the end of this chapter, you’ll have a better understanding of what the ideal team would look like to build a larger application and how developers can support citizen developers while they develop their applications.

Collaboration for building applications

Collaboration is the key to building a successful application. So, who do you need to collaborate with then?

Of course, this also depends on the kind of application you want to build. If you want to build a small application for storing some data that you need from time to time, you can most likely do everything yourself very easily. But let’s say that you’re going to be very ambitious and want to build a bigger application that you want your whole department or maybe even your customers to use, which supports different types of roles. You also want to have a big process built into the application, which will help the application users to speed up their work. So, what should a successful team look like to build your first application?

First of all, you won’t need all of the following people to be able to actually build your application, but they will help you to be more successful, especially if you are doing it for the first time.

So, let’s talk about the ideal situation first in which you can achieve the most success when building your first application. We’ll assume this is a medium-sized application where you will need some time to build it due to it containing a few workflows. The following are the roles a team could comprise:

  • Project manager: The project manager keeps track of the general progression of the development and makes sure that everything that developers want to get done is registered so that you can track the progress of the project.
  • Product owner: The product owner makes sure the value of the project or the product people want to work on is measured. They can also provide the project manager and developers with the user stories they need to start working on their project using the Scrum method.
  • Business users: The business users can help to define what needs to be developed. Since everything is being built in a no-code way, most business users can fairly easily understand what is being built in Betty Blocks. That way, they can also give continual feedback on what is being developed. Some of these business users might also transform into citizen developers along the way due to interest in the project.
  • Citizen developers: The citizen developer is usually the person who has the idea for building this application. They will be included in the whole development process and also participate in it. First, they can start with the project manager by working out the general idea and putting that on paper, but they can also start building a prototype in Betty Blocks to showcase their idea. The prototype doesn’t need to have any functionality but can be a series of Page Builder pages that gives the other project members an idea of what needs to be built.

Once the building of the application starts, the citizen developer will work with a no-coder developer to build the application. While the citizen developer is usually becoming familiar with the platform during their first application development, the no-coder does the heavy lifting. The citizen developer is basically participating on all fronts of the development so that they fully understand the process and can transform into a no-code developer.

  • No-coders: A no-coder is someone who has experience developing with the platform already. They have good knowledge about all the ins and outs of the platform. This user can be someone from the business side or someone working in the IT department. The big difference between the two is usually that the person from the IT department works on different projects with the platform while someone from the business will usually work on a specific project related to their own domain within the company, and they also hold a lot of domain knowledge. The most important factor is that they already have a lot of experience building apps with no code.
  • Pro-coders: As we discussed, no-coders do most of the heavy lifting during the development of an application, but pro-coders will create most of the logic, help with the finer details of the pages, and help set up API connections with external systems. They involve the citizen developer every step of the way so that their knowledge grows while the application is being developed.

The pro-coder in this project won’t be involved all the time, but they can help out at specific times, for example, when there might be a need to access specific external systems for which something needs to be set up. They can do some testing for security issues, for example, so that there are no leaks of sensitive information.

The pro-coder is also involved in enabling the citizen developers and no-coders. This means they can create new no-code blocks in the platform using code. These blocks can then be used by the no-coders in a no-code way. So essentially they can extend the functionalities of the platform. This could be a new component in the page builder, for example, or a new action step that allows the user to communicate with an external system or any other backend-related option.

  • IT: IT will provide the Betty Blocks environment to the users. They will create an application for them with a whole development (DTAP) street so that the users have a safe environment to work in. They can also invite builders to the applications and once applications are completed, they can change the status of an application to production. Production means that the application is live and can be accessed by users other than the developers.

Now that we know which types of personas are useful during the development of an application, let’s have a look at how pro-coders can utilize a no-code platform and what advantages they can take from this compared to normal coding.

How can developers also use a no-code platform

Is a no-code platform also useful to a pro-coder (developer)? The short answer is yes, of course. So, what advantages can a no-code platform such as Betty Blocks have for a pro-coder?

The most important advantage of a no-code platform is the speed for developers. Let’s say they have to develop a portal for their company. Usually, a portal is something pretty straightforward. It usually allows the company’s customers to log in to their portal and access all kinds of information. For example, they might be able to see the orders that they have placed with the company and also the invoices that accompany them. They can view these and even download the invoices for their own use, and they can also see the status of their orders. All this information can come straight from the company’s ERP system. Betty Blocks integrations allow you to quickly connect to these systems and receive and send data to them. This way, Betty Blocks can utilize this information to show it to the users of the portal.

Building this portal is something that can be done very quickly with a no-code platform because, as discussed, it not only integrates easily with any external system through APIs but also allows the developers to set up a data model (database) quickly and easily within minutes that will hold the information specific to the customer who is logging in to the portal. The Page Builder’s drag-and-drop functionality allows them to easily set up the portal. Security is already taken care of with the login flow built into Betty Blocks, and even if they need to use single sign-on (SSO) because their customers are already using that for other applications, this can be integrated quite easily by grabbing one of the templates that already has SSO pre-configured.

Since the developers don’t need to set up a specific development environment and configure the libraries that they might need for the project, there’s no need to set up a database or do any coding. They win back up to 50-75% of the time it would take to build a portal. And as mentioned before, if there is anything that might be very specific and not supported out of the box by the platform, they can add some code to still be able to finish the portal to their liking, but we’ll talk more about that in the last two sections of this chapter.

Since the backlog of development teams is pretty big in most companies, utilizing a platform such as Betty Blocks could be very advantageous to reduce this backlog. It might not suit every use case for developers, but it can speed up their development by up to 75% and also make certain development tasks a lot more fun because it’s much easier and faster (and therefore enables faster results) to do with essentially the same control as you have with code.

Pro-coders can gain a lot by using a no-code platform when the use case fits. But one of the most important jobs a pro-coder has is helping out the citizen developer and no-coder. Let’s explore this in the next section.

Pro-coders can help citizen developers

Citizen developers are new to building their own applications and need some help from time to time. We’ve already mentioned in the Collaboration for building applications section the other roles that can help them out, but let’s zoom in more on what coders can do for them specifically and why it will also save the coders time in the long run by helping out citizen developers.

Of course, it will not only be the citizen developers who will need help sometimes, but also the no-coders. Basically, what goes in this section for the citizen developer also goes for the no-coder since those two will work together on their project usually, or either one of them will work alone on a project, but on some projects, they might need some help from a pro-coder, which is what this section is about.

So, let’s talk about where experienced developers (pro-coders) can help out the citizen developers. Betty Blocks has many templates for making more complex things a lot easier, but even then, some of the details might still be a bit intimidating for citizen developers the first time they encounter them. For example, they start a new application that needs to integrate with the company’s SSO. For the most common SSO, there is a template available, but you still need to enter some details that allow you to connect to the company’s SSO; otherwise, everyone can use this. A pro-coder can help the citizen developer to set this up. It will only take a few minutes, but it will make it a lot easier for the citizen developer. It also allows the pro-coder to do a few security checks at this point.

Another use case might be that the developer wants to retrieve data from an existing application or database. Pro-coders usually need to set up the credentials for the citizen developer because the citizen developer won’t have access to the backend of the existing application or database. Betty Blocks already has a whole library of APIs for this that can be downloaded, integrated, and used straight out of the box. Even here, the pro-coder can help to enter the login details of the API to set up the API together with the citizen developer. And maybe in some cases, if the system they want to connect to is not a very common one, but the pro-coder has the documentation on how to set up an API connection, they can create a web service in Betty Blocks for the citizen developer. Once this is set up and functional, they can push it to the block store so that the citizen developer API can be used by anyone in the organization in their next application without any effort.

A pro-coder can also help when the citizen developer is building a page in the page builder and wants to do something that might not be supported out of the box. The page builder allows the pro-coder to create a ReactJS-based drag-and-drop component in code by adding external libraries to new components for even more functionality, which can then be used by the citizen developer. Betty Blocks has a command-line interface (CLI) that can help with supporting this. We’ll talk more about this in the next section. But it enables the pro-coder to add almost any code functionality to the platform in a no-code way.

The same goes for logic in Betty Blocks, which is called actions. Actions are usually backend functionality, but in Betty Blocks, you can design these in a no-code way by dragging and dropping them. These actions are like a visual workflow and have steps and conditional logic. Each of these steps is written in Node.js, which is a backend JavaScript language used in Betty Blocks. Here the pro-coder also has the option to add code to the actions by using the CLI, just like with the page builder. So almost anything the pro-coder can think of, they can do by adding code and enabling the no-coder to do more.

Adding no-code blocks to the platform with code

Betty Blocks is a no-code platform, but does this mean you can’t add any code to it? No, you can add code to Betty Blocks. So, what can you do with code in Betty Blocks?

There are three places where you can add code to Betty Blocks:

  • Actions: Here, you can use code to extend the logical part of Betty Blocks. For example, there could be a situation where you want the logic of Betty Blocks to do something that it normally can’t do, or you want it to work slightly differently. You can create new code or edit existing code to make changes to the actions. Then, a no-coder can use them in a no-code way on the platform.
  • Page builder: Here, you can add new components or modify existing ones. For example, if you want to add a new component to display a calendar, you can create it in code and add it to the platform so that a no-coder can use it in a drag-and-drop way.
  • Endpoints: Here, you can add code directly to the platform. You can write HTML, CSS, and JavaScript to create pages, just like you would normally do when creating a page in a code editor.

For actions and the Page Builder, pro-coders and experienced developers can use the Betty Blocks CLI to add their code to the platform. The CLI allows pro-coders to use their favorite code editor and create any code to add to the platform. For actions, this is done with Node.js, and for the page builder, this is done with ReactJS. Betty Blocks also has what we call prefabs, which allows pro-coders to create an interface on their code so that the code becomes a no-code component. This allows citizen developers and no-coders to be able to utilize these new components without having to understand the underlying code. And once this piece of code has been written and uploaded to Betty Blocks, the pro-coders can share this new no-code block with their whole organization so that they don’t have to rebuild it for each new application.

If you want to have a look at the Betty Blocks CLI, you can visit https://github.com/bettyblocks/cli. Here you can read about the CLI and install it. We’ll be talking about the CLI in the chapter Pro-Coder Features of this book.

Just remember this part of the platform is only for experienced developers and allows them to extend the platform without being constrained by it if they have specific wishes. But it’s not a mandatory part of the platform that you need to understand if you want to be able to build applications. You can build so many applications without having to add custom code to the platform, but it is important that you at least know that the possibilities are there.

Summary

In this chapter, we learned about the collaboration between different personas to develop an application. We assumed that it was going to be a somewhat larger application, so you needed a small team to make this successful. The personas in this team were a project manager, business users, citizen developers, no-coders, pro-coders, and IT.

The added value of a no-code platform such as Betty Blocks for a pro-coder is another topic we talked about. Pro-coders can win a lot of time back by utilizing the platform for specific use cases, such as portals and internal CRUD applications. This could increase their development speed by up to 75%.

We also learned that pro-coders can help citizen developers and no-coders. They can add extra no-code functionality to the platform by using code so that other developers can do more with the platform. They can also help by performing security checks during development.

Lastly, we spoke about adding code to the platform to create new no-code functionalities. This should help developers to do more with the platform or to perform specific tasks that otherwise might not have been possible.

In the next chapter, we’ll have a look at governance. Betty Blocks has its own governance section called My Betty Blocks. This allows you to govern all your applications and users.

Questions

  1. What would an ideal team look like to develop a new application?
  2. What kind of code can you add to Betty Blocks?

Answers

  1. A project manager, business users, citizen developers, no-coders, pro-coders, and IT.
  2. You can add new components to the page builder and add code for new actions, allowing users to create more logic.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset