Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker.

TPDP Episode #4: What is All This Mobile First, Offline First, and API First Jargon?

TwitterFacebookRedditLinkedInHacker News

There are a lot of “first” approaches circulating in the development and design space at the moment, but what does all this jargon mean? In this episode of the Polyglot Developer Podcast, guest speaker William Hoang and I are going to explore some of the common practices such as mobile first, offline first, and API first. I’ve broken Episode #4: What is All This Mobile First, Offline, First, and API First Jargon? into the following parts:

  • What is the Mobile First Approach?
  • What is the API First Approach?
  • What is the Offline First Approach?

At the end of the podcast William and I bring everything together and explain how all of them are necessary in modern application development.

This podcast episode can be found for free on iTunes and Pocket Casts, but in case you’d prefer to listen to it from your browser instead, it can be heard below.

For those of you who’d rather read than listen, I’m going to explain some of this podcast here.

What is the Mobile First Approach?

Mobile first can best be described as the process of designing for a mobile screen size before designing for larger screens like laptops and desktop computers. Don’t confuse this with the MobileFirst platform from IBM as we are talking about a practice, not a product.

Let’s say I was designing an application that looked fantastic on my 27″ Apple iMac. Awesome, but what are the odds that it looks good on my 5″ Nexus 5X phone?

I like to think of mobile first design as building and displaying only what you need. Do you absolutely need 100x links and images on your website? When you start stripping out what you don’t need to make it look good on a mobile app, your desktop version can become potentially cleaner as well.

Often to make mobile first possible, responsive designs are used. This will rearrange items on the screen according to the space available.

Having worked at BlackBerry, one of the original mobile manufacturers, William shares his opinions on the matter.

What is the API First Approach?

API first can best be described as the process of designing an API before you define the channels that it will be available / consumed on.

I first heard about this in 2015 at a JavaScript conference called ConnectJS. Some examples that were used when I heard about it were something along the lines of, what if you built your mobile and desktop application first and then decided on how to consume data based on the needs of those two applications. That should work fine under that scenario, but what if you now need to worry about wearables like smart watches with smaller screens? Will your data needs change? What if you start to worry about IoT devices that have no screens? The point is to define a consistent API first and then worry about what consumes it because you can always ignore parts of the API you don’t plan to use on the particular platform.

What is the Offline First Approach?

Offline first can best be described as the process of designing an application as if there is no such thing as the internet and then adding network features for when the device is online.

This approach to development is something that William has been working on a lot lately. This is something that Couchbase Mobile does for mobile applications and something that William has been working on for a while.

In my opinion, this is incredibly important for mobile application developers to follow. Many app developers will use data services like Firebase or even random online APIs. These work great when you have internet, but when you don’t have internet, these services stop working. By designing your application as if the internet doesn’t exist, you’re developing with a local database rather than remote data.

What Should Be Used For Modern Development?

At the end of the podcast William brings it all together and explains how you should choose to develop modern applications. My personal opinion is to go with the API first approach as I feel it will cover the most ground. I like to disregard the platforms that data will be used on and just assume it will be available on anything and everything.

At the end of the day you should choose what best meets your needs.

Conclusion

If you’ve heard these “first” approaches, but never really got into the details, hopefully this podcast episode cleared up a lot of the jargon on the subject. My goal is to make everyone more knowledgeable.

If you have questions regarding this podcast episode, you can reach out on Twitter. If you’re listening to this podcast via a service or application and it allows you to leave a rating or review, please give it a positive rating.

Nic Raboy

Nic Raboy

Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in C#, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Unity. Nic writes about his development experiences related to making web and mobile development easier to understand.