Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools REST API Basics Getting the REST You Need Introduction

API: What's the Advantage of Having the "Burden of the Interface" on the Client?

Kenneth mentions something along the lines of 'the burden of creating the interface is on the users of the API vs. the creators '. I'm left baffled by this assertion... I'm viewing this like buying a computer & the creators took a long time making the computer...and creating the operating system...but you have to make your own graphical user interface in order to interact with your computer outside of using the terminal. Is it that complicated? If so why is this considered a (good?) thing and what's the advantage except it's less work for the developers of the program? (you'd think a lot of people using the program would get upset about this though)

The API or the Application Programming Interface just provides a programmatic way for other applications to interact with your service/app. The API has nothing to do with the look and feel of how the information is presented, aka the user interface. All the API does is provide an establish way to communicate with the service in a predictable way so that the requesting program can do what it needs to do with the information provided.

Say that you are building a local weather app. There are tons of local weather apps already on the market and each one looks differently aka the UI/UX behave differently. However, the majority of these apps use third party weather data, say from https://www.wunderground.com/weather/api/ or https://openweathermap.org/api. All these third party data providers do is give the information. To get the information you would have to access their API, read thru the docs, and see what your program has to do to get the required information. Then its on you how and for what reason you wish to display this information.

I hope this helps.