ODA Chatbot using Bucket Storage in Cloud

You can easily setup static website with storage bucket in Cloud. Do you know that you can extend this setup for your ODA (Oracle Digital Assistant) Chatbot? This is provided as a JavaScript library for the Chatbot web channel.

The Setup

The setup is much easier than I had thought. This is a standard setup for ODA Chatbot web channel.

  1. Create folder for JavaScript and css in the object storage bucket.
  2. Create index.html or any main page for linking to ODA Chatbot.
  3. Create authenticated URL with access to the all objects within the bucket.
  4. Test your URL to start the Chatbot.

The setup of ODA Chatbot using web channel is simpler using the object storage architecture. You do not need to create new server instance or worry about the server capacity. This is because object storage comes with having high availability and huge storage.

Static Web Page with Buckets in Cloud

In the old days, you will need to setup a web server in a physics server to host a static web site. You will also need an domain name or public IP for your website to be accessible via the public internet. Do you know that you can quickly setup a simple static web page using bucket storage in Cloud?

How to Setup Your Simple Web Page in Bucket

This architecture setup is common to most cloud platforms. Usually, we called the object storage buckets.

  1. You can upload your static web pages into the buckets.
  2. If you have css or JavaScript folders, you can create them under the folders in the same buckets.
  3. Remember to grant private access for all objects within the buckets.
  4. Get the private url link for your web page and your static website is ready for viewing.

If you face errors in this setup, you can check for these common mistakes below:

  • Missing or incorrect grants to object access within the same bucket.
  • JavaScript or css errors in the files. You can use console log to check the errors.
  • CORS (Cross-Origin Resource Sharing) if you are embedding your static web pages in another website.
  • Wrong relative linkage of css and JavaScript folders.

You can easily setup static website without having to go through domain or server setup. This is useful for quick deployment of web page or static website. End users without in depth technical knowledge can also set this up as well.

Sorry! You are not ready for Digital Transformation…

Digital Transformation is pushing the demand on IT to achieve the impossible. Learning from the ERP era, we have understood the importance of user readiness and business alignment to IT. This is one of the key failures in many ERP project. Likewise, organisations are now placing a huge risk on digital transformation role that may follow the footsteps of ERP role.

Why User Readiness is Important?

Digital Transformation must not be conducted blindly and you need to spot the alarm bells. Pre-analysis of the user readiness is an important task that digital transformation role must be accountable. It is not surprising that many organisations are following the same path as ERP and dive straight into the IT part of digital transformation. The level of user readiness will help to determine if digital transformation should be proceed or delayed. If users are not ready, you will need more time to focus and prep the users. Pressing ahead for digital transformation will be disastrous.

Blind Faith

Digital Transformation is not an IT solution or asking for IT options. This is like seeking blind faith without understanding of user readiness. Many business users or even digital transformation role will think that IT implementation qualify as the success of digital transformation project. It must be a total efforts that transform existing processes and human behaviors to leverage technologies. If you are just adding technology, then your digital transformation is blind faith!

While the hype of digital transformation is ongoing, we are still having blind faith in this process. Like our predecessors of ERP, digital transformation is not just an IT project. You will need to ensure users readiness as your first checkpoint to proceed with digital transformation. It is best to engage someone with the right mindset in this role to ensure success in your digital transformation journey.

Cloud Agnostic

Cloud agnostic is one approach adopted for multicloud strategy. You will need to utilise open source technology and not dependent on cloud providers. This allows your technology stack to easily switch or migrate to other cloud providers. In a way, this means you are cloud independent and not locked to a particular cloud providers.

Journey to Cloud Agnostic

The ability to be cloud agnostic is a long journey. There are growing number products that allows you to deploy in different cloud platforms e.g. WordPress. These products have leverage on open source and they are interoperability for different cloud platforms. On the other hand, your proprietary applications will be challenged to be cloud agnostic.

A View To Be

If you are at opting for multicloud managment, it is time to factor your applications for cloud agnostic. Allowing your services to be cloud agnostic will take a lot of efforts. You will need to consider on the extend of conversion required before you can embark on this journey. However, you need to bear in mind that not all applications can be cloud agnostics.

Cloud agnostic is a challenging vision if you have different technology stack. You will realise that some applications cannot be cloud agnostic.

Freemarker Reserved Characters

Freemarker syntax has some reserved characters like other programming languages. This will cause unnecessary debugging when you find errors happening without reasons. So, one of the checks you need to do is to check for reserved characters in your variable naming.

Reserved Characters to Note

These are the reserved characters you must take note in your naming of variables.

How can I use variable names (macro name, parameter name) that contain minus sign (-), colon (:), dot (.), or or other special characters?

Source: Freemarker FAQ

Freemarker will not read the variable correctly if there is a special characters like “events-id”. You will be getting errors for Freemarker even if your syntax is correct.

How to Fix

These are some recommended solutions to fix them.

  • Remove the special characters.
  • Escape the characters with slash. “events\-id”.
  • Enclosed the variables with square brackets [“events-id”]
  • Assign the variables to your local variable name.

Freemarker is fussy with some of the reserved characters in variables naming. You need to take care not to include this when you name your variables. The easiest solution is to change the variable name. If the variable name cannot be changed, it is recommended to try other solutions to fix the name. My preferred solution will be assignment of the variable to my local variable name is the next best choice.

Project Rules of Engagement

In many projects, the rules of engagement is often vague and undefined. This is because standard communication plan assume a constant and stable environment. This is how waterfall projects are being run in the past. In agile projects, close collaboration is required and this blurred the formality of communication. To avoid misunderstanding, it is recommended to set some guidelines for rules of engagement with one another.

Standup Meeting

If you are familiar to Scrum, standup meetings are timeboxed to last 15min. In reality, this often overruns if you have more than 3 people. You should review this communication internally and give a realistic timebox. There are some who are not able to articulate the objectives within 5min. If so, there should be other breakout sessions to handle this. Thus, you must be disciplined to time box accurately.

Sprint Retrospective

The sprint retrospective is another good concept that can be used rules of engagement regardless of project type. Some will remember it as AAR (After Action Review), “post-mortem” or project review. The key communication objectives are to understand what goes wrong and ways for improvement. You can also share the good points and reinforce project communication for the next one.

The basic project rules of engagement can be classified loosely as daily standup and post review like sprint retrospective. These encourage project team to collaborate and communicate closely with one another.

Process Driven IT

There will be challenges when business is not aligned with IT. One of key reason is process driven IT. Processes forms many of the flow that business need for IT to flow with one another. If there is no processes, data will exist in silos with the rest of applications. Without processes, business can demand features without consideration to operations.

Processes as Sanity Check

One of common IT failures is the lack of processes when IT is implemented. Users may request for features that does not have existing processes. This is usually a result if references to competitor application. Thus, request for new scope must be supported by expected processes (To-Be). It serve as a sanity check for the “As-Is” processes.

Processes as Barrier

Not al IT requests should be implemented. If there is a reason to say no, you can utilise processes as barriers. It is not surprising that users have no idea how the new features can gel with the existing processes. It takes time to update existing processes and change human behaviors

I usually implement IT enhancements with a process driven mindset. It is easy to gauge the effectiveness of the enhancements when there are not existing processes. Therefore, processes can serve as barriers to stop the users requests.

Application Sustainability Framework

Sustainability framework will be creating a butterfly effect to downstream like product development or application development. There is not much guidelines for application sustainability framework because sustainability framework is produced at a holistic view. These are some points we can consider for application sustainability framework.

Automation is Sustainable

The first approach for application sustainability framework is automation of tasks. No, it’s not RPA! It is revamp of your legacy applications for automation. Human intervention in application give rise to idling and wait time. This creates inefficient workflows in your applications. The more automation there is, the higher your application sustainability will be.

Application Ecosystem

Application sustainability will require application ecosystem to obtain sustainable outcome. Applications no longer operate in silos but exist as networked ecosystem with one another. This leads to network orchestration and a rich exchange of digital information. A notable positive sustainable outcome is reduction of paper footprint in favor of digitalisation.

Two key characteristics of application sustainability framework is increased automation and application ecosystem. As a result, the network effect will drive and support the organisation sustainability framework.

Application Customisation is Costly

The high customisation cost in turnkey project is driving many organisations to look to Cloud product. Another major factor is initial sunk cost for customised application. On the contrary, cloud costing model is “pay as you use”. Thus, there is little incentives to look for turnkey application.

Time to Change

In the past, applications are designed to conform to internal business processes. It is common to find different SOP (Standard Operating Procedures) within a business unit. Fast forward to present, best practices are built into product. Existing SOP will need to change to adapt the best practices.

Exponential Cost of Customisation

Customisation cost will grow exponentially because SOP have become unique and non-standardised. Software and skillset have become locked in and face the possibility of being outdated. You will either need a refresh of technology stack or removal of customisation to stay relevant.

It is time to consider a standard product stack on a cloud platform. You will need to house your customisations in a separate logical compartment. That way, you can minimise your customisation costs and leverage on the advantages of Cloud.

Singapore Ban Unvaccinated from entering Shopping Mall

The inevitable ban finally arrives when Singapore announces that unvaccinated cannot “enter shopping malls or dine-in at hawker centres and coffee shops from Wednesday (Oct 13).” This will be seen as the final push to get the population vaccinated from COVID-19. It is another measures to help elevate the strain on medical services. Will this helps in place of testing? This will cry foul as unvaccinated people becomes alienated.

Differentiation instead of lockdown?

Many questions why fairness of differentiation vs lockdown. These messages only make it hard for people to live with COVID-19 normally. The new normal are slowly evolving into the following:

  • Mask wearing
  • Vaccination
  • Frequent COVID-19 testing
  • Home recovery
  • Ban for unvaccinated

Despite these normals, cases remains high. One reason could be due to home recovery. This is because one family members got COVID-19, it is likely entire family will get it as well.

Cat and Mouse

The measures will need to go at some point because it is a cat and mouse game of COVID-19 and the vaccines. Israel surge is a case study for all as this is a never ending game. We should either go all in or brake slowly. This will avoid unnecessary U-turn measures that only adds fear to public. Lesson learnt shows that healthcare system will face the brunt if the rate of reopening is too soon.

As we comes into the phase of differentiation by vaccination as predicted, certain measures are now tune to relief the healthcare system. It is now clear that gradual reopening should be done and we must not be complacent about being vaccinated. The fight must goes on but “more haste, less speed”!