Blog
Michael Hackney, CTO and VP of Products, ViziApps

Over the years, I’ve worked with (and developed) a number of rapid application development (RAD) and low-code tools targeting development for desktop, Web browser, embedded device, and mobile device applications. Although these tools simplified developing the “shell” of the application, their required integration with databases and other data sources was complex and time consuming.

As I continue to dig into ViziApps® Studio to learn its ins-and-outs by developing increasingly complex mobile apps, I’ve come to appreciate how easy it is to create connections to a wide assortment of data sources — from traditional SQL databases (both cloud-based and on-premises) to cloud-based platforms including Quickbase® to Google spreadsheets to IoT data sources like ThingWorx®. Figure 1 shows the ViziApps Studio pull down menu for supported data sources; and within the SQL Database category, there are nine supported SQL databases, as shown in Figure 2.


SQL DatabasesI was so impressed with ViziApps’ ability to access data from such an impressive list of sources that it took me a few weeks to realize an even more impressive — and powerful — no-code feature I call “Data Source Simplification”.

Many low-code tools are tied to a specific data storage technology (Quickbase, for example) or a couple of SQL databases. No-code and low-code tools that support several different data stores typically expose the Citizen Developer to the arcane details of the underlying data store’s structure and query language, e.g. SQL in the case of SQL databases. This significantly increases development friction and the time and code expertise required to complete application development. ViziApps hides these details behind a simple and powerful no-code user interface. Populating the fields and building mobile-first workflow logic on a mobile screen from a Quickbase store, for example, is the same as from a SQL database or even a Google spreadsheet or PTC ThingWorx IoT data source. That is impressive.


Using every data source in ViziApps is supported with a set of four simple commands:
  • Select From – fetch the requested data fields from storage
  • Insert Into – add the data fields to storage
  • Update – update existing data fields
  • Delete From – delete existing fields from storage

Figure 3 shows these commands for inserting data into a Google spreadsheet. Each field shown on the mobile device’s screen is mapped to a named column in the case of a spreadsheet. If this application was built on a SQL database, the list of data access commands would be visually created the same way; but ViziApps maps the device fields to columns in the relational database. To the Citizen Developer, this looks and works intuitively, without the need to learn SQL or other query command syntax for each data type!

Data Insert Commands

In addition to greatly simplifying data access for the Citizen Developer, Data Source Simplification has other advantages. For example, you can prototype an application using a Google spreadsheet to work out the screen design and data flow and easily migrate to a SQL database when you are ready. In fact, you can even use multiple different data sources within the same mobile application. For example, if the developer of the Gas Mileage application shown above wanted to continue logging the “gallons” field to the spreadsheet while logging all other data to a MySQL database, they can easily accomplish this. Or, the application can select data to display while simultaneously inserting data into a different field — or even a completely different data store — for example to create an audit trail of application or data usage — ALL without complex query language programming.

The deeper I go into exploring ViziApps, the more I appreciate the power of its underlying architecture for no-code mobile application development. With ViziApps, Citizen Developers can create — and maintain — sophisticated data-intensive applications without the typical complexity, friction, and hidden required technical expertise required to use other mobile application development platforms.

Subcategories