Description

I have been noticing that many applications tend to skip some important points while writing their APIs. In this post I will try to discuss some of those points.

Exposure & Privacy

Usually, when we write APIs, we use a common data structure in order to be able to communicate as easy as possible with different services. For the sake of the examples, I will be using JSON but you can think about other data structures as well.

It seems, that many applications today tend to expose the same data by using the exact same data model that they use to manage their data. In my opinion, most of the time it is incorrect to share the same data model between the application and the actual exposed data. This problem can be solved, depending on the language, by different approaches, such as using a strict serialized object or by dividing responsibilities.

While I am writing a post about how to write an Android application with a portrait camera, I have figured that my knowledge about Android threads is lacking some important information, therefore I have decided to read and summarize some of this information.

TL;DR

Couchsurfing allows people to see their users' private information such as:

User's Facebook profile URL - this means that with enough understanding people would be able to find Couchsurfing users on Facebook and contact them.

Emergency Contact Details - Although Couchsurfing promises that this information is only available for administrators, it exposes it to everyone. This means that if you fill up this form people would be able to see this information and use it (see screenshot bellow).

Lately I am trying to work on different projects while making sure that frontend and backend can work without any dependency.

Having working with this approach I can work on backend without having any frontend files in the same repository and vice versa. One of the things that needs to be done is setting the static files route and folder.

The idea of the app is pretty straight forward and actually cool. Imagine going to a bar, you see someone you like and make your move, Tinder allows you in the comfort of your own home. All you need to do is look over pictures and shared interests and if you like what you see you mark the person as "liked", otherwise skip it and move on to the next. If both sides like each other, meaning there is a "match", the application allows you to talk amongst yourselves and take it from there.