You may be aware that some time ago, we developed Info Take for Datadog. This was an Android app, that allows you to view the metric data within your Datadog account in a mobile/tablet friendly view, from events, to monitor status and dashboards. This post is about how I got started, how I got involved with Datadog and why I'm shutting it down.
Before I get started, this is not a post attempting to criticise Datadog, or put them in a bad light, I am still a big fan of Datadog, and will continue to be a customer, and continue to recommend their service, they offer a great service and I will continue to recommend.
I've been a customer of Datadog for some time, but used to find it annoying when I received an alert via email (that's how my monitors are set up), and I wanted to check what had happened, the mobile site wasn't particularly friendly as you had to keep scrolling up and down and left and right so it was hard to look at the data easily and identify anomalies that could show why I received an alert.
This is where I started to develop Info Take. I started building a PoC (Proof of Concept) and got the basics working, such as displaying events and infrastructure using the public API that's documented on their website, although this API was somewhat limited which meant I couldn't do everything I was hoping to do within the app.
However, I got basics working with their API and because I was using their API and would have to use their name in the app (to make it clear what it was) I wanted to get permission from Datadog first to continue the development and release, as I obviously didn't want to spend a lot of time on the development and release the app for Datadog to then get in touch and stop me working on it, which I would have completely understood if that was to happen.
So I contacted them to explain what it was I was working on, including giving screenshots, what my plans are for the future of the app if I'm allowed to release and the limitations that I had in the public API.
I heard back from Datadog and got feedback that their project managers very interested and got put in touch with one of them who focuses on mobile initiatives and got some really positive feedback including advising using the Chrome development tools to reverse engineer the API that is used by their website to add the extra functionality that I can't do with just their public API (I didn't want to do that without their permission first of all as obviously that API is designed for their website not external clients).
So from the positive feedback and the permission to continue developing and using their website API I continued on with the development but this brought me to the main hurdle which is one of the reasons why I feel like I can't continue and improve the app.
In order to use their public API, it authenticates using an API key and App key instead of using your accounts login credentials. However to use the undocumented website API, that has to be authenticated with the Datadog website login credentials. I got round this by implementing the login screen where it had a split view, one hakf where you could enter the API key and App key, and the other half where you could login to your Datadog account (screenshot below). The idea was you would login with your username/password through their website and you would be taken straight to your account settings. The app would store the session cookie so the app can make use of the undocumented web API and the user would copy the API key and App key for their account and paste into the releveant fields on the Info Take app so the app can make use of the public API. You could then login and the app could make use of both APIs. This was very cumbersome and caused some confusion as to why this was required from some users that I had but unfortunately there was no other way to perform the authentication, however continued on with the development.
I continued on with the development where you could view the dashboards that you had on your Datadog account and then import them to the Android app. The app, would then read the dashboard settings and create a view of each component and display it on the screen so it was clear and easy to see, and only requiring vertical scrolling, no horizontal scrolling. You then had the option to drag each view into a different location on the screen or modify some of the settings and also add and remove other views to the dashboard (only affecting the app version of the dashboard not what was on the website)
After most of the basic functionality was done (screenboards, timeboards, most of the different dashboard metric views) I provided a stand alone version of the app to Datadog to review and again got some positive feedback and suggestions for the app and all was going well including approval from their legal time, but just wanted me to confirm with them when I was ready to release it.
I implemented their suggestions and some of the requirements from a legal point of view (such as changing the name and making sure it was noted in the app that the app was by myself and support was by myself and that Datadog weren't responsible for the app).
Now that I implemented the changes and made improvements to the app I was ready to release (via the Play) so contacted Datadog to get final feedback and approval and that's where it unfortunately started going down hill.
I didn't get a response from my contact for a while, I didn't want get pushy or annoying so I waited a fair amount of time and then eventually contacted them again asking for an update.
I did get a response but from all of the interest and excitement that seemed to be portrayed at the beginning, it was a very, for lack of a better way of putting it, a basic response of providing approval. I let them know when it was live and unfortunately that was the last I heard from them.
That last response was in April 2019. Then in July 2020 I saw their announcement "Introducing the Datadog Mobile App".
Info Take wasn't really advertised apart from my own Twitter account and there was no help in marketing from Datadog so it was mostly just people coming across it in the play store, but at its peak it had around 220 active installs, not a huge amount by any means, but was relatively happy based on the limited marketing.
I'm not saying that Datadog stole the idea from me, there most likely wasn't enough time for that to happen as they introduced it in less than a year, however, what did annoy me was that they didn't say, or understandably if they couldn't tell me specifics, at least not give me permission to do the app as I don't really feel that I can compete with their own app as they obviously have access to the API to do what they want with and mine was limited from the outset from the reversed engineer private API and the public API requiring together that cumbersome login screen.
I'm personally not a fan of their official app, although I do have it installed, but the primary reason for creating my own one was to have a simplified screen layout without having to scroll horizontally and vertically like their mobile website which unfortunately their app still does this (I believe it just takes the layout of the dashboard from the website and displays the same dashboard layout on the mobile which of course doesn't fit on a mobile screen).
However, due to the limitations of what I can do with their API and the cumbersome login requirement which did cause some users some confusion I have taken the difficult decision to end of life my Info Take for Datadog Android app effective immediately. I will no longer be supporting it or making any improvements to the app, and it will very soon be unpublished from the Play Store.
If you used the app, or if you are still are then I apologise, while it is installed on your device it will continue to work however you might not be able to re-download from the play store once its unpublished if you get a new device or need to reset your device. However, if you want to keep it, drop me an email at [email protected] and I can look into sending you the APK file that you can sideload however, we can't guarantee it will continue to work forever, and of course any new features that Datadog introduce on their website will never be available in the app.
Before I finish up, again I want to emphasise I am in no way criticising Datadog, albeit I am disappointed with how it turned out, I continue to support and use Datadog services and this post is in now way to make Datadog look bad but I just wanted to explain how the project started and why I am deciding to not take it any further. I don't see this project as a waste of time either, it was a fun project and learnt a lot about how to do certain tasks in Android (such as dragging views).
If you used the app, or still do (there's around 90+ active installs at time of writing) thanks for your support and hope you continue to try out anything else that I might release in the future. You can check out my personal twitter at https://twitter.com/chrisboard_ or the business twitter https://twitter.com/BoardITSolution for updates on anything else I'm working on.