Understand AI before you regret it!

Right now, as you’re reading this blog post, Waymo (Google’s offshoot) is  testing its self-driving cars and it’s nearly ready for mass production!

Quite soon, you can tap a button on your smartphone to summon your car that can drive you around the neighborhood or get you through the morning traffic while you sip your coffee and relax listening to your favorite music!

Are you a Star Wars fan? If so, do you want your own R2D2 to take care of your household chores?

Well, researchers at MIT are training robots by creating simulations of common household chores. In a few years from now, you can say goodbye to those boring mundane tasks!

Photo by Andy Kelly on Unsplash

By 2050, robots may take over all mundane, monotonous, and assembly-line jobs and provide goods very cheaply or nearly free! In such a case, you’ll be free to work on ‘creative’ jobs that are actually fun while your government provides you income!

All these scenarios will be possible only due to two vowels that hold the key to our future: AI!

Artificial Intelligence (AI) is at the heart of all such future changes that’s going to propel humanity to new heights for the better! Imagine C3PO and R2D2 in Star Wars and Ava in Ex Machina and JARVIS (Just a Rather Very Intelligent System) in Iron Man… All these examples are going to be part of our everyday lives in the next few decades!

And, in case, you were pondering about Terminator-like situations, AI researchers are working hard to prevent such events, so don’t worry about that.

I am going to write a series of blog posts on AI but before you take a deep dive, have a look at a brief overview of the important technical ideas and terminologies associated with AI in this post.

What’s AI?

Artificial intelligence is the ability of the computer to think and perform actions without human intervention. An AI system will be able to make decisions and act on its own without any explicit instruction.

AI is being used by every industry in bits and pieces and the AI revolution has already begun! IT and software majors, such as Microsoft and Google are betting their future on AI!

You probably want to apply AI to solve your problems. But AI is a huge field with multiple approaches and applications. Therefore, before you begin to apply AI to any problem, you first need to understand the different approaches or sub-fields of AI.

Types of AI

AI is classified into two types based on its scope:

  • Strong or general AI
  • Weak or narrow AI

Weak AI

What we now have in common use across most industries is called ‘Weak AI’ or ‘Artificial Narrow Intelligence’.  It’s this AI that automatically performs specific tasks. It’s restricted to a particular problem’s domain.

Strong AI

This is the general-purpose AI that can perform any task. The AI you see in Star Wars and Westworld that has consciousness and can ‘think’ on its own, is called ‘Strong AI’ or ‘Artificial General Intelligence’ and that’s what scientists and engineers are working on.

It’s the kind that Elon Musk and Bill Gates warn us about. This is a big deal because such an AI can perform any task, including reprogramming itself!

OpenAI, a non-profit AI research startup founded by Elon Musk and Sam Altman, is actively working on such a general-purpose, friendly AI to help humanity.

Origins of AI

AI has been part of our imagination for a long time and research on it has been going on since the 1950s.

The first work in AI (even before the term was coined) was done by Alan Turing, who proposed that “If a human couldn’t distinguish between responses from a machine and a human, the machine could be considered ‘intelligent’.” The systems that satisfy this rule are called Turing-Complete.

It all began in 1956 at the Dartmouth Conference where scientists from MIT and CMU coined the term and gave birth to AI. They became the founders of AI. They developed several algorithms to play checkers, solve algebra, and speak English and were funded by the Department of Defense, USA.

But they faced several difficulties with the hardware and AI lost focus in the following decades beyond a few sci-fi books and movies. Then, as computation power began to increase rapidly in the 90s, AI began to rise again and was used in logistics and data mining.

After 2012, the rise of fast and cheap Graphic Processing Units (GPUs) and new neural network algorithms and access to large data caused the current AI boom.

Sub-fields of AI

The major sub-fields are:

  • Machine Learning (ML)
  • Computer Vision (CV)
  • Reinforcement Learning (RL)
  • Natural Language Processing (NLP)

Note: These sub-fields often blend with one another, may overlap, and share algorithms and techniques.

Machine Learning is the name of the game!

It’s a sub-field of AI where the machine learns by processing all the data provided to form a statistical model or pattern for the data, and based on the model, performs actions or makes predictions.

The initial data is called training data and the model is the trained model. Then, that model can be applied on new data for predictions and classifications.

For instance, you’re already using products powered by ML in your daily lives:

  • Product recommendations on eCommerce websites, such as Amazon, and on music and video streaming services, such as Spotify and Netflix
  • Google Search
  • Virtual assistants, such as Siri and Alexa
  • Targeted advertising done by Amazon, Facebook, and Google

ML systems are also accelerating research on:

Computer Vision makes machines ‘see’!

This sub-field deals with computers learning to read images and videos and generating images on their own. In other words, CV algorithms allow machines to recognize and understand images and videos.

These algorithms enable machines to:

  • Identify texts in images and understand them (for instance, postal codes and addresses on packages)
  • Identify and automate inspections on production lines
  • Self-drive cars
  • Identify cancers based on images of tumors

Reinforcement Learning allows machines to make decisions and move about!

RL is a sub-field of machine learning, which is concerned with decision-making and motor control. Watch an AI agent learning to walk by itself!

These algorithms work without any training data. Given an environment, these algorithms explore it and perform some actions, and based on the result, train themselves. These algorithms work by using the trial-and-error method.

The RL agent learns a policy that gives it a reward based on the action it performs and tries to improve the policy to maximize the reward.

RL is a very general-purpose algorithm that can be applied to any situation. It encompasses all problems that involve making a sequence of decisions. RL algorithms have started to achieve good results in many difficult environments.

Deep Blue, the machine that beat Gary Kasparov in the historic chess match in 1997 was based on an RL algorithm. Also, the latest robotic vacuum cleaners available in the market is an RL agent.

The OpenAI initiative, set up by Elon Musk, and DeepMind, started by Google, have created several environments for RL algorithms. They have made several game-changing breakthroughs and designed systems that can play traditional games, such as GO and chess and computer games, such as Dota.

Not just games, RL systems are used in the financial sector for investing in mutual funds, stock-trading, and hedge funds.

Natural Language Processing enables machines to learn languages!

The NLP sub-field deals with learning and understanding human languages. These algorithms work with text and speech data and try to understand the speech and its context. This algorithm learns the semantics and grammar of the language and produces a set of rules based on which it creates its own content. It improves its rules by continuously learning based on interaction.

For instance, Google Translate, Google Assistant, Siri, and Alexa all work by using NLPs. Microsoft has even created a real-time language translator for skype by using NLP.

Artificial Neural Networks

All these sub-fields work together to build AI systems. One of the most important algorithm or technique used by all of these sub-fields is called Artificial Neural Networks (ANNs). ANNs are systems inspired by human brains. It is a collection of nodes called neurons.

Each neuron receives a signal, processes it, and signals other neurons. Thus, all the neurons collectively make a decision based on the input signal.

They are the most commonly used algorithms right now and there is hope that they’ll lead to Artificial General Intelligence. Deep learning is an implementation of ANN that uses several layers of neural networks.

Ahem, <coughs> ahem, I know this is getting to be a long post and I maybe frying your neural network… So, I’ll end this post with a short introduction on AI-based applications in FinTech! 😊

AI applications in FinTech

Mortgage models

A mortgage model can be built using an ML algorithm to find the price of a house based on several parameters, such as sq. ft. size, area, facilities, etc.

Machine learning can be used to automatically find the best mortgage loan for a person and how likely is it that he/she will repay the loan or default on it.

ML can be used to build credit-risk models by capturing the data of borrowers and automatically audit the loans based on credit history and other parameters.

For example, MyBucks is claiming to have automated the entire loan origination process. Also, BlackKnight is using ML in their loan origination process.

General financial outlook

ML systems can be used to monitor economic situations based on several parameters, such as interest rate, inflation, GDP, and build risk models and stress tests that will flag any anomaly or identify potential cause for recessions or financial downtrends.

For instance, BlackRock is using AI to predict the future of the economy. ML systems can ensure that events like the 2008 subprime mortgage collapse can be prevented.

Fraud detection

ML systems are already being used for fraud detection. Every time you make a credit card transaction, AI systems are monitoring the transaction and deciding whether it is fraudulent or not. They monitor all user transactions to identify credit frauds and alert the banks for potential frauds.

Zensed, an AI-based startup, has developed a product to monitor and prevent frauds.

Trading algorithms

RL-based systems can be used to build high-frequency trading algorithms that’ll update themselves based on current market trends to predict stock prices and trends. RL algorithms can help in both technical analysis and fundamental analysis of a company as well as to learn trading strategies for various kinds of trading.

So, that’s all my friends… Hope you had a satisfying read. Bricks and bouquets are welcome! Leave a comment and I shall surely respond. Meanwhile, to whet your appetite on AI until I return with my next post, check out the following case-studies and research papers:

Stanford paper on the future of AI: https://ai100.stanford.edu/sites/default/files/ai_100_report_0831fnl.pdf

Hitachi case-study on AI in FinTech: http://www.hitachi.com/rev/archive/2016/r2016_06/pdf/r2016_06_104.pdf

A book published by Microsoft covering short stories on AI and ML among others: https://news.microsoft.com/futurevisions/

Disclaimer

Please note that the views, thoughts, and opinions expressed in this blog post belong solely to the author, and not necessarily to the author’s employer, organization, committee or other group or individual.

The only module bundler that guarantees success with speed!

How I chanced upon module bundlers

Once upon a time, my former team member, Albert, had to take up a short assignment of Joe, a front-end developer, who was about to leave their organization.

Now, Joe had left everything perfectly in place, every tool and every configuration… Well, at least that’s what he and Albert believed!

However, a couple months later, Albert started having issues with the build during CI (Continuous Integration). Well, it was actually a dependency management issue. Therefore, to fix this issue, he tried to figure out various solutions.

We all pooled in and helped him resolve that issue. That’s how, along with Albert, we all finally ended up experimenting with multiple module bundlers!

This blog post is an attempt to capture that learning for posterity’s sake!


What does a module bundler do?

Most programming languages allow code to be split into multiple files. Then, those files are imported into the application to use their specific functionalities.

Usually, browsers don’t support this functionality (though few modern ones have started bringing in this functionality). Module bundlers were built to bring in this capability.

Module bundlers:

  • Load modules asynchronously and run them after they’ve finished loading, or
  • Combine all the necessary files into a single JavaScript file, which could be loaded via a <script> tag in HTML


Disadvantages of not using module loaders and bundlers

You can always combine your files manually or load HTML with countless <script> tags but that has several disadvantages, such as:

  • You’ll have to keep track of the dependencies and the loading order of the files.
  • Multiple <script> tags mean multiple calls to the server to load all of your code, which  makes the performance worse.
  • You’ll have to worry about a lot of manual work, such as keeping track of bundled scripts, maintaining them, etc.


webpack: The only module bundler that guarantees success with speed!

webpack is one of the most popularly used module bundlers available for the JavaScript ecosystem. And according to me, one of the best out there! I’ll come to that in a bit! 🙂

Module bundlers became a trend starting with RequireJS, which was introduced first in 2009 as a JavaScript module bundler, followed by  browserify!

Since then, quite a number of module bundlers have emerged. Among all the module bundlers, webpack is one of the best.

Image source: https://webpack.js.org/

When webpack processes your application:

1. It recursively builds a dependency graph that includes every module your application needs.
2. Then, packages all of those modules into a small number of bundles-often only one-to be loaded by the browser.


When should you use webpack?

You should use webpack if you’re building a complex front-end application with many non-code static assets.

It might be more of an overhead for fairly small applications with less static assets.


What does webpack do?

Based on the code size, webpack helps to modularize the code. It loads these modules as and when needed. It helps in faster page load and improves performance.

webpack can transform files from a different language, such as, CoffeeScript to JavaScript, or inline images to data URLs.

It also helps to parse most of the third-party library and handles widely used styles in CommonJS and AMD.

 

webpack: A comparison with  other module bundlers

Well, as you’ll already know, webpack isn’t the only module bundler out there! So, I thought that this feature-by-feature comparison will help you choose the best module bundler!

webpack is one of the most flexible module bundlers because there are loaders pretty much for anything — so you can shim or include any type of file you want. It’s more flexible than other bundlers because you can decide more entry points and support different types of assets.


Sample configuration with webpack

Given below are the steps to configure webpack for a small application.

Here, you just bundle the script files, transpile them into ES5 code. We also bundle the css files in the project. The steps to install and configure webpack are given below:

1. First of all, you’ll need to install Node.js and npm. Then, install webpack and webpack-dev-server either globally or locally on your machine:

npm install webpack
npm install webpack-dev-server

2. Install the webpack-cli (The tool used to run webpack on the command line):

npm install webpack-cli --save-dev

3. webpack.config.js tells what the webpack should do. Create a file webpack.config.js in your project and add the following basic snippet to it:

module.exports = {

  entry: './main.js',

  output: {

    filename: './bundle.js'

  }

};

The configuration is pretty simple. Entry is the file, which’ll be the root of your dependency graph and the entry file for webpack whereas the output contains the filename of the output file. The output file will be used in index.html.

4. Open terminal from project root and execute the following commands:

npm init -y

The npm init -y creates package.json in your project, which you must use to save development dependencies and to add loaders to your project.

package.json
  {
    "name": "webpack-demo",
    "version": "1.0.0",
    "description": "",
    "private": true,
    "main": "index.js",
    "scripts": {
        "build": "webpack --mode production",
        "start": "webpack-dev-server"
       "test": "echo \"Error: no test specified\" && exit 1"
    },
    "keywords": [],
    "author": "",
    "license": "ISC",
    "devDependencies": {
      "webpack": "^4.0.1",
      "webpack-cli": "^2.0.9"
    },
    "dependencies": {}
  }
npm install --save-dev babel-loader babel-core babel-preset-env 
npm install --save-dev css-loader style-loader

npm install –save-dev babel-loader css-loader style-loader installs these loaders via npm and saves them in the node_modules folder inside your project.

5. Now, to work with the installed loaders, you must inform your webpack.config.js to use them while creating the builds or while running the web server. You should do it by modifying your config file as follows:

module.exports = {
  entry: './main.js',
  output: {
    filename: './bundle.js'
  },
  watch: true,
  module: {
    rules: [
    {
      test: /\.css$/,
      use: [
        { loader: "style-loader" },
        { loader: "css-loader" }
      ]

    },{
      test: /\.js$/,
      exclude: /(node_modules|bower_components)/,
      use: { 
        loader: 'babel-loader',
        options: {
          presets: ['env']
        }
      } 
    }]
};


Closing Notes

I recommend using webpack for bundling large web applications. webpack is also my first choice for single-page web applications.

In fact, for our Brimma Tech website, we used webpack and reduced its load time by two-third of what it was before! Also, we’ve reduced the number of gulp tasks in our builds and decreased the complexity.

The following graph shows our website’s load time before and after using webpack for bundling!

Overall, webpack is the clear winner when it comes to speed and flexibility. webpack 2 offers more features and performance outside of the box though as of now, it’s in beta stage and not ready for production as some of the sourcemapping for scss is broken and not all loaders support it.

With webpack, you can support all of what other module bundlers support with external loaders.

So, what do you think? Do you agree with me? I look forward to your thoughts on my webpack comparison with other module bundlers.


Disclaimer

Please note that the views, thoughts, and opinions expressed in this blog post belong solely to the author, and not necessarily to the author’s employer, organization, committee or other group or individual.

References

Now is a good time to know the truth about Native vs. Hybrid vs. PWA Apps

An Overview

Do you have a brilliant product idea in your head, which will turn heads all over the Internet? Choosing a stage with maximum audience is a no-brainer. The product should be at the reach of a user’s hand if it must be used.

Going by the statistics of time spent in different arenas by an average user, the digital media that enjoys the maximum time spent by a user is a mobile app.

Going by the current trend, the easiest way to reach millions of minds (and hearts) is through the ubiquitous 6-inch pandora’s box!

Now the question is: which road will you choose to settle into maximum Home screens with your app efficiently?

Three ways to make your app settle on a Home screen

  • Native App – The safe, slow, but steady way
  • Hybrid App – The easy way with a lot of guides
  • PWA (Progressive Web App) – The newest kid on the block
  • (progressive though sometimes bumpy)

And, that my friends, is just the beginning of this competition!

Don’t Be Like Mark Zuckerberg!

Mark Zuckerberg regretted his decision of relying too much on HTML5 rather than native applications.

Therefore, don’t be like Mark! Be clear about which path you should take before you start developing your app.

Whacking trees with a blunt axe is no way to develop an app!

Listen to Lincoln

“If you give me four hours to cut a tree, I’d spend the first three hours in sharpening the axe.” – Abraham Lincoln

 

What’s the BIG deal about Native Apps

In this method, the apps are developed by using different languages and technologies for various OSs, such as android and iOS (Windows, anyone!?).

There are many languages developed specifically for a particular OS. The most common ones used to develop apps are C#, Swift, and Java. This method is usually followed when your app contains many animations and is data heavy.

You would want to use the full potential of the OS yourself instead of depending on the browser or the WebView. It is, sometimes, a herculean task to develop the same app with a totally different technology for two different OSs. For example, take Snapchat, the app. It has the same UI for both the OSs but the development is done entirely by different set of developers for both, respectively.

What Happens Behind the Screen

There’s no hidden layer here. It’s an application on top of your OS.

Thanks to this, Native apps are usually smoother and lighter than the other two.

I would say an app developed by using this path is like an apple (yes, the fruit!) developed organically and traditionally among other apples, which are developed by using a lot of agents!

The artificial apple doesn’t pose any trouble till it gives the same taste and nutrients to its consumer as a natural apple does.

Only when the user recognizes that the apple doesn’t give him/her the same taste and nutrients, will he/she have a problem and then will turn to organic apple!

When should you choose Native apps

  • When you want to access device features
  • When your app has complex animations and is data heavy
  • When you’re 100% sure about your app getting installed. And, you’re not worried about losing user traction
  • When you’re worried neither about the higher number of resources needed nor the time required to develop for different platforms

 

What’s the BIG deal about Hybrid Apps?

Develop once and deploy anywhere is the strategy used here.

In simpler words, write once, run anywhere!

The development team develops the application using HTML, JavaScript, and CSS. There are many approaches for developing Hybrid apps. There has been a significant progress in Hybrid apps, which sometimes makes it impossible to distinguish between Hybrid apps and Native apps (when developed properly).

Before you read further, please watch this HTML5 Mobile App Challenge.

HTML5 Mobile App Challenge Video

What Happens Behind the Screen

The way it works depends on the path you choose to take. If it is Cordova, PhoneGap, or Ionic, it makes use of something cool that the phone provides called WebViews.

The WebView then runs the app as a Web app on top of it. There are many WebViews provided by smartphones. The most widely used Web View is the WKWebView provided by iOS and Android.

With both these devices, there were few compatibility issues, which have been resolved over time. Now, WebView has matured very well.

Leveraging Apache Cordova

Today, most hybrid mobile applications leverage Apache Cordova, a platform that provides a consistent set of JavaScript APIs to access device capabilities through plug-ins, which are built with native code.

As a side note, Apache Cordova originally started as a project named PhoneGap. These days, PhoneGap exists as a distribution of Apache Cordova that includes additional tools.

Note: For more context about this history, check out PhoneGap, Cordova, and what’s in a name?

Where to find these plug-ins

These plug-ins include APIs for accessing the device’s accelerometer, contacts, camera, and more. There are also several plug-ins that are built and maintained by the developer community at large. These can be found in the Apache Cordova Plugins Registry. A curated subset of these plug-ins that have been thoroughly tested, documented, and extended can also be found at the Verified Plugins Marketplace.

The best-known framework, Apache Cordova, embeds HTML5 code inside a WebView and then provides a foreign function interface (FFI), or a ‘native bridge’, to access the native resources on the device. Thus, a developer using a Cordova-friendly framework, such as Kendo UI Mobile can write a few lines of code to leverage a native camera in a cross-platform-friendly fashion.

When should you choose Hybrid

  • When you want to get into the market place
  • When you want to make use of device features
  • When your app is mostly form-based and doesn’t carry too much data
  • When you or your resources are proficient in JavaScript frameworks, which increases speed of development

 

PWA – What’s the BIG deal?

The new, progressive and easy route that most developers take in recent times is PWA.

PWA takes up very small space on a Home screen with minimal effort, thanks to Google developers. The idea was proposed in 2015 and has matured gracefully since then.  Frances Berriman and Google Chrome engineer Alex Russell coined the term ‘Progressive Web Apps’ to describe apps that took advantage of new features supported by modern browsers, including service workers and web app manifests, that let users upgrade web apps to PWAs, which run smoothly on their native operating system (OS).

The web app, which opens on your Web browser, can be added as a bookmark on to your Home screen by using the Add to Home Screen option in Chrome for Android devices and Safari for iOS devices.

If you’re worried about it working offline, it can be made more than a bookmark by using the cache that these browsers provide. It is basically a web application, which can morph itself like a complete app with ease. All you must do is develop your web app with responsive design and create service workers to make use of the browser’s cache.

What Happens Behind the Screen

When you click Add to Home Screen, a bookmark is added on the Home screen. Next time, when you click it, it is this bookmark, which opens the app by using a Web browser.

Service workers help you cache data in the browser. This makes your app open swiftly just like a native app. Thus, it gives the feel of a native app while reducing the effort on development by more than half than what’s required for a native app.

Also, JavaScript is rapidly growing to give developers the power to control a lot of device features. JavaScript now offers a rich set of APIs to control device features smoothly.

PWA: Success stories

There are many success stories with PWA, with Alibaba being the most popular one, as they resulted in 76% more conversion when they switched to PWA.

Also, have a look at a few interesting apps designed via the PWA route!

The recent Google IO conference discussed and showcased many apps that succeeded via the PWA route!

Watch the Google IO Conference Video

If you’re a newbie in the market, it is essential that you’ve a website to attract new users and consumers. Also, a website is the place where anyone would go, if he/she faces any issue.

So, the question to answer is this: “When you anyway must develop a website for your business or product, then why not go the PWA way?

Because developing a PWA gives you a responsive and fast website, a mobile app, and a desktop app.

Why should you opt for PWA

A great gift from PWA is maintaining user traction from the time you intrigue a user to actually using it.

It also greatly reduces the number of steps taken by the user to install the app on his phone and use it.

In a consumer mobile app, every step you make a user perform before they get value out of your app will cost you ~20% of users. –  Gabor Cselle

Source: https://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html

Another advantage to go for PWA is that it gives regular updates without much interaction from the user and, that too, with minimum hassle.

When should you choose PWA

  • When you want to bypass the market place (aka Google Play Store for Android and App Store for iOS, respectively) and you’re very clear about your user base and how to target them. This is what Google is developing as you’re read this blog! So, wait and watch what happens in this space! 😊
  • When you want to give regular updates to your app
  • When you or your resources are strong only on Web development
  • When your app requires the least use of device features Say, it’s mostly form-based.
  • When you want the installation to be as easy as possible

Side-by-side Comparison Video of PWA vs. Native Apps!

 

Closing Notes

While the Internet is going gaga over PWA, it has a few limitations currently.

Although there is a steady progress in PWAs across all platforms and many developers are positive about the big giants solving these limitations, there’s a divide among people who think there should be an inhibition in minds of developers going for PWAs for data-heavy and animation-intensive apps.

  • Which one do you think will take over our phone screens soon?
  • Do PWAs really have the potential to replace Native apps’ development in another five years?
  • Will Native apps’ development continue till smartphones exist?
  • What does the future hold for Hybrid apps?

What’s your call? I would appreciate your views, comments, and feedback. I’ll be more than glad to respond!

 

Disclaimer

Please note that the views, thoughts, and opinions expressed in this blog post belong solely to the author, and not necessarily to the author’s employer, organization, committee or other group or individual.

 

References

Choosing the Right Framework for Mortgage Tech Solutions

Don’t you like a good fight? A fight between say evenly matched opponents? What if the fight is between not two but three opponents? Similar to those infamous WWE 3-way, championship pay-per-views! Today’s match is between Angular vs. React vs. Vue

Wrestling match where a fighter is lying down on his back while the opponent can be seen standing in the background
Photo by Martin Kníže on Unsplash

It’s a known fact that the mortgage industry’s technology quotient lags behind when compared to most other industries/sectors. However, this scenario is quickly changing in the last few years owing to a swathe of young, enthusiastic, and energetic companies sprouting up catering predominantly to this sector.

 

Rise of the Mortgage Apps

In recent years, mortgage apps are on the rise. Several home-buyers are millennials and the lenders are well aware of this fact. Millennials need faster loan processing, approval, and delightful experiences throughout the loan cycle.

 

Deciding the Framework for the Applications’ Front End

Deciding the framework for the front end of these applications, such as LOS (Loan Origination System) and POS (Point of Sale) apps, etc.,  is a crucial aspect that determines the success of its implementation and its consequent success or failure.

 

Findings Based on Current Mortgage Apps’ & Market Scenario Analysis

So, let’s dive deep… I analyzed a few of the mortgage apps currently in use and the mortgage market scenario and these are our findings:

  • Most mortgage apps are data rich.
  • Most mortgage app users’ tasks  are time-sensitive and time-bound.
  • Most apps have multiple forms, which require a lot of validation and sanitization for the data.
  • Every app needs high security as they’re dealing with sensitive user data.
  • Developers, who had mortgage domain knowledge, continue to be in short supply.
  • Due to frequent changes in mortgage regulations, mortgage apps should be easily extensible, maintainable, and flexible.

Then, I translated them into technology-specific requirements to choose the right framework:

  • The framework should be lightweight and performant.
  • The framework should be snappy and reactive.
  • The framework must support data validations and sanitization.
  • The framework must be secure.
  • The framework’s learning curve should be short.
  • The framework must be extensible, maintainable, and flexible.

 

Correlation Between Findings & Requirements for Choosing the Right Framework

Findings Based on Current Mortgage Apps and Market ScenarioTech-Specific Requirements for Choosing the ‘Right’ Framework
Data richShould be lightweight and performant
Time-sensitive and time-bound tasksShould be snappy and reactive
Multiple forms, which require a lot of data validation and sanitizationShould support data validations and sanitization
High securityBe highly secure
Domain-specific developers in short supplyHave a short learning curve
Easily extensible, maintainable, and flexibleIs easily extensible, maintainable, and flexible

From this correlation, I narrowed down the entire list of available front-end frameworks to three: Angular, React, and Vue! These three frameworks made it to the three-way championship match!

So, let’s see how they match up against one another…

RequirementsWho’s the ultimate winner: Angular, React, or Vue?
Should be lightweight and performantIn the beginning of this fatal three-way match, React and Vue have a significant upper hand over Angular.

Why?
React and Vue perform significantly better than Angular because of the underlying code
implementation of these frameworks.

Virtual DOM
Vue and React rely on a concept called virtual DOM (Document Object Model, basically the browser's meta data for rendering the actual page on screen). Herein, all changes to the actual DOM is diffed out and only the delta is used for modifying the actual DOM.

Did you know?
Modifying the DOM is a costly operation with regard to computation and you need to minimize the changes/operations on it for the application to appear snappy for the user.

Angular relies on a more primitive implementation wherein DOM is updated every cycle. Please note that optimizations are available for this but then they’re not out of the box!

Who wins between Vue and React?
Between Vue and React, Vue wins as it's lighter and more performant than React.

Note: Please go through the URLs provided at the end of this blog post to test the performance of each framework based on exactly similar requirements. Evaluate who comes up on top yourself!
Should be snappy and reactiveVue and React win hands down in this battle against Angular. So, it’s a tie between Vue and React in this Round due to the same reasons as given above!
Should support data validations and sanitizationRound three throws in a surprise… Angular comes out on top here with a potent chokeslam, which Vue and React never saw coming!

Forms
Angular has an inbuilt module named forms, which as you might’ve guessed, is used for building interactive HTML forms.

How Forms helped Angular win?
Angular's implementation of the Forms
module was so impressive that it was a breeze to add validations and sanitizations for the form data quickly and effectively.

Though there are similar external modules available in React and Vue, the fact that this module came as a part and parcel of the framework made all the difference.

Flux concept in React and Vue
But, if I play the devil's advocate, Vue and React emphasize on using the flux concept for modifying all data and paraphrasing it in simplistic terms.

Basically, flux architecture states that all data needs to have a single source of truth and should be non-mutable.

Any mutation is recorded as an implication of a corresponding action, and therefore, any data changes can be easily tracked and played back. This makes it very easy for programmers to debug or trace any issue as every mutation can be traced back to its source. This is a very compelling feature for a data-sensitive application, wherein accountability has to be maintained.

So, if accountability is an important parameter, React and Vue can stage a wonderful comeback in this round!
Be highly secureOverall, all the three frameworks have excellent security features built in.

But, I would wage my bets on Vue to win this round after a tough match versus Angular and React.

Why?
Vue is completely open source. This makes it easier for folks to evaluate it for security holes and then plug them as and when needed.

As Angular is backed by Google and React is backed by Facebook, there is always a small chance that they can change the license any time they want! Please remember that this has already happened in the past and even though they reversed it, there is absolutely no guarantee that it won’t happen again! Ahem, look at what Oracle did to Java! Cough!

The Winner
IMHO the framework should be truly independent of any major backers for it to stand the test of time. Therefore, Vue wins this round by a fair mile!

Did you know?
The chief developer behind Vue is Evan You, who’s an ex-Google engineer! I give Vue extra brownie points purely due to this trivia!
Have a short learning curveBased on my own learning curve and few of my peers’ views, I declare Vue to be the easiest of all three frameworks to learn and master!

Why?
Well, the amazingly extensive, detailed, and simple documentation given for this framework makes it super easy to learn and master.

What about Angular?
I rate Angular to finish a close second and the loser will be React.

IMHO React and Angular are a bit rigid when it comes to implementation. In a way, that rigidity might be good because when the code base becomes larger, it’s easier to read it when there are only few ways to implement anything.

Also, I felt that Angular code might be the most maintainable primarily because of the application structure it enforces and its usage of static typing (typescript base). This aspect might even favor Angular’s usage in larger organizations.

What about React?
React is also a bit rigid and offers little flexibility for coding. I felt that the framework also had a lot of scaffolding requirements.

It was definitely a hassle to set up a personalized development environment. Please note that I didn’t use the boilerplate/starter kit as I wanted to understand setting up the framework from scratch.

The winner
Vue is definitely a breeze to use and set up. Within half a day, I had the confidence to build a complete app using Vue.
Is easily extensible, maintainable, and flexible
Round six is where things get murky. I couldn’t come up with a clear winner as all three frameworks have pros and cons, which are hard to ignore!

Personally, I feel that Vue is slightly more effective as its components are built to be compliant to web components, which is the future standard.

Otherwise, all three frameworks are easily extensible and maintainable.

The specifics
React scores less on the flexibility aspect whereas Vue scores high here due to its inbuilt support for templates and jsx, etc.

React scores high in terms of being easily maintainable as it has lesser breaking changes across all the versions.

Test the Frameworks on being Lightweight and Performant

Here, are few sample apps created using various frameworks. Check each one’s performance in action…

Note: The app simply renders a list of 10,000 elements with a corresponding input box, which is tied to the row element for modification.

 

My Final Conclusion

  • Choose Vue if speed, efficiency, and snappiness is what you value more.
  • Choose React if you want to rely on its huge community.
  • Go for Angular if you want code maintainability in the long run or if you have large teams.

So, what do you think? I would appreciate your views, comments, points, and counterpoints to my conclusion here. At Brimma Tech, we’re always game for healthy debates!

Disclaimer

Please note that the views, thoughts, and opinions expressed in this blog post belong solely to the author, and not necessarily to the author’s employer, organization, committee or other group or individual.

 

References:

  • http://stefankrause.net/js-frameworks-benchmark4/webdriver-ts/table.html
  • http://vuejs.org/v2/guide/comparison.html
  • http://www.valuecoders.com/blog/technology-and-apps/vue-js-comparision-angular-react/
  • http://blog.andrewray.me/reactjs-for-stupid-people/

Press Release: Brimma Tech joins the Ellie Mae Pro Consulting Partner Program

The partnership helps lenders and Ellie Mae accelerate adoption of Encompass solutions.

Two businesspersons shaking hands over a desk while a third person is clapping
Brimma Tech joins the Ellie Mae Pro Consulting Partner Program

Brimma Tech, Inc., a software development and technology services company, announced that it has joined the Ellie Mae Pro™ consulting partner program.

By participating in the program, Brimma Tech will have deeper access to tools, training, marketing opportunities, and other critical resources to grow its business. Brimma Tech will help lenders and Ellie Mae accelerate the delivery, deployment, and adoption of Ellie Mae’s Encompass® digital mortgage solution.

As a trusted technology delivery partner, Brimma Tech, Inc. looks to help accelerate the digital transformation journey through:

  • UX and UI – Strategy and Execution
  • Rapid Prototyping
  • Top Quality Delivery – Our developers, not testers, own quality!
  • Being Truly Agile – Weekly sprints and client demos
  • Mortgage Technology Implementation: Configuration and customization to meet your business model
  • Custom Development: Systems integrations, reporting solutions, dashboards and analytics, extensions and solutioning based on the Encompass Lending Platform
  • Remote Admin (Onshore and offshore): Configuration management (users, personae, milestones, business rules, triggers, web hooks, custom input forms, workflows, custom documents, and production support)
Few businesspersons viewing finance-related apps on their smartphones
We want to accelerate your digital transformation journey!


About Ellie Mae

Ellie Mae is a leading provider of innovative on-demand software solutions and services for the residential mortgage industry. Ellie Mae’s Encompass all-in-one mortgage management solution provides one system of record that enables banks, credit unions, and mortgage lenders to originate and fund mortgages and improve compliance, loan quality, and efficiency.

“Brimma Tech is delighted to partner with Ellie Mae. Our participation in the Ellie Mae Pro program gives us access to the tools we need to stay up-to-date on the latest Ellie Mae product development and ensures that our customers receive the highest quality services for their Encompass environment.
We look forward to a long, successful relationship with Ellie Mae.”
                   – Supree Periasamy, President – Brimma Tech, Inc. 


About Brimma Tech

Our team has more than two decades of proven track record of building and implementing multiple Mortgage Origination and Management Solutions for most of the Top 10 US mortgage lenders.

Our business goals are two-fold:

  • Earn our customers’ trust by exceeding their expectations
  • Be known as the ‘Most Loved Company’ by our internal partners (employees) as well as our external partners (customers)

Brimma Tech, Inc. was founded in 2016 and is based out of Raleigh, North Carolina and has an offshore office in Chennai, India.


Media Contact
:
Supree Periasamy – President, Brimma Tech, Inc.
+1 201-314-0412 | supree@brimmatech.com

Photos by rawpixel.com on Unsplash

Brimma Tech is a Certified Encompass Developer!

By now, most of you would’ve known that Brimma Tech is the youngest company to become an Ellie Mae Pro Select Partner!

Brimma Tech has added yet another feather in our headgear: as of February 2018, we’re also an Encompass Certified Developer.

The image shows a carnival procession/dance with two males dressed in tribal gear!
Photo by Samuel Dixon on Unsplash

And we’re dancing… Our celebration is a never-ending carnival!

Eligibility
One can attend an Encompass certification training only if you’re Ellie Mae’s partner or their lender customer. So, as soon as we got an invite for the three-day training, Supree Periasamy, our President @ Brimma Tech, packed his bags and flew down to Dallas from Raleigh, NC.

A cold start
He had absolutely no idea that Dallas could get down to 30ºF (approximately -1ºC) … That too, in early February!

He was totally unprepared for that!

A warm learning environment
But, the two amazing Encompass instructors, Hollis Johnson and Sydney Dent created a warm and welcome training session over three days!

It was an inclusive and engaging hands-on training exercise to code on SDK and DevConnect tools. His fellow participants were super cool. Everybody kept sharing their tips and tricks on Encompass based on their prior experience.

Supree had participated and even conducted quite a few training programs in his long career but this was a unique experience for him too! As it was a highly interactive and intensive learning experience, he was completely immersed into it from 6 February through 8 February 2018.

A positive outcome
Supree exclaims, “I had to develop a plugin using C#, which was a fun exercise.  That was the first program I wrote in C#. Coming from a Java background, it wasn’t that hard to pick up the syntax. At the end of the exercise, I was thrilled to see my plugin working well!”

He loved experimenting and playing with the DevConnect API as it was a lot of fun.

He aced the final test by demonstrating a keen understanding of the subject and coded a plugin as required.

“I found DevConnect to be a very powerful tool. I am certain it’ll open a whole new paradigm for Encompass clients and partners to innovate and extend the Encompass suite of products.” – Supree

Benefits of this certification
This certification, along with our newly acquired MBa membership, shows our commitment to keeping ourselves abreast of the latest offerings from the Encompass universe.

It demonstrates our deep understanding of Encompass so that we can build Encompass extensions and support services for Encompass customers (both directly and indirectly).

We’re thrilled to join the Encompass innovation squad to serve Encompass customers and the entire Mortgage industry thereof!

How a simple, epiphanic statement started Brimma Tech

Supree Periasamy was doing well for himself and his family of four! He was well respected in the Mortgage and FinTech circle when he had an epiphany.

His moment of truth occurred when he quit his well paying job and started his own firm, Brimma Tech, Inc. Today, just more than a year down the line, Brimma Tech is the youngest Ellie Mae PRO SELECT partner and already has acquired two clients, who love it to the moon and back.

Content Strategy & Digital Marketing Partner, abhi, interviews Supree – President @ Brimma Tech, Inc. on why he started his own firm when life was going great. Or, was it?

This is that story.

Pietermaritzburg

Does this obscure little railway station in South Africa ring a bell?

Well, this was where it all began for Mohandas Karamchand Gandhi to become the Mahatma Gandhi that we all know him as.

“You aren’t good enough!”

  • Was what Gandhi heard when he was thrown off the train with his bag and baggage at Pietermaritzburg railway station on 7 June 1893.
  • Was what Rosa Parks heard when she was asked by bus driver, James Blake, to give up her seat on 1 December 1955.
  • Was what Supree Periasamy heard too.

Recollections of that day

Years later, in his autobiography My Experiments with Truth, Gandhi wrote, “It was winter. The cold was extremely bitter. I began to think of my duty. Should I fight for my rights or go back to India? Or, should I go on to Pretoria without minding the insults and return to India after finishing the case? It would be cowardice to run back to India without fulfilling my obligation.”

Years later, in recalling the events of the day, Rosa Parks said, “When that bus driver stepped back toward us, when he waved his hand and ordered us up and out of our seats, I felt a determination to cover my body like a quilt on a winter night.”

Till that eventful day, even Supree Periasamy was a regular corporate resource like most of us. But that day, something changed. Just like Gandhi and Parks, he decided to turn around his life. He decided to make a lasting impact on his industry, his future employees, and the FinTech world by starting Brimma Tech with a vision to make it “The World’s Most Loved Company” for its internal and external partners (employees and customers).

The Immediate Cause

Abhi: So, Supree why did you start Brimma Tech? I know that there may be a lot of reasons but your readers would love it if you can talk a bit about the immediate cause…

SupreeI understand that business is about profits. But, isn’t it about relationships first?

I wanted to change the environment for people and teams around me. I really wanted to give true meaning to the word ‘partner’. When I say it, I want to mean it.

Like Martin Luther King, I too had a dream! (Laughs).

I had a dream that all employees are treated as partners in an environment where they’re self-driven. A place where work is self-assigned. where decisions are made with consensus building and not imposed, where people take lot of pride, ownership, and accountability in what they do.

I had a dream that one day, I’ll enable my team members to explore freedom and enjoy both professional and financial success. Where they truly think and work for Brimma Tech like it’s their own company!

As a manager and a leader, I wanted to be an enabler for others’ success. What really matters to me is whether I am helping my team succeed. By enabling that, I also know that my customers get exactly what they need.

I want my team to say, “Supree, we love you!” and my customers to say, “Supree, your team rocks!” That’s my only goal.

Thus, hearing that I wasn’t good enough was the final straw on the camel’s back! I started Brimma Tech, Inc.

Abhi: So, was it sweet revenge on the way most organizations treated their employees? You wanted to prove them wrong?!

Supree: It was certainly not sweet revenge. Launching Brimma Tech was just an answer to myself. The answer I found after more than a year of my Brimma Tech journey is, “Due to our excellent team work, I am serving my Four Ps of Life.”

The Four Ps of Life

Abhi: Well, we’ve heard about the Four Ps of marketing for sure! So, can you elaborate a bit more on this?

Supree: Sure. Just like the Four Ps of marketing that you mentioned, I have formulated my own Four Ps of Life:

  • Purpose
  • Passion
  • Positive impact
  • emPower

All the four Ps come from self-realization and self-empowerment. Brimma Tech was started as  a vehicle for me to fulfill all my four Ps!

Spider-Man once rightly said, “With great freedom, comes great responsibility.” And with the launch of Brimma Tech, I am enjoying both.

Abhi: So, how is Brimma Tech going to make a difference?

Supree: I want to leave a legacy, you see. My legacy will be a byproduct of a good cause.

Like great leaders across all spheres of life, I too want my legacy to be tied to a brand and a vision.

I want to make a difference to all around me: my family, my partners, who join the Brimma Tribe, our clients, their stakeholders, and last  but not the least, to our community…

By community, I mean homeowners, who’ll get faster and more transparent mortgages through the applications that we help build.

Crazy enough to change the world

Abhi: This reminds me of one of Steve Jobs’ famous quotes: “Because the people who’re crazy enough to think they can change the world are the ones who do.”

Supree (Being very modest): Hahaha! Changing the world is not my goal.

As Ellie Mae founder Sig Anderman said in almost all quarterly meetings, “Leave this world a better place than how we found it!” That’s my goal.

And Brimma Tech is not just about me finding answers for myself…

It’s that I love novelty – you know, the need to evolve constantly drives me! Self-actualization! At the very top of Abraham Maslow’s Hierarchy of Needs!

A sharp triangular corner of an office building in Berlin

I want to reinvent myself everyday and in doing so, change things to make a positive impact to my team and my customers… To the Mortgage and FinTech industry and people impacted by it.

Your Steve Jobs quote reminds me of another one: “Innovation distinguishes between a leader and a follower.”

Abhi: I want to twist that final quote. So, is Brimma Tech creating leaders or followers?

Supree: Hmm… Brimma Tech is creating both. Because you have to be a great follower to be a great leader… I’ll tell you how.

At Brimma Tech, we work with passionate and self-driven people. People chosen firstly for the values and secondly for the skills they bring to the table.

We partner with people, who’re hungry to be successful. People, who don’t merely wish for success but are ready to work for it. We love working with people, who’re Stage 5 aspirants of the Tribal Leadership philosophy.

As a tribe, we truly believe in sharing and decentralizing everything we generate:

  • Decisions
  • Mistakes
  • Learning
  • Success and failures
  • Profits

Yes, you heard that right! We share profits too!

Also, we enable our clients to become true leaders as we fulfill their business goals by using our service offerings and building upon our strengths for their long-term benefit.

We practice Tribal Leadership and we hope more and more people and companies practice it too.

Final message

Abhi: Any final words to a prospective client, who’s reading this?

Supree: If and when you engage with a technology partner, these are the challenges you might face issues you face:

  • Your core team (business and technical) spends a lot of productive hours doing legwork, correction, and rework for the partner’s team!
  • You’re worried about missed requirements, communication gaps, project management overhead, usability gaps, design gaps, mediocre architecture leading to missing non-functional requirements (performance, scalability, and security), buggy code, improper time-to-market strategy, which affects your project schedule and business strategy.
  • Despite getting an army of people, nobody takes accountability for delivering your business needs!
  • You end up with multiple reworks and project management overheads.
  • In the end, the cost to maintain what was built is higher than the original work product.
  • Despite having countless hours of project meetings, chasing down project plans, publishing project health and dashboards, your project misses its crucial deadlines!

Is it just me or did I hear you exclaim, “Bingo!?”

We know what you need. You need a trusted technology partner, who’ll:

  • Consistently deliver top notch quality technology solutions on time
  • Enable you to achieve business process efficiency, productivity gains, and bottomline business goals while delivering delightful customer experience
  • Go above and beyond to earn your trust
  • Share your passion for your success… For the life of your company

Right?

Well, look no further.

We would love to partner with you to help you succeed. And, have loads of fun along the way.