Countly Mobile Analytics | Blog
Improvements on Countly iOS SDK
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
First impressions count and design could make or break your project
Open source software always has the advantage of offering a free alternative to mainstream solutions, but it doesn’t guarantee user adoption. Your end user cares about design.
Query mobile data with Countly Drill
What a fantastic week! We listened you and worked hard to provide you the best-of-breed data query and analytics tool, Countly Drill. This powerful tool gives you the opportunity to perform advanced segmentations on your data using AND, OR and BY filters. Other features of Drill include, but not limited to:
- Ability to segment by user properties such as Device, App version, platform, platform version, session duration/count, country and carrier.
- Viewing the output in a smart way on a line, pie or bar chart.
- Change the time bucket displayed on the chart, even drill down to hourly view.
- View how many times an event occured, as well as how many users performed this event.
As an example, let’s have a look at the result of “I want to see the breakdown of users watching TV by platform”, which is very easy to grab. Here’s the output retrieved in seconds:
One very powerful feature is the bookmarks - with this tool, you do not have to remember your queries, but only retrieve from your latest bookmarks:
Drill is now available for all Cloud users and Enterprise customers. You can access Drill - even if you have a free account - right from the main menu.
Your custom events have been collected by Drill by some time now, so why don’t you login and start experimenting yourself?
— Countly Team
Your trust is our business
For the last one year, Countly has been the platform of choice for mobile developers and product managers. Roughly more than one year has passed since our first version, but we already conquered 96 countries, 1000+ servers, 5000 apps and hundreds of happy customers. Countly powered apps run on a whopping 100M+ devices already.
Thank you. You made our dream a reality!
Analyzing Skyward Slots moblie app with Countly - a case study
Sidebolt is a game studio in Dublin Ohio, with a mission to develop fun and innovative games. We were thrilled with their newest game, Skyward Slots for iOS and wanted to learn how Sidebolt satisfies its mobile analytics needs using Countly.
Q: How was your experience while developing Skyward Slots?
With Skyward Slots we wanted to make something new. We wanted to raise the bar on what a slots game could be, we didn’t want it to feel like a typical slots game. We also wanted our users to be able to seamlessly move from device to device. With the explosion of mobile, it’s typical for players to have multiple devices and they expect to be able to pick up any one of them and just play. So for us that meant building our own private cloud and running Skyward Slots from our servers so players weren’t tied to a single device.
To stand up our private cloud, we used a systems and cloud infrastructure automation framework called Chef. To keep the cost curve down we deployed on commodity hardware built in house and found that IKEA’s filing cabinets make great enclosures for micro ATX servers.
Once our infrastructure was deployed we began work on the server game code and front end. The front end was written in Objective-C using the cocos2d graphics library.
Q: Why did you choose Countly as your mobile analytics platform?
We were looking for a quick and easy solution for analytics that we could interface with from our own servers. Countly quickly stood out with its easy to read and navigate dashboard and simple server side API. Countly made the process of storing and analyzing large amounts of data simple and painless, also it’s just so good looking!
Q: Which feature do you like most in Countly?
Countly gives us a full view of our application and how our players interact with it. It answers player engagement questions so that we can better focus our efforts on areas our players use the most. There are a ton of great features in Countly but for us the stand outs are Events, Engagement and the server API. Events allow us to answer questions like “How many users disable the in-game tutorial”, or “What is the most popular mini-game”. These questions allow us to test our assumptions and guide future development which saves us time. The Engagement view gives us insight into player loyalty and session patterns. The server API allowed us to communicate with Countly directly from our game servers and control the flow of data.
Q: What is the single feature you want to get implemented?
We would love to see per user analytics. It would be great to drill into a player and view additional metrics on that player’s session. This would allow us to build a profile of certain types of users and ask additional questions such as “What are the play habits of users who have made purchases” or “Of our most active players what are the most/least triggered Events”.
Q: Can you give some hints about your upcoming titles and work?
We are actively working on new content for Skyward Slots but we’ve also started brainstorming our next game which will leverage our new backend infrastructure.
We’d like to thank to Conor Seabrook from SideBolt for this exciting interview.