Apple's 2008 opening of the iOS platform and subsequent opening of the App Store to third-party developer spawned a whole new market for truly useful (and also not useful) software. As the market matured, we as an industry went through changes in what a good / successful app would be. Once again, we are at such a point. Apps are on the verge of totally leaving the trapping of pre-packaged software behind and becoming fully aligned with the services business model. Much has been made of App Store pricing and users' purchasing habits leading to this and it's true to a point. However, there's another fact that we're about to see take center -- new user experiences made possible by changing technologies.
Take a look at screenshots from iOS 4 apps and compare the user experience and general aesthetic design to what you see today. While the "table view of data" structural design has mostly stayed with us, the look and feel could not be more different. Still, at the end of the day most users on iOS 10 are just poking better looking UITableViewCells and being taken into far cleaner looking detail views -- ie their mode of interaction with the software is fundamentally the same as it was all those years ago. We are on the verge of a paradigm shift in user interaction thanks to natural language procession. Users will within just a few years will use their voice as the primary way to interface with their software and that mode of interaction will become an expected feature for even the most modest of serious apps. If you're not familiar with this technology, take a look at Siri, Cortana, or Google Assistant. While all of these are fairly rudimentary examples of the technology, they do show where we're going.
As a result of voice being the primary interface mode, apps as siloed pieces of software will begin to fade, instead becoming services that provide functionality. For example, if you want to order a pizza now you might open the app of your preferred pizzeria, but in just a few years (and some Google users can reliable do this now) you'll simply state your order to your device and may not even know what actual 'app' is doing the ordering for you.
This will all be powered by what we are calling 'bots' but are really just specialized implementations of rudimentary artificial intelligence that run on servers. There are a number of great open-source software development libraries for writing bots that can be used including the Microsoft Bot Framework and BotKit. We've are already doing some work in both (in truth they can work together just fine in the same project) and are finding the development to be well worth the investment; we'll be sharing more of our internal bot development a bit later.
On it's most basic level, apps that take advantage of bots and the other technologies I've described here will be placing more of their functionality and therefore the technical complexity of the software on Linux-powered servers rather than in the application bundle itself. This has the dual advantage of not tying the bulk of the functionality to the client is that the functionality can be patched and updated without having to go through App Store review and in most cases would not require the clients-side front-ends to be developed in any one platform's native technology. Indeed, given the relatively visually simple front-ends that bot powered apps are likely to have, hybrid solutions (such as Ionic) will prove to be a good balance between providing users of multiple platforms front-ends to the software without taking on the additional cost of developing a native front-end for each target platform.
If you're interesting in creating a next generation bot powered app, let us know by filling out the contact form on this page and don't forget to follow us on Twitter.