Manche kennen No-Code unter den Begriffen Low-Code als auch Rapid Application Development. Im Jahr 2015 gründete ich mit zwei anderen Partnern eine Firma, um eine No-Code Plattform zu entwickeln. Aus diesem Grund beschäftige ich mich privat als auch beruflich mit dem Thema. Die No-Code Bewegung hat nun auch die Blockchain-Welt erreicht. Aber was ist No-Code eigentlich?
Als Ed Fries Microsoft Excel mitentwickelte (ich hatte das Vergnügen ihn im November 2012 auf einer Konferenz in Saigon zu treffen! Wusstest du, dass er auch an der Xbox mitentwickelte?), ebnete dies einen neuen Pfad in der Computeranwender-Welt. Warum? Mathematiker und Buchhalter bekamen Muffensausen. Es gab diese neue Software. Eine Software, die jedem Mitarbeiter in einer Organisation (und auch privat) befähigt komplexere Rechenaufgaben selbst vorzunehmen. Zu diesem Zeitpunkt war das von Rechen-Experten nicht vorstellbar!
Schaue dir an wo wir heute nach 33 Jahren seit der Einführung von Microsoft Excel stehen. Jeder hat ein Werkzeug in der Hand, um eine Pivot-Tabelle zu erstellen oder einen Median zu ermitteln, nur um ein paar Excel-Funktionen zu nennen.
Internet ist nur ein Hype!
Bill Gates, 1993
Am Beispiel von Microsoft Excel möchte ich dir zeigen, dass wir Innovationen nicht einschätzen können. Nicht mit unserem aktuellem Verständnis und Wissen. Oft sind es sogar Experten, die total daneben liegen und Innovationen falsch einschätzen. Nicht nur im Falle von Microsoft Excel, sondern sogar dem Internet, wie das Zitat von Bill Gates dir zeigt. Trifft das auch auf No-Code zu?
Der No-Code Trend: Warum brauchen wir Low-/No-Code Platformen?
Es gibt verschiedene Gründe, warum No-Code Lösungen mehr und mehr gefragt sind. Nachfolgend zeige ich dir die vier wichtigsten Gründe auf.
1. Smart Contract Sicherheit und Qualität erhöhen
Softwareentwicklung ist niemals frei von Fehlern. Erst letzte Woche haben wir am Beispiel von Yam Finance gesehen, dass eine Zeile-Code einen Verlust von ca. 750.000 USD ausmachen kann. Über weitere Smart Contract Bugs erfährst du auch in unserem DeFi Hacks Video.
Egal, ob erfahrener Entwickler oder Neuling, am Ende sitzt ein Mensch vor dem Computer und dieser wird Bugs produzieren. Als selbstständiger Softwareentwickler kann ich da aus Erfahrung sprechen ;).
Wir befinden uns immer noch in einer frühen Phase der Blockchain-Technologie. Ethereum & Co. entwickeln sich weiter, so auch die Smart Contract Programmiersprachen wie Solidity. Aus diesem Grund haben sich über die Zeit Tools wie OpenZeppelin entwickelt. OpenZeppelin hat sich das Ziel gesetzt Smart Contract Entwicklung sicherer und einfacher zu machen. Unter anderem bietet OpenZeppelin Code Audits an.
OpenZeppelin Contracts helps you minimize risk by using battle-tested libraries of smart contracts for Ethereum and other blockchains. It includes the most used implementations of ERC standards.
https://openzeppelin.com/contracts/
Was hat das mit No-Code zu tun? Ähnlich wie bei OpenZeppelin, greifen No-Code Plattformen auf bewährte Code-Vorlagen oder Programmier-Bibliotheken zu, die getestet wurden und bereits produktiv im Einsatz sind. Neben den Vorlagen, bieten No-Code Lösungen eine Benutzeroberfläche an. Mit dieser Benutzeroberfläche lassen sich Geschäftsprozesse und Logiken visuell erstellen und konfigurieren. Im Hintergrund wird automatisch Quellcode generiert. Die automatisierte Quellcode-Generierung stellt sicher, dass der generierte Smart Contract „immer“ der gleichen Logik entspricht. Die Konsequenz: die Wahrscheinlichkeit, dass ungewünschte Bugs auftreten, wird minimiert. Die Sicherheit und Qualität einer Applikation wird somit erhöht.
2. Umsetzungszeiten beschleunigen und Time-to-Market reduzieren
No-Code Plattformen nutzen Vorlagen, um Quellcode zu generieren. Das haben wir im ersten Punkt soweit verstanden. Neben dieser Erleichterung und somit Zeiteinsparung bieten No-Code Lösung weiter Vorteile an. In der traditionellen Softwareentwicklung gibt es manuelle Arbeiten wie Code-Reviews, Pair Programming, verschiedene Testschritte, lokale Entwicklung, Testumgebung, Deployment etc. Viele dieser händischen Schritte fallen mit No-Code Lösungen weg. Der „No-Code Entwickler“ konzentriert sich voll auf die Geschäftslogik und das Design der Benutzeroberfläche, sodass die Umsetzungszeit erheblich reduziert werden kann.
Sowohl in der Enterprise-Welt als auch in der Startup-Welt spielt der Time-to-Market eine wichtige Rolle. Sind meine Annahmen über den Markt und Zielgruppe richtig? Wie schnell kann ich diese Annahmen validieren, um das Risiko in die Produktentwicklung, in unserem Fall einer Blockchain-Lösung, einer Fehlentwicklung zu minimieren? Mit Fehlentwicklung meine ich im Sinne von „nicht der Zielgruppe entsprechende Lösung“.
Ein weitere Faktor wie Cost of delay solltest du dir auch anschauen und eventuell berücksichtigen. Hat die Blockchain-Lösung einen relevanten Einfluss auf Umsatz oder Kosten? Wie hoch sind diese Kosten, wenn du ein Produkt zu spät einführst? Aus diesem Grund ist die Umsetzungszeit ein wichtiger Faktor und daher bei allen No-Code Anbietern ein Verkaufsargument.
3. Mangel an Blockchain-/Softwareentwicklern
Der Drang nach mehr Digitalisierung schiebt mehr und mehr Softwareprojekte in die Entwicklergemeinde. Daher suchen Unternehmen händeringend nach Softwareentwicklern.
In meinen vergangenen Blogposts habe ich oft erwähnt, dass die Distributed Ledger Technologien noch sehr jung sind. Zudem ist das Setup von der Umsetzung bis zur Einführung einer Blockchain-Lösung komplexer. Hier gehe ich bei dem Vergleich von einer einfachen zentralistischen Web-Applikation mit Frontend, Backend und einer Datenbankanbindung aus, die zusätzliches Timestamping von gewissen Daten vornimmt. Sei es ein Konsortium- oder ein Public Blockchainnetwerk. Das Zusammenspiel von verteilten Systemen, (Daten)Sicherheit und weitere Komponenten erhöhen die Komplexität in der Entwicklung als auch Instandhaltung solcher IT-Lösungen.
Diese Komplexität lässt sich nur durch theoretisches und vor allem praktisches Wissen überblicken. Die passenden Softwareentwickler mit diesen Eigenschaften in der Blockchain-Industrie zu finden, schmälert zusätzlich die Mitarbeiterauswahl aus dem Entwickler-Markt. No-Code Plattformen ermöglichen bestehende Softwareentwickler als auch technik-affine Personen einen einfacheren Einstieg in die Entwicklung von DLT/Blockchain-Lösungen.
4. Demokratisierung von Softwareherstellung
Bei No-Code rebelliert die traditionelle Softwareentwicklung. Warum?
Es richtet sich an Menschen mit Macherinstinkt, die gerne selbst Hand anlegen möchten. No-Code Plattformen befähigen diese Menschen einfach „Dinge“ zu kreieren. Ohne Umweg über die IT-Abteilung oder einem externen Dienstleister.
Nehmen wir wieder das Beispiel von Microsoft Excel. Aus meiner Erfahrung findest du in jeder Organisation einen Excel-Profi bzw. jemanden der sich in die Materie hinein kniet, um Macros, S-Verweise, Pivot-Tabellen etc. zu meistern. Mit dem Ziel seine eigenen Probleme oder oft auch Probleme seiner Kollegen/Kolleginnen in einer Tabelle zu lösen, die mit standardisierten IT-Lösungen nicht möglich sind.
In der No-Code Industrie sprechen wir auch vom sogenannten Citizen Developer. Ein Unternehmen kann seinen Mitarbeitern die Freiheit geben, eigene Lösungen zu einem Problem umzusetzen. Was bisher in Wissens-Silos von Softwareentwicklern verankert war, ist nun durch Nicht-Entwickler zugänglich.
Im Mittelalter konnte nicht jeder Latein lesen. Nachdem die Bibel in die eigene Landessprache übersetzt wurde, der Buchdruck Wissen schnell vervielfältigte, begann die Demokratisierung des Wissens. Und was ist das Ergebnis nach über 500 Jahren? Die Antwort kannst du dir selbst geben. Stell dir nun vor, jeder Mensch könnte Software herstellen. No-Code ist nur der erste Schritt.
Blockchain No-Code und Low-Code Anbieter
Nachfolgend stelle ich dir kurz drei No-Code/Low-Code Lösungen von verschiedenen Anbietern vor.
SettleMint – Rapid Blockchain Entwicklung und Deployment
SettleMint bietet eine Low-Code Plattform an. Der Hauptsitz liegt in Belgien. Die meisten Vorteile einer No-Code Plattform gelten auch für diesen Low-Code Anbieter.
Ein Unterschied liegt hier in der Nutzerzielgruppe. Programmiert muss weiterhin manuell. SettleMint bietet Code-Vorlagen für verschiedene Business-Use Cases an wie zum Beispiel Supply Chain, Digital Assets, Tokenisierung. Der Nutzer kann sich voll auf die Programmierlogik konzentrieren, die restlichen Features wie Konsortium-Netzwerke erweitern, Onboarding von neuen Konsortium-Mitgliedern und Deployment auf verschiedene Cloud-Anbieter (Multi-Cloud) sind automatisiert.
Die Low-Code Plattform SettleMint unterstützt aktuelle Ethereum Enterprise, Corda und Hyperledger Besu. Weiter Blockchain-Systeme wie Hyperledger Fabric und Quorum sollen bald angeboten werden.
Das Geschäftsmodell entspricht gängigen Software-as-a-Service bzw. Platform-as-a-Service Anbietern. Abgerechnet wird nach Ressourcenverbrauch und individuellem Angebot. Je nach ausgewähltem Produktpaket.
Übrigens SettleMint wird sich am 1. September 2020 bei unserem Meetup vorstellen, inklusive Demo. Registriere dich und wir sehen die SettleMint-Plattform in Aktion und können den Jungs ein paar kritische Fragen stellen!
Unibright Framework – Workflow Designer und Blockchain Integration
Das Unibright Framework fällt unter die No-Code Kategorie. Mit dem Workflow Designer, Smart Contract Life Cycle Manager, eigenem Blockchain Explorer und Connectoren lassen sich bestehende IT-Systeme in der Enterprise-Welt mit der Blockchain-Welt verschmelzen. Das Unibright Framework bietet zudem verschiedene Vorlagen (Rechnungsfreigabe, Versicherungsfall-Meldung, Freigaben, Versand-Tracking) an, um mit Workflows und Integrationen zu starten.
Um das Unibright Framework nutzen zu können, brauchen Kunden der Plattform den UBT Token. Mit diesem Utility Token können unter anderem Smart Contracts deployed werden. Weitere Features, die mit dem UBT Token genutzt werden können, findest du auf der Website. Wichtig ist zu wissen, dass die Tokens vorher in der Plattform „gebucht“ werden müssen, um das Framework nutzen zu können.
Neben dem Unibright Framework bietet das Unternehmen noch weitere Dienstleistungen an. Ich gehe davon aus, dass gewissen Kunden nicht immer den Token kaufen wollen, um diese Dienstleistungen zu erhalten.
Wusstet du, dass das Unibright Team aus Bingen am Rhein stammt? Ist gleich bei mir um die Ecke.
EtherScript – Smart Contract Generator
Ich versuchte den Ersteller von EtherScript ausfindig zu machen. Auf der Website ist leider nichts weiteres als ein visionärer Text über Ethereum hinterlegt. Weder einen Organisationsnamen noch Vor- oder Nachnamen sind zu finden. Bei meinen Recherchen ist ein Nickname Mode80 aufgetaucht. Im Mai 2014 ist der Nickname auf einem Meetup in Denver gefallen. Mode80 ist auch auf github, ycombinator und reddit zu finden. Auch ein TouTube Kanal mit drei Etherscript Demo-Videos konnte ich finden. Ob jedoch der Erfinder dahinter steht, ist unklar. Hier tappe ich noch im Dunkeln. Mal sehen, evtl. machen wir ihn noch ausfindig.
EtherScript nutzt die JavaScript-Programmierbibliothek Blockly von Google. Blockly stellt Puzzlestücke im Browser dar, die du ineinander legen kannst. Wie ein Puzzle kannst du Bausteine zusammen stecken, so dass nur bestimmte Enden passen. Im Hintergrund generiert die Bibliothek Quellcode.
Statt Javascript, PHP, Lua, Dart oder Python generiert EtherScript Serpent (eine Assembly Programmiersprache), XML oder LLL (Low-level Lisp-like Language), welches in Ethereum Virtual Machine (EVM) Opcode kompiliert wird.
In die technische Tiefe möchte ich hier nicht weiter eingehen, warum LLL genutzt wurde und nicht Solidity.
Falls du mehr über die Entstehungsgeschichte von EtherScript wissen wilst, in einem Ethereum Forum hat Mode80 Etherscript vorgestellt, um Feedback von der Ethereum Community einzuholen. EtherScript kannst du hier im Demo-Video in Aktion sehen.
Neben den drei genannten Blockchain No-Code/Low-Code Werkzeugen, entdeckte ich Sparkster oder Smart Studio. Leider habe ich keine Demo-Videos gesehen und gehe davon aus, dass diese noch in einer frühen Phase stecken. Aus diesem Grund gibt es hier von mir auch keine weiteren Details zu den zwei Blockchain No-Code Lösungen.
Wie sieht die Zukunft von Blockchain No-Code Plattformen aus?
Ich höre jetzt schon die Stimmen aus dem Lager der dezentralen Ecke. Wem gehört der Private Key? No-Code Plattformen sind doch voll zentralistisch!? Was wäre wenn …? Und und und.
Besonders in der Blockchain-Industrie gilt das Motto „Vertrauen ist gut, Kontrolle ist besser“. No-Code Plattformen müssen ermöglichen den Smart Contract in einer Umgebung zu testen und zu validieren. Eine Installation auf einem (Ethereum)-Testnetzwerk muss möglich sein. Der generierte Smart Contract muss einsehbar sein vor und nach der Installation. Eine Blackbox, die Werte transferiert, brauchen wir nicht.
Am Ende ist es der Entwicklergemeinde und den Unternehmern überlassen, die Softwareentwicklung im Blockchain-Bereich weiter zu revolutionieren und zu evolvieren. In einer dezentraleren No-Code-Welt, stelle ich mir das OpenZeppelin Framework vor, das eine einfache Benutzeroberfläche für Drag & Drop erhält. Nennen wir es NoContractCode.
Logiken und Architektur entsprechen einer zentralistischen No-Code Plattform, mit dem Unterschied, dass der Quellcode der Architektur als Open-Source Projekt veröffentlicht wird. Zudem muss NoContractCode lokal auf meinem Rechner installiert werden können oder auf meinem eigenen Server laufen. Als Feature sehe ich eine Kombination aus dem Unibright Workflow Designer, EtherScript und dem SettleMint Multi-Chain/Multi-Cloud Deployment. Eine Art Camunda BPM für Blockchain, jedoch noch offener und Community getriebener. Vielleicht arbeitet schon jemand an NoContractCode? Es bleibt spannend! Das sehen ich aktuell an den Experimenten von OpenAI GPT-3. Seht selbst was jetzt mit Natural Language Processing kombiniert mit Machine Learning möglich ist. Beschreibe die Software, die du möchtest in deiner Muttersprache und los gehts? Siehe selbst:
Here’s a sentence describing what Google’s home page should look and here’s GPT-3 generating the code for it nearly perfectly. pic.twitter.com/m49hoKiEpR
— Sharif Shameem (@sharifshameem) July 15, 2020
I built a todo list app simply by describing it to GPT-3.
— Sharif Shameem (@sharifshameem) July 18, 2020
It generated the React code for a fully functioning app within seconds.
I’m becoming more impressed and aware of its capabilities every single day. pic.twitter.com/QGrClar03s
This is mind blowing.
— Sharif Shameem (@sharifshameem) July 13, 2020
With GPT-3, I built a layout generator where you just describe any layout you want, and it generates the JSX code for you.
W H A T pic.twitter.com/w8JkrZO4lk
Wer weiß, vielleicht wird unsere Muttersprache eines Tages die Programmiersprache für Blockchain-/Softwarelösungen. 😉 Dann sind wir wahrhaftig bei „No-Code“ gelandet. Dieses mal ist es kein Martin Luther der eine Fremdsprache in die Muttersprache übersetzt, sondern ein Computer.