Mobile applications are getting smarter every day. These smartness are result of the actions that are taken based on the information collected from the user. Actions of the user on the mobile application are gathered as data and sent to server. The analytical engine then decides what action to perform to more engage the user with the app.
Smart application solution to intelligent application solution.
As expected, AI was at its core in all of the major developer conferences that was held this year. Companies like Google, FB and Microsoft not only had tools for developers to build smart applications. Rather the products that these companies own are enabled with the power of AI.
Some example include smart compose in gmail, duplex, office 365 enabled for smart meetings, AI powered drone systems operating out of edge systems to detect anomaly, eliminate discriminating posts in FB and so on.
Having the power of AI is good. AI is not new. We are actively speaking about intelligence for the past few years. But what has changed recently? – In simple words AI is intelligence carved out of the data that is being collected by the devices. And this is a continuous process. The major technology shift is where, when and how the collected data is being processed.
Where? From cloud to Edge to On-device
When? From requesting server for actions to determining actions instantly on the device
How? From cloud based algorithms to solutions like ML kit, Core ML, etc
The end devices were smart but not truly intelligent over the past years. I see the difference between smart and intelligent applications emerging.
Smart applications – Have the capability to take actions on the devices. However the actions are not determined by the application running on the device itself. They depend on actions from remote server.
Intelligent applications – Have the capability to take actions on their own without depending on other systems.
Does this mean that we have to heavily rely on concepts like machine learning, deep learning, neural networks, etc?. Hold on, even before we go there, many different ways can be used to achieve intelligent behavior in applications.
1) Personalized UX – Intelligent design is the major key to achieve intelligent apps. Many a times we develop applications considering the app user is right handed. Simple solutions like below would help achieve intelligence –
a) Move the menu from top-right to top left corner for left handed mobile user
b) Move the navigation drawer from left to right for left handed mobile user
2) Avoid showing keyboard to get inputs – Make the user take actions based on gestures, speech, bio-metrics wherever needed. This would eliminate the need to show soft keyboard. In other words, do not have too many form layout in the application which requests user to provide input using keyboard.
3) Intelligent API use – One good use case is Nest Hello. This product uses image recognition and sends the result in the form of voice through google home in your device.
For developers, what does it take to achieve the above?
Be it android or iOS, right selection of tools matters the most for developers.
a) Firebase/Big query for analytics comes in handy for the developers in both platforms to record and understand their customers activity pattern
b) A proper DevOps implementation to ensure fast and reliable app releases
c) Production crash reporting system like Crashlytics to know the reason for application failure
Some other examples which recently caught my attention for implementing intelligent solutions –
1) Translate feature in social media platforms – Translate is not new. But having it in social media platforms makes more sense than anywhere else. We might have friends who speak varieties of language. Translate helps to interact with each other in their own language. Google pixel buds is another good example on how intelligent head phones can be made with intelligence in built.
2) Intuitive Go Live prompt while viewing a live event – A sport enthusiast watching a live event might get hit by bad network connectivity. Here there will be 2 kinds of enthusiasts –
a) Watch the entire game as it goes by buffering the content as connectivity gets better
b) Take me to the live action skipping the time when there was bad connectivity
Adding a simple Go Live prompt can help user take actions on the their desired way.
3) Vision translate using smart phone cameras – Vision translate, by this I mean something like bixby vision and google lens. This is a very smart solution that is build on top of technology like Image recognition, OCR, translation and AR. The part which makes this solution intelligent is it retains the context of the image.
4) Re-imagine TV viewing experience on mobile – Dreams with their intelligent software solution is reinventing the way the way we watch TV. While many are busy re-imagining media industry, dreams made a solution from ground up by optimizing the videos to vertical videos.
Looking to hear more stories from you on how you are making intelligent applications using modern tools and technologies.