Your Children Are Coding The Future While You Work.
The rise of no code development platforms have enabled our younger generations to develop software.
Photo by Artur Shamsutdinov on Unsplash
The last decade of technology has brought to bear a variety of technology products and services that overall aim to reduce the requirement for specialized expertise such as infrastructure management or software development.
Cloud computing deployment models such as Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (SaaS), Software-as-a-Service (SaaS), all provide various degrees of abstraction away from core components that would otherwise require an expert to deploy and operate.
Specific platform offerings to include traditional business application platforms, low code, and no code platforms have continued to arm non-programmers with the ability to create applications. Speed to market, automation, and ease of use has increased with each of these technological developments.
The infrastructure tier. A key method to enable these accelerators is with abstraction of complex components, or “moving up the technology stack”, which the Cloud Service Providers (CSPs) have done in the infrastructure space
As you can see, the further down the stack, the more commoditized infrastructure components lie to include storage, network, compute, and data, each of which require a relatively higher degree of management.
The further up the stack, you start to see services such as Functions-as-a-Service (FaaS), or serverless compute, where each of their underlying infrastructure components are abstracted away and fully managed.
The platform and application tiers. Recently, the rise of no code platforms has taken hold as well for the platform and application tiers. No code development platforms (NCDPs) allow both software developers and everyday business users without programming skills the ability to create application software through graphical user interfaces (GUI) and configuration rather than actually writing code by hand (1, Wiki).
One of these key trends includes Roblox, an online game platform and game creation system that allows users to program games and play games created by other users (2) (3).
The growth in user base is astounding, at 36 million users. Of that user base, seven million Roblox players have attempted developing a game, and nearly one million earned Robux (the systems rewards and currency token), and 1,050 developers and creators earning more than $10,000 in the 12 months ending in September (4).
Regardless of the metrics, the ecosystem is in place to allow users to build without having deep coding skills. Effectively, our youngest generation is coding the future and the business model is being proven that non code ecosystems can provide the foundation by which both enterprise and consumer-driven products and services can be built upon.
Let’s examine Roblox a bit more in detail to understand how it provides no code development within the context of a well-defined ecosystem with functional parameters.
What is the Roblox platform and how is it contributing to no code?
Roblox is an online game platform and game creation system that allows users to program games and play games created by other users (2). Roblox has seen immense growth and has announced an upcoming IPO for 2021.
In the figure above, you can see that the foundations of the Roblox platform feature many of the modern architecture and design principles that organizations adopt today, including (1) standards based, reusable design patterns, (2) infrastructure as code, and (3) managed services that abstract away utility compute and expose usable, functional services for a wide user base with minimal training required.
On the front end, the user interface provides a true no code development environment where you can build games. You can build objects, terrain, animations, avatar and more from the GUI-based Game Editor. This provides an excellent way for our younger generations to get involved with game design, editing, and eventually coding, but with a low barrier to entry to get started.
Great.... so how has this massive success with our younger generations fit within the broader landscape of platforms for application development?
What are the broader trends with traditional, low & no code platforms, and what are the differences between the models?
... there is no right or wrong model, but rather a set of considerations and architectural tradeoffs.
Traditional business application platforms.
Traditional business application platforms provide a set of tools that often provides an application platform to enable a unified user experience, workflow or business rules engine, and master data environment w/ integration capability, e.g. Business Process Mapping (BPM).
Generally, traditional business application platforms are best suited for large scale, enterprise business and core systems where performance is mission critical and the requirements warrant more control over the full stack in order to best deliver a focused solution that meets very specific requirements, often in some workflow or lifecycle that align to a user journey (e.g. financial processes, case management, business process management). Common vendors here include Pega, IBM Workflow Engine, ServiceNow, and Salesforce.
Pros: These platform types offer by far the highest degree of product design & engineering control, while also offering foundational,” minimum viable” components for platform build. They’re also often integrated with mature ecosystems (e.g. Salesforce, ServiceNow) that you are likely to want to integrate with depending on the use case, and come with a number of Out of the Box web services to support those connections. The flexibility to define and author business processes and rules, configure workflow functionality such as routing and escalations, and leverage built in reporting and dashboard feature sets are powerful for complex use cases that have very specific and unique functional requirements.
Cons: These platforms carry significant specialized skill requirements either in-house, from third party system integrators, and even the vendor. Theses vendor native hosting & environments can introduce lock in and also generally carry a relatively high licensing burden.
Low code platforms.
Low code development platforms provide a set of tools which aim to improve software development speed by providing pre-built, foundational application platform components & reducing the skill level required to develop applications. Common vendors here include Appian and OutSystems. Additionally, ServiceNow, and Salesforce now provide low code platforms in addition to their other product and service offerings.
Pros: Low code is where the abstraction really starts to come into play, with easy drag and drop methods for visual app development, resulting in a relatively lower engineering and skill requirement. A number of pre-built enterprise functionality and components are generally packaged as well (e.g. security, integration, workflow management). Similar to traditional business application platforms, offering like Appian will also bring to bear connectors for Salesforce, Workday, and other common back office platforms to integrate with. Most of the code for these components on the front and back end can be automatically generated based on industry leading practices.
Cons: Depending on the use case, low code will allow you the freedom to develop but also won’t provide the full feature set you might come to expect from a full-blown business platform, like a BPM tool. As such, this requires relatively more development effort to develop & modify business processes and other functional requirements of your digital product. Additionally, it will require more development effort to extract process optimization data & reports.
No code platforms.
No code development platforms provide tools that allow both software developers & everyday business users without programming skills the ability to create application software through graphical user interfaces (GUI) & configuration rather than writing code by hand.
Pros: These abstracted models provide a significantly expedited application development process where little to no coding expertise is required. You are generally afforded a preset UI for streamlined design Out Of The Box (OOTB), providing a highly standardized output with relatively little effort required to implement.
Cons: The tradeoff of such packaging and OOTB standardization results in limited flexibility in UI design & other customizations, and may not be suitable for significant performance & architectural demands (e.g. latency, integration).
Platform vendor landscape.
NOTE: The above figure is meant to be indicative and show the primary vendor alignments noted above; the lines of demarcation have started to blur in the market as some vendors expanded to multiple offerings, such as Pega, Salesforce, and ServiceNow have each released Low Code offerings.
Notably, the CSP’s are starting to enter into this space as well as they continue to seek opportunities to differentiate and move up the stack. For example, Google Cloud Platform (GCP) has recently released a no code business application platform that is well integrated with the GCP ecosystem to include the Apigee API management offering, which was also based on a major acquisition of AppSheet into their ecosystem. AppSheet is a leading no-code application development platform used by a number of enterprises (5).
How should organizations react to this trend of increasing abstraction and multiple platform options for application development?
Commoditize and standardize what should be commodity, customize what should be differentiated. Let this guiding principle steer you into the right platform and vendor selection for your solution.
Many organizations are going through complex journeys to deal with over engineered and customized capabilities and platforms and understanding where they should return to a vendor baseline, or industry standard, versus offering custom differentiated solutions. The following guiding principles should be taken into account:
· SaaS or utility consumption, e.g. collaboration tools
· Unit-based cost models with chargeback enabled
· “Out-of-the-box Configured, but not customized”
· Enterprise shared services candidates
Generally, commoditized functions will be consumed in hosted SaaS offerings, and where a custom build is required and SaaS consumption is not feasible, will often index towards highly abstracted models such as a traditional platform (e.g. BPM), or even a no code platform.
· Capabilities that are mission critical and differentiating or competitive to the business, and carry significant performance requirements (e.g. low latency, disparate global operations, integration requirements, real-time transaction processing)
· Custom development requirements or COTS customized
· Bespoke cost models that are enterprise absorbed or shared
· Line of Business, Organization or Agency embedded IT that is not suitable for enterprise, centralized IT and hosting
Generally, differentiated systems will either be completely custom, or if suitable, leverage a traditional application or low code development platform where foundational components can be leveraged, but with a much higher degree of control of product design and engineering. Highly differentiated and unique use cases with mission critical requirements will often steer away from no code development platforms.
... use these as a guide when establishing your platform North Star and determining what is right for you in platform and vendor selection.
1. No-code development platform. Wikipedia. https://en.wikipedia.org/wiki/No-code_development_platform
2. Roblox. https://www.roblox.com/
3. Roblox. Wikipedia. https://en.wikipedia.org/wiki/Roblox
4. Inside Roblox's World of Entrepreneurial Opportunity. Inc. https://www.inc.com/burt-helm/roblox-ipo-startup-ecosystem-vehicle-simulator.html
5. Google acquires AppSheet to help businesses create and extend applications—without coding. Google Cloud. https://cloud.google.com/blog/topics/inside-google-cloud/helping-businesses-create-and-extend-applications-without-coding?utm_source=linkedin&utm_medium=unpaidsoc&utm_campaign=FY21-Q1-Blog&utm_term=-
1. Lua (programming language). Wikipedia. https://en.wikipedia.org/wiki/Lua_(programming_language)
2. Over half of US kids are playing Roblox, and it’s about to host Fortnite-esque virtual parties too. The Verge. https://www.theverge.com/2020/7/21/21333431/roblox-over-half-of-us-kids-playing-virtual-parties-fortnite
3. The Rise of Roblox. Scholastic. https://math.scholastic.com/issues/2018-19/090318/the-rise-of-roblox.html#900L
4. Accelerate digital transformation with business application platform. Google Cloud. https://cloud.google.com/blog/products/No-code-development/accelerate-digital-transformation-with-business-application-platform?utm_source=linkedin&utm_medium=unpaidsoc&utm_campaign=FY20-Q4-Blog&utm_content=-&utm_term=-
5. Accelerate digital innovation with APIs, apps, and automation. Google Cloud. https://cloud.google.com/solutions/business-application-platform
6. Roblox API Reference Manual. Roblox. https://developer.roblox.com/en-us/api-reference
7. Developer Community. Roblox. https://devforum.roblox.com/
8. Roblox Developer. https://developer.roblox.com/en-us/
9. The Low-Code vs No-Code Platform Dilemma. https://hackernoon.com/the-low-code-vs-no-code-platform-dilemma-m03o32s5