Excel always used to be the tool that business users would pick up to write code. Its formulae and cell structure made it easy to chain together results to build what ended up as complex applications, analysing data statistically and numerically. It wasn’t only for numeric data, either, as it could quickly be used as a simple tabular database, with filters and queries to help extract information. It might not be SQL, but it did the job.
The same was true of tools like Access or Lotus Notes, building complex applications from very little code. You didn’t need to be a programmer to solve a problem; all you needed was a familiarity with the tools built into your office suite. Macros and formulae, and features like Visual Basic for Applications, let anyone be a developer.
SEE: Meet the hackers who earn millions for saving the web, one bug at a time (cover story PDF) (TechRepublic)
Those ideas never went away, although some of the underlying technologies have evolved, with JavaScript an increasingly important development tool, along with modern scripting languages like Python. The Web 2.0 movement pushed many developers and platforms into thinking about their APIs, and an API-first approach to code allowed prepared blocks of code to be treated as building blocks on graphical canvases. These new no-code tools sat beside existing low-code tools, allowing workflows to be constructed quickly from APIs and event-handling blocks.
Filling the app gap with the Power Platform
Microsoft’s new wave of low- and no-code tools in the Power Platform builds on this, providing tooling for UI construction, for business process automation, and for working with data. This fits in well with the current demographic shifts, with new entrant workers coming from the generation that grew up with open-world building games like Minecraft. Low-code tools might not look like Minecraft worlds, but they give users the same freedom to construct a work environment.
There’s a lot of demand, as Charles Lamanna, Microsoft CVP, Low Code Application Platform, notes: “Over 500 million new apps will be built during the next five years, which is more than all the apps built in the last 40 years.”
Most of those apps need to be low-code, as there’s more than an app gap — there’s also a developer gap, as there’s more demand for applications than there are developers to build that code.
SEE: Virtual hiring tips for job seekers and recruiters (free PDF) (TechRepublic)
Much of that demand is being driven by a rapid, unexpected, digital transformation. People who suddenly find themselves working from home and outside the normal office environment need new tools to help manage what were often manual business processes.
The asynchronous nature of modern business makes no-code tooling an easy way of delivering these new applications, as Lamanna notes: “It’s kind of come into its own over the last year with the fastest period of adoption we’ve ever seen across the board from like a usage point of view, and that’s just because of all these trends are coming to a head right now.”
Old tools as well as new tools
But low-code is only part of the solution: familiar tools are evolving to provide new ways of working. Microsoft has continued to extend Excel’s programming language. The latest addition to its functions feature adds support for variables using a LET function. This uses a key/value pair to feed into a calculation, making calculations easier to reuse and easier to understand. The way Excel uses named expressions speeds things up, too, as a standard expression is calculated each time it’s used in a formula. With LET, it’s only calculated when it’s assigned to a name, so each time you use it, Excel uses the previously assigned value.
Excel’s LET may remind you of BASIC programs, and it serves a similar role, giving you code that can be shared with other Excel users without having to explain what all those cell references mean. Now you can replace them by named expression and assign value without having to create cells that only feed into calculations and have no other purpose.
SEE: Why 2021 will be the year of low-code (TechRepublic)
Perhaps the biggest difference between the Excel model and much low-code programming is one of focus. Excel is your calculation tool, giving you a platform to analyse data and make calculations based on it. Meanwhile, tools like Power Automate provide low- and no-code ways of providing business process automation and, like Power Apps, give you a way of adding basic user interactions with your data.
As Lamanna points out, there’s another big difference: “If you build something inside Excel macros, you’re stuck in Excel macros”. It’s hard to take a spreadsheet and turn it into an application that works for everyone, because assumptions that one person makes may not be understood by another. We’ve seen this with Excel’s use as a conversion tool between different reporting regimes, leading to massive errors in official statistics.
SEE: The CIO’s guide to low-code platforms (TechRepublic Premium)
Making low-code professional
With Power Platform there’s the option to bring your low- and no-code tools into the professional space, too. Microsoft provides a set of tooling that links Visual Studio with the Power Platform, including a command-line tool that helps you create your own modules as well as working with Dataverse (what was Project Oakdale) data sources in your code. It’s now possible to build your own connectors for line-of-business apps, with a little JavaScript and node.js, ready for consumption in a Power Automate flow, or as an API for use with a quick mobile front-end built in Power Apps.
What’s most interesting here is that developers don’t need to be involved in building the applications, only the connectors. They don’t need to spend time working with users to define UIs; instead, users can build them themselves and either take responsibility for maintenance or hand the app over to a development team, where it can be made part of an official suite of tools.
Bringing aspects of the Power Platform into Teams is a key part of Microsoft’s strategy. If Teams is going to be the place where work happens, then it needs to be part of the application story and it needs its own Excel-like environment. Extending tools like Power Automate into Teams quickly adds a way of bringing business processes and conversation together, allowing Teams actions to trigger more complex application interactions. Similarly, data entered into a Power App could open up an approval workflow, with an adaptive card in a Teams channel.
There’s a lot of benefit to a hybrid development model that mixes traditional applications with managed APIs, familiar desktop programming environments, and the new generation of low-code development tools. Here tooling like Azure API Management provide IT departments with the necessary management environment they need, ensuring that only the APIs that users have access to are exposed, and that there’s sufficient throttling in place to ensure that badly design apps don’t take down business systems.
Putting it all together, from developer tooling to management, to productivity platforms, to easy in-browser design surfaces, it’s clear that Microsoft has a compelling end-to-end story for making everyone a developer. Lamanna sums it up: “We’re very excited about the potential for our customers to go drive efficiencies and improve productivity at a time where everybody’s trying to do lot more than they’ve ever done in the past”.