The intersection of cloud and mobile computing means the next generation of software will be available everywhere, but getting there won't be easy.
Although relatively new technology, cloud implementations have been quickly adopted on the Web, and spurred innovation by coinciding with the proliferation of mobile and tablet devices. We are moving away from software that exists on our hard drives to applications that exist both in the cloud and in our pockets. The future of software is in “everywhere apps” that aren’t tied to a single device, but rather to the end user - available on any platform the user prefers. We no longer expect to go to the software - we expect the software to come to us.
Turn and Face the Strain...
How will the shift in development from local and desktop to clouds and apps change the nature of what we consider software? The software we interact with on a daily basis will become deeply personalized to our needs. We will no longer have to bend “kitchen sink” enterprise applications and one-size-fits-all desktop software to fit our needs. If there is a need, there will be an app for it. Even if it is a corner case of usage requirements, it likely affects many individuals and there will be a developer or entrepreneur willing to make that bet.
Developers will be able to concentrate on solving the problems that are important to the end users and spend less time worrying about the back-end or the infrastructure. In 2011 it's possible to get a logo, a website, setup a store or billing system and spool up a cluster over a weekend. Even user authentication can be simply addressed by utilizing users’ existing identities on Facebook, Twitter or LinkedIn. By outsourcing solved problems the important development time can be spent on unique offerings and addressing the true needs of the user.
Car companies don’t make their own tires and airlines don’t make their own fuel. Every industry capitalizes on the core competencies of others to maximize their competitive advantage. Rather than trying to create more social networks, new communities like Quora and Hashable allow users to utilize their existing networks and are able to focus on their products.
The Age of the App
Although some aspects of developing for the cloud have become easier thanks to new tools and services, the proliferation of mobile computing has us expecting an app to be available on our desktops, phones, tablets, TVs, stereos and game consoles. Netflix itself is used on a whopping 400 devices. We no longer have to go to the software - we expect the software to come to us. In addition, the new relevance of user experience indicates that development cycles that would have formerly been spent on infrastructure, should now be shifted to the front end.
What does this mean for software development? Building a great product and user experience are more important now than ever. The barriers to entry are so few, and the available tools so plenty, that we can expect to see many competitors for every use case. Apps may only get a single chance to impress users. Users can evaluate and compare apps quickly, with very little time or money lost.
Software will spread virally more than ever before, but it will be increasingly done in person and off the Web. The fact that our phones are always with us means we are constantly talking to friends and coworkers about the apps that we actually find worth using. Neither first mover advantages nor inflated marketing budgets will be able to compensate for products that cannot stand on their own.
App Pricing Models
In addition to starting with a great product, apps will need to be where users are looking for them - everywhere. The software we will interact with on a daily basis will be expected to integrate wherever we already are. The competitive advantage of great software in the future will not just be in its utility, or UX, but in its pervasiveness. Selling points such as presence in web and mobile app stores, availability of browser and mail client plugins and integration with other 3rd party apps and devices will be important variables in purchasing decisions, and will increasingly make the difference between evaluations and sales.
The success of the iOS and Android app stores has proven that users are willing to purchase relatively cheap mobile apps that serve a single purpose. Although the apps are varied, there are a handful of pricing models which have become common for applications that are available for multiple devices:
- The freemium subscription model: Free but limited versions of web and mobile apps, with options to upgrade to a paid version. Examples include Pandora, Evernote, Prey and Dropbox.
- Free mobile apps which support a physical device, like Sonos, Boxee, or MiCommand.
- Free mobile apps that are primarily content delivery vehicles which drive revenue elsewhere, like Kindle and Netflix
- Free apps which are a “value add” for services like Salesforce or E*TRADE.
- Apps which are free on the web, but require a paid subscription to access the mobile apps, such as Lastpass and Remember The Milk. A very interesting experiment on the question of what users value enough to pay for, this essentially makes the web apps loss leaders for the mobile apps. I believe this will become a successful and popular model for the balancing act of limiting functionality while still gaining traction. Last.fm recently announced its transition to this model.
The reluctance of software developers to adopt an “everywhere” strategy likely relates to not only the development time required, but also the support. If users come to rely on a Firefox plugin and iPhone app, even if they have not paid a dime they will expect updates and support. However, many companies are proving the profitability of the stickiness this philosophy provides. Its important to remember there is more at play here than stickiness - if an application isn’t where its market is, someone else will be.
One way in which software companies can bypass the laborious task of coding for different environments is in Platform as a Service (PaaS) solutions such as Appcelerator and Particle Code. Although adoption is not widespread at the moment, solutions like these may soon be viable alternatives to dedicating developers to separate platforms. Another option is to simply bypass platforms completely and create app-like experiences using HTML5. Aside magazine and the startup OnSwipe are examples of the possibilities available for content publishers outside of app stores, which is attractive for various reasons.
The combination of advances in the cloud and in mobile computing have created entirely new ecosystems of software, with unseen before varieties of applications. What users want and expect out of applications will shape the future of software development more by use case than by technological innovation.
This crossroads of cloud and mobile computing still leaves many questions unanswered: how do users prefer to pay for an app that is not dependant on a physical device, but instead follows them everywhere? Does the user experience need to be familiar across platforms, or instead dependent on the device? Interaction designers and app developers forging this path will be watched closely for their resolutions to these and other questions. Software companies slow or unwilling to brave the web and mobile app space may become obsolete.
For the time being, Android users can tolerate the late arrival of Netflix and iPad users can make do with iPhone versions of some apps. In the future though, markets will be less forgiving. The new reality is that software companies focusing on one platform while neglecting others are missing the bigger picture - the users themselves.
Cloud photo from Geograph