NFC – Near Field Communication

Near Field Communication has been around for a while now. With the strong use cases such as payments using NFC, it is getting more traction since last few years. Android and iOS, both have support for this protocol and have various use cases successfully implemented in various fields.

NFC aka Near Field Communication
NFC aka Near Field Communication

Is It Similar to Bluetooth?

NFC is a set of protocols for communication between two electronic devices. This communication happens when these 2 devices are close to each other (within 4 cm range). This is very similar to Bluetooth communication, but bluetooth communication can happen upto 30ft range. Apart from this, Bluetooth needs pairing of devices, whereas NFC happens instantly when the devices are close to each other. Although they are similar and NFC tends to be easier to use, bluetooth has been more popular until now.

However, as per recent reports, NFC enabled phones are getting traction. About 64% of phones those would be shipped in 2018 would have this technology included. Apart from mobiles, it is also used at other places such as smart cards.

Types of communications

  • Two way communication – You can use NFC to transfer data from one phone to other. This is a very common way now to setup you new android phone.
  • One way communication – In this case, your NFC tag carries certain data, which is written/updated by NFC powered terminals. For example, if you are carrying a smart card for your metro travel, the moment you flash it at the entrance of metro, it could deduct appropriate amount from your smart card and write new balance there.

How does mobile payment using NFC work?

  • Customer launches the payment application on the mobile phone
  • Customer taps the mobile phone on the credit card terminal.
  • A connection is made using NFC between the terminal and mobile phone.
  • Customer is prompted for second level authentication such as fingerprint scan or entering a pin.
  • Transaction is validated using a secure chip, which gets authorization from the bank and relay it back to the mobile app. This marks the completion of the payment.

Future Trends

NFC tags could be placed at various places including entrance of trade shows, which could instantly give information about various booths to the visitors. The tags could also be placed in flyers or advertisements which could give additional info to the customers by just tapping. Tags placed within retail stores in conjunction with mobile apps can provide additional personalized info to the consumers which increases the sales.

Related Links

Related Keywords

RFID, Bluetooth

RPA – Robotic Process Automation

RPA stands for Robotic Process Automation. It is a process automation concept which allows business users to automate their tasks with minimal help from technical teams. We all are familiar with automation and have done it in some or the other form in our lives. May it be scheduling an event or automating test cases using tools like Silk, Selenium or some scripting language. While test case automation is relevant for technical teams, the business teams have very low relevance for this kind of automation.

So, RPA is not for technical folks?

Yes, you are right. Primary benefit of RPA is for business users. Think like your clerical team is getting additional hand – a robotic hand – to do all the mechanical, mundane work. Typically your back office teams end up doing tasks which are of repetitive nature. Any repetitive task done by a human is prone to errors as well as delays due to boredom. However, RPA helps businesses automate such tasks and get the human beings to do some intelligent tasks such as direct customer interactions, which in turn prove beneficial for the business Growth.

RPA - Robotic Process Automation
RPA – Robotic Process Automation

What All Things RPA can do?

RPA can read data from various sources such as emails or excel files, process them and then put into your application in a required format. Once the RPA software is trained to do this, it will continue to execute as long as we want, without any errors or delays. Typical RPA softwares can read emails, excel files. You can train those software on your data entry software to enter data read from email or excel file. If you need, RPA can also open websites and extract data in the format that you want.

The RPA software is termed as “low-code” or “no-code”. This is primarily because they do not need much coding. Even business users can configure and train the RPA software to perform the required tasks and to do it repetitively.

Essentially RPA implementation can give you huge benefits in terms of time savings, cost savings, error free data entry and thus overall process efficiency.

Use Case

Consider a case where backoffice worker receives address verification request from companies agent over email. The worker needs to open that email, read address and attachment. She would need to verify address details from third party application or website and then make a phone call for contact number verification. Currently, a human worker does all these tasks. With RPA, all of this could be done by a software.

RPA software providers:

  • Automation Anywhere
  • BluePrism
  • BlackLine
  • Datamatics

Related Links

Related Keywords

Automation, Artificial Intelligence, Business Process Management (BPM), Robotics

AR – Augmented Reality

As is evident from the name, AR (Augmented Reality) is about augmenting the reality through the use of computer or computer aided devices. I would pull out scene from Minority Report to give an instant example of Augmented Reality:

via GIPHY

While the data is projected using computer, the images etc are moved using hand gestures. The glass screen that is seen is a real world whereas the projected images are virtual. The actions are virtual but they result into some real action. All this is achieved using Augmented Reality.

What’s Latest in Augmented Reality space?

Augmented Reality - Educational Use
Augmented Reality – Educational Use

Minority Report was in 2002. Technology is much advanced now and it several things are happening on this front. (BTW – researchers have recreated Minority Report using AR).

PokemonGo game became very popular due to usage of AR in the gaming activities (2016).

Snapchat introduced AR into their app and every phone has become a device which can create images or videos with some emojis added to the reality. Snapchat launched this feature in Sept-2017.

Alexa assisted glasses will be introduced in CES (2018). If you watch that interview, it would be an advanced version of Google Glass (2013) where person wearing the glasses would be able to talk to Alexa fitted in the glasses and responses would be projected in front of the eyes!!

Augmented Reality VS Virtual Reality

It is often easy to confuse Augmented Reality with Virtual Reality. However, there’s an important and basic difference between these two technologies. In AR, reality is augmented by computer generated inputs such as sounds / videos etc. Whereas in VR (Virtual Reality), entire environment is created with the help of computer and computer aided devices. In AR, user can see real world, whereas in VR, user is completely immersed in the virtual world.

Interesting Use Cases:

Related Links

Related Words

Virtual Reality, HMDs,  Eye Glasses, Mixed Reality, Google Glass

MapReduce

MapReduce is a programming model that allows applications to process large amounts of data in a parallel and efficient manner. It distributes the load to several different computers known as nodes.

Need for MapReduce

As usage of computers grew, the data that was getting collected also grew from KB to MB to GB. Now-a-days several applications have data which runs in petabytes or even further. With the emergence of IOT (Internet Of Things), we are talking about several billion sensors around us each producing tremendous data.

The collected data could be useful only if we can process that data and get some meaningful insights to improve the application or business. With huge amount of data, processing it on a single machine started becoming inefficient. This forced researchers to look for mechanism to automatically distribute the load across several computers and gather the final outcome to single node. Google researchers developed this technology which we know as MapReduce.

But What Is MapReduce Actually?

In simple terms, input data is mapped in a certain fashion such that it could be distributed to different nodes using a key. This mapped data is then processed in such a fashion that the output is meaningful set of data – it is referred to as data reduced to required output. And hence the name of the methodology – MapReduce.

Steps:

Typically it is considered to have 5 steps

  • Prepare the input – The system designates the processors and assigns a key to each processor known as “Mapper”. Then all the data related to assigned key (K1) is then handed over to that “Mapper”.
  • Mapping – This is a step where “Mapper” executes the user provided Map() function. Being user provided function, it knows what kind of data is being processed. This function maps various keys in the input data to create intermediate output which is a list organized by another key (K2).
  • Shuffling – In this step system brings all data related to one K2 key to a single processor referred as “Reducer”. As a result, intermediate data gets transferred to various “Reducers” based on the K2 keys.
  • Reducing – In this step, each “Reducer” processes the values for all the keys assigned to that “Reducer”. Each “Reducer” runs the user provided “Reduce()” function. This function again knows what kind of data is processed and how it should be condensed to create final output. Each “Reducer” creates their own output matching to each K2 key.
  • Final output – In this final step, the system collects all the “Reduced” data from each “Reducer” and sorts it on the basis of key K2. This is the final output.

Typical example for MapReduce is WordCount:

MapReduce - Word Count Example
MapReduce – Word Count Example (Source: https://cs.calvin.edu/courses/cs/374/exercises/12/lab/)

Opensource implementation for MapReduce is Apache Hadoop. There are several other implementations for this methodology including AWS MapReduce, CouchDB, Azure HDInsight.

Related Links:

Related Words:

Apache Hadoop, HDFS, AWS MapReduce, CouchDB, Azure HDInsight

NoSQL

NoSQL databases really mean No Relational Databases. These databases provide mechanism to store structure, semi-structured or unstructured data. However their key feature is not having the relation between different data the way it is maintained in relational databases. Many of these databases also support SQL like interface. And hence these databases sometimes are also referred as Not Only SQL.

Database
Database Auto-sharding, replication

Types of NoSQL Databases:

  • Key-Value: In this type, data is stored in key value format. Every item to be stored in the db is stored as an attribute – referred as “key” and associated value.
  • Graph – This type of database is useful for storing network like data such as social network.
  • Document Database – Each document is stored as key and associated data in value. The associated data could be in XML, JSON etc and could also be nested.
  • Wide-column stores

Advantages of NoSQL Databases:

  • Dynamic Schemas – NoSQL databases are built to insert data without any predefined schema and hence this works very well with parallel development, agile methodology. Developers can define their own requirements for data storage and could be completely independent of other teams to store in the same DB.
  • Auto-Sharding – NoSQL databases have built-in support to scale horizontally. Whereas relational databases usually scaled vertically.
  • Replication – Most NoSQL databases have support for replication of data across the instances. And this is transparent to the application.
  • Caching – Some of the NoSQL databases also provide caching which improves the performance even further.

Typical Use cases:

  • Personalization – Application can start collecting data incrementally and store it in NoSQL DB seamlessly. This would not be easy with RDBMS.
  • Real Time Big Data – NoSQL is optimized for distributed writes and hence serve as a good storage for real time big data.
  • Internet Of Things (IOT) – Billions of devices across the globe would be collecting humongous data. Such data would demand all the characteristics of a NoSQL DB.

Related Links:

Related Keywords:

Database, OLTP, OLAP, MongoDB