The benefits of building blocks

Every mobile or web application, consumer or enterprise, is built with the goal of providing value to its users — whether it’s booking a car, making a restaurant reservation, teaching them how to complete a task, or providing a fun and challenging gaming experience. Whatever the purpose of the application, making that experience exceptional should be the primary focus of its creators. The infrastructure that powers those experiences is an enabler. It’s unrealistic to expect app creators to be experts in every bit of infrastructure. For this reason, building blocks that focus on specific parts of the infrastructure have emerged, solving hard problems for all applications that use them like maps, payments, and analytics. Layer does this for communications. Building blocks streamline the development process and help app creators ship better products faster.

In house vs. building blocks

Effort and speed

Application creators always have limited resources when developing products. Constraints in time, people, and budget are common — and often all three are in play. Using a building block technology, developers can get to a fully functional experience faster than if they were to develop the infrastructure from scratch or try to combine several services together. Consider what is easier/faster — setting up an entire messaging service including connectivity, network handling, routing, push notifications etc. or just authenticating users, defining a conversation, sending/receiving a message? Layer enables application creators to get fully functional communications in their products extremely fast with no infrastructure work, enabling them to focus on the product experience.

A better product experience

When developers leverage a building block technology instead of building their own infrastructure from scratch, engineering resources can be refocused on building a better experience. Rather than spending 80% of your development time building infrastructure and the final 20% refining UI and UX, imagine having the vast majority of your time to spend on experience and interface — truly the things that define a product!? Having completely functional communications features out of the box enables developers to focus and innovate on the differentiating factors of their product — the content, experiences, connections, and transactions that no other product enables.

Constant improvement and evolution

Companies that provide building blocks have the luxury to focus on the constant improvement of their specialized functionality. That’s a luxury a developer can’t afford if that functionality is not the absolute core focus and key differentiator of the product. In-house solutions are often built for today’s needs, as a quick project to solve an immediate need. Through time, requirements and expected features change. A communications platform such as Layer has the luxury of focusing on delivering all the features at the quality level of a horizontal communications product — and always pushing the bar higher. At Layer our focus is always on providing a simple to use SDK, with clean APIs, powered by scalable and reliable infrastructure that keep evolving to meet the changing needs of developers’ products and businesses.

Community and Support

Because building blocks are used by large numbers of developers and are not one-off solutions, it is fairly easy to find additional support in the community. On top of that, the companies behind these build block products typically provide great documentation and long-term support to ensure their customers are successfully using their products. That’s hard to say for one-off, home-brewed solutions built by teams that have mostly moved onto other, equally important internal projects or have even left the company. We are proud to provide developers using Layer with great support with 100% satisfaction rates.

Reliability, maintenance and scale

Most projects start as a proof-of-concept, and then later evolve into viable, shippable products. Infrastructure built to support a proof-of-concept will usually require a substantial amount of time and resource to reach a production-ready state — not to mention the ongoing cost of maintenance, operations burden, and scaling to support a product’s success. Often scaling up means reworking the entire architecture several times. Operating large scale communications infrastructure is expensive and requires a lot of highly specific domain expertise. Layer’s communications service was built to support scale from day one and is maintained by a dedicated team of experts with highly relevant domain expertise.

We love to power great experiences. Get started with Layer and enable the power of communications in your product.

The new building blocks

As a product designer or application developer, the most important thing to focus on should be delighting your users. After all, the only part of the product that your user will interact with is the top layer, an interface.

In order to get to that final, delightful experience as fast as possible, developers can go about it two ways. Either you build every underlying bit yourself or use pre-existing building blocks, provided by companies that focus on specific verticals and combine them with a great product experience.

In the early days of the automobile industry, car companies used to produce every single piece of a car in-house, including tires. They owned rubber plants and built entire cities around them. As a result, tire design was progressing slowly and production was often inefficient, due to a lack of deep specialization. So what happened? Independent tire companies came up with synthetic rubber, producing better-designed tires more efficiently than the companies focused on building an entire car ever could. Focus is important.

We’ve seen the same process in software. It has accelerated dramatically in the last few years with the advent of Internet APIs and SDKs, bringing efficiency and quality of building blocks up, while shortening the development cycle for products drastically.

Today, no one in their right mind would build an entire maps stack from scratch to show a listing or car on a map. Very few people would build an entire payments stack from scratch just to collect a payment. These are just a few examples of problems that are either hard to solve, regulated and full of secrets or technologically very challenging. Similarly it makes no sense to build an entire communications stack from scratch.

These building blocks are enabling many of the new product experiences we are seeing today. Imagine AirBnb without listings on a map. Imagine Foursquare without a map. Imagine having to hand out cash for every Uber or Lyft ride you take instead of just getting out of the car. Imagine not being able to pay a seller directly on Kickstarter or Etsy.

We can’t wait to see how developers take advantage of all the new building blocks and the experiences they will create.