Building mobile products takes quite a lot of time and effort. Not only do you need domain expertise in areas like mobile application development, usability, cross platform development, working with different screen sizes and resolutions, and more … you need to make sure that you deliver a quality product that works as intended and gracefully handles unexpected errors.
Not only do you need to worry about your own code, but you also need to be concerned about any 3rd party code and SDKs you may be using. An SDK is injected directly into your app and how it works directly will impact your application. So when an SDK crashes an application (and we’ve seen this many times) and you don’t have access to the SDK source code, what do you do? In situations like these, you and your project are completely at the mercy of the SDK vendor to diagnose and resolve the issue.
With an open source SDK, however, it’s possible to get traces back and determine the root cause of any problems. Because you can see what is happening in the SDK code and how it interacts with your app, you can also address poorly written code that may be causing crashes, poor performance, and increased latency. You can also see if the code is doing something (like collecting data) that you might not otherwise want to permit.
When it comes to mobile analytics platforms, this applies not only to the SDK but the platform as a whole. Most, if not all, mobile analytics platform are closed source and black box; customers have very little control of how they work, how the data is stored, whether the data can be migrated to another platform or vendor, and whether they are truly comply with applicable regulatory and privacy standards. With an open-source platform such as Countly’s Community and Enterprise Editions you, and only you, own the data and you have the ability to tune and configure the platform to meet your specific needs.
For more information you can view the Countly SDK on Github, download Countly Community Edition to try on your own premise, sign up for Countly Cloud to see how it works for you, or read more about our enterprise offerings, including Countly Enterprise Edition.
In this blogpost, we interviewed, Owen Imholte, from Prime. The company has an iPhone app that helps people instantly get their medical records from all their doctors. It’s targeted at the 130 million Americans who have been diagnosed with a chronic illness. Read on to learn how Prime uses Countly.
Q: How does Prime help people?
It’s helpful to them because they are often stuck carrying a thick binder full of details, scribbling lists on notepads, or struggling to remember all the details. In the US, the onus is on the patient to communicate all these details to their doctors, specialists, and family. The current system is enormously fragmented and challenging and Prime works hard to bring a bit of order to the chaos.
Q: You looked for the right analytics solution. Why did you choose Countly among all?
For any startup analytics are crucial in figuring out how people are using a product, and what needs to be improved. Since Prime is in the health space, one of the extra considerations is the huge level of regulatory compliance required. The fact that Countly is able to run in a self-hosted manner was what initially drew us in. We also adopted the rule to never send any Protected Health Information in the first place.
There are two reasons to take that approach. The first is to protect the privacy of people using Prime. Trust is paramount for any app that deals with personal medical details and our goal is to let people regain control over their data. Since analytics are typically general, more specific details would not add much value, therefore it wouldn’t be helpful to have the granular data in the first place. So that makes it an easy decision, but how do we make sure that none of the data leaks?
Q: Which Countly features attracted you most?
Countly’s lightweight and open source design, and understandable codebase makes it possible for us to verify that information is not being unintentionally sent, so we can get to the real point of reviewing the data to improve Prime.
To that end, we love the beautiful interface, easy integration, and ongoing feature additions of Countly. The recent addition of drills and funnels without even requiring a new custom events, or SDK is stellar.
We initially used custom events to track how somebody navigated the various flows within the application and which actions they took. We have made lots of changes in discoverability of various features that were otherwise hidden. Seeing the numbers informs us in the design of new features, for instance an upcoming enhancement will be visible from the home screen in addition to the hamburger menu.
Since joining the Sprint Mobile Health Accelerator power by Techstars in Kansas City (wow, that’s a mouthful) we have defined and started tracking our key performance indicators, or KPIs, as well.
Q: Are there any feature requests for us?
There are two - one would be for a built-in static-segmentation (which could be dynamically extended on a case-by-case basis) and a way to automatically extend view controllers so there wouldn’t be as much manual involvement in tracking which views appear in what order.
Prime looks forward to helping everyone get their medical records.
At Countly, our main motivation has always been to deliver the best customer experience with a technology our users fall in love with. We’ve seen the analytics space mature in the last 5 years, and we are more than sure that it’s going to evolve a lot for the next 5 years also.
Running on several hundreds of millions of devices, powering 600M unique IDs on 100+ countries with 2000+ servers, Countly is by far the most advanced enterprise mobile analytics platform. Albeit being a young company, our dedication to continuous innovation gave us unparalleled growth in number of apps tracked, installed servers and supported customers.
We asked our customers why they love Countly, and here are top 5 reasons.
1. Lowest Total Cost of Ownership: Countly has the lowest total cost of ownership, compared to its competitors. Instead of writing own analytics backend, relying on Countly’s stable, high-performance decreases development, training and support costs.
2. Full Functionality: Countly Mobile Analytics has the widest set of functionality you can expect from a mobile analytics platform, including retention, detailed segmentation and funnels. For a list of feature comparison, check this page.
3. Unlimited Branding: When you purchase Countly Enterprise, you have the option to rebrand the whole interface. Instead of relying on other companies, why don’t you have your own analytics solution with support from Countly team?
4. Data Privacy Out of the Box: Collecting personally identifiable data is risky. Additionally, you may need to collect private data and host your analytics server inside your company LAN. Countly is the single secure solution for your modern mobile analytics needs.
5. Mature Enterprise Open Source Product: Countly Enterprise Edition is a fully supported product, protecting customers with SLA terms, which includes access to support team with direct phone.
Countly gives you a modern solution, with a flexibility you need in a competitive environment. Plus, we have “extreme support" (1-1 consultancy) for Countly Cloud users - a support that’ll assist you kickstart mobile analytics in the company.
For more information about your next mobile analytics platform, send us an email and one of our sales support person will contact you.
— Countly Team
We are more than excited to introduce you Countly Funnels,a technology that you can use to track the goal completion rates of a step by step path inside your application. This is a very handy approach if you want to know how many users have passed a specific event.
Some of you have been using Funnels for a few weeks already, and we do think that it’s time to publicly announce it. Thanks for a few customers, especially from enterprises and gaming companies, we have added specific functionalities that are not available in other products.
Interested in a screenshot of a live product?
Funnels are available for all Cloud and Enterprise users. To get an understanding of how Funnels work, see this documentation. If you are already collecting custom events from your apps, you can immediately start experimenting Countly Funnels!
As we are working on new features (hint: push notifications!), get prepared to see features and usability improvements all over Countly.
— Countly Team
After a few months of standstill, Countly iOS SDK is finally updated with various improvements and there are more to come soon. You can find the latest version here on GitHub. Before talking about future plans, let’s have a brief look at the latest changes.
- Formatting & Performance Improvements
For better code readability, we adopted Allman style indentation and added pragma marks for each section. It is now much easier to read through the code and navigate between sections and methods. We also added Countly prefix to some helper objects and methods to prevent any namespace conflicts.
We changed the way we create metrics JSON by using built-in iOS JSON serialization available in iOS 5.0+. Previously, metrics JSON was created by string concatenation of brackets, commas and colons manually. This method was very error prone and bad for code readability. In addition to that, we used dispatch_once function to improve thread safety of singletons as Apple suggested. And we took advantages of new Objective-C literals and LLVM compiler too. We cleared all useless @synthesize directives and used simpler syntax for creating object from primitive types. By the way, all the memory leaks are gone now. We have fixed them all, just like the compiler warnings about integer types.
- New Features
You can now use Countly for your Mac applications too. Countly iOS SDK now officially supports OSX, since they are the same platform with vastly similar APIs. There were some community supported OSX versions thanks to our friends Arix, benoitsan, and mrballoon; but we decided to make it official and give continuous support.
There is a new method for Countly Cloud users: startOnCloudWithAppKey. As it is self-explaining, it just starts Countly to work with Cloud directly. You do not need to enter server URL https://cloud.count.ly anymore. We created a new repo on GitHub for testing and showing how the SDK’s work. You can find it here. For now, there is only one iOS example project, but soon we will add example projects for other SDK’s too.
- Future Plans
Now let’s talk about the future plans. We are planning to make the SDK ARC compatible. As Apple encourages using ARC, nowadays most of the projects starts with ARC by default, and lots of old projects are being converted to work with it. We too decided to do so.
We are working on Messaging feature which will let you send push notifications and keep track of them. With Countly Messaging you will be able to compose push notifications easily and send them immediately, or schedule them to be sent later. Then Countly will take care of them and report back how users reacted to your push notifications.
Moreover, we have plans to integrate Crash Reporting feature into Countly. If your app crashes due to an uncaught exception or fatal signal, you will be able to see full stack trace and crash reason with custom logs right on your Countly Dashboard.
- Erkan YILDIZ
Countly SDK Developer