The Android development landscape is changing at a neck-breaking pace. Emerging technologies change the way users interact with their devices, but they also improve the development process. It’s not an easy task to guess what the next few months, let alone the next year, will bring to mobile. We decided to give it a go and gathered senior Android developers and C-level executives from the top startups in Europe talked about the future of mobile development. Let's see what are their Android development predictions for the upcoming year 2019.
Senior Android Developers predictions
1. Voice Search, Assistants and New Interactions with Apps
Voice control in mobile apps is becoming a new user interface that we need to take into consideration when designing and developing applications. It gives you a lot of possibilities that are still to be discovered.
We can all agree that talking to your phone still feels unnatural and users need to get used to it. This technology is a bit like video calls: they are great and it’s incredible that you can see your family and friends from another part of the globe, but you do not use it always and everywhere. When designing voice controls in apps we also need to remember about other means of interaction, like writing or selecting things on a touch screen.
Assistants are getting more and more popular. We can see that every big player has one (Siri, Google Assistant, Bixby, Alexa, Cortana), but also that assistant features are being implemented inside apps as chatbots. We can see that growing popularity of Assistants will create a new ecosystem of apps that are build for specific assistant. The first step in this direction are “Actions” and “Slices” introduced at Google I/O, which enable apps to integrate with Assistant directly on the device. You can say “Hey Google, add cheese to my shopping list” and the assistant will send information to the correct app on your device. We predict that majority of apps will still have a traditional interface, but to keep in the game they will also need to add assistant integrations.
Chatbots can be treated like small assistants inside apps. Thanks to solutions like DialogFlow we are able to seamlessly add chat flows to apps without much coding. This can be a very good solution for customer service inside app, but it also opens new ways of interacting with users, like in the “Shine” app featured in the App Store. The Chinese app WeChat is another messaging app with many chatbots integrated.
2. Architecture of Android apps
Google’s architecture guidelines
After years of silence, Google issued architecture guidelines on how to build the best Android apps. Although you are not forced to use Android architecture components, it’s a good starting point to build stable apps. The era of arguing about which pattern is best for Android - MVC, MVP, MVVM or something else - is over, and we can trust that solutions from Google are good enough for the majority of apps. This will result in more stable apps and less confusion in the developer community. Also introducing a new developer to your team will probably be less time-consuming.
Instant apps, PWA and modularisation
We have a lot of apps installed on our devices but we only use a few of them on a daily basis. With the growing popularity of IoT devices in smart cities, on-demand apps will be used much more often. The majority of apps will have parts of their functionality implemented as Instant modules. Full functionality will be available after installation. Progressive Web Apps will also become popular, especially in e-commerce.
After years of discussions among developers about how to properly implement multithreading on Android, and problems with tools like AsyncTask or EventBus, we now have stable solutions supporting developers in safe multithreading management. Right now we can choose between RxJava, Kotlin Coroutines or Android LiveData. However, this also raises the question which technology is the best. The most important thing is that all three of them are mature and stable solutions that help developers write clean code.
Multiplatform and hybrid solutions
React Native started a trend of hybrid apps that share code between platforms. The idea is very tempting, and other companies are going in this direction. Other promising and worth watching solutions are Flutter from Google and Kotlin Native. Each of them is designed for different use case, but the idea of code sharing is evolving and we can expect maturity in the coming years.
3. Emerging technologies
In 2017 Google switched from a mobile first to an AI first strategy. We can see the results of this shift in the growing popularity of Tensorflow and the introduction of MLKit in the Firebase ecosystem. Creating basic models becomes simpler everyday, and you do not need expertise in data sciences to make your app intelligent. Thanks to Google’s strategy people are becoming more aware of the possibilities of using machine learning in mobile development, and seeing that it’s not as scary as implementing everything from scratch in Matlab or R. We predict that Machine Learning will be crucial not only in image and speech recognition, but that it will also be used for prediction and analysis of user behavior.
It looks like a lot of companies are investing in AR, but nobody really knows how to use it to bring value to users. At the moment AR is really cool for games and headset apps, but it’s not very handy to go around with your phone and look at the world through camera. AR has huge potential, but until somebody figures out how to make it seamless in use it will stay just an entertaining oddity.
C-level executives predictions
4. Companies will keep users engaged beyond their core business
Budgets for centralization: Let’s face it, nobody is excited for new apps anymore. In the past five years, mobile apps have become a commodity. Instead of favoring new apps, innovation budgets are focussing more and more on centralization and the integration of additional features into existing powerhouse apps. In Europe, especially banks are making impressive moves to keep users engaged beyond financial transactions. Examples of centralized features in banking apps are real estate, business matchmaking, and mobility.
Health apps win over our data: Smartwatches, improved sensor sensitivity, and overall public acceptance to expose private data in exchange for fitness benefits set the stage for health apps to dominate in 2019. I predict insurance companies making big moves to integrate these apps into their offering in the coming year.
Personalization boosted by AI: Always remember, consumers do not want smarter apps, they want more convenient apps. Efficient AI predicting repetitive tasks in our routine and suggesting solutions to save time for consumers will be big business for those that are able to implement it the right way. My money is on apps in media and entertainment hitting this one out of the park first.
5. React Native and more cross-platform development
Rain Johanson Head of Engineering | Taxify (Estonia)
I expect to see more cross-platform initiatives, like React Native and Kotlin sharing. As to what comes to Android as a platform, I hope and expect to see more app-cloud based services which offer a higher level feature set, one example being Google Firebase.
Besides that, the ecosystem will continue to grow and there are going to be more applications with machine learning done on the phones and more data processing on the phone. An increasing number of media modification services will become available, like real-time video or voice modifications, automatic picture corrections. Something like, I'm on vacation and I want pictures of me to look happy and relaxed - this will be automatically done.
6. Kotlin and multiplatform projects will change the way we think about mobile development
A typical issue for companies building enterprise mobile apps is having to write their feature twice, involving a multiplication of bugs, not isofunctional features, and a huge loss of time. Fortunately, this repetition can be avoided using cross-platform frameworks like React Native or Xamarin. However, it's not a silver bullet and it faces some issues:
Hard or impossible to add to an existing project
Need to learn new languages
Need to write native code for some features
Can be laggy in some specific cases
This capability is very useful to write Kotlin code for iOS or even other platforms like Mac and Windows. It allows us to share code like business logic, models, repositories, presenters, etc.
Most importantly, it lets us do it progressively, which is a huge game changer compared to other solutions. I think these new possibilities will drastically change the way we build our mobile apps, allowing more companies to mutualize their codebase while other will go further creating a 100% Kotlin stack, from the server to mobile apps. In any case, it will be done much more easily and progressively than today, allowing a smooth migration for development teams.
7. Chatbots will represent 25% of all customer service operations by 2020
Chatbots are as old as computer science and the famous Turing Test, imagined by Alan Turing in 1950, is based on the principle of a machine playing the imitation game, i.e. a computer talking to a human.The latest groundbreaking progresses in machine learning have allowed the development of extremely cheap and reliable solutions to understand spoken conversations and process natural language. These evolutions have led big companies like Microsoft, IBM, Google or others to propose to developers and integrators chatbot interfaces that are easy to program and to customise, while being highly performant on the artificial intelligence side.This environment contributes now to the rise of the chatbots in various use cases and fields: from games to news, and from recommendation to customer service. According to Gartner, the use of chatbots on the latter field will represent 25% of all customer service operations by 2020.Chatbots talk directly to humans, effectively reducing the interface friction comparing to mobile or web apps, adding an insightful input to companies about their customers. Hence, offering a chatbot begins to be a strategic move for companies inside or outside the tech business. We can in fact predict that a non-negligible part of companies will, in the next years, focus more on these solutions than maintaining a mobile app.
8. Blockchain will be incorporated beyond financial apps
In 2018 advancements in core sciences of various technologies came to a stage where practical implementation of real-life use cases is ready to happen. Technology industry moved in breathtaking pace in Artificial Intelligence, Machine Learning, IoT, Augmented Reality, Blockchain and more. This trend will accelerate even more in the coming years.
Year 2019 will be the year when developers will look to develop apps and interfaces in latest technologies. Mobile computing will be going through another transformation, this time to a much larger scale. With machine learning as a central theme, mobile computing is set to become more ubiquitous, automated, and user-centric than ever before.
Google is advancing its already stable mobile ecosystem to make use of the advancements in the industry. It is now time for developers to leverage the advancements in these areas and innovate in design and engineering.
The app industry is welcoming the best of these technologies. Here are some of the trends in Android that the developer community is looking forward to:
The promise of blockchain as a decentralized database is a known phenomenon in the tech industry now. Apart from living up to its promise in FinTech, the time is now right for Blockchain to be incorporated in other types of apps. Android developers have no option but to come to terms with blockchain.
Given the evolving use-cases in retail, education, healthcare, real-estate, entertainment, and banking, blockchain-based apps are going to be a force-to-reckon with.
With HTC launching its first blockchain-based smartphone, at Kitab Sawti we are already exploring blockchain’s potential to enhance in-app consumer trust and protection of copyrights.
Following are some resources to get you up-to-speed with blockchain and Android:
With Android Pie, Google introduced a major mobile OS API after a long time, namely Android Protected Confirmation, which comes with the concept of ‘Trusted UI’. This is a hardware-protected user interface that is used to perform critical transactions completely outside the primary operating system. This UI protects users from fraudulent apps or a compromised operating system while performing important transactions.
It gives apps the power to invoke Protected Confirmation, which is when control is passed to Trusted UI where the transaction credentials are displayed and user confirmation of the integrity of data is obtained.
Confirmation results in your data being cryptographically authenticated and delivered to the relying party. Protected Confirmation increases customer and business confidence while providing a higher level of security for the transactions. With many possible use cases, Google has already partnered with majors banks and medical firms to better utilise Protected Confirmation in their business operations.
Android App Bundle
Gone are the days when apps took a lot of space on your phone. While moving your apps to SD Card was a common phenomenon, Google rolled out its new dynamic delivery model recently, The new Android App Bundle is an improved way to package your app. The Android App Bundle results in smaller apps sizes while delivering a great user experience, with little to no refactoring to your existing code. A huge variety of available Android devices will be able to make use of the new publishing format.
Features like on demand delivery and instant enabling of modules are going to be a huge step in improved user experience.
One example is modularising your app based on free and premium features. This way free users will have no need to download the features that are restricted to premium users, resulting in a lean app footprint, faster load times, and less space occupied.
So in 2019, Android apps will drift away from monolithic development too much more modularised apps.
The upcoming year will be very interesting for Android development. We can observe a lot of new technologies emerging that will shape the future of mobile development. As developers, we need to stay up to date with those trends and learn how to implement them in new products.
The future is for sure bright: we will have even more good quality apps with even more engaging user interactions. We will also have more stable solutions to build apps, which will result in better products. The most important thing right now is to closely observe new trends and invest in mastering the skills that will be the most important in the future.