“A Fool With A Tool Is Still A Fool”, The myth of building (D)APPS with Low-/No- code. Part 1

in #blockchain6 years ago (edited)

The blockchain space is a tech world and is full of unsubstantiated claims. From “the looks of it” or even from a business perspective projects may be promising great solutions, but I urge you to also search for reviewers and or connections that have a tech background and that verify or falsify and explain these claims before you put your trust and your money in it. One of those area’s is Low-/No- code for building DAPPS. There is a lot of hype building up around these platforms. They get excellent ratings and are supported by famous youtubers, but is this justified?

Source low code final.png

In part 1 I will dig in to the claims of those platforms by describing findings from various sources and myself.
In part 2 I will elaborate further on what it takes to be able to develop (d)apps and the technical limitations of Low-/No- code platforms that need to be kept in mind doing so.

Is this new?

The blockchain projects building their platforms for Low-/No- code DAPPS Programming want to give you the impression that they are revolutionary and unique. But nothing is more besides the truth than that. The Low-/No- code development platform market can be traced back to 2011 and is rooted in fourth-generation programming language (4GL) and rapid application development tools of the 1990s and early 2000s. 4GL didn’t deliver on the promises, primarily because the variety of software uses was so vast it was taking longer to create the 4GL components needed than it was to just create the platforms using 3GL. Similar to these predecessor development environments, Low-No- code platforms are based on the principles of model-driven design, automatic code generation, and visual programming. Low-/No- code platforms however come in all sorts of shapes and sizes. The research and advisory firm Forrester distinguishes 5 categories.

Forrester LC categories.png

On the lower left side are tools that allow you to set up applications for smaller departments and databases. These small-scale apps have little impact and often moderate security. On the other side of this spectrum are platforms that allow you to do everything from complete mobile applications, through Web applications to critical core systems running the whole business. These applications can have a lot of impact and allow you to transform the whole business.
Some Low-/No- code platform examples are OutSystems (founded in 2001), Mendix (founded 2005) and Codeless (founded 1999). But there is a lot more. Microsoft PowerApps, Appian Quick Apps, Google App Maker, the list is extensive and most of them if not all are entering the blockchain space. Examples: Building a blockchain enabled app in OutSystems, Mendix Built an IoT Application in 10 Days Using Watson IoT and IBM Blockchain.

Now look at the Sparkster Platform for building apps and look at MIT App Inventor (which is completely free). Makes you wonder right?
Sparkster and App Inventor.png
Parts of the development of App Inventor can be traced back to a project in the 1980s. Today it is a project of the Massachusetts Institute of Technology originally started by Google. To apply App Inventor to blockchain and smart contracts sure needs development but does it take $30 million that was raised by Sparkster?

The Crowd Machine (founded in 2017) platform is based on technology from Metavine (founded in 2013) and founder and CEO of both is Craig Sproule.
Crowd Machine and Metavine.png
Would Crowd Machine really need $50,000,000 (pre-ico hardcap) for adding blockchain to the platform of Metavine? Crowd Machine has removed the hard cap and allowed the market to determine the cap but still managed to raise $23,605,727.

No need to code?

The funny thing is that Low-code platforms get their name from the fact that they can (and often need to) be extended by coding and therefore coding skills are needed eventually. In some cases, this coding may involve simply enhancing a form with JavaScript. In others, it might involve writing custom algorithms or even building integrations that are not supported by the platform out of the box. What it boils down to is this: a “no code” system would, in essence, be a system that couldn’t be extended by coding, and, in today’s rapidly evolving IT environment, lack of extensibility is generally considered a liability, not an asset.

The promise of Low-/No- code platforms

The promise in general of all Low-/No- code offerings is powerful visual app creation for both citizen developers (end users) and professional engineering and IT departments. The Low-/No- code blockchain platform focuses on citizen developers.

  • Short time-to-market and low investment due to 2 to 5 times faster development
  • Low project risk due to availability of a large number of standard functionalities and features.
  • Continuity in knowledge and skills due to the model driven approach no need for have in-depth knowledge and experience with IT programming languages
  • Integrated Application Lifecycle Management (IALM)
  • Hybrid development of applications

The reality

Are Low-/No- code solutions the right way forward or just another 4GL craze that can never deliver on the afore mentioned promises made? Looking at the suggested advantages mentioned above the only relevant real ones are rapid development, low risk/investment and continuity in knowledge because the others are equally covered when using other methods.

  • Speed – Time to market
    The Low-/No- code platforms tend to let you believe that gaining speed in development is massive over other technologies and development methods. But the fact is that is largely overstated. With Software development methods such as SCRUM (based on Agile) the process is fast. Many COTS applications can quickly be configured per business domain/industry with specific templates.
  • Low Project risk and investment due to availability of standards and features
    This is certainly not the realm of Low-/No- code platforms. For all common languages like Python, PHP, .Net, Ruby, Node and many more there are package managers and extensive repositories with standard functionalities and features. COTS applications expand their templates continuously with new inflowing relevant automated user tasks and functions.
  • Continuity in knowledge and skills
    This is the most appealing claim promising that anybody can build anything (in plain English) due to a model driven and visual drag and drop approach and therefore no development skill are required. The Low-/No-code platforms all use a model driven approach (recurring design patterns in the application domain) but that is also widely used with other software development technologies. With frameworks (templates or design patterns and relevant reusable software components) and standard architectures for specific use cases building a simple app by an end user is possible and fast. The question remains if this results in enough quality.
    Tools and fools kl.png
    Graphical interfaces make it very easy for anyone to make changes to screen layouts on a “WYSIWYG” basis meaning that almost anyone can be shown how to use some of the more advanced low-code development platform capabilities. The problem is that we all have an opinion of what an excellent user experience should look like (whether we are an expert or not), based on our own interpretations. These two factors lead to the inevitable result that, even if you started out with high quality, effortless to use and engaging user journeys for your (d)app users it won’t take long for these to be broken by Low-/No- code platform users who just don’t have the expert training and experience in this line of work to maintain the quality. The learning curve of using tools not to use the tool itself but is gathering domain knowledge and to learn to define and logically model the processes that you want to be automated or supported by software. The more platform capabilities the greater the risk.
    To quote Forrester: “Feature richness for pro developers creates complexity challenges for people without development skills and backgrounds. Among citizen developers, business developers and power users will be overwhelmed by low-code platforms for Application Development & Delivery”.

The narrative of the Low-/No- code blockchain platforms focusing on end users with no IT skills enabling them to build anything they want tends to imply that there are no IT or other skills needed at all. But the fact is that when it’s going to be a little more complex, several complementary skills including IT-skills are needed and the platforms needs to deliver functionality for them too. One thing that a IT development function will bring to the operation is consistency in design and quality (even if it takes a little longer to deliver). Removing this often-hidden benefit creates an exposure to fractured implementation cycles and inconsistent quality. Low-/No- code development platforms lead to ad-hoc change and release cycles, which will inevitably lead to a lower overall quality.

In part 2 I will elaborate further on what it takes to be able to develop quality (d)apps and the technical limitations of with Low-/No- code platforms that needs to be kept in mind doing so.

Stay tuned!

Sources:
https://sparkster.me/
https://appinventor.pevest.com/?p=192
https://www.crowdmachine.com/
https://www.metavine.com/
http://agilepoint.com/low-code-mythology-forresters-big-three/
https://computerworld.nl/development/96159-wat-zijn-low-code-platformen
https://en.wikipedia.org/wiki/Low-code_development_platforms
https://www.techopedia.com/definition/30968/citizen-developer
https://www.phact.nl/documents/forrester-low-code-and-mobile-low-code-wave-report-q1-2017.pdf https://app.cdn.lookbookhq.com/lbhq-production/10213/content/original/dbf8fd0a-b4c8-4b99-88e7-f033f99f6586/Customers_Illuminate_The_Benefts_and_Challenges_of_Low-Code_Dev_Platforms.pdf
http://partnersinexcellenceblog.com/if-a-fool-with-a-tool-is-still-a-fool-why-do-we-keep-giving-them-tools/
https://hosteddocs.emediausa.com/new-forrester-lowcode-development-wave-report-2017.pdf
https://www.pcmag.com/roundup/353252/the-best-low-code-development-platforms?
https://codeless.com/blog/2017/05/29/5-beloftes-low-code-platforms/
https://www.intelligentenvironments.com/the-pitfalls-of-adopting-a-low-code-development-platform-part-1/
https://www.linkedin.com/pulse/pitfalls-adopting-low-code-development-platform-part-2-kevin-phillips/
https://medium.com/back-to-the-napkin/the-risks-of-low-code-for-digital-transformation-f7a4981c9f38
https://www.linkedin.com/pulse/building-blockchain-enabled-app-outsystems-rui-barbosa/
https://ao.gl/approaches-to-software-reuse/
https://en.wikipedia.org/wiki/Scrum_(software_development)
https://en.wikipedia.org/wiki/Model-driven_engineering
http://www.bmc.com/blogs/n-tier-architecture-tier-2-tier-3-and-multi-tier-explained/
https://smarticoinvestor.com/sparkster/

Sort:  

Hi and thanks!
You have received an upvote (from @rycharde) and a resteem (from @accelerator) as part of the new MAP Trail initiative to support curated content.
You can see your entry here and the curator who promoted your post.
All of this is free and part of MAP's mission to support quality content creators by supporting curators.
You may help support the MAP Trail by either upvoting, resteeming or delegating to @accelerator...
... or just upvoting this comment :-)

I love the insight here. Can't wait to read the next part of this series 👀

Thanks! I plan to post Part 2 in about 2 weeks.