Twitter introduces Fabric

Twitter introduces Fabric

Twitter recently released Fabric, a suite of new tools which can be integrated into Xcode and installed on demand.

The philosophy behind this new set of tools, is to reduce the number of separate SDK libraries that a developer has to install and keep track of in his project, where each SDK is just for a specific purpose.

Crashlytics

A tool that collects crash reports from user devices, and collates them into an integrated window with XCode. This is promising, as the idea is that you won't need to leave Xcode (for mac users) to see what happened. This should be a great boon to debugging. Also, Twitter claim that the Crashlytics kit has the highest information fidelity. More information means faster resolution of issues.

Another aspect ot Crashlytics is the Beta tool, which promises to handle the setting up of beta testers 'within seconds of receiving the initial email invite'. From my experience, setting up builds for beta testers, and distributing them has always been a difficult experience. Apple made this a little easier last year by allowing up to 1000 testers to be setup. TestFlight has also done a pretty good job of providing a means to distribute apps to testers in this way, and Apple have only improved things since they took over. It will be interesting to see whether Beta by Crashlytics can improve things again.

Another tool in the Crashlytics utility-belt is Answers, which will allow you to get instant feedback on app users, such as daily active users, number of new users, crash-free users. This is invaluable information for developers.

Twitter API

As well as a beefed-up Twitter sign in process, Twitter have introduced 'Digits', a tool which can use the phone number of the user's device to do sign-in. This is exciting, as it potentially will make the sign-in process for users even easier than before. The user can confirm their sign-in with a code sent in an SMS. Apps such as WhatsApp already do this, and have had a great response. Apparently it can be done in just a few lines of code.

Getting Crashlytics running

I setup a test application to run the crashalytics tool. The first step is downloading the Fabric tool and integrating it with Xcode. Once this has been done, you can create/open your project, and from the Fabric menu, install the modules that you need. This sets up all of the project settings that need to be done. After that you need to enter a script in the Build Phases of the target. This is all pretty easy and I really like the step-by-step help.

Once the library was installed, I setup some crash scenarios to test the statistics coming into Crashlytics. As each crash occurs, you can see it from the Fabric menu in the header. However, for detailed information you still need to go to the website, so it's not exactly the 'without leaving the dev environment' vision that twitter were espousing.

The level of detail for individual crash records is very good. You get a snapshot of the user's device in a visual at the top, with the stack trace below. For each issue, you can mark it as resolved: In-built bug-tracking and resolution. Nice. You can also group bugs by version and/or time, to filter out old or irrelevant issues.

Sky
M&S
Samsung
LG
Jonhson Matthey
Amec FW
ABF