How many times have you endured the painful process of meeting up with someone and having to constantly text and/or call them to find out where exactly they are? This is not only vastly inefficient and frustrating, but it is also a potential danger for anyone who is driving or moving. Until recently, there was no default App to locate your contacts, despite having seen many attempts, such as Facebook with Find my Friends and Google with Latitude .
Wave Application is a Spanish startup founded in 2014 after Manuel De La Esperanza and Luis Gelado noticed there was no real, functional solution in the location app market to help people find each other. Today Wave is an app that allows more than 7 million users to locate their contacts in real time on a private map. Potential uses include meeting friends and family in music festivals, when travelling in a new city, in outdoor sports events and many others. Wave is especially strong in US, India, Latam and Spain. With a new Wave being opened every second, 1000 years of App use in total, and over 2,100,000 monthly active users, Wave is here to stay.
Wave is based on 4 main features:
- It is 100% private: You will only be found by the ones you choose, when you choose. We use and to end encryption to ensure your data is safe at all times
- Global: Works all over the world in Android and iOS.
- Limited Time: To use Wave you must agree with the other party on for how long your location will be shared. Once that time expires, you will automatically stop sharing your location.
- Extra features: Alongside viewing your contacts position on a private map, you will also be able to: Create groups with up to 10 people and view their position in real time, chat and set a meeting point and obtain GPS navigation.
Wave relies on Amazon Web Services for server infrastructure and content delivery. AWS is as extremely scalable, pay as you go system which can accommodate millions of users without the hassle of having to maintain your own hardware. Our setup is based on 2 main Elastic Beanstalk environments. The first is a Python/Django infrastructure, which handles our main API. It is associated with 2 PostgreSQL databases (a master and a read replica) set up on Amazon RDS, these handle all the creation of Waves and user administration.
Our second environment uses Erlang and the XMPP framework to provide instant socket based architecture to send your location to your active waves and handles all the chat system.
Multiple Challenges, one solution
The Wave app was designed to be used on the go. This means it would experience cell carrier changes, transitions from WiFi to data or vice versa, loss of cell reception, etc. These kind of situations imply connection losses, API errors and retries. This in the end translates in delayed petitions and higher loading times. PacketZoom specializes in accelerating content delivery by handling reconnects and creating a Mobile Expresslane between your app and your server. Since real time is a must for Wave and even a second-delay is unacceptable, It made perfect sense to partner up and see how we could improve performance and deliver the best possible location system to our users.
The integration with PacketZoom SDK was fast and painless and required no client or server changes. Wave configured PacketZoom Expresslane to accelerate Amazon API calls and was able to download its own data 2.49x faster.
Last Mile PerformanceImprovement with PacketZoom
Since PacketZoom leverages UDP as a transport protocol, using the solution also increased the number of successful API calls thanks to the high connection rescue rate (52% or 112,000 sessions per week).
_Last Mile Connection Rescue - 52% with PacketZoom_