How Using Features-as-a-Service Makes App Development Faster and Easier

While coding can be an art form, the point of most software development is getting something done. Coding is fundamentally about solving a problem, and that privileges code reuse, software libraries, frameworks any technology that can make the job faster and easier. Code might be poetry, but it is poetry with a purpose first and foremost.

This emphasis on smart coding and speed is accentuated by agile development practices. The velocity of software development has reached the point where app development must happen in a matter of weeks, not months. Agile development favors minimal viable product, a long beta test, and action over a long internal gestation period. Get the app out there, then iterate as you go along. This further favors things like code reuse and off-the-shelf technology when possible.

We’ve seen several evolutions of this trend as the industry evolves, from high-level languages such as SWIFT and open source code sharing to backend services and infrastructure-as-a-service (IaaS) such as Amazon Web Services. The latest in this evolution is features-as-a-service (FaaS).

Welcome to the FaaS Lane

Backend services that developers can drop into their app make coding faster and improve reliability because devs can drop in third-party code and get the backend functionality without having to reinvent the wheel. FaaS is an extension of this concept to the front-end of an app. The main difference is that instead of dropping in a third-party code or making an API call for backend services, apps drop in fully developed third-party features for the front end of their solution.

Services built around the FaaS concept are just now developing, but there already are several examples of FaaS in practice that developers can use for better, faster app rollout.

For example, apps that need location services as a feature can use a provider such as Mapbox for instant map functionality in their product. If an app needs social, it might give the nod to Tapblue and skip the work of handling profiles, following users, offering news feed notifications, and other social features like in-app commenting.

“With Tapglue, you can build experiences similar to Facebook’s home feed or Spotify’s activity stream with a fraction of the development work that used to be necessary,” notes Tapglue CEO, Norman Wiese. Tapglue handles everything for developers, from infrastructure and API to client SDKs.

Upping Speed—and Quality

Other examples of FaaS include Algolia, which brings search features such as auto-complete searches, advanced queries, geo-searches and feedback loops based on metrics the developer defines, and deeplinking FaaS provider, Branch.io.

The advantages of using FaaS for quick feature rollout not only is speed, but also quality. When features are outsourced to firms that make these features their primary business, the features in question generally are more stable and polished. Instead of hacking something together, developers can start with polished features that are rigorously tested and constantly improved upon.

“Some of the features developers need just aren’t easy to build in-house,” says Tony Zhao, CEO of video chat FaaS provider, Agora.io. “With what Agora offers, for instance, you can put together a basic video chat feature using WebRTC, but it isn’t easy to also ensure reliability and functionality like large group video conferencing. That’s where FaaS services such as Agora.io become particularly useful.”

Agora.io is a good example of FaaS in practice.

Embedding video chat and real-time communications is important functionality for many apps today. Roughly $1 trillion in annual sales comes from click-to-call functionality, and Google reports that about 70 percent of mobile consumers use click-to-call for faster calling on the go. Roughly 40 percent use it frequently.

While Google-sponsored real-time communications protocol, WebRTC, simplifies video chat considerably, there still are compatibility issues, technical hurdles and quality-of-experience problems that make video chat a challenging feature for app developers. Apps that go beyond the hobbyist level must ensure that their voice and video features perform reliably, something that WebRTC doesn’t promise but FaaS providers such as Agora.io deliver. Similar to using Stripe for instant payment processing on the backend, developers can use Agora.io for turnkey voice and video features on the frontend and let Agora.io take care of network considerations, codec optimization and other issues like compatibility.

FaaS is nothing startling, nothing that blows your mind. Instead, it is a quiet expansion of the well-established trend of coding smart by avoiding reinvention of something that was done before. Instead of this concept merely applying to code or backend functions, however, FaaS moves this idea to the front end and makes it easier for developers to bolt together features and roll out their app faster and with higher quality from day one.

If getting things done is the essence of code, FaaS is a further evolution of good coding practices.


Similar Articles