Sunday, December 10, 2017

A Few Thoughts on Conversational Computing

We (at my organization) recently hosted a technology meet-up at my organization. The meet-up was focused on the topic- "Build Multi-platform Conversational Bots & Using Google API.AI". 

The topic of this meet-up took me back to the memory-lane and here is the synopsis of some points that i shared at the start-

During the early days of my career, I remember one of the conversations I had with an expert of different kind. Those days our perspectives around jobs was not as broad as it is now. We used to think of jobs in major categories- “Dev”, “Test” and “Management”. So when I came across this person who was an expert at “Human Computer Interaction”, I was intrigued. I gathered all the courage to approach him during his India visit and spoke at length about what he did. It was an educational conversation (obvious as I remember it till date) that gave me newer perspective around how (then) offbeat professions add value to the overall process of building software. Human–computer interaction (commonly referred to as HCI) researches the design and use of computer technology, focused on the interfaces between users and computers. At the time of this conversation, the primary interface for users to interact with computers was a screen.

Fast forward this conversation to a couple of  years back wherein I was speaking to a visionary leader of product and engineering. My organization was incubating in technology with a vision of automating some of the complex enterprise scenarios by leveraging IoT. And related technologies. A lot of interesting and futuristic work had gone into building compelling use cases, one of which was smart conference rooms. These meeting rooms were enhanced with iBeacons, smart motion sensors which enabled the channels between the what was happening room with one’s laptops, mobile devices, smart watches etc. This tech, in nutshell, helped to automate various common use cases. What I learned from this gentleman was that there was a fundamental shift that was happening in the way modern user interfaces were perceived and thought about. The Human-Computer Interface paradigm that earlier consisted of designing the interfaces by simply considering interaction elements such as a screen, keyboard and a mouse are now far evolved. We are apparently at fourth generation of the evolution of computer interfaces (summarized below, but explained in more depth here).

The first generation was in 50’s when computing was really considered as playground of a select few. When computers were bulky and the primary mode of interacting them included punch cards and checking outputs via printers.

The second generation, which is still familiar with senior folks in current working generation is the CLI- command line interface. Unix became popular as this stage.

The third generation, in 80’s, really had a far reaching impact. This generation’s user interfaces, pioneered by research done at Xerox and adapted by Apple and Microsoft, really revolutionized the reach of computers. The birth of graphical user interfaces (GUI) enabled an average user to embrace computing by hiding the complexities behind well designed UI. This was an era when computing really caught mainstream attention and people realized the enormity of what was possible with the machine.

The fourth generation really can be split into various forms. I would think it started with Apple’s iPhone launch in 2007 that further simplified the way users integrated with smart phones with swipe of fingers. This ease of use prompted users to offload many tasks they originally needed laptops for to their phones. This generation is further extended with the recent advances around IoT (spaces talking to computers), AR/VR tech (combining physical world with digital). Conversational computing further makes computing even more natural, as simple as talking to a few individual. The advent of Amazon Alexa, Apple Siri, Google Home, Microsoft Cortana has clearly demonstrated that the user interfaces of the future are going to be more seamless, making access to computing more effortless.

Computing is well on the path of becoming more ambient and ubiquitous. I will finally leave you with this thought- Artificial intelligence is one of the foundational technologies of the conversational computing but what would make a good conversational computing system great is appropriately mixing Artificial intelligence with Emotional intelligence. For Conversational bots to be successful, they need to be a personality, they need to context aware, they need to be as much empathetic as they can be.

No comments: