Episode Transcript
Abdulaziz M Alhamdan 0:15
Once upon a time, there were 10s of 1000s of makers struggling. Every day they build for hours and hours, but didn't chip and didn't earn enough income. One day, the no code wells podcast came to help them find a way because of this, makers became founders and live the lives they deserve. Because of this, founders live lives of abundance, freedom, and creativity. That's what I'm really all about. Hello, my name is Aziz and from being a poor boy born to a single mother in North Africa, to fail in multiple startups, yet, learning a whole lot to barely escaping alive the war in Ukraine, even living as an illegal immigrant. I've lost everything twice. And now, I'm rebuilding my life one more time, 1% a day, sharing the wisdom of luminaries have interviewed on this podcast from Google executives to Amazon, Microsoft, Forbes, Technology Council, Harvard, Financial Times, and even a priest from the Vatican church. Everyone is welcome here. So let's begin. My guest today is Mark pillar. Mark is the CEO of backendless. Changing this world to be server less, and codeless. backendless is the full stack visual app development platform, a complete visual app builder that makes app intuitive to develop, and easy to manage. No code required. Mark, how are you today?
Mark Piller 2:12
Is is I'm doing great. Thank you for having me on this podcast.
Abdulaziz M Alhamdan 2:15
It's my honor. It's my privilege. And I hope and I know it will be very insightful to spend this time together. So I'm wondering, these days or in this period of your life, what seems to be a topic or an idea, or a goal, or an insight that you had that demands your intention and thought that you keep on thinking about again, and again? And again? Great question
Mark Piller 2:47
professionally, it has been finding ways to make software development more accessible and affordable, which is, you know, sounds like a fairly grand thing. But it really transcends to some, some elementary things that can be done in the technology space to make it happen and make it the reality for a lot of people.
Abdulaziz M Alhamdan 3:12
Why is that important for you? And what difference will that make?
Mark Piller 3:20
It is important for me, because in my vision, I see that the whole space of building applications. And let me just, you know, kind of step back a little bit, it's not so much building applications, it's more of a
converting ideas into something that becomes real, because that's what every application really is about that it was an idea at some point. And by applying technology, that idea becomes real, and a lot of people can start using it. So in my mind, historically, application development has always been rather complex. And with a whole evolution of the Internet, accessibility of the internet, everyone who has a mobile phone which is pretty much everyone now we're you know, smartphone has access to the internet, and they have access to running applications there for the audience is huge. And as time goes on, there is really no lack of ideas that people come up with to make the lives of their potential users or just you know, people in the internet easier and be able to provide new ways for people to connect. And it is important for me because I have gone through a really a full circle where I back in the days when I started programming and when I started my entrepreneur,
I kind of you know, carry that responsibility of, you know, having this forefront of coming up with ideas that will make it even more accessible and affordable for a wider range of people. I really adore this thought and this idea, but I will play the devil's advocate a little bit just to make things even more interesting. Some people will say that such progress is destroying the their jobs and is taken away the possibility for them to find work to do, and that it's not good for humanity, and that there are seven or 8 billion people on this planet, and you can't expect all of them to be creators and entrepreneurs. Of course, I assume you have a different perspective on this. What are your thoughts? And what is your answer? I believe that the whole evolution of humanity, and more specifically evolution of technology is such that some jobs will clearly will become obsolete. If we if we look back at you know, just the whole spectrum of, you know, various industries and how things were done 100 years ago, with all the technological advancements that took place, it's rather clear that a lot of jobs were eliminated. And that will continue to happen. Like with a whole advanced set of advanced advancements that we are seeing in, you know, autonomous and self driving cars, it's pretty obvious to me that, you know, the whole spectrum of jobs, such as taxi drivers, or truck drivers, will eventually disappear, because cars will be able to drive by themselves.
you know, some websites could be very complex, but the majority of the websites, if it is a marketing website, for a company, they are fairly straightforward. And there are fantastic technologies today where you can find a template and create a website, really just with a couple of clicks, using, you know, templates from Webflow, or Wix. And one does not need to be a developer to get to the point where they have a fully functional website, with a shopping cart and the chat system and being able to process orders and so on. And by having this technology just simply available, a lot more people who were able to benefit from this, but those who sort of got stuck in creating those types of websites, they really need to think ahead and think how they can apply themselves to provide more value. Simply because existing technologies where you can just you know, create something out of the box using the template really going to be replacing the day to day job that they're doing. So it is going to it is going to be a balance, but embracing the change and thinking, thinking ahead is more important than ever for people who are in the IT space. Thank you. I love your well reasoned answer. And to progress on this further because, you know, as Tony Robbins say that change is automatic, but progress is not. And often it's the pressures of progress are what encourages people to evolve to grow, and not to stay within their comfort zone. So how does backend less support and contribute to your goal to this vision that you have for the future? Great question. So I'll start by saying that when I started the company, the vision was to provide a complete end to end platform for developing mobile and web applications and
And by complete and end to end, what I mean is that one would be able to create an application that has both user interface, the front end, and, and the back end. So because it pretty much every single application that is out there, or I would say 99.9% of the apps, they do consist of those two parts front end and the back end. And this is just how it works. You know, front end is what you see on the screen of your device, or in a browser. And the back end is where, you know, the data is stored. That is just some server, it could be your server, it could be the cloud server, it's still someone else's server. So the whole process of building an application without model where the front end communicates with the backend, it is filled with all kinds of complexities. And those complexities really, you know, creep up and pretty much everywhere starting from now, how do you create your database schema? Meaning, you know, what is the structure of the data when it's stored in the database? How does the browser page or a screen on the mobile device communicate with the server to save that data in the database or run a query to retrieve that data from the database? How do you go about registering a user? How do you go about sending out an email or a push notification? How do you upload a file or you know, share that file with someone else. And those are very primitive tasks that still require quite a bit of thought. Because on top of this, you have to apply security and make sure that it's only the you know, the authenticated user who can perform those functions. And then if someone is not authenticated, there needs to be an air coming from the server. So there are a lot of different tasks that come in.
Traditionally, all those tasks had to be done by professional developers that really, you know, excel at what they do by making all of this happen.
And the task that we have put in front of us with backendless, is to simplify the whole process where all the same tasks would exist, but many of them would be solved by the platform itself out of the box. So for instance, if it is the process of registering the user, then the majority of the small checks that would need to have that would need to happen, would be done by the system, then, you know, just if we still stick to this kind of use case of registering a user, what are the individual things that one would have to program with? If it were not for backendless? Well, you have to check if the if it is a valid email address, or if the password, you know, has this certain criteria, like you know, minimum eight number eight characters, or you know, it has some kind of special character, you need to check if that user already exists. And if that user already exists, you need to check if that user perhaps is already you know, disabled, because they have they have demonstrated some malicious behavior. Or if that user doesn't exist, yes, you know, you need to make a record for that user and send that an email for confirming their email address. Or if you need to verify it with a phone number, send out a text message. And so all those things, there are additional complexities that happen, just with one task of registering the user. And that's a lot if you were to do it by yourself. But if you think about all those checks that need to happen, they could actually be provided by the system where you, as a developer who works with backendless, could actually guide the system and say, Well, this is important for me, you know, sending out an email is important from you send it out whenever they register, right, if it is not important for me, so I will just, you know, click a toggle and say don't send out an email. Or if they are coming real estate from certain geographic region you want, you want to handle it differently. So our goal is to still provide all the same things that would traditionally be happen and be implemented by developer, but they are provided by the system. And we provide a way for you to guide the system, how it should react, and what it should do. And as a result, the whole process of controlling what the application should do is controlled through a visual interface, where one does not need to know how to do all that programming, how to write all that code. And you can still achieve something that you know some of the more complex and advanced applications have, but you can accomplish it simply just by using the graphical interface in backendless. And then back when we started, there was no concept of no code or low code. Yet, you know, we kind of had this vision of just visual programming where you just guide the system through the visual interface, how to do this. And then the whole concept of no code came around and it fit rather nicely with what would the vision that we had and what we were doing so with us to answer your question
It is the process of just really, as going back to what I said earlier, is simplifying the overall process of building applications where the majority of the tasks that one would have to do would already be done and offered by the system out of the box.
Abdulaziz M Alhamdan 15:16
Thank you. I really, really love the full explanation. And I'm sure we spend time thinking about because there's something called the curse of knowledge, and how to communicate clearly. And simply. And since you mentioned, when you began the work on backendless, there was no concept of no code. Currently, no code is made more or targeted, or at least promoted to non technical people. So that they will be able to test their ideas to create an MVP to go to market faster and get the feedback that allows them to evolve. It's more about business, solving problems for customers go in micro niche, and all that. Well, one of the taglines for backendless is by developers for for developers. So one, how did the idea for back end? Let's begin? Did you begin it and targeted mostly ad developers? And are you interested in? Or do you have a segment in your in the market? Or anybody who is totally non tech expert, yet? They're using backendless to Greek to create their Mbps and do work, they wouldn't be able to do? Otherwise? What are your thoughts about this? Is this by developers for developers only? What is it more for saving time and no repetitive tasks? Or is there also a big or growing segment of non technical users who are using it for their own more modern thinking about no code, which is to create their MVP to create their side business where they help the world and all that.
Mark Piller 17:10
So when we started backendless, which was about 910 years ago, the vision, of course, was a complete system that you could develop the entire application within the platform itself. And the platform is accessible through the browsers, you basically build applications within the browser, knowing that any application would have the front end, and the back end, there was a not so much a dilemma. But the question, you know where to start, because you got to start somewhere. And one of the underlining not so much themes, but principles for the platform was providing scalability out of the box as a service. And what scalability is just for those who can have heard the term but do not quite understand it, it really manifests in two different factors. One of them is the volume of requests that your application is generating, and the server needs to handle. And those are directly proportional to the number of users that your application has, the more users you have, the more people who downloaded your app, or more people who log in to use your app. Anytime they're using the app, and they're going through the individual workflows that are provided by your application, requests are generated and sent to the server. And those requests could be pretty much anything, you know, saving a file, logging in requesting data from the database, saving data in the database, and so on. So clearly, the more users you have, the more API's or requests will be generated. Hence, if your application is becoming popular, and more and more people are jumping on it and downloading and using it, the more requests are going to be generated. And when that when that happens, the servers need to be ready for this. And when the server when they say servers need to be ready for for this, it's not necessarily a function of just throwing more servers like physical machines, because a lot of people try to solve this problem by saying, Oh, we're going to run in AWS, AWS, or Amazon has an infinite number of resources. So we can just solve this problem just by adding more computers, which is not necessarily the case in most of the cases. Because if your system was not designed to handle that volume, then adding more machines will not necessarily solve that problem. So and that's one thing, you know, volume of requests. And another factor is just the volume of data you may not have, you may not have that many users, but you could be accumulating just a huge number of records or data in your database or files. And as the number of as the size of your database grows, even with a finite number of users All requests may start getting slower and slower just because anytime you're retrieving data from the database, you have to go through millions of records. And that's also a problem with scalability. So when, when you had just a few lower, you know, low number of records in the database, things are fast, and it's just flying and everybody's happy. As the database is growing, things are slowing down, and then everybody's unhappy because they have to wait some time for the data to show up in the screen. And the scalability really lies in in the backend. And it's a really hard problem to solve. And I'm speaking from the experience here, traditionally, companies would would hire some very expensive engineers and architects and you know, buy some very expensive hardware in order to solve problems with scalability. And with us, within with an idea, and the goal to lower the bar. For anyone to be able to build an application and benefits from this infinite scalability, where you know, the application would run smoothly, whether you have one user or millions of users, we decided that we would start with the back end first. And for some time, our company was strictly in the backend space. In fact, the category in just the whole realm of applications was back end as a service. That's kind of where we were in. And by providing back end, our core audience were developers, developers who were writing code for Android for iOS for JavaScript, flutter dotnet, you name it, they were building apps with code and using backendless strictly as the back end. And that helped us tremendously to get to the point where we managed to just polish our system, figure out all the spots where we, you know, we're lacking that scalability, or we needed to improve it. And at some point we got, we got to the point where we felt quite comfortable with how the system would scale. By that time, we
had, you know, 1000s of developers building with backendless, we had number of installations of backendless, where the traffic was just huge, and those are still running. And including systems where you know, the entire bank or mobile banking would be using backendless for for the complete spread of all the features that the mobile banking application provides, dealing with, you know, millions of records in the database. And that at that time, when we got the confirmation that yes, backendless can scale, as good as we envisioned, then it was a good time to expand and start adding the UI development capability. And we expanded our team we started working on on the UI development technology that we call UI builder. And sometime later, we added that UI Builder into the backend of this platform. And at that point, we became this complete end to end visual application development platform. And at that time, we already have that user base and the customer base that were just developers. And that's still growing, the developers love us. But at that, but but but also we have expanded and made backendless accessible and available to really anyone who would want to build an application starting with a UI. And since the approach that we have for developing UIs is, is done in a way where one does not need to know a programming language that really lowered the bar to pretty much anyone who would want to create an app without knowing a programming language. However, and I believe that is true for the entire no code space. developing applications, even if you don't know a programming language, does not necessarily equate to knowing how to click certain you know how to fill out certain forms, in whatever the platform that you're using, and, you know, express conditions and provide an apply some logic, there is more knowledge that I believe would be required for anyone who decides to start building an application. For instance, the whole concept of data modeling, I believe, is an extremely important as a precursor for building an application that would have a higher chance of surviving in the modern space because the competition is everywhere. So being able to design your data model that truly reflects what's going on in the real world. Olten how entities relate to each other is a skill. It's not something that anyone can just sit down and do it. For some people, it is natural. For some people, it comes with experience. But for a good number of people, it is just not something that comes in naturally. Therefore, saying that no code is truly an absolutely for anyone. If you are a plumber today, and you decide to build a plumbing app, without knowing anything about data structures about you know, structuring your requests about how you know to create your API service is as simple as it is in backendless, you will be struggling, therefore, in where we are today, saying that the bar is so low, where you can just literally take anyone, and they will be able to build an app, that is not true knowledge, gaining some knowledge, as a prerequisite would be required, you know, you have to go through onboarding, you have to go some training, you have to go through some, you know, just information, educational information that is published, in order to start becoming more efficient for the platform. And that is true, not just for backendless, you can take any no code, or low, especially low code platform, because some code is involved. But you can take any no code platform. And I guarantee you that it would be you one would have to go through some basic training in order to get things done. And that training is not just for the platform, it's more of a computer science training.
For example, as I mentioned, you know, data modeling, how do you structure your database schema? How do you express relationships? How do you model just basic interactions between the system and the user? Those are the concepts that traditionally are taught in school, but these days, you one would be able to master it, not sell him last mastered. But you know, start getting that knowledge just from courses published on Udemy. And in some cases, YouTube and so on. So to answer your question, if backendless is for developers, by developers, that is true, but the whole concept of developer these days, has, has gotten to be a lot wider and bigger than it was before. So develop definitely a developer today is not just the person who has gone through, you know, and got their computer science degree. It could be someone that, you know, had nothing to do with computer science at school, but went through some training and understands some of the basic concepts that would exist in the whole computer science spectrum of Information Technology.
Abdulaziz M Alhamdan 27:53
Thank you. That's a very nuanced answer. And it's very satisfying. So I have to get your take on maybe some will say it's a paradigm. Others will say it's a myth. But there is a notion within the no code community that if you want to create a robust, and really, really, up to par software, you need to go full code, that you begin with no code for your MVP. If you need to scale, and you spoke about the problems of scalability, then you begin using local tools. And then when you're really serious and growing, you teach everything and you use 100% code, because low code and no code tools, apparently or in any other way will never be up to par compared to a coder or a programmer coding. What is your take on this?
Mark Piller 28:57
I would disagree with that statement. But I would be speaking strictly through the prism of backendless, like building an MVP and backendless and building a complete application in Canvas. And yes, within backendless itself, you can apply either one of these approaches, you can build your UI application with code or without code. So from the scalability perspective, I'd say 99% of the of the scalability issues that would need to be solved, they're going to be in the backend. And with backendless, most of those issues are solved by the platform, just the Platform Scales really, really well. For someone who doesn't really know what they're doing, let's say if they came up with a database schema that has, you know, just one database table that has like, you know, 300 columns. And for those who don't understand what I'm talking about, just picture, a Google sheet or an Excel A spreadsheet that has everything about your application in a single sheet, and you have 300 different columns that represent different types of just data that your application works with. How manageability is it's absolutely not manageable, how scalable will it be? It will not, because you will end up with, you know, huge datasets of, you know, millions of records, and running any kind of queries through that type of data structure, it will not perform very well. And that's a good example of when not understanding the, the effects of this kind of decision is, will be rather crucial for your application. But I'm kind of digressing. So as far as building a complete application without code, with the approach that we're taking an our approach, we call it codeless, which is a visual programming paradigm, where there is no programming language, there are visual blocks that represent various actions that represent variables, loops, Simon's conditions, you can express any logic, you can dream off through codeless. What happens underneath is for any kind of logic that you compose with codeless, some code is generated, the code is that is generated by using code lives, would be probably the best version of one can come up with. Just because the whole system is done in a way where we apply the best practices, we apply the best approaches for creating that code. Of course, the code will reflect the logic that you put in there. So if your logic is in the way, where you have a bunch of if, if then statements, and that's how you basically check, check your conditions, the resulting code will be of course, you know, just a bunch of if then statements in code, which I'm not a big fan of, but that's, that's a separate subject, you know, like, I come from the school of thought, where you know, every if and the code is generally not a good sign, there's got to be a way to do it, you know, through object oriented programming to avoid ifs, it's just, you know, the background that I had in before, long before I started working on backendless. But anyway, so the quality of code that would be created for you, by backendless, will be rather high out of the box, especially when you start using visual blocks that integrate front end with the back end, and there's a bunch of them for every single thing that backendless can do, there's going to be a visual block. So there will be a block for logging in the user and registering the user saving data in the database, retrieving data, creating relations, uploading a file, sending a push notification, you name it. So the quality of the code from the integration perspective is going to be very high. And not only not only that, there will be some additional error checking, and reporting errors, all of that is built in. As we see people building applications. And they're being published to App Stores, we see a number of apps in production, built without a single line of code 100% visual entirely with codeless, both UI and of course, the backend. And those applications are doing quite well, we see that there, the traction that they're getting is significant, in fact, of one application that is about to get launched sort of
an app, it's not so much a dating app, it's kind of a social connection app. And that one is is a very complex application, where one can find people to spend time with socialize, whatever, based on an activity, so for instance, you you're you like to play ping pong, but you don't have anyone to play with. So you publish an activity and say, Hey, I would like to play ping pong. Anyone who's interested, I'm going to be you know, it's going to be next Saturday, at Dallas ping pong clap club. And people started applying and then that's how connections are formed. But it can be anything, you know, going to a concert or just meeting someone for coffee or whatever. So you can find, you know, could be used for dating, for instance. So very complex application that we'll be launching from what I know in about a month in the app stores, a ton of screens, a ton of different workflows, you can search those activities, you can search profiles, and all of it is done without a single line of code. It is absolutely incredible what what those guys did. But that's just not enough. Not the only example. There are others. You know, we see applications in the logistics industry where shipments are being tracked global shipments, and that app is also written in UI build without any, any any coding or visual, and it is being used in production. So the whole notion that you start MVP, and you do it without code, but then in order for you to kind of get to the next level and launch in production, it has to be done with code, I believe is wrong, so long that you use the right tools, there are tools out there that make it very easy to build an MVP. In fact, they're pride themselves with providing a way to build MVP as quickly. But they're just known that they're not very good at scaling. So we apply some kind of pressure in this, you put more users to it, your database grows and the application is, is not performing so well. Not with backendless. You know, we provide basically a guarantee that your app will work just as good whether you have one user or millions of users.
Abdulaziz M Alhamdan 35:52
I like this very much. And I understand and see the uniqueness of backendless. So to finish, if people want to learn more about backendless, what's the best source or place for them to go as well as, what do you have in store for the future? When it comes to back end lists? What kinds of customer feedback? And yes, you've been doing it for nine or 10 years? So you're already evolved and iterated a lot? What's currently in the row on the roadmap and the works? Let us know. And how can people go to begin using backendless. And benefit.
Mark Piller 36:35
Getting Started with backendless is actually very easy. So there is a system that is built into the platform itself to help people becoming more familiar with the platform, it is a gamified process that we called, that we call missions, the way it works is your register is developed on backendless.com, you register, you get a 30 day free trial. It's not limited, the free element is not limited to 30 days, I will describe in more detail now. But during these 30 days, you go into the section called missions. And the way it works is if for anyone who ever played civilization, which is kind of an old game that I used to play when I was a kid, and with civilization, you go through and you start to start like with prehistoric times. And you go through various tasks on you discover iron, and you discover just various things that you know, humanity discovered and used to kind of start progressing and building out your empire. So with missions used to basically have a similar map, as it is it exists in the civilization game where you are given a task. And there is a video and instructions that demonstrate how to use this task. And those tasks are core to developing with backendless. And the tasks could be creating a database table, declaring the column the registering the user importing users making an API call, uploading a file, creating a directory, so just some elementary steps. And by going through those tasks, you complete missions, as you complete missions, you get the word of badges, and you get some experience points and you get some some of our internal currency that is called backendless bucks. And one of the milestones in missions is, is called unlock free plans. So we do have a plan that is free, there is no ongoing subscription charges, it is completely free. It's great for development cannot really be used for production, but it's great for development. So once you've unlocked that Springboard plan, then when your trial is over, you just switch to the free fruit that free plan, you can continue your development but with missions, it will give you a very good idea about various parts of the platform where you started, where you will have hands on experience, how to use it. So that will be like the foundational knowledge that one would need. Once you go through that. And by the way, as far as the whole missions, we have seen people going through like the entire mission system, and it consists of about, I'd say maybe 80 different tasks organized into a specific mission. We have seen people going through that than just maybe two days. And by the way, when you get to the very end of it, you actually awarded the free T shirts, so you will contact us and we'll send out a branded t shirt with your name on it if you'd like it will be mailed to you at no charge. Anyway once you go through all that if you would like to explore backendless further and start learning more and more and more. When you go to our YouTube channel which is youtube.com/backendless and go to the playlists you will We'll see various courses that we publish, then there is a course on just codeless programming, there is a course on user management, there is a course on UI builder. And then all the videos and each individual course are done in the way where you know, the more, the further you go, the more you learn. And they're like the, the concepts in the subsequent lesson are based on everything that you have learned so far. So it is kind of in a progressive way.
And that would be the probably the best way to start continue learning your system. On top of this, whenever you create a new application and backendless, you can start either with just completely clean slate, like empty database, no files, no UI is nothing. So you're just like just blank canvas. Or you can start with an application that is ready to go from our marketplace, all of them are free. And those applications are complete apps that are built with backendless in our UI builder that accomplish something useful. So there is an app for like a listing directory where you know, you can just you know, sell stuff in different categories and list them and provide searches on based on geography. There is an app for small business with a booking, let's say for you know, just whoever, you know, like doctor appointments, or plumbers, or any type of business where there is a concept of booking through a calendar, and that one implements the whole system of handling those bookings, both from the admin point of view, and from the customer point of view. So there is a number of those apps. And when you create an app using one of those templates, you basically get an exact replica of that app now in your account. So you can go and see how the database is structured, there will be some sample data, you can see how the UIs are structured, how they're styled, applying CSS, and so on. So those are ways that I envision and then that's how it actually how people end users go about learning the system is just starting with one of those as a second step. First, I would recommend still missions and YouTube. But then subsequently, you create an app from a blueprint and analyze it and run it and just see how things work.
Abdulaziz M Alhamdan 42:19
Thank you, Mark. This was enlightening, enriching, and such a valuable time. And I'll make sure to write the link to the website for back end lesson, the description. Thank you for what you're doing. I encourage you to keep going. And I wish you a productive, peaceful and valuable day. Thank you.
Mark Piller 42:44
As he said, It's been a pleasure. Thank you very much for hosting me on your podcast. I hope the information that I have shared will be helpful for for your audience. And I'll be I'll be more than happy to come back whenever whenever it's gonna be the right time, just to share more knowledge that I that I that I might might might have. Thank you again.
Abdulaziz M Alhamdan 43:09
You're welcome.