Wednesday, November 24, 2021

GPT-3 Now Available to All Developers

OpenAI has just made GPT-3 generally available to all developers (in supported countries). What is GPT-3? Wikipedia defines Generative Pre-trained Transformer 3 as an autoregressive language model that uses a deep learning neural network to produce human-like text. In other words, GPT-3 can automatically write news stories and articles, create blog posts, compose poetry, and more, in addition to generating working program code in more than a dozen programming languages. GPT-3 is also being used to develop conversational models which can respond to comments or questions with replies that fit the context of the conversation.

The potential for GPT-3 continues to grow with new applications showing up almost every day. For instance, one developer has combined Figma's user interface prototyping with GPT-3 to create websites just by describing the desired type of website in a couple of sentences. Another example of GPT-3's flexibility is its ability to convert program code from one language to another using CodeX, GPT-3's code generator. Mark Ryan has even been able to use CodeX to convert old COBOL legacy code into usable JavaScript routines (https://towardsdatascience.com/codex-translates-cobol-into-javascript-266205d606c0). You can find dozens of other examples of what's possible with GPT-3 by going to:https://gpt3demo.com/. 

There are a number of known weaknesses in GPT-3 though: 

  • The model is pre-trained - it doesn't continue to learn from each interaction.
  • If the Internet material that was used to train GPT-3 included biased content, GPT-3 will tend to exhibit those same biases.
  • GPT-3 can only accept a limited amount of input for each interaction, so the input has to adequately describe the desired result.

Plus GPT-3 also has a dark side. According to an article on VentureBeat.com, "the Middlebury Institute of International Studies’ Center on Terrorism, Extremism, and Counterterrorism found that GPT-3 can generate “influential” text that could radicalize people into far-right extremist ideologies. A group at Georgetown University has used GPT-3 to generate misinformation, including stories around a false narrative, articles altered to push a bogus perspective, and tweets riffing on particular points of disinformation."

OpenAI does have guidelines that specify what type of content GPT-3 can and can't be used to create and filters to try to detect models that violate those guidelines. However, like many other advances in technology, it's still an open question as to whether tools like GPT-3 can be supervised effectively and what their overall effect will be. 

So what's the future of GPT-3 and similar deep learning models? The best answer  is that OpenAI and other organizations specializing in neural network applications are already hard at work attempting to develop even more advanced deep learning models. There's no turning back at this point, so hopefully GPT-3 and its successors will avoid the "AI is going to take over" stigma and turn out to produce more benefits than problems.

Wednesday, November 17, 2021

Glide Pages

 Glide (www.glideapps.com) has been one of the top choices for anyone looking to create mobile apps without coding, but they have just added the "missing piece" to their platform. With the introduction of "Glide Pages", you now have the ability to create responsive web apps and websites in addition to native mobile applications. 

You build Glide "pages" by dragging and dropping "Collections" onto the design screen. There are different types of Collections for different types of data - "cards" for images and "grids", "table b" and "lists" for tabular data. You can also attach "actions" to collection objects, items within a collection and other design components. Actions include updating records, showing notifications and calling webhooks (webhooks are a mechanism for applications to communicate with each other). 

Since apps created with Glide Pages are actually web-based, it's easy to provide people with access to your application just by setting up a web "portal" and providing users with the URL for that web page. Setting up a portal also allows you to create a secure environment by requiring user logins, where each user only has access to the data specified for their particular group or role.

You can find more detailed information on Glide Pages at:

"https://docs.glideapps.com/all/courses/introduction-to-pages"  and 

"https://www.youtube.com/watch?v=qhGbbUUFzVk"


Wednesday, November 10, 2021

Data Cleaning with No-Code

What is “data cleaning” and why do it?

Almost every organization has missing, incomplete, duplicated, inaccurate or otherwise unreliable records in their spreadsheets or database. In order to work with that data to produce meaningful information those records have to be repaired or deleted - “cleaned” in other words. Doing that by hand is time-consuming, error-prone and expensive and creating a program to do the work requires coding expertise.  Now however, there are no-code platforms that can help businesses repair their data automatically, without doing any program coding. 

What is “cleaned” data used for?

In recent years more and more organizations are using their accumulated historical data to create data visualizations and to train machine learning models. Errors in the input data due to missing, incomplete or invalid fields will lead to invalid or inaccurate results from machine learning models trained on that data.

How does a no-code data cleaning site work?

Generally you import your raw data, make sure all the columns are showing with the correct type of data in each column, and then you select to start cleaning. At that point you can normally set up cleaning rules or "transformations" for each particular column. A cleaning rule might be "Remove duplicate values" or "Replace any missing values with the word 'Unknown'" or "Remove any rows with a value over $999 in this column". Once the data has been cleaned you can visually spot check it to make corrections manually or to make sure that you didn't leave out any necessary transformations. Then you should be able to export the cleaned data as a CSV file that can be used as input for a "no-code" machine learning platform.

Where can I find a no-code data cleaning platform?

There are a number of platforms that allow you to clean raw data without needing to do any coding. Probably the most complete platform at the moment is Amazon Web Services' Glue DataBrew; you can find a detailed explanation of how it works and what options you have available with it at:

https://aws.amazon.com/blogs/aws/announcing-aws-glue-databrew-a-visual-data-preparation-tool-that-helps-you-clean-and-normalize-data-faster/ 




Wednesday, November 3, 2021

Walmart Joins the No-Code Revolution


Walmart is in the process of acquiring Botmock, a no-code startup that has developed specialized software that allows anyone with a little technical knowledge to build and deploy conversational apps. Botmock's interface creates program code automatically as the user constructs conversational flows.

Walmart's customers rely more and more on being able to shop using voice and text apps, which normally take a lot of trial and error to develop. Cheryl Alnoa, a senior vice president with Walmart presented this example:

“Building seamless interactions for voice or chat is a rather difficult design problem where we have to consider all kinds of conversational flows that depend on the individual situation and customer needs,” said Ainoa. “For example, if a customer uses their voice to create their weekly shopping cart, they could say, ‘Add milk to my shopping cart.’ The correct action and reaction to the customer will depend on several factors, including if the customer has bought milk in the past, what type of milk they prefer (e.g. 2%, non-fat, etc.). Do you already have a type of milk in your shopping cart? If so, should we ask if you want to change the quantity or let you know that you already have it in your cart? “

With Botmock's technology, applications like this one can be put together in days rather than weeks or months. Considering the savings in time and effort that are possible now, Walmart hopes to have the new voice and text app features available to all the companies in the Walmart family in the very near future.

Monday, October 25, 2021

Zoho One - Zoho's "Business Operating System"

I've posted before about Zoho Creator, Zoho's no-code/low-code app development platform. Creator is one of the oldest and easiest platforms to work with, but it's just one of numerous products in the Zoho family, which includes Zoho CRM, Zoho Forms, Zoho Sheets, and Zoho Books among others. Back in 2017 Zoho combined access to these applications in a single product called "Zoho One", which they refer to as a "business operating system". The latest version of Zoho One was released earlier this month and it offers a truly integrated package of applications - and what's really nice is that wirh Zoho Creator you can create custom apps that can exchange data with Zoho One applications.

Zoho One now includes over 50 applications and services, all available in one unified user interface. In addition, there is support for adding third party services by means of API connections. Here are a few of the applications and services in the suite:

  • Sales
    • Zoho CRM - A Customer Relations Management app that can be used by any size business.
    • Zoho Bigin - A CRM for small to medium sized businesses.
    • Zoho Sites - Build no-code websites.
  • Marketing
    • Zoho Forms - Simple mobile form maker.
    • Zoho Survey - Create online surveys and questionnaires.
    • Zoho Commerce - Allows users to build a website/store, take orders, track inventory, process payments, manage shipping, market products or services and analyze collected sales data. 
  • Support
    • Zoho Lens - Provide online support for users with the help of a  smartphone camera and augmented reality software.
  • Productivity
    • Zoho Mail - Provides email services for personal and normal business email.
    • Zoho Projects - Project management software.
    • Zoho Connect - Team collaboration software.
    • Zoho Learn - Knowledge management and learning software.
  • Finance
    • Zoho Books - Online accounting software.
    • Zoho Invoice - Online invoicing software.
    • Zoho Inventory - Online inventory management software.
  • HR
    • Zoho People - Online human resources management software.
  • Business Process
    • Zoho Analytics - Business intelligence and data analysis software.
    • Zoho Data Prep - Data cleaning software.
    • Zoho Creator - Develop custom applications without coding and interface with other Zoho products and third party services.
Interfacing Zoho Creator with other Zoho applications does require some (small amount) of JavaScript or HTML coding, but there are lots of examples online to guide you. Even when you need to modify the coding in the examples the changes or additions are normally self-evident. Overall, Zoho offers an interesting option for customers looking for a comprehensive, integrated business management system that can be customized with no-code apps.

By the way, if you're wondering how popular Zoho and Zoho One are, here are some figures about how many people use Zoho:

"Zoho recently celebrated its 25th anniversary and has grown to over ten thousand employees in the last twenty-five years. Zoho has seventy million users in one hundred and eighty different countries. Zoho One has over forty thousand customers, with the largest customer having thirty-two thousand employees.

You can find out more about Zoho One on YouTube at:

https://www.youtube.com/watch?v=_dgn9rIKLDI 

Thursday, October 21, 2021

Building a Predictive App with Zoho Creator

Zoho Creator is another no-code/low-code app builder that allows you to create machine learning apps. You can find an example of how to make use of Zoho's AI features by going to:

https://zoho.com/creator/newhelp/forms/fields/prediction/add.html

I decided to go through the steps to build a simple machine learning app to estimate the selling price of a home, given certain information about the home. Starting with a blank app design, I added fields for the estimated selling price, the age of the house, its size in square feet, the number of bedrooms, the number of bathrooms and the exterior (brick, wood paneling, or rock). Then I selected a “Prediction” field which started the Prediction Builder. The Builder asks you to select the fields for estimated price and for the different parameters or fields that would affect the price:


Next, you define your training data – whether you want to use all records or just specific records. In my case I went ahead and chose “All Records”:



Choosing “Specific records” will make the AI use only those records that satisfy the criteria for building the predictive model.

Next, the Builder displays your choices and prompts you to add a Prediction field:


To train the machine learning model to estimate a selling price you need to supply the model with data by importing appropriate records or entering records manually. It can take quite some time for the model to assimilate enough data to make predictions about an estimated selling price. In the meantime, you can check on how the prediction field's training is progressing by editing the input form, clicking on the prediction field and scrolling down the field properties to “Model Details”.

In my case, after entering 20 or so records, the description under “Model Details” reads “Model training is in progress”:


Once the model absorbs enough data, its Accuracy rating will be displayed under “Model Details”, along with a “Retrain” button which you can use to retrain the model if necessary.

Zoho Creator offers several other AI fields in addition to the Prediction field:

  • Keyword Extraction field – This type of AI field analyzes the text in a single or multi-line text field and extracts one or more “keywords”, which are stored as a comma-separated list. As an example, you could use keyword extraction to search through customer comments and find particular words such as “happy”, “great”, “unhappy”, “flimsy”, and so on. It could also be used to scan the text in a webpage for references to a subject you're researching, such as “dark matter” or “no-code programming”.

  • Sentiment Analysis field – A sentiment analysis field is used to scan a single or multi-line text field and determine if the tone of that text is positive, negative, or neutral.

  • OCR field – The Optical Character Recognition field allows you to extract the text from an image stored on Zoho Creator. It can recognize JPG, JPEG and PNG image formats and can be used to do things like extract the text from a picture of an invoice or a business card.

  • Object detection field – An object detection field can identify the type of objects in a Zoho Creator image field. The objects detected will be displayed as a comma-separated list (for example: “clock”, “table”, “chairs”). The OCR field is capable of detecting a variety of objects, ranging from cats and dogs to stop signs and traffic lights to laptops and microwaves. You can find a complete list at: https://www.zoho.com/creator/newhelp/forms/fields/object-detection/



Friday, October 15, 2021

Creating an Online No-Code Course

What does it take to create an online course that has something to do with the no-code movement? It takes time, patience, and several other things: 

  • Do some research. Explore the popular online course websites like Udemy,  Skillshare, Thinkific, Simplilearn, and Teachable and look for areas of no-code development that aren't well represented (or represented at all). For example, Kintone is a highly-rated no-code/low-code app development platform, but currently there are no English-language courses on Udemy dealing with Kintone. You may also come up with a twist on the usual tutorial courses. There are a number of courses on Mendix on Udemy, but there's also a course that's simple a set of 3 practice tests to help you pass Mendix's "Rapid Developer" certification test.
  • Find out what subjects are the most popular before you decide on exactly what your course will cover. Of course you'll want to check on the number of people signing up for similar courses on platforms that host online courses, but don't stop there. Look at books on Amazon related to your course content and see how many reviews those books are getting and how high they rank. Do the same thing with no-code blogs and forums, as well as any no-code Facebook groups.
  • Find a niche. Once you have a general idea of what type of course material you want to cover, consider narrowing it down to a more specific area and still attract students. It's somewhat similar to publishing a book on Amazon - if your subject is too general it can get lost in among a lot of other books (or courses in this case) that are covering the same material.
  • Make sure what each platform provides. You're going to want a platform that:
    • Allows users to access your course on the web, by phone or on their tablet.
    • Provides a forum for the people enrolled in your course.
    • Offers polls and surveys to provide feedback on how people rate your course, both the content and the presentation.
    • The ability to have students upload course materials.
    • A built-in mechanism to handle payments and refunds.
  • Build the course. Don't be concerned about making the perfect version of your course right way, follow the same procedure that you would when creating a no-code app and start out with a Minimum Viable Product. You can add all the extras once you get some feedback on what your students like and don't like about the course. Here are some additional tips to keep in mind:
    • Micro-learning is a popular concept now for a reason. People tend to learn more easily when information is dished out in small bites. Do the same thing with each lesson in your course - keep the lessons short and focused on one specific topic.
    • To some extent use the method of "say it, then say it again" (or "show it", then "say it again") to try to emphasize main points in your presentation.
    • The majority of people who sign up for an online course never complete the course. Try to gamify things in some way to keep students engaged, maybe offer some special tips or advice for those who reach certain points in the course or points that can be used to purchase additional material.
    • Make sure you have a discussion group for students who have questions or feedback or just want to talk about things that sparked their interest.
  • Don't let inexperience stop you. If you're not sure how to put together an online course there is (somewhat ironically) a course on Udemy on creating online courses, plus there are a number of websites like Snapcourse that can help you build your presentation (or build it for you for a fee).