Main image of article Building the Next Great Chat App
shutterstock_511583062 The latest generation of chat software (think Slack and its ilk) binds together a variety of technologies, including instant messaging, chat rooms, file sharing, and video conferencing. That’s opened up a whole new world for app developers, who have more opportunities than ever to build interesting (and hopefully profitable) things that people will use every day. A recent Spiceworks survey found that the use of chat apps such as Google Hangouts, Slack, and Skype for Business are on the rise within businesses, with 42 percent of companies of all sizes currently utilizing software in the category. In that survey, five times as many tech pros selected Slack as the category leader over its competitors, due in part to that platform’s user-friendliness and compatibility with other apps. “Slack is well positioned as one of the top applications; most if not all of the bot-building platforms list Slack as the top platform they support for integration,” Raul Castanon-Martinez, 451 Research’s senior analyst of enterprise mobility, told Dice. As Castanon-Martinez pointed out, Slack’s user base hit four million daily active users (DAUs) by October 2016, with the number of paid users reaching 1.25 million. Thanks to that popularity, when it comes to building bots and other tools for chat apps, developers have plenty of options. “There was an avalanche of bot-building platforms launched in 2016, including Chyme, Meya, Msg.ai, Converse.ai, Gupshup, and Kore, to name a few,” Castanon-Martinez noted. Chyme and Meya for example, are artificial intelligence (A.I.) and natural language platforms that power digital assistants and chatbots. Chyme offers a help desk assistant that is designed to streamline customer service. If you want evidence that the development community is increasingly interested in chat apps, look no further than the country’s tech giants, which are all moving into chatbot territory. Amazon, Microsoft, Google, and Facebook are all working on SDKs that give developers the ability to build their own bots. In addition, those firms have also acquired startups that focus on chat and/or A.I., including Wand Labs (by Microsoft), API.ai (by Google) and Wit.ai (by Facebook). “A key selling point with many of these vendors is no-coding or minimal coding required for building bots on their platforms,” Castanon-Martinez explained. “We can also expect a surge in demand for experienced developers with web development and database management skills: HTML, CSS, JavaScript, AIML, PHP, MySQL.” But it’s not just hard skills, he added. When it comes to chat apps and bots, one soft skill in particular is really necessary: the ability to adopt a totally different mindset. Developing bots and applications with a text- or speech-driven user interface entails an entirely different logic than developing for other, more traditional UIs; developers new to the space will need to keep an open mind if they want to adapt and succeed. “We can expect significant opportunities for developers with skills in bots building, but, more importantly, [who] can focus on improving the end user experience in a way that supports business workflows,” Castanon-Martinez said. While not all businesses are going to require (or desire) programmers who build bots, app developers should understand the major programming frameworks in wide use today, including Javascript. And that’s not all: In order to test, deploy and run their work in this context, developers also need to become familiar with containerization technologies such as Docker and cloud-based environments such as Microsoft Azure or Amazon Web Services (AWS). Oren Ariel, CTO and co-founder of Capriza, a builder of mobile business apps, believes that Javascript-based frameworks are clearly the dominant programming language in this space. In addition, he explained, developers need to polish their collaboration skills. That’s because the open nature of collaboration platforms allows users to rapidly connect new data sources and processing entities, many of which originate from third-party vendors and the open-source community. “In a nutshell, I believe that the role of the developer needs to expand to cover more areas which traditionally were handled by other groups, such as DevOps,” Ariel said. Application developers will also want to choose a platform that allows them to quickly test, change the application, and deploy code to production a couple of times a day. Eran Zinman, co-founder and chief technology officer of project-management specialist Dapulse, told Dice that Ruby on Rails is a great application for chat apps, as it encourages rapid development. When it comes to building apps, developers at Dapulse (all of whom are full-stack) work on complete projects, handling both the server and client sides. “We are using Rails and React with a combination of Redux,” he said. “I think React and Redux are very suitable for collaboration applications.” (React is open-source code that originated within Facebook.) “The performance of the UI and the data flow using Redux helps solve a lot of issues in terms of data that's flowing both from the UI and from different people in the network in real time,” Zinman added. When it comes to the big opportunities for app developers in the collaboration and communication space, integration capabilities may grow into a major trend. “It was obvious for us from the get-go that we will have a strong API, and I see an increasing trend in our industry of connecting different apps through their API,” Zinman said. “One plus one equals three in that case, and good integration between different applications can be a great benefit for the team and the company.” As chat software becomes more robust in its feature set, trust that more developers will rush into the space. While Slack and its kind likely won’t replace email anytime soon, more and more businesses are relying on chat as a primary means of not only exchanging messages, but also work files and other vital bits of data.