Software was once said to be eating the world. Software is now eating itself.
Startups like Glide are developing tools to make apps in a way that all humans can understand, so that software in the future may not involve coding at all.
What is Glide?
It's a tool that lets you build mobile apps from Google Sheets. Each project starts with a spreadsheet–link it to your app and Glide pulls in the data, organizing it in a visually intuitive way. The Glide editor is a web interface to add functional components, change formatting, and test your app in real time–all without writing any code. Check it out below:
I first discovered Glide after reading about it in the Winter 2019 YC demo day recap (back in march). It struck me as an intriguing product right away, though I didn't start playing around with it until a few months later. I kept thinking about Glide, wondering if it was really possible to build a fully functional app like they described. I've never coded a mobile app before, but I still felt like it had to be too complex a task to simplify with no-code tools. I had tried out other no-code editors before, and they always fell short on feature complexity beyond just the basics.
I finally checked out Glide this summer because I thought it might be useful for a project I was working on. I looked at the templates and read through the tutorials, hoping to learn all the most advanced features the product was capable of. I knew I needed some type of mapping, the ability to add locations and automatically find their addresses, and the ability to maintain a social network with friends or followers. At the time, I would have been shocked if Glide could do any of these tasks.
One of the most powerful (and cool, IMO) features in Glide is references. Just like how in SQL you join tables based on primary and foreign keys, Glide allows you to make reference columns that connect to data from another sheet. Say you have a "Staff" sheet, and you want to link each staff member's office name to the corresponding row in an "Offices" sheet–you can add a reference column to do this. In the app editor, you can then add a reference component will that link to the staff member's correct office from his or her page. This feature is a bit confusing at first (it took me a bit of practice to understand), so check out the gif below for some more context:
So what?
Okay, so Glide lets you build neat-looking apps. The next Instagram or TikTok isn't going to be built on Glide though. Why is this product anything more than a fun gimmick?
Behind the playful app editor, Glide hosts a silently powerful tool: Google Sheets. Every high schooler out there has Microsoft Excel on their resume. We all know spreadsheet software. Whether or not you believe it, Google Sheets is actually a programming language.
By introducing coding in a language that the general public understands, Glide is empowering just about anyone to create apps that can do more than look pretty on your phone. Even basic knowledge of IF and ARRAYFORMULA can do a lot in terms of added functionality. But that's just the tip of the iceberg in terms of Google Sheets' potential.
Remember those features I said I needed for my project? Locating addresses, adding followers, and filtering locations to only those posted by people you follow. Good luck doing that with simple Sheets formulas, let alone in the Glide editor. Luckily, Google has a script editor feature with a handy language called Google Apps Script. Apps Script lets you create add-ons to G suite tools like Sheets, Docs, and forms. It's pretty similar to Javascript, but its reach is immense. Notably, I can create custom formulas or set up triggers to run functions when new data is edited or added to a sheet. In my project, I integrated a function with the google places API to automatically fill in address and coordinate data for each location added in the app. The only limitation here, I've found, is your ability to get creative with the script.
In this sense, I'm sort of going against the idea of "no-code", aren't I? Well yes, but I never would have started with advanced Google Sheets features if it weren't for Glide in the first place. I think of it like entering the pool in the shallow end. Where I might have been reluctant to dive headfirst into the deep end of app development, I was eager to play around with Glide's app editor. Then I started calculating columns with spreadsheet formulas. After a while, I found myself writing all sorts of Apps Script functions and planning out how I would design my database in MySQL. No-code can be a friendly entry point to a deep rabbit hole of software development.
Even computer science educators understand this to some extent. Often early CS education is taught through drag and drop games like Scratch or App Inventor. When I first took a CS course in high school, I was always left wondering when I'd be able to make something that people would actually use. The best we could do was a text-based Battleship clone in java–nothing close to the quality of agar.io or Bloons Tower Defense. With Glide, I can make a real, live, visually appealing app. By amplifying the results of beginners, Glide empowers young creators to explore more. I'm not saying that no-code projects should replace formal CS education, but they can help introduce people to the world of software development in a fun and meaningful way.
In terms of adoption, I would liken Glide to 3D printing. A decade ago, experts were predicting that there would be a 3D printer in every home. We thought that if you broke a pipe under your sink, you'd just print a new fitting rather than hiring a plumber to come in and install a new one for you. Ten years later, and commercial 3D printers are still mostly for hobbyists. Where 3D printing has really taken off, however, is in prototyping applications.
In the first few years, I think Glide will serve mostly the same purpose. People have already created a good number of hobby apps, but Glide has the most value as a prototyping tool. Rather than spending months developing a real app, creators can develop a quick, interactive mockup in Glide that has 80% of features they need, allowing them to iterate quickly and get good feedback. As the Glide team continues to add new features and optimize their platform, I'm excited to see how users push the limits of what Glide prototypes can do.
A few different people have been championing the idea of no-code tools recently, notably Ryan Hoover (link) and Ben Tossell (makerpad.co). Ever since reading Ryan's article, I've wanted to add my own thoughts on no-code. In the tech world, there's a bit of an overemphasis on the idea of knowing how to code. "Learn to code", they say. Here's what Ryan says:
We often perceive things that are hard to do as better. Sometimes that’s true. But as these “no code” tools advance, it will be silly to do it the old way.
It's sort of like driving stick. An automatic transmission makes it easier to drive a car. No-code makes it easier to build products. Besides hobbyists, you'd be pretty hard-pressed to find a young driver that prefers driving manual, let alone one that knows how to do it! Yes, my dad might gripe about how he learned to drive with a manual 1986 Ford Escort, but he wouldn't tell me to do the same. It doesn't make sense to do it the hard way.
No code tools empower anyone to build websites, side projects, apps, prototypes, or whatever they can think of. A startup CEO can get up and running with a landing page on Carrd in less than an hour. A blogger can start managing an email newsletter with Substack. Ben Tossell built a fully functional Airbnb clone using Glide and Zapier.
Certainly for software developers and product managers, knowing how to write code is critically important. I know how to code and I enjoy doing it. But for the rest that aren't software people, why should they have to spend years learning in order to build something useful?
And software people shouldn't be immune to no-code either. I built my portfolio website on Wix using drag and drop tools, no code. Sure, I could have learned advanced HTML, but I didn't see any point. I wanted a place to showcase my projects and ideas, not an exercise in web design. With my Glide project, I wanted to send people an email every time a new user followed them. I could have written an Apps Script function to do this, but why should I, when Zapier lets me do it for free with just a few clicks?
Especially with startups, the emphasis is more on doing things quickly, efficiently, and cheaply. No-code is all three of these things! Don't be afraid to use Glide, Zapier, or Airtable, just because you can't say that you built a REST API CRUD Angular 7 application with PHP and MySQL back-end. Users don't care about that, they just want something that works. Only software people seem to care about that, and I think it goes back to the idea that we think harder things must be better. Don't do more work when you don't have to.
Here's what Vlad Magdalin, CEO of Webflow, thinks about this issue:
Software engineers need to shake the notion that no-code is only a toy and realize that it's just the next level of abstraction in the development of coding languages over time.
What's Next for Glide (or rather, what should be, IMO)
The Glide team's pace of feature releases has been stunning. They release new major features nearly every week. They even released one that I was going to suggest in this post (geolocation) literally as I was writing it! Without knowing in detail how the product is built, I imagine that the sky's the limit in terms of potential features here. We could even see fully functional apps rivaling in quality of what's already on the app store. That being said, there are a few improvements I'd love to see.
1. Moving calculations from Sheets into the app builder. Most of the advanced Glide functionality comes from spreadsheet- and Apps Script magic. Glide can replace that with its own magic, by letting you use conditional statements, concatenation, and arrayformulas from within the builder. This would lower the barriers to entry even further–you wouldn't even have to know how to use Google Sheets! The team has already started to do this by bringing a data editor into the builder and adding sort and filter tools.
2. More robust user settings. Currently you can only login through email and there's no account management tools. I'd love to see some type of signup features like username/password, signup with phone number (send a pin to your phone rather than email), or SSO with Facebook/Google. SSO would allow you to tap into social networks, and I could imagine Glide building a framework to manage social connections (adding friends and filtering content by who you're friends with). In my app, I was able to hack a way to do this with Apps Script, but the UX was subpar and it wasn't scalable. Social networking tools would unlock a whole new category of apps for Glide creators.
3. Integrations. I've used Zapier to send automated emails whenever new data is submitted to an app. Glide could make integrating with Zapier seamless, or even build their own email sending feature. Similar integrations could be added with SMS, Slack, Twitter, or Google Analytics. I'd especially love to see how users are interacting with my app with analytics.
4. DevOps tools. Version control and collaboration are the two main areas that I'd want to see here. Currently, If I play with a change in the editor it is automatically updated for all users, making it hard to experiment with new features. These features are key to bringing in professionals and business users, who are more likely to pay.
But how does Glide become a billion-dollar company?
I think the current product is limited by Google Sheets. Although it's super user-friendly, accessible, and free, I don't believe that a scalable application can be built on a Google Sheet. Sheets simply wasn't designed to become a database. I'd have a hard time imagining that it could support a table with 100 million rows in it. Glide should keep its consumer-friendly Sheets-based builder, but also offer a more robust product based on a Postgres, MySQL, or NoSQL database.
Glide could build the next-generation IDE for app development. Think of it as a crossover between Sketch/Figma and an IDE like Xcode. Whereas Sketch is traditionally just a UX design tool, imagine if the components you create directly translated into functional parts of your app. Xcode lets you do this, but you still have to write code to control how those components behave. With the Glide IDE, you could pull in data from your database, format with templates or your own assets (without coding), and test your app in real time. A similar product, Mendix, was recently acquired by Siemens for $700m, but there's still plenty of room for progress in this field.
To build fully-customized, advanced apps, there would have to be some integration with a text editor for writing scripts, but overall, the development process would be accelerated by Glide's no-code interface. As an example, say the Shazam app wanted to run its music recognition algorithm when you click the "tap to Shazam" button. You'd link the button press to a custom script you write, in which you'd send audio recorded through the microphone to a server and process it there. On the server-side, Glide could even simplify the script further by making it simple to access Shazam's indexed database of audio files. Glide's database integration would turn long PHP requests into just a few clicks.
Additionally, Glide could enable add-on templates that third party developers can create, like fully-functional profile pages or loading animations. If you notice a cool new app design trend, you can make a template in the Glide editor and share it with the community to integrate into their apps. Glide currently allows you to turn your whole app into a template, but templating individual elements and patterns takes customization to a whole new level. I imagine a whole community of Glide creators who build templates and add-ons, similar to the one within Sketch.
Final thoughts
Glide has the potential to become the next-generation framework for app development. We probably won't ever see the day when no-code replaces traditional programming for production level apps, but that's okay! Glide is a tool, just like Xcode, Sketch, or React. These tools all help creators build applications. I envision the future of development incorporating more and more no-code tools like Glide; they're quicker, simpler, and easier to learn.
So software may never fully consume itself, but that doesn't mean no-code is useless either. This shouldn't be a fight of no-code vs. code–it's more like a symbiotic relationship. A win-win for everyone.
Check out Glide!