What is GraphQL and why you should care?

Hello dear reader!

First of all I would like to apologise for not having been able to post in the last few weeks, I have been swamped with work. Before continuing, I’d like to wish you all a very happy new year (better late than never), and I couldn’t think of a better post for the start of this year than this one.

graphqlAs you all know, most Apps depend on a backend system. This backend is responsible for communicating and serving data among the different users.This involves having an API (Application Programming Interface) to access the data. Most APIs are REST (Representational State Transfer) APIs. However, good old Facebook started to see some limitations and thought they could come up with a better and more efficient system. In this post we will do a bird’s eye of how it works and what advantages it brings to the table.

In a nutshell, GraphQL is a syntax that describes how to ask for data, and is generally used to load data from a server to a client. GraphQL has three main characteristics:

  • It lets the client specify exactly what data it needs.
  • It makes it easier to aggregate data from multiple sources.
  • It uses a type system to describe data.

So how did this come to be?

For example, imagine you need to display a list of posts, and under each post a list of likes, including user names and avatars. So, you tweak you like array to contain avatars. Such as shown below.

gql1

But now, it’s time to work on your mobile app, and it turns out loading all that extra data is slowing things down. This translates in the fact that you need two endpoints, one with the likes and one without them.

Furthermoire, imagine if the “likes” and the “avatar” where to be stored on different storage types (MySQL for Avatar and MongoDB for likes for instance). Well now, we are in a bit of a mess. Extrapolate this scenario to however many data sources and API clients Facebook has to manage, and you can imagine why good old REST APIs were starting to show their limits.

The Solution

The solution Facebook came up with is conceptually very simple: instead of having multiple “dumb” endpoints, have a single “smart” endpoint that can take in complex queries, and then massage the data output into whatever shape the client requires.

What this means, is that there is a layer between the client and multiple data sources that is in charge of receiving requests and deciding how to serve them. Let’s have a quick metaphor example: The old REST model is like ordering pizza, then getting groceries delivered, then calling your dry cleaner to get your clothes. Three shops, three phone calls.

gql2

GraphQL on the other hand is like having a personal assistant: once you’ve given them the addresses to all three places, you can simply ask for what you want (“get me my dry cleaning, a large pizza, and two dozen eggs”) and wait for them to return.

gql3

In other words, GraphQL establishes a standard language for talking to this magical personal assistant. Why Facebook decided not to call it Siri is beyond me ;).

The best way to understand more about GraphQL and its possibilities is by practical examples. Let me know if you are interested and what you would like to see in the next post.

Thanks for reading!

Until next time!

Advertisements

Madrid Youth Entrepreneurship Award

Hello dear reader!

LogoTJMonday November 27th, was an extremely important day for me. I have received the Madrid Youth Entrepreneurship award (http://www.carnejovenmadrid.com/es/ventajas/otros-planes/iii-premios-talento-joven-carne-joven-comunidad-de-madrid,731). This award is aimed at people who have created projects that are pushing the boundaries of innovation and creating job posts. It is an immense pride to be the winner of this year’s edition and I will continue to work tirelessly to be worthy of this honour.

It is amazing to see how something that starts as an idea, turns into a full-fledged product that is used by millions of users. At the beginning, everyone thought we were crazy, that location sharing was never going anywhere. We have always argued the need of real time location sharing that expires after a certain time, always with an agreement from both parties, and with total security and privacy. Flashforward three years and we have been able to raise numerous investment rounds, acquire over 10 million users, expand all over the globe and see how other giants like WhatsApp, Google, Facebook and Telegram copy our model. Days like today prove that we are on the right track and we will continue to rocket Wave to the moon.

I would like to thank all the Youth Organization of Madrid, the council of Madrid and Wolters Kluwer for awarding me with this distinction.

You can read all the different press releases about the event below:

You can also read my latest interview while you are at it 😉

https://global-m.co.uk/journal/day-in-the-life-of-a-cto-pablo-clemente-wave

And you can also check out some cool pictures below.

 

 

This slideshow requires JavaScript.

Thank you very much for reading!

Until next time!

SwiftQR – The fastest QR code reader

A few weeks ago I started looking into Metal (https://developer.apple.com/metal/) on iOS. This is basically a technology that allows you to access graphics chips on iOS devices on a much lower level than typical OpenGL drivers and thus translates in a huge speed boost.

One of the things that pains me most about iOS is that there is no perfect QR code scanner, and they are all painfully slow, so I wondered what could happen if I applied metal imaging technology to QR code recognition and the results blew me away. It is by far the fastest QR code scanner on the App Store. Just try it and see for youself.

As a treat for my readers, it will remain free for a limited period of time. So grab it before it is too late!

qrApp1024Oh, and the name of this beauty? SwiftQR, because it is fast and build in Swift 😉 (how geeky is that!). You can view the description below, the download link, and some screenshots.

Until next time!

 


How many QR codes do we see every day? They are everywhere, from leaflets and magazines to buildings and cars. Wish there could be a faster way to read them? Well wish no more! Leveraging powerful image recognition techniques this is the fastest QR code reader out there. Just give it a try and see for yourself!

Plus, all the QR codes will be saved to your history so that you can view them later and organise them. And if all that wasn’t enough, you can easily create your own QR codes and share them!

Upgrade your QR code scanning experience today!

Available_on_the_App_Store_(black)

Building a new Wave

Location sharing is a daunting proposal. We live in a day and age where users are extremely concerned with their privacy, and they are right about it, with power and technology, comes a huge responsibility, and not everyone makes the right choices when it comes to that.

Icon_Itunes_1024x1024We have been overwhelmed by the response Wave has had. Users around the globe love it. With over 8 million users and a new Wave opened every second, it is clear that we have created a tool that fits into more and more lives every day. However, times change and we are committed to adapt to what you need and want. There is a famous quote by Lewis Carroll from Alice in Wonderland that says: “My dear, here we must run as fast as we can, just to stay in place. And if you wish to go anywhere you must run twice as fast as that”. That is the motto we must follow in the tech world to be on the bleeding edge and give you the best App, so that you can forget that the phrase “Where are you?” ever existed.

This commitment to you led us back to the drawing board to rethink everything we do and why we do it. We partnered with top design talents and listened very carefully to all the user feedback. What this meant is we started Wave from scratch. This was a perfect opportunity to start again, rethink everything, improve efficiency and introduce really robust and scalable real time systems.

With that in mind we build Wave 3.0. And I couldn’t be prouder to tell you that you can download it right now from the App Store and Google Play.

Wave front

So, why should you choose us? Wave’s core value is its technology, it is the mechanic heart that runs everything and that conveys our experience, this meant that if we wanted to be the go-to App to finding your family and friends, we had to make sure that we excelled in three main pillars:

The first one is security. Your location is an extremely valuable tool, it can be used to meet your friends, or to hurt you. That is why we decided to use military grade encryption and ensure that only the people you are waving with can see your location. We use SSL grade A encryption, dynamic tokens that change periodically and end to end encryption to make this the App even the military could use.

The second one is reliability and speed. What good is a location tool if it is not fast sending your location? Or if it cannot scale up as needed? We have worked endless hours on custom backend systems that combine state of the art technology, with trusted complex systems used in telephony to handle an unheard-of concurrency and achieve load times that make you believe in magic.

The third one is efficiency. Sharing your location can be a battery hog. We have all experienced extreme draining from using apps like Google Maps. This has led us to work on the most advanced location algorithms available, using triangulation via accelerometers, network positioning and the GPS sensor to be the most battery friendly app out there whilst pinpointing your location with extreme accuracy.

We know that just as a healthy heart is the key to a great athlete, our technology is from where we build everything. We have made it so effortless it fades away when you use it and it is what makes us the best location sharing App. Our laser like focus on the important will always be there to provide the definitive App you as user deserve.

You can read more about what how our technology works in a post on the AWS blog (https://aws.amazon.com/es/blogs/database/wave-a-private-location-app-running-on-amazon-rds/), and of course our new website is also a great place to find out more about us https://www.waveapplication.com/

This slideshow requires JavaScript.

We pair all of this we an eye-popping design and cool new features such as:

  • The ability to transform individual Waves into group Waves
  • You can now send your location to anyone via a URL they can view in a web page (this is what we call Unidirectional Waves), so you can have an awesome experience even with people who don’t have the App installed.
  • We have a new people-centered UI.
  • Our chat is now blazing fast and be accessed everywhere.

mockup_unidireccionales

But this is just the tip of the iceberg, check out the new version for yourself and let us know what you think! You can download it by accessing https://download.waveapplication.com or by scanning the following QR code on your device:

static_qr_code_without_logo

Hope you enjoy it!

Feel free to drop a line on the comments or reach me at pablo@waveapplication.com with any questions 🙂

El Niño Lottery App

Whilst reading this post, the most logical reaction is to think that it is a mistake, since the “El Niño” lottery from Spain was on the 6th. Bear with me a second please.

itunes

It turns out that after Apple’s App Store holidays, and a ridiculous time in review due to questions about the App (talk about efficiency in Apple’s App review process), the App has just arrived in the App Store. So, since it finally is ready for download, you can check (in case you haven’t already) if your number has been chosen in the most comfortable, efficient and easiest way. This App is basically a port of the Christmas lottery App.

Hope you enjoy it :)!

google-play-logo

Available_on_the_App_Store_(black)

Is 2017 the year where tech will become uncomfortable?

Hello dear reader!

Once more, it is time to say goodbye to another year and prepare ourselves for the next. I have a feeling that 2017 is going to be an amazing year, but before, it is time to take a little stroll down memory lane and think about what this year will mean to the tech world.

We could probably talk about this topic endlessly, there are many blog posts that highlight all the advancements and most important milestones in technology for 2016, but I’d like to take a minute to talk about what I think is a curious trend we are seeing.

When the IPhone 7 was launched in September, it was received among mixed feelings. Some people praised the plus double camera and the water resistance it promises, but Apple decided to kill the headphone jack and sell you some ridiculously expensive AirPods. As if that wasn’t enough, the headphones that come bundled with the iPhone have problems with the audio and you are forced to un plug them and plug them back in if that happens.

Moving on, when the new MacBook where released in October, we got a fancy touch strip, which apple dubbed the “magic bar” in their everlasting pursuit of finding cool names. This was a move to tell Microsoft that they had no interest in making a device like the surface which has a touch screen tablet surface with a full laptop. Not only did they do that, but also they removed the USB ports, leaving only USB type C ports and ironically, the 3.5 mm jack. This is fun, because if you buy an iPhone 7, you cannot connect the headphones to the MacBook Pro, neither can you connect the iPhone to your laptops. Bang up job Apple!

macbook-pro

This is particularly hilarious, because Tim Cook once addressed the audience on a keynote assuring that Apple had a clear path ahead, because it wasn’t trying to make tablets into laptops and laptops into tablets. Moreover, he used an image to define the competition which you can see below.

rodas

It’s funny though, because Microsoft Surface is on the up (they are reporting record sales compared to iPad), and the switch is mainly due to discontent with the new MacBook Pro. So one can only beg to question, who is confused? We are being imposed a new standard that might be the future, but that in the present day means we have to rely on dongles and all kinds of adapters to connect our camera, USB drives or phone to our computer. It might be the future, but do we want it today?

There an amazing video, which always manages to put a smile on a face which I think sums this all up. Hope it makes you laugh too 😉

What do you think? Are you happy with how things are moving? Or are you a bit worried about where we might be heading?

After our small rumbling, I wish you a happy new year and I hope that 2017 comes packed full of everything you desire most.

Thank you very much for reading!

See you next year!

Spanish Christmas Lottery App

It’s that time of the year when everyone starts to frantically buy Christmas lottery. It is a tradition that has been around for years and years and no one wants to be left out. It is usual that offices, gyms, coffee shops, supermarkets,etc. offer small participations and of course, hard core followers buy their own lucky numbers. There seems to be a general feeling that not buying one wherever you go could mean that you are left out in the biggest prize available (El gordo).

If you are not from Spain and would like to check out how big this is, you can watch our TV commercial from this year, which I don’t particularly like, and from the previous year (which was a masterpiece) – It seems the Spanish lottery has fallen into a Windows like type cycle, one good version and one bad version 😉 –

This year’s TV commercial:

The previous one:

The point is that many people end up with lots of number and they have to check to see if icon762xthey have won a prize. Thanks to technology, this is easier as there are webpages where you can input all the numbers and see if you have scored a lucky one. The problem is that in the end you end up retyping the same numbers again and again. With all the technological advancements we have, and having such processing power in our pockets, there had to be a simpler way we could do better. So, I teamed up with Fran, who works with me at Wave and is an awesome Android developer, to build an App that would simplify this.

I took charge of the iOS version, and he worked on the Android counterpart. The result is a visually appealing App that allows you to:

  • Check individual numbers easily
  • Saves all your history of checked numbers so that you can check them all at once.
  • Allows you to view the state of the raffle and all the prizes at just a glance.

 

The App is available on iOS and Android, and you can check it out today!

google-play-logoAvailable_on_the_App_Store_(black)

 

 

We hope you enjoy it and find it useful!

Feel free to drop us a line with any comments!

We wish you the best of luck and a very happy Christmas!