What matters the most in your app:

That it uses the most powerful technologies, or that it solves your target audience’s problem?

I am a software developer. Mobile developer to be precise. When I started, years ago, the only way to create mobile apps was by using native development. Therefore, I had to learn the programming language and software development kit for each operational system I intended to build an app for – Android and iOS.

After some time, cross-platform alternatives began to pop up, allowing us to develop apps to multiple operational systems using a single programming language and software development kit. By using this alternative we could cut development time by half, pretty much.

However, when I went on to test some of these alternatives, I realized their performance didn’t match the performance of native apps. For example, lists didn’t scroll smoothly, touch on buttons took a while to register, among other issues. That was enough for me to ditch the cross-platform alternatives back then.

“Why would I use these alternatives if I can develop native apps that are a lot better?”.

But, after a while, I noticed these cross-platform alternatives gaining traction in the market. More and more companies were adopting some of them to develop their apps.

It kinda made sense to me, because companies could spend a lot less money with developers just by using a cross platform development technology. I mean, previously they had to hire at least two teams, one to develop their Android app, and another one to develop their iOS app. Financially it made sense, but I still thought the end users of those cross-platform apps wouldn’t get the best experience they could have. I thought that, sooner or later, these companies would have to develop native apps because users would just complain in the Google and Apple stores reviews, and the issue would be translated into low app ratings and low user retention.

I wasn’t satisfied though. Wouldn’t companies have realized this already?

“I must be missing something”.

So I decided to analyze some apps developed using one of these cross-platform solutions: Ionic. Found a list of the top 5 Ionic apps and downloaded them.

Their performance really wasn’t that great, they had the issues I described before (laggy lists, delayed button presses, etc). But there was something that surprised me. Those apps’ ratings were really high! 4.5 or higher. All of them also had so much more positive reviews than negative ones. Users loved those apps, despite their non-native performance and feel.

So, it was clear to me that people don’t care about the technology we are using, they don’t even care if the app has the best performance; what really matters to people is that the app solves the problem it tries to solve. Of course, there are some users who demand the best, fluid, native like performance, and there were some reviews reflecting this, but most of them seemed to not care about it at all.

As time went by, cross-platform technologies improved. What could only be done with native development, now can be done with Ionic, React Native, Flutter, and others, with pretty much native performance.

Now, there’s a new technology on the market, a technology that is in the sort of early stage cross-platform development was back then. It’s a technology that doesn’t build apps with great performance yet, that doesn’t build apps with amazing animations and incredible custom UI. However, it’s a technology capable of delivering, in a matter of weeks, apps for multiple operational systems – Android, iOS, web – without the need of coding them.

It’s called no-code. That’s right, no more programming language knowledge required, because you interact with a visual interface, dragging and dropping components in the editor to build your own app.

“Oh, but it must have limitations, must be laggy, and probably generates apps with bad performance”.

Yes, I had that thought when I first saw it, but I soon realized that I was having the same mentality I had when those cross-platform solutions emerged. Don’t forget, end users don’t care about the technologies we use, end users care about solving their problem with our app.

Obviously, traditional software development, with code, with programming, is a lot more powerful, has less limitations and better performance; but, in most cases, it’s far more important to release your app as soon as possible and test your idea in the real world, gather feedback from real users, within as little time as possible and with a lesser cost of development.

That’s lean startup.

So, no-code opens up numerous opportunities for people that have no programming knowledge, because now almost anyone can use this technology to build apps and test an idea in the real world, with real apps – not just questionnaires, wire-frames, or animated designs – without having to learn how to code.

Now, just to be clear, it doesn’t mean that no-code is the best solution for everything, but it can get you pretty far. And this is how a non-technical person can create an app.

May 12, 2021

How can a Non-Technical person create an app?