All of us are aware of dividing workload to the specialised persons. However, while developing free and open source applications and time to time smaller commercial applications, such division of specialized experience often gets blurred and one person handles all parts alone. Such use cases need better free tools (like IDE) to get kind of helping hand.
Just a quick recapitulation of roles – Data engineer will architect how data is organized to ensure operability, Data Scientist will get deep into the data to draw hidden insights for the business, Business Analyst will work with data to apply insights to the business strategy, App Developer will plug into data and models, write code to build apps.
In our previously published articles and guides we separately discussed about Data Science Experience (DSX), which is more than usual IDEs and that is why purposefully DSX was not included in our article listing the IDEs. The question of application development is arising with DSX as it provides the way to live test snippets, apart from other functions. In our recently published articles, we discussed the possible chance of building healthcare applications in future. This article, Building Cognitive Applications with Data Science Experience is an effort to help the developers to show the scopes of using IBM Data Science Experience tool in their process to build new generation applications.
|Table of Contents|
What is cognitive application development?
Cognitive computing refers to the system which mimics the functioning of the human brain, learn at scale, has purposeful reasoning, and may interact with humans naturally to help improve the decision-makings. Cognitive computing platforms specialize in the processing and analysis of large, unstructured datasets. Cognitive computing applications adjust data analysis for an audience while having many attributes of artificial intelligence. However, cognitive computing differentiates itself via the complex interplay of disparate components, where each of the disparate components comprise their own individual mature disciplines. As some of these cognitive computing platforms are commercially available, real-world applications are emerging. Developers may adopt and use these cognitive computing platforms, purposefully build applications to meet some specific demand of use cases which are unmet and relevant to the internal and external users. Some examples of such use cases include speech recognition, tone analysis, face detection, risk assessment from data, fraud detection, automated recommendations and so an.
Features of DSX for the application developers
The reason to think about DSX are – the scope of use of Jupyter; support of languages including Scala, Python, R; some open source libraries; free 5 GB Object Storage; DSX official guides and tutorials. DSX also has RStudio built into the experience. Commonly developers use free Microsoft Visual Studio. Normally we use GitHub for application development (which is not changing) while using DSX. Also, DSX can store and pull data from commonly used object storages like Amazon S3, any OpenStack Swift container.
Data and Analytics are the foundation for a cognitive business. IBM Watson is a different, special type of data and analytics platform for the Cognitive Business which basically has no F/OSS alternative as available equivalent. Our target is to create at least one action from data to outthink the needs of the marketplace by converging digital business with a new level of digital intelligence. As the need of mobile device usage is increasing, developers are tending to develop either operating system independent web applications or mobile operating system specific applications. We can develop applications to analyse reports, forecast correlated anticipations, recommend allocate acts, and of course we need to understand reason learning to implement such. Our source of data can be varied and includes data from sensors which basically will push the application and hardware towards Internet of Things.
For a quick recapitulation of list of To-Dos, we have shown that we can avoid using Data Science Experience by deploying Jupyter directly on IBM Bluemix. However, the latter is an outdated way and if IBM’s platform is used, that will be meaningless. Our next need for the developers is learning how to use Cloud Foundry for IBM Bluemix and effectively use git based control for versioning – we discussed about that part in context of Docker, test and use cloud based database from SSH on IBM Bluemix. This much basic idea we need from programming point of view for having a different type of backend.
A primitive basic example of Cognitive Application can be one WordPress Plugin which uses IBM Watson for tone analysis of the article. Developing such kind of applications need less involvement of DSX and their logical structure is easier.
In October 23rd, 2016 (that is one year back from date of publication of this article) IBM held their workshop on Cognitive and Data Sciences in Las Vegas. Commonly most of the developers are outsiders to such events. However, IBM has some openly available resources discussed of that event which possibly will be helpful to the reader.
Number of mobile devices are increasing, networking speed becoming faster, 5G is not far away to be seen in real life. In today’s suddenly changed world compared to that of a decade back, there is definite need for the developers to look at the newer modalities of development and test them with sample applications, even if the need to learn is not immediate need for a future commercial project. It is not possible for all the developers to become data science and analytics expert, but the demand of market is really forcing towards the basic need of having things like an UI with chart to the end user to provide real time data. It is obvious that innovative applications which meets the unmet demand will be popular with proper marketing. Just developing a good WordPress plugin can make one developer famous. At present, there are still some scopes out of limited number of developers in the niche.