License Plate Recognition Mobile App using Oracle Cloud Stack

Here is a quick cheat sheet if you ever wanted to build a mobile app that can take advantage of the camera built into the device, capture the vehicle or vehicles nameplate(s) in a frame and process that image and send it on API that can analyze the image and relay back the information it just scanned. This app can be extended to fulfil requirements like checking if the vehicle registration is up to date or insurance renewal is overdue etc. provided if there are APIs already available that can deliver this information.

So what is the tech involved in building this app?

  1. To build a mobile app that can be deployed on iOS or Android, I used the Visual Builder service from the Oracle Cloud stack. This service provides the capability to build Web as well as Mobile applications through a declarative approach with the ability to introduce code for any complex requirements.
  2. To store the captured image and use the image for downstream application purposes I used the Oracle Content & Experience service that comes with a rich set of APIs for content ingestion, public document link generation etc. From an enterprise architecture viewpoint, it makes sense to store the images with metadata in a content store, so I decided to archive the image using this service as part of the mobile app build process.
  3. The most significant bit is to use a library / API that can process the image or OCR and send back the information we are interested n. For these purposes, I used the open source ALPR library. There are API’s available already if you want to fast track your app.
  4. This one is optional. If you want to validate the information captured, we can set up a few API’s using the Oracle Autonomous Database with some data to complete the validation flow in the app.

This is what the Architecture would look like :

License Plate Recognition App Architecture.

Continue reading “License Plate Recognition Mobile App using Oracle Cloud Stack”

AUSOUG Connect 2018 – Talking Dev

ausoug-title-01.pngIn November 2018, I had the privilege to attend the Australian Oracle User Group national conference “#AUSOUG Connect” in Melbourne. My role was to have video interviews with as many of the speakers and exhibitors at the conference. Overall, 10 interviews over the course of the day, 90 mins of real footage, 34 short clips to share and plenty of hours reviewing and post-editing to capture the best parts.

Continue reading “AUSOUG Connect 2018 – Talking Dev”

Visual Builder Cloud Service – Dynamic Elements

 

I’ve been using VBCS for awhile now and it has really evolved over the past nine months.  I guess that’s one of the wonderful things about these PaaS offerings from Oracle; we don’t have to wait so long for new features and capabilities.

One thing I wanted to do, but it isn’t directly supported in VBCS yet, is to have dynamic displays.  I’ve done quite a bit of programming in native JavaScript and Oracle JET where I’ve used web sockets to make my graphs and gauges change automatically without the need for a refresh button.

Well, I figured out a way to do this in VBCS.  Now I will admit right away, this is pretty ugly, so if you are a software development purist, please turn off your TV now!

turnofftv.jpg

Continue reading “Visual Builder Cloud Service – Dynamic Elements”

Teaching How to Invoke Gen2 Oracle Cloud Infrastructure (OCI) resources via REST APIs

I am thrilled with the Oracle’s Gen2 Cloud Infrastructure architecture, where Oracle completely separates the Cloud Control Computers from the User Code, so that no threats can enter from outside the cloud and no threats can spread from within tenants.

Obviously with more security, there comes more coordination, especially at the moment of invoking OCI resources APIs. Luckily, Oracle did a good job at providing a simple to use CLI and SDK (see here for more information).

For the purpose of this blog, I built a simple NodeJS application that helps demystify the security aspect of invoking OCI APIs. Check this link for examples of running similar code across other Programming Languages.

My NodeJS application manages OCI resources in order to:

  • List ADW instances
  • Stop an ADW instance
  • Start an ADW instance

I started this NodeJS application to list, start and stop ADW resources. However, I designed this application to easily extend it to invoke any other type of OCI resources.

I containerised this application with Docker, to make it easier to ship and run.

This is a picture of the moving parts:

Continue reading “Teaching How to Invoke Gen2 Oracle Cloud Infrastructure (OCI) resources via REST APIs”

Oracle Digital Assistant Hands-On: Build your Digital Assitant under 2 hours

Screen Shot 2018-10-17 at 5.32.55 pm.png

As we roll out the Oracle Digital Assitant workshop across Australia and New Zeland over the course of the next few weeks, below are the instructions for the participants interested to try out the platform and build a Digital Assistant.

  • If you have registered for the event, you would get an email to set up the password for your Oracle cloud account on the day of the workshop.
  • Once you set up the password access  Digital Assistant UI to start building your first Digital Assistant.
  • Download the hands-on lab material from here that has detailed instructions on how to design and deploy a Digital Assistant.

Here are some interesting links that can compliment your learning process of the Oracle Digital Assitant or if you would like to re-visit them later.

Oracle Digital Assistant Channel: This playlist is dedicated to covering all the major features of Oracle Digital Assitant. You can watch in sequence for an end-to-end insight into Oracle Intelligent Bots, or dip into any video to learn about that features.

 

Additional Blogs that might help you in your Oracle Digital Assistant learning journey

Deep-dive real-world tips, techniques and samples on building skills with Digital Assistant Platform.

Boring FAQ to engaging Digital Assitant under 5 mins

Autonomous Digital Assistant to Human Agent seamless Handoff

Oracle Autonomous Digital Assistant: The new incarnation for conversation interfaces

Provisioning Autonomous Oracle Digital Assistant

Entities and Intents: crawling through Natural Language Processing

What if in the middle of the conversation the user changes mind?

Leave your comments here if you would need any more information on this topic.

 

Autonomous Digital Assistant to Human Agent seamless Handoff

In earlier articles, I discussed Autonomous Digital Assistantprovisioning a Digital Assistant, building skills and making it multi-lingual. In this post, I would like to take the discussion forward to address certain scenarios where there is a need for Human Intervention when the Bot cannot handle the conversation and instead redirect the chat to a human agent.

Continue reading “Autonomous Digital Assistant to Human Agent seamless Handoff”

Provisioning Autonomous Oracle Digital Assistant

In the last post, we talked briefly about the Oracle Digital Assistant. In this post, I would like to walk you through the provisioning process of the Autonomous Oracle Digital Assistant.

Continue reading “Provisioning Autonomous Oracle Digital Assistant”

Oracle Autonomous Digital Assistant: The new incarnation for conversation interfaces

If you are following the Oracle Autonomous Mobile and Chatbot Platform announcements you would have now realised that we have announced the availability of the Oracle Digital Assistant platform as a new SKU under the PaaS offerings.

In this post, I will delve deeper into the Oracle Digital Assistant offering and answer what I anticipate will be common questions about the changes.

Continue reading “Oracle Autonomous Digital Assistant: The new incarnation for conversation interfaces”

Building a Multi-Lingual Bot on the Oracle Chatbot Platform

Building a Multi-Lingual Bot on the Oracle Chatbot Platform

First things first, if you are new to building Chatbot using the Oracle Cloud Platform, here are some quick videos to get you started on the platform and its capabilities. There is also an online MOOC (Massive Open Online Course) available on how to build your first BOT using the Oracle Platform and access the Bot through Facebook Channel.
Now that we understand how to build a bot let’s turn the Bot that can recognise the input from the end user conversing in his/her own language and respond accordingly.

The Bot platform allows you to bring your own translation keys (Google / Bing) and the Bot can be configured to detect the language. The bot further converts the user input to English, intent recognition by the NLP engine kicks off, based on the dialogue flow the bot structures the response in English which is again translated back into the language in which the question was asked by the user.

Let’s see that this in action :

Continue reading “Building a Multi-Lingual Bot on the Oracle Chatbot Platform”

Building iOS Mobile App on Oracle Autonomous Visual Builder Cloud Service (VBCS)

The latest VBCS 2.0 release makes developing Mobile Applications faster using a declarative drag and drop approach while giving the flexibility to the developer to inspect the code and inject any additional code that the tool doesn’t provide out of the box. You can build your app from the browser itself without the need for any code editor.

Here is a quick tutorial on how to build a Mobile app using VBCS.
https://youtu.be/6n6p6D4ReLE

Once you develop your mobile app, you can create an Android or iOS build profile that will allow the tool generate the QR code so that you can test your mobile app on the device of your choice.

Continue reading “Building iOS Mobile App on Oracle Autonomous Visual Builder Cloud Service (VBCS)”