Happy Bits develops fun mobile apps so you can share videos instantly with your friends through messenger. You can either watch the videos live while you’re recording, or later whenever you have time. Here’s how it works: you upload a video to their app, then receive a private link to paste into your favorite messaging app to share the video. Happy Bits integrates with all the popular messenger apps, like Facebook, WhatsApp, Skype, Twitter, and Google+, just to name a few.
I recently caught up with John Loehrer, the DevOps Visionary at Happy Bits, who said they work tirelessly to make the application resilient to errors. However, some things out of their control, which can make “debugging a nightmare in the wild”.
2 things that keep Happy Bits up at night:
- Cellular network connectivity
- Hardware codecs
To get the best performance from a mobile phone, Happy Bits tries to utilize the custom native hardware codecs provided by the manufacturer for video recording and playback. These are accessed on Android through the JNI, and bubble up obscure exceptions that Happy Bits have no control over, and are different for each device.
On top of that, Happy Bits also have some C libraries that enable some cross-platform development between Android and iOS, for the really tricky video streaming and compression tasks, to keep their logic consistent. The remainder of their application is platform specific. Java for Android, Objective-C for iOS. Their backend server utilizes a python stack on EC2.
Like most apps, Happy Bits encounters the occasional error. Sometimes the errors are subtle, and don’t result in a crash or error, just an anomaly in the data. In the past, they would see this data show up in reports, but they didn’t have any method to figure out how, or why.
Prior to using log management, the release cycle was:
- Watch for bugs
- Insert additional tracking
John felt they were circling around the problem. Between all the tracking and re-releasing, debugging was taking 3-4 days! They experimented with several different tools to help; Crashlytics, New Relic, MixPanel, to name a few.
Eventually they realized to decrease their time to resolution, they needed a tool with more granularity, and started using Logentries. Using the Logentries platform, they were able to highlight particular time period, and “zero-in” on the logs they needed to identify (and see the context of) bugs.
After implementing log management with Logentries, John is now able to get quick answers, and instantly pass along his findings using shareable dashboards. John estimates that debugging now takes 5-10 minutes! His boss has definitely noticed the difference.
John still enjoys the other tools, and mentioned that each has their uses, but “at some point I’ve got to go spelunking to figure out what’s going on, when that happens I always turn to Logentries. Aggregated data and pretty graphs are nice, but are no substitute for raw logging of each step that happens along the way. Those raw logs allow us to reconstruct a timeline in our heads”.
John believes that every business needs to unlock the business power of logging.
Being able to aggregate your logs makes them extremely powerful, and the ability to narrow down your results to examine the context of the bug, and then link your results with the click of a button is really powerful.
Interested to explore how you can help your business run more efficiently with log management and analytics? Get started with a free trial, or sign up to speak with a log management expert about your business needs.