Low Code/No Code software development is expected to grow rapidly over the next 10 years

Driven by rapidly rising developer salaries, Low Code/No Code software development is expected to grow rapidly over the next 10 years. Gartner forecasted 23% growth in 2021. I took a look at the space and here is what I discovered.

Two terms are used interchangeably – “No Code” and “Low Code”. They are the same; the former is for marketing to the business user, and the latter is aimed at IT. There is no such thing as “No Code” when it comes to dealing with APIs, data, etc. But what these tools provide is a GUI that abstracts away stylesheets, JavaScript, databases, and APIs. It empowers non-developers to build functional apps without having to start with a wireframe. Some say that Low Code software development is 3-4x, both faster and cheaper, than regular development. Data can be driven by Excel. enabling business users to build functional apps. I paid attention to six options:

Larger players, aimed at intranet apps and automating workflows within the organization – payroll, vacation requests, sick time, approval process, requisitions, etc. Anything where a boxy UI is just fine. It’s all per-user licensing; they don’t have a licensing model that would work for a public app or website.
–AWS Honeycode
–Google AppSheet
–MS PowerApps

Smaller players are aimed at both private and public apps. You pay a license fee, they handle the infrastructure and scale.
–Adalo.com – highly rated, public apps and websites. Seems to be the better choice if you were creating a native app.
–Bubble.io – also a highly rated, public app and website. May not be a good choice for native apps. Allows for more complex apps.
–Outsystems.com – Bit more expensive than the first two, and aimed at both corporate users and public apps.

Each month new Low Code solutions are introduced. The growing number of options may be a detriment to the growth of the space. For example, Low Code for Financial Services, Social Media, Office automation, etc. If aiming at niche markets, you only have to build a subset of controls and objects. From that point of view, I get why it is this way.

I decided to build a test app using AWS Honeycode. The end-user has to install the AWS Honeycode App on their mobile devices. But once that is done you can quickly add multiple apps or distribute new versions without the user having to install the software. I was shocked that I was able to add a new field and re-publish it, and a user could see the new field on their phone without even having to restart the app. To me, that is a game-changer especially after struggling with getting apps distributed via the Appstore or Play Store.

Low Code is not good for:
–High computation
–Low-level app functions – video/audio, animation, etc.
–Some functionality such as location-based (LBS) may not be readily available
–Apps that require a very high level of control over the UI and full customization

If you require any further information or services, please don’t hesitate to contact us. We would be delighted to assist you in any way we can.

#lowcode, #nocode #appsheet #powerapps #honeycode

Load balance a high traffic WordPress site on AWS

WordPress is the most popular Content Management System (CMS) and powers 37% of websites and 60% of content management systems (CMS)! Many high-traffic websites such as TechCrunch, OptimistDaily, and BBC America use this CMS. Although there are so many other options, WordPress’s low cost, flexibility, and customization functionality results in its popularity. However, there is a limitation in the default WordPress configuration as traffic grows; a single server has both WordPress and the database and does not scale up. Most WordPress sites run in this configuration. Web pages eventually load slower ruining your visitor experience. To overcome this situation while staying with WordPress, a multi-tiered solution is required.

Some webmasters who only run the standard single server configuration may need help during the deployment process. Here is a brief guide on how to load balance your WordPress site.

The solution is to move to multiple database servers; this can be easily accomplished using AWS or other cloud providers. AWS offers a Relational Database Service (RDS) that uses SQL for maintaining and querying the data. First, you need to open the RDS console and create a new database from your dashboard. You will be prompted to specify the DB details. Although there are default settings for this, pay attention to the DB instance class and Multi-AZ deployment.

For security, create a DB username and password to securely access your DB and relay information. Under the Database option, type DB name and note down your DB port value to be used later. Have a sneak around the other default settings and click “Create Database”. The next step is to modify the ingress rules on RDS instance’s security group. To do this, go to the Amazon RDS console and choose a database to view its details. Under security settings, note the Security Groups and Endpoints. This can come in handy later on.

Under the security section, you will also see the security group associated with your DB instance. Click on the link to view the security group in the EC2 Console. Once open, choose “Inbound” in security group details. Click “Edit” and then add your Rule and Type and select mysql that your application uses. Lastly, modify the source table or type “sg-” to view a list of available security groups. Click ‘save’ and let the configuration take place.

Meanwhile, download WordPress along with the configuration files since you will need it later to deploy it on your server. Extract WordPress in your directory and the configuration files over the WordPress installation.

As you do this, you are already halfway to deploying your first WordPress website using Amazon RDS. But we still need to work around with the Elastic Beanstalk Environment (EBE).

Use the AWS Management Console to create an EBE. You also need to choose the PHP platform and accept the default settings and sample code. Click on Configure more settings, select high availability, scroll down and click on modify Auto Scaling group. Select number of max servers as additional servers will be billed as per standard charges. Click save and on the next screen click create. Once you create the ‘’Environment’’ you can configure and connect it to the database created earlier.

Upon successful configuration, deploy the WordPress code to the environment you downloaded from the repository. You can also launch the Elastic Beanstalk console. Upon loading, you need to choose the language of the platform such as English, Spanish or Arabic, etc.

For Application Code, choose the sample application and then click on ‘‘Review and Launch’’. You will be prompted to review the options, and once you are satisfied, hit “Create App”. The creation of the environment takes a few minutes and creates the following six resources.

  • EC2 Instance
  • Instance Security Group
  • Load Balancer
  • Load Balancer Security Group
  • Auto Scaling Group
  • AWS Cloud Formation Stack and a Domain Name

Elastic Beanstalk will manage all of the above resources. So make sure to not terminate your environment as it will terminate all your resources. The Amazon RDS DB is launched outside of the environment so you will also need to carefully manage its life cycle.

Make sure to configure and verify the structure of your WordPress Beanstalk Folder. You need to configure the environment property section by providing a database endpoint username and password mentioned above.

Finally, you can install WordPress and have your website up and running. To complete the installation, open the Elastic Beanstalk Console and navigate to the management page for your environment. Choose the environment URL to open your site in a browser and you will automatically be redirected to the WordPress installation Wizard.

Perform the standard installation. Since the database is already connected to the environment, you won’t be prompted to configure the DB. Installation takes a few minutes to complete, after which you can successfully run your load-balanced WordPress using AWS.

If you require any further information or services, please don’t hesitate to contact us. We would be delighted to assist you in any way we can.

Easily add scanning functionality to your app

With smartphones ubiquitous, companies are adding camera functionality to their apps to take photos or scans of documents, people, checks, identification cards, real estate, and whatever else. The majority of apps simply utilize the camera to take a photo which is then uploaded. However, customers want a more sophisticated experience that includes features such as cropping, edge detection, editing, filtering, formatting, and sharing. Writing that functionality from scratch would take considerable development time, but like everything in IT, there are 3rd party vendors that sell Android and IOS SDKs. Recently we took a look at a few for a project. Here is a quick summary of our assessment and how we chose a solution.

Initial research came up with the following options:

Commercial solutions:
-Scanbot SDK
-Klippa SDK
-Genius Scan SDK
-PixelNetica Document Scanning SDK

Open source solutions:
-WeScan SDK
-OpenScan SDK

Interestingly most of the commercial offerings were from companies based in Europe. They all release new versions of their software as hardware and operating systems are updated. Also, they all still work when the device is offline; so they don’t offer a usage-only model. Scanbot SDK was our first choice after our technology assessment; it had all the features we needed. But after further digging, we found that pricing started at $23,000/year! They have four different packages and the version we wanted was actually $50,000 per year! This far exceeded the project’s budget. I spoke to Scanbot and they were very helpful but unwilling to offer any discounts. Their target market consists of large companies and enterprise clients. We looked at Klippa which starts at around $5,000 per year, Genius Scan which starts at $4,000/year, and Pixelnetica which starts at $3,600 a year. Going into the research, we thought we might be able to find a solution for perhaps $1,000 for a permanent license.

We ruled out Pixelnetica because it would require us to write bridge components to get it to work in our app. We also didn’t feel comfortable going with the unsupported WeScan and OpenScan open-source solutions. We ended up choosing Genius Scan SDK over Klippa. It had all the features required and was easy to implement. You also don’t need to pay the yearly fee until the app goes live. Creating a demo app as a proof of concept took only a few hours. To evaluate functionality without any development, one can spend a few dollars and install and experiment with the single-user version that they all offer.

Our client tested our POC, approved the functionality, and greenlit development.

Contact us if you need help adding camera functionality to your app.

How to Easily Load Balance a WordPress Site Using AWS

WordPress is the most popular Content Management System (CMS) and powers more than 30% of the web. Many high traffic websites such as TechCrunch and BBC America use this CMS.

Although there are many other CMS options, the low cost, flexibility and customization functionality results in the popularity of WordPress. There is a flaw, however, in the default WordPress configuration, where a single server has both WordPress and the database, does not scale up to handle large amounts of traffic. Web pages load slower ruining your visitor experience. To overcome this situation, a multi-tier solution is required.

The solution is to move to multiple database servers; this can be easily accomplished using Amazon Web Services (AWS). AWS offers a Relational Database Service (RDS) that uses SQL for maintaining and querying the data. Some webmasters who run the standard single server configuration may need help during the deployment process. Here is a brief guide on how to load balance your WordPress site.

The Method

First, you need to open the RDS console and create a new database from your dashboard. You will be prompted to specify the DB details. Although, there are default settings for this, pay attention to the DB instance class and Multi-AZ deployment.

For security, create a DB username and password to securely access your DB and relay information. Under the Database option, type DB name and note down your DB port value to be used later. Have a sneak around the other default settings and click “Create Database”.

The next step is to modify the ingress rules on RDS instance’s security group. To do this, go to the Amazon RDS console and choose a database to view its details. Under security settings, note the Security Groups  and Endpoints. This can come in handy later on.

Under the security section, you will also see the security group associated with your DB instance. Click on the link to view the security group in the EC2 Console.

Once open, choose “Inbound” in security group details. Click “Edit” and then add your Rule and Type and select mysql that your application uses.  Lastly, modify the source table or type “sg-”to view a list of available security groups.  Click ‘save’ and let the configuration take place.

Meanwhile, download WordPress from here along with the configuration files since you will need it later to deploy it on your server. Extract WordPress in your directory and the configuration files over the WordPress installation.

As you do this, you are already halfway to deploy your first WordPress website using Amazon RDS. But don’t get excited too quickly since we still need to work around with the Elastic Beanstalk Environment (EBE).

Use the AWS Management Console to create an EBE. You also need to choose the PHP platform and accept the default settings and sample code. Click on Configure more settings, select high availability, scroll down and click on modify Auto Scaling group. In there, select number of max servers as additional servers will be billed as per standard charges. Click save and on the next screen click create. Once you create the ‘’Environment’’ you can configure and connect it to the database created earlier.

Upon successful configuration, deploy the WordPress code to the environment you downloaded from the repository. You can also click here to launch the Elastic Beanstalk console. Upon loading, you need to choose the language of the platform such as English, Spanish or Arabic, etc.

For Application Code, choose the sample application and then click on ‘‘Review and Launch’’. You will be prompted to review the options, and once you are satisfied, hit “Create App”. The creation of the environment takes a few minutes and creates the following six resources.

  • EC2 Instance
  • Instance Security Group
  • Load Balancer
  • Load Balancer Security Group
  • Auto Scaling Group
  • AWS Cloud Formation Stack and a Domain Name

Elastic Beanstalk will manage all of the above resources. So make sure to not terminate your environment as it will terminate all your resources. The Amazon RDS DB is launched outside of the environment so you will also need to carefully manage its life cycle.

Make sure to configure and verify the structure of your WordPress Beanstalk Folder. You need to configure environment property section by providing a database endpoint username and password mention above.

Finally, you can install WordPress and have your website up and running. To complete the installation, open the Elastic Beanstalk Console here and navigate to the management page for your environment. Choose the environment URL to open your site in a browser and you will automatically be redirected to the WordPress installation Wizard.

Perform the standard installation. Since the database is already connected to the environment, you won’t be prompted to configure the DB. Installation takes a few minutes to complete, after which you can successfully run your load balanced WordPress using AWS.

Best of luck!  And if you need help load balancing your site, we are available to assist with the transition.

 

For Reference and Additional Information:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/php-hawordpress-tutorial.html

 

Vimware is a Los Angeles based IT strategy and services firm that strives to be your most trusted technology resource. We work with you to understand your business demands and goals, then align them with the right technology strategy and solutions. We help you improve your digital footprint by carefully managing every detail throughout the Product Life Cycle.