Friday, February 12, 2021

Budget Friendly No-Code App Platforms

If you want to experiment with no-code app building, here are a few of the platforms that offer a free plan. Each of the "free" plans comes with limitations, but having done some tinkering on most of these sites myself, they are usually flexible enough that you can manage to build at least a basic version of the application you want to create:

  • Open As App - You can have as public (available to everyone) apps as you want, but only one private (by invitation only) app and only one user for that app (for example, if you're developing an app specifically for another user).
  • Caspio - One of the main limitations with Caspio is that their free plan only allows you to have five "data pages" in your app, where a data page refers to any form, report, chart, calendar - basically any screen that you display to a user.
  • Bubble - No custom domain name, no CSV import or export.
  • Zoho Creator - One app, no ability to use certain advanced fields.
  • OutSystems - Only one "environment" (the area where your application runs).
  • Unqork – No pricing information available.
  • Tonkean – Has a “sandbox” free trial with 1 day data retention.
  • Thunkable – You can develop Android and iOS mobile apps for free on Thunkable. All your apps will be public however – to make your app private you have to have pay for a “Pro” membership ($25/month). Note: You also have to pay a small percentage of your earnings if you use Stripe to accept customer payments.
  • Adalo – Adalo has a free “Explore” plan. You can create an unlimited number of apps, but you have to publish to an Adalo domain, your app will have Adalo branding, and you're limited to 50 rows of data per app.
  • Budibase – The Free version of Budibase allows you 1 app, 5,000 total records, 3 data tables, 3 views, 500 MB of attachment storage, and 100 automation runs per month. “Automation runs” refers to business automation processes (running processes automatically that were previously done manually) and to integrations with third party apps.
  • Quickbase – Quickbase has a 30-day free trial that includes the platform's main features: workflow automations, data and app integration, and the ability to create unlimited mobile-ready applications.
  • Quixy – Quixy's free trial includes all of the platform's core features.
  • Kissflow – No free plan and no free trial.
  • Mendix – The free plan on Mendix allows you to create no-code or low-code apps with 2 environments per app (where an environment is a deployment site).
  • AppSheet – You can use the free version of AppSheet as long as you want in order to develop prototypes. However you can't actually deploy the apps you develop.


How to Select Certain Records from a Set of Data in a Bubble App

 The Problem: Your company makes shoes and boots for men and women. You recently introduced a new all-weather boot called the "Sno-Boot" and you want to list all the customer comments on your website that deal with the Sno-Boot. Here's how to do that in Bubble...

Let's assume you have all your customer comments stored in a dataset on Bubble and that you have an input form where all the existing comments are displayed in a repeating group. To display just the comments concerning Sno-Boots:

  • Add two (or more) search boxes to the form. The reason for adding multiple search boxes is that you need to be able to search for "Sno-Boots" or any terms close to that, such as "snow boots", "Sno Boots", etc.
  • In this example let's say that you defined your customer comments as Data Type "customerComment", containing three fields: "custDate" (the date of the comment), "custProduct" (the shoe or boot that the customer is commenting about), and "custComment (the comment itself).
  • Double click the Repeating Group to display its Properties box and enter "customerComment" in the "Data type" field (since you're displaying records from the customerComment dataset).
  • In the "Data source" field do this:
    • Enter "Search for"
    • Select "customerComments"
    • Add a constraint: "custProduct" "contains" "Search box1's value".
    • Add a second constraint: "custProduct" "contains" "Search box2's value".
    • In the "Data source" field, following "Search for customerComments", add "merged with" "Search for customerComments".
Normally, if you have more than one search term, Bubble will look for records that have all the search terms. For example, if you entered "Sno-boots" in one search box and "snow boots" in the second search box, Bubble would look for records that contain both "Sno-boots" and "snow boots". By using the "merge" command between the two search terms, Bubble will search for records that have one term or the other, which is what you want.

Friday, January 15, 2021

How No-Code Solved My Quest to Become a "Real Programmer"

[Note: I'm adding this post because of a secret shame of mine; namely that I once programmed in BASIC.  Apparently, according to experts, that fact alone can make it impossible for you to ever be a “real programmer”].  

I started out learning to program in Commodore BASIC and FORTRAN and then moved on to a simple symbolic programming language at Litton ABS.  I (and many others) managed to crank out quite a few useful and marketable programs using those languages.  Soon though I realized that “real programmers” worked with serious business-oriented languages like COBOL.

Fortunately, I got my chance to step up to developing in COBOL when I snagged a job at a large local company.  Once I got up to speed with the language I managed to turn out some decent software for the company's service bureau operation.  I even took some pride in my status as an accomplished COBOL programmer.  

However, as time went on I began to hear that COBOL was a dinosaur and “real programmers” used much more sophisticated languages like C or C++.  So I dutifully began studying C and created a few programs.  Before I got too far though I read that the new frontier was Windows and I needed to get up to speed quickly on Windows programming if I wanted to be a “real programmer”.

Visual Basic was relatively new back then and seemed to be the fastest way to get started in Windows.  I immediately acquired a copy of Visual Basic 5 and began writing some programs in VB.  Unfortunately, about the time I got comfortable with VB, Microsoft decided to dump Visual Basic in favor of VB.NET.  Since all “real programmers” were jumping into .NET I bought a copy of VB.NET and went to work learning that. 

No sooner had I managed to fire up VB.NET and write an application or two than a friend assured me that “real programmers” used C# or Java and that VB AND VB.NET were primarily for “hobbyist” or amateur programmers.  To write an enterprise-level application you HAD to use C# or Java.  AND you had to be sure you were using object-oriented programming – old school “action-oriented” programming was for senile old codgers who couldn't adjust to the new frontier of programming.

After mumbling a bit to myself I acquired a copy of C#, read a couple of books on object-oriented programming, and took a BrainBench exam to assure myself I was up to speed on C#.  It took some doing but I finally felt like I was ready to start working with C# - only to find out that “real programmers” were moving from desktop applications to web programming.  So I detoured away from .NET and launched into PHP, PERL, and Python.

Before I could even get well started on any of those languages I read that if you were serious about web programming you should be working with ASP.NET.  Great – I already knew VB.NET and C#, the main languages used in ASP.NET.  About that time I found out that I had to whip together an ASP.NET application in a big hurry, so I bought an ASP.NET code generator, let it build the framework and just modified the code it generated.  Then I discovered that only the pitiful and incompetent used code generators - “real programmers” built everything from scratch.

Gritting my teeth, I resolved to do all my coding in C# from then on no matter how long it took and found myself at peace at last, my race to keep up with “real programmers” finally won.  And then I read that C# and all the commonly used programming languages were becoming obsolete.  The new thing was “functional” languages like Haskell and Scala that let you approach programming in a completely different way - and there were a whole host of these new languages that you needed to be familiar with if you were going to be a “real programmer”.  

At that point, I more or less gave up - but now, finally, I can stop worrying about keeping up with the latest programming trends and just take advantage of the no-code frameworks that have sprung up in recent years. I'm writing (drag and dropping) programs again, creating all kinds of applications just like I did all those years ago. I may not be on the cutting edge of software development, but I'm  definitely back in the game - thanks to no-code platforms. 

 - Paul E. Love (posting as "nocoder")