Q&A: Application Trends Worth Watching
Applications technologies are changing rapidly. What trends and advances should developers pay attention to?
Application technologies have been changing rapidly, from client-server to the cloud, from standalone, on-premises apps to mobile information everywhere. Where is the technology headed, and what should developers be paying attention to? To learn more, we spoke with BonitaSoft's CEO Miguel Valdés Faura.
Enterprise Strategies: How have enterprise applications changed from a decade ago?
Miguel Valdés Faura: The client-server model for delivering business applications has gone through a refresh with the rise in cloud technology. Nevertheless, the application is still hosted on a server and served for consumption through a computer (or potentially a mobile device). The application is rigid, specific in its use, and obsolete once a company’s needs change.
The effect this trend will have on the IT industry cannot be understated. Legacy application vendors are losing their footing in a fast-moving industry that’s all about custom-built, purpose-driven applications that cost a fraction of proprietary solutions. In addition, there’s been a shift in what consumers expect from an application. It used to be that workers and entire industries fit their processes around the capabilities of a business application. Not so anymore. Consumers of business applications are savvy, smartphone-wielding users of social media that expect business applications to adhere to their needs in much the same way that Facebook, Twitter, and Instagram do.
What will they look like 10 years from now?
The application of tomorrow will have a shorter half-life because ever-changing business conditions will require fast iterations of existing applications and the quick creation of entirely new ones. These applications will be an assemblage of re-usable components and/or services that can easily talk to each other through standard communication protocols. They will deliver services unique to the enterprise or group requesting or needing it be flexible enough to change with business needs. How do you make an application flexible? By using a BPM technology that will act as the connection between the different components of the application -- processes, data, stakeholders, and other applications and services.
Three technology trends are poised to up-end the way applications are built, delivered, and consumed. These include open source technology, ubiquitous APIs, and the consumerization of IT. I'd go even one step further and include a business process management (BPM) layer that can tie these technologies together.
How has open source leveled the playing field?
When we look back a decade from now, we’ll realize that the rise of open source was the first nail in the coffin of proprietary, legacy applications. Open source funneled the combined energy of every amateur and hobbyist developer into a powerful force that has since given rise to big technologies such as Linux, Apache, Drupal or Hadoop.
Today, nobody would blink twice if you told them you run most of your business on open source software. The cost-effective community driven nature of the open source movement puts small and midsize organizations on par with larger companies that could afford expensive applications to run their business. Open source’s biggest contribution to the world of IT was opening people’s eyes and making them realize that the proprietary model based on the purchase of expensive software wasn’t the be-all and end-all for the consumption of mission-critical business applications -- a trend that will only continue in the coming years.
Tell us more about the role of APIs.
The rise of APIs has led the Web to become an application platform in itself. A community of robust APIs gives businesses the opportunity to leverage partners and offer business solutions where the whole is greater than the sum of its parts. Software companies are quickly realizing that in today’s inter-connected Web environment, you can no longer afford to take a siloed approach. Interoperability between systems, databases, and object classes is now expected and based on the very real fact that businesses need applications that talk to each other.
Today, the usefulness of an API is limited to extending the functionality of an existing application. Tomorrow, the stringing of routines, data structures, object classes, and variables will increasingly become a simple matter of picking and choosing from a buffet of choices to build custom applications from scratch quickly and easily.
How has the consumerization of IT set expectations?
The line between work life and private life is so blurred, most people can’t tell the difference anymore. Social tools began as a way to bring friends together but have evolved into a new way of doing business. Companies such as Yammer are the first that come to mind when one thinks about social and business.
However, the real change is the move from users to consumers of tech. If a business application is not user friendly, the employee will not “buy” it to do their job. Consumer applications have not only influenced the capabilities of business applications, but even the look and feel of an application. It’s no surprise that features in iOS such as "swipe" to move from pane to pane are popping up in business applications every day. Tomorrow’s application will be custom-built, look great, and openly talk to other applications to provide increased functionality and ROI to businesses in constant need of flexibility and competitive advantage.
How will this affect the way internal teams develop applications?
Applications will, eventually, become easier to build. As we see more of the trends described above take hold, we’ll see the tools and environments (i.e., desktop and cloud) that internal teams are currently using to build applications start to change. This will result in a period of adaptation as developers become acclimated to this new way of building applications.
Another trend that will affect the way internal teams develop applications, as well as the application development process, will be the rise of collaborative tools that make it easier than ever for teams to keep track of and more efficiently work on applications. Imagine an application built using a BPM solution that allows many people working together on all aspects of the application from multi-device user interfaces capabilities to functionalities based on real-time data and process analysis -- all this will result in a much faster and collaborative application building environment.
How can enterprises use this change to their advantage?
This new way of building applications means that enterprises can now become more agile in reacting to changes in the market. It becomes easier to provide solutions almost immediately after detecting a new opportunity. We see this happen all the time with consumer-facing applications such as Facebook. As soon as Facebook updates its API to the public, many developers extend the capabilities of their applications to take advantage of new functionalities or enhanced performance. Savvy developers can take advantage of this fast iteration cycle and constantly offer new ways to help clients.
Moreover, this will mean that business teams and technical teams will be working together more. Emerging new tools and ways of building applications will close the gap between business requirements and technical expertise, leading to faster and improved collaboration. This will help down the traditional silos that have affected the efficiency of how an application was built.
What kinds of applications are being built by in-house development teams?
Most of these new types of applications are being purpose-built for internal use on a corporate level. For example, applications related to human resources functions such as on-boarding and procurement or apps intended to manage cash management. Basically, any application that is providing some type of support for internal teams or any application that makes governance easier or more efficient are the first type of applications being built in this new way. That will change, however, as more enterprises begin to build applications and services to help customers online or manage customer satisfaction. This will signal a move from building applications intended for internal use to very important applications that are critical to providing necessary services to run a business. An example might be the booming market for business applications able to churn through large amounts of data to provide valuable analytics for businesses.
What are the advantages/disadvantages of this type of application development?
The advantages have already been touched upon; everyone agrees that a faster, more collaborative way of building applications is a good thing. The trouble arises when the change is too fast and both developers and consumers alike can't keep up with the pace of change. The IDE is inexorably heading to the cloud and that might require some adjustment from old-school developers used to having it on their desktop. The adoption of these tools and methodologies of building applications will also take some time, leading to potential confusion in the interim.
All those new platforms based on social enterprise software bring new paradigms that require some getting used to, especially for those not used to consumer-facing applications. Customers will also require in-depth knowledge about how to navigate applications with ever-increasing functionality.