Saturday, February 27, 2021

What are Progressive Web Apps and Do We Need Them?


For some time now PWAs have been cited as the "wave of the future" in application development. So what are PWAs? A Progressive Web App is a bridge between the world of web apps and the world of native apps (apps that are developed solely for mobile devices). PWAs are hosted on the web, accessed through a standards-compliant browser, and consist of common web technologies like HTML, CSS and Javascript. However, they can be installed on mobile devices direct from the browser and they work like a mobile app. 

PWAs can be saved to a phone or other mobile device’s home screen and function like a native app, with the ability to access the device's camera, gyroscope, and other hardware and even deliver push notifications. PWAs can also be loaded and used offline, since they store HTML and CSS in your browser's cache. 

So, can you create a Progressive Web App on your favorite no-code platform? The answer is probably "yes", but the process may be a little complicated. For example:

  • Zoho Creator - Web apps created on Zoho Creator are all PWAs by default, with the backend processing built-in. Once your app is created you can access it from a mobile web browser, install it on the home screen of your mobile device and it will work basically the same as a native app. And, as mentioned, any data entered into the application while it's offline will sync to the web as soon as the device connects to a network.
  • Lumavate - Allows users to create no-code PWAs for business as a standard feature of their platform.
  • OutSystems - OutSystems added PWA support last year. They let you turn your mobile app into a PWA simply be selecting "PWA" distribution in your app details. According to OutSystems their PWA apps have been tested against Google's Lighthouse tool to ensure compliance with Lighthouse standards.
  • GoodBarber - You can create no-code PWAs as a standard option on their platform.
  • Bubble - Currently Bubble doesn't provide an option for converting your web app into a mobile or progressive web app. You would have to search for a third party to help you make that conversion.
Many other no-code app platforms are, like Bubble, planning on adding the ability to convert apps developed on their platform into PWAs or can provide a wrapper or third party service to create a PWA from your app.
 
If you decide you want to build a progressive web app you should be aware that there are a few potential problems with PWAs:
  • Not all web browsers support Progressive Web Apps. Google Chrome offers full support for PWAs on Windows, Linux, macOS, Android and iOS, Safari supports PWAs on macOS and iOS (3.11 and above). Microsoft Edge (Chromium) provides full support for PWAs on Windows 10 and on macOS. However, in December of last year Firefox discontinued support on desktops but does still offer partial support on Anroid devices.
  • Unlike native apps, it takes a great deal of effort to link Progressive Web Apps to other native apps on your mobile device.
  • Updates to PWAs are somewhat complicated since they can't be combined into a single, easily installable package.
At the same time there are also some additional advantages to PWAs:
  • After a progressive web app loads, it will run faster than a native app because (being web-based) the content and page elements don't have to be re-loaded each time the page is accessed.
  • PWAs tend to be safer because they work via HTTPS, which guards against snooping and makes sure that content hasn't been tampered with.
  • PWAs can be shared with others through a URL, without having to go through an app store or requiring a complicated installation procedure.

So, are PWAs really worth it? Considering the widespread use of phones and other mobile devices, many businesses that have switched to PWAs have reported a significant increase in traffic and customer interest. Even though the rush to PWAs has slowed somewhat, it's still a good bet that progressive web apps will end up being a major player in application development in the not-too-distant future.

Connecting Your Zoho Creator App to Outside Services

 

As mentioned in a previous post, plugins (AKA add-ins, add-ons, etc.) can be critical in providing the features you need in your app. Plugins are software components produced by the development platform itself, by users, or by third parties. They provide specific features beyond, or in addition to, what you can do using the basic elements available on the platform.

Primarily, plugins supply the ability to link your app to outside services like Stripe, Mailchimp, and Google Sheets, but they may also be a temporary way to provide functions that will be integrated into the platform in the near future. In any case, if you're creating an app on a no-code (or low-code) platform, you need to be aware of what "add-in" functions you have available to you. 

For example, Zoho Creator offers a wide variety of plugins including:

  • PayPal - Accept and make payments to your customers, suppliers, and other stakeholders by using PayPal.
  • Stripe - Integrate your app with Stripe's digital payment service.
  • Twilio - Send instant notifications via SMS to your customers with Zoho Creator's built-in notification system and Twilio.
  • QuickBooks - Your Zoho Creator app can integrate with QuickBooks, to help you manage accounts, generate invoices, and automate payment reminders.
  • Zoho CRM, Zoho Books, and Zoho Invoices - Connect to other popular Zoho products.
  • Zapier - By connecting to Zapier's integration service you can access over 100 other applications.
  • APIs - Zoho Creator allows API calls to multiple apps, either by direct connection or by invoking a URL.
There are dozens of additional plugins for Zoho Creator - take a little time to go through the list and you may find just the one you need for your app.

Friday, February 26, 2021

Connecting Your Bubble App to Outside Services

If you want to send an email to multiple recipients, receive payments, send data to Google Sheets or access other outside services from your Bubble app, you're probably going to need to use a "plugin." Plugins (also referred to as add-ons, add-ins, etc.) are software components that add a specific feature to an existing computer program. They allow you to create workflows between your app and a variety of other applications.

If you've created a no-code app on Bubble and want to connect it to the outside world, what plugins are available? Here's a partial list (some are free, some require a one-time payment or a monthly fee):

  • Airtable - Allows you to create a fully functional web application using an existing Airtable base. This plugin lets you read from and write to a database in Airtable, and process that data in Bubble, using custom user interfaces and workflows.
  • Box - Save your app's data (such as images or files uploaded by users) in Box instead of in Bubble's database. You can also set privacy rules around the files you store in Box.
  • Braintree - Accept payments by credit card or through PayPal.
  • Card Validator - Check if credit card numbers are valid, and determine the card type. All checking happens locally, no APIs are used so the card info is not sent anywhere.
  • Camera Capture and Video Recorder - Capture still images and video from a webcam or mobile device camera.
  • Codeless Academy Native Apps - Allows you to integrate the functionality of native apps into your Bubble web app. Utilize features such as Face ID, Apple Pay, Push Notifications, and access to device Contacts.
  • Excel - The "Excel Connector" allows you to upload Microsoft Excel data in .xls format (rather than CSV format) and to download data on Bubble in .xls format.
  • Google Analytics - There are a number of GA plugins. For instance, the "Google Analytics V4 + Custom Events" plugin allows you to add the Google Analytics V4 Stream tag and trigger custom events from your workflow in Bubble.
  • MailChimp - There are currently 3 different MailChimp plugins for Bubble apps, all of which allow you to send emails through MailChimp.
  • Slack - Currently there are four Slack plugins on Bubble, each of which is slightly different from the others. For example, one version allows users to log in with Slack, access Slack data, and perform actions as a Slack user or bot.
  • Stripe - Bubble has close to 20 Stripe plugins to allow you to receive payments in your app.
  • Twilio - With the Twilio plugin you can send text messages, make calls and send faxes to other users.
There are dozens of additional plugins available on Bubble to expand the capabilities of your apps. Keep that in mind if you're thinking about building an app on Bubble and aren't sure that the platform's standard features will be sufficient to do what you want. Plugins can be an extremely valuable building block in creating your program and connecting it to other popular apps.

Tuesday, February 23, 2021

No-Code in the Olden Days

At about the same time that the world was beginning to move from DOS to Windows, I was looking for some way to simplify the process of building and, more particularly, modifying new applications.  The idea was to find some software development system that would allow a relatively inexperienced employee to create simple programs and make changes to those programs.

There were several systems that promised that coding was so easy anyone could do it with a couple of days of training.  I tried a few of those packages (the ones that had a free trial) and found that they fell into two categories – either I couldn't make them work or they were only good for producing “Hello World” level programs.

I have to admit though, I actually bought a copy of one package, a product called Layout.  The company had versions for MS-DOS, Windows 3.1 and Windows 95 and they were working on versions for Windows NT and OS/2 (IBM's attempt to introduce their own operating system to compete with Windows).  Layout was billed as “object-oriented” which meant that you constructed programs by joining pre-defined “objects” together.  You built a “flowchart” on-screen using those objects and you could modify certain properties of each object (like the text of a text box or the comparison part of a decision box).

You could design data entry, database, and report formats visually on-screen and then convert them to real .EXE executable files or structured C++ programs.  The system supported OLE 2.0, DDE, DLLs, hypertext links – all kinds of neat stuff.  And according to the seller, there were over 200,000 users, all kinds of add-ons, and widespread third-party support.  All for only $299.95.

Well, it sounded like a great deal – and maybe it was for some people.  In my case, it didn't really work out that way.  First of all, I made the mistake of ordering the DOS version, thinking that it would be a couple of years before Windows really took over the market.  Sort of like thinking that rock and roll in the late 50s was a passing fad.  By the time I had learned enough to start playing with the DOS version, Windows was spreading like wildfire.

The second thing I discovered was that Layout was fairly complex - and it had to be in order to be really useful. You needed to work with it on a regular basis or you wound up spending most of your time paging through the manual looking up information on what object to use and how to use it.  So much for using it just to whip up a quick program every once in a while.

On the other hand, like most such products Layout wasn't flexible enough to build a really complex program.  If you wanted to insert multi-level subtotals in your report that were dependent on a given set of conditions – well, that wasn't happening. To be fair though, any visual designer product that could do things like that back then would probably have been so large and cumbersome that it would be too hard to use.

Then too, the simple mechanics of handling the visual designer, dragging and dropping objects, modifying properties, and connecting everything in a flowchart was, to coin a phrase, a bit of a drag for me.  The process was somewhat slow and awkward, and positioning the objects on the screen exactly where you wanted them took a considerable amount of patience.

Still, the package had some really nice features; for example, you had almost complete control over printer positioning, you could run other programs and “read” the command line, and you could insert comment boxes and “spy” boxes in your program flowchart (spy boxes were a debugging tool to pause the program and show you some intermediate result).

Regardless, Layout had a fatal flaw.  You had folders of different types of objects and you had the ability to set or modify the properties of those objects.  Then you could drag them onto your screen to build a program.  Sound familiar?  Once the 800 pound Microsoft gorilla in the room started marketing Visual Basic – well products like Layout were pretty much doomed. 

It would take a couple of decades for no-code tools to come to the forefront again, but fortunately for out-of-practice programmers like myself that day has arrived and this time visual programming is here to stay.

Saturday, February 20, 2021

A Template to Create an Online Course

If you have a lesson or course of some type that you want to share with others like you would on Udemy (and make money from subscribers), Zeroqode has created a template that will help you do that. The template (called "Coursely") was built using Bubble and includes the option to integrate it with Stripe to receive credit card payments and Braintree to receive payments through PayPal.  

According to Zerocode the template features an admin dashboard, responsive design, messaging, social media links, and the ability to upload video using a Bubble plugin. Basically, you insert your lesson material, quizzes, video and other content into the template, activate any options (like receiving payments), and you're ready to go.

There are two versions of the template, a "standard" license and a "developer" license. The standard license (currently $249) allows you to use the template to create as many apps as you wish for your own personal and business use. To build apps for clients you need to purchase the developer license (currently $747). You should also be aware that you will need a little basic knowledge of Bubble and that the apps you develop have to be hosted on Bubble.io (there's no option to host it on your own webserver).

You can find a full description of "Coursely" by going to www.zeroqode.com and scrolling down the page until you see the template for "Coursely". Click on that image to go to the page describing Coursely. 

Friday, February 19, 2021

No-Code Showdown (circa 2016)


 Back in 2016 PCMag (https://www.pcmag.com) held a demonstration where they asked low-code developers from Appian, Microsoft, Salesforce, and Zoho to face off against each other. The idea was for each group to show that they could produce a usable app in one hour. 

Each team had to create a event scheduling app that could add a new event (including name, date/time, and duration), invite users to come to the event, and allow visitors to view a list of upcoming events in a calendar view or as a chronological list. If the competitors completed the required functions for their app and still had time left, they could add more features such as notifications.

All four teams were able to construct a working scheduling app within the hour time limit. To read more about the competition and see what the apps looked like and how they performed, go to: https://www.pcmag.com/news/building-an-app-with-no-coding-myth-or-reality (Building an App With No Coding: Myth or Reality?, By Rob Marvin, June 30, 2016).

Thursday, February 18, 2021

Where to Find More Information About No-Code

 


If you're looking for more news, articles, tips and announcements about no-code  apps, here are a few great resources for the citizen developer:

  • The No-Code Journal (https://www.nocodejournal.com/) - The No-Code Journal is a digital magazine directed at people who want to learn more about no-code and low-code app development. It features pieces written by enthusiasts from a variety of backgrounds and provides information on current trends and the future of No-Code. The No-Code Journal can be a big help both for newcomers to no-code and for experienced "citizen developers".
  • Coaching No-code Apps Blog (https://coachingnocodeapps.com/blog) - If you're looking for advice on how to build, market and launch your no-code app, this blog can be your personal advisor and guide. It can help you plan, create, promote and bring your MVP app from initial design to finished product.
  • Zeroqode Blog (https://blog.zeroqode.com/) - This blog features interviews with leaders in the No-Code movement, information on templates and plug-ins, and articles on the importance of no-code app development. Zeroqode has also created its own series of lessons on no-code app building and includes a forum for its active community of developers.
  • Without Code Blog (https://www.wocode.com/blog) - No-Code also applies to website building and Without Code provides news, advice, comparisons, and design tips for anyone working on creating no-code websites.

No-Code Templates and Tutorials (Part 1)


You can find a raft of step-by-step tutorials and customizable app templates on the Internet, which can make it much easier to create the app you need. Every so often we'll highlight one or two of these that we feel are particularly useful, beginning with this post covering Caspio's Patient Portal.

Caspio's Patient Portal provides a number of features for a medical clinic or doctor's office including:

  • A registration form where new patients can sign up and create their login.
  • The ability for existing patients to review their previous visits, update their profile and check on messages sent by the doctor.
  • A section of the app where doctors can review patient visits, send messages to patients or other personnel and track patient health data like vital signs and blood pressure readings.
You can also add more features to the app, such as a calendar where doctors, nurses, and others can schedule patient appointments.

A major advantage of these no-code apps is that you can adapt them to suit your own situation. For example, a veterinary supply could make the patient portal a customer portal. Frequent customers could review past purchases, enter prescription information for their pets and check current news items on how to deal with certain medical conditions. In addition, customers might be able to submit questions to a veterinarian who works with the supply company or request an online visit with a veterinarian. 

In fact, Caspio's Patient Portal could be easily adapted to a number of situations. And anyone who decides to customize the app and is struggling to make the modifications they want can always ask for help from the platform experts and forum members.

You can find more information on how to build this app on YouTube and at:

https://www.caspio.com/apps/patient-portal/ 

Tuesday, February 16, 2021

Strong Growth Predicted for Low-Code Apps in 2021

 Gartner is predicting continued strong growth for low-code platforms this year, due at least in part to a surge in remote app development during the pandemic.

Testing No-Code Platforms by Building an Enhanced To-Do App

 When I started experimenting with building apps on no-code platforms I built basically the same app each time. I was managing a payroll services company a few years ago and we ended up at one point needing to produce a web-based payroll entry program. I had a lot of experience planning and creating that application, so I decided that I would go with what I knew and try building that same app on each platform. That gave me a pretty good idea of how each platform worked, but it also limited the number of features I made use of - and that's why I've decided to use a different approach in the future.

One of the first small projects I looked at was a simple to-do list on Bubble. I was about to move on when I saw that Bubble had added some suggestions at the end of the tutorial about what you could add to expand on and improve on the app (see: https://manual.bubble.io/learning-bubble/more-features-for-your-to-do-app). I think that approach should allow you pretty much test all the features available on a particular no-code platform.

This approach may or may not work for you, but if you're looking over several platforms this could help you compare them and give you an idea of what's possible with each one.

Monday, February 15, 2021

Try it Yourself To-Do List on Bubble


Go to this URL to try out a basic To-Do list created on Bubble.io:

 https://mastering-nocode-todo-list.bubbleapps.io/version-test?debug_mode=true 

Note: We will be adding more features soon...

Machine Learning with Google Sheets

Recently I published a book on Amazon about how to make use of no-code machine learning models: Mastering No-Code: No-Code AI Apps (Create Your Own Machine Learning Apps). Then a few days ago I realized I left out one of the most popular platforms that offers machine learning features - Google Sheets.

The "Explore" button (the star-shaped icon) in the lower right corner of Sheets is your key to unlocking the machine learning features in Google Sheets on the Web (Note: Explore is also available for iOS and Android versions of Googe Sheets). Using Explore lets you simply ask questions about your data rather than having to develop formulas to try to extract the information you want. For example, if you have a spreadsheet with fields for "Sales" and "Date of Sale" you could type "Total sales for February 2021" in the Answer box, hit Enter, and let Explore provide the answer.

There are also add-ons for Google Sheets, like the one from Aasaanai which lets you build, train, and use machine learning models inside Google Sheets without writing any code. Or the BigML add-on that allows you to integrate machine learning models on BigML with Google Sheets.

Considering the number of people who use Google Sheets every day, the ability to use machine learning with your Sheets is a major step forward and I'll post more about it in the future.

Sunday, February 14, 2021

Protecting Your Data on a No-Code App Platform

Securing your data on a no-code (or low-code) platform should certainly be a part of the planning that goes into building an app. However, the first thing you need to decide is whether or not you want your data secured. If you're building a blog or sharing recipes privacy is probably not a problem. 

Even if you're dealing with data connected to your business, it may not require protection. For example, if you've built an app to handle employee leave requests and the database includes employee names, requested leave dates, whether or not the request has been approved or not, and how much time off the employee still has available, there's nothing really sensitive in there. If you add the employees' social security numbers though, then you need to secure that information.

Almost every no-code (and low-code) platform gives you the option of keeping your data private by forcing users to log in and out and by assigning "roles" to users and restricting their access based on their role. There are additional options though that can increase the security of your data. such as:

  • Require a moderately complex password - more than 5 or 6 characters, a mix of upper and lower case letters, one or more numbers, one or more special characters, etc.
  • Set up 2-factor authentication - users have to provide a password plus some other means to prove their identity.
  • Force users to change their password after a certain period of time - 60 days, 90 days, etc.
  • Log users out automatically if they've been inactive for a certain period of time.
Most platforms offer these options, so if you have sensitive data in your app consider making use of one or more of these methods to help keep that information secure.


Saturday, February 13, 2021

What's the Difference Between a Website and a Web App?

 

What is a "Website"?

Guru99:

A website is a group of globally accessible, interlinked web pages which have a single domain name. It can be developed and maintained by an individual, business or organization. The website aims to serve a variety of purposes. 

Essential Designs:

Websites, accessible through browsers, display useful content. They are navigable and can present digital content, images, video, and audio. Websites (vs web apps) are static, meaning the content doesn’t update dynamically. 

BrowserLondon.com Blog (Oliver Creswell 8/06/2020):

If users intend to simply access information or gain understanding, then you have a site. If they intend to accomplish some task that requires inputs and responses, then you have an app.

Website or Web App?

These explanations of how a website is different from a web app apply in general. The fact is though, there's no absolute difference between a website and a web app. I can pay for a membership on a no-code platform like Bubble, create an app with both static and dynamic pages, and add a custom domain name for that app. 

That means users can go to "www.myapp.com", read articles, news blurbs, healthcare tips or other information and also run an app that allows them to enter, update and chart their calorie intake. I think that's essentially a website - which means, yes, you can build yourself a website on a no-code app building platform. Apps and websites don't have to be two separate things.


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.