If you started your Android development around the time instrumentation tests were the only tests supported out of the box, you probably remember how tedious it was to test drive an app. In fact, writing tests, whether before or after the implementation was written, was so complicated and frustrating that some of us chose to avoid them entirely.
Well times have changed and what we now have at our disposal is enough to not only write a reasonable amount of tests but also to develop our apps and libraries driven by tests. In this article I’ll share how I do TDD in Android. I won’t dive deep into the concept of TDD, I’ll simply explain the approach I use and how it has greatly improved my development. I’ll approach this with a concrete example.
If you’ve kept yourself up to date with the latest in Retrofit you’ve soon came to the question “Should I or shouldn’t I update to Retrofit 2?”. At Babbel we’ve already answered the question, we updated our new Android app to use Retrofit 2.
Although still in a beta stage, Retrofit 2 already offers a lot. However, there are some crucial changes. Perhaps one of the changes
that affected us the most was the removal of RetrofitError. There are more than one reason why this class was removed,
but we weren’t ready to give up on it so fast. As an intermediate step we needed to port its behavior to Retrofit 2 while using
The new Retrofit design helps you define call adapters that can help you customize how you handle errors in your calls.
Twice a year we break out of our everyday routine and meet somewhere in Berlin to form ad hoc teams working on our own project ideas and hacks. Some of them eventually become actual Babbel projects.
As the Babbel family is growing pretty fast lately – and so is the list of the Hackday attendants – the venue research can get really hard; this time we had an exciting option, though…our future office!
A completely empty 5–storey building close to Alexanderplatz just for us and during the Halloween weekend. Creepy!? Scary!? Exciting!
We took over its big empty open space and we brought tables, chairs, sofas, bin bags, lights, super Wifi, coffee, snacks, Club Mates, beers…and last but not least, 110 Babbel – Hackers; 110 people from Product, Engineering, Data Analytics, Marketing, Customer Support, Design, Didactics, Internal Communication worked from 10 am to 19.30 pm on 26 different projects.
In September 2015, we started taking the Rails upgrade of our monolith seriously. We were running Rails 3.2 up to that point, and with Rails 5 on its way, we ran into the risk of using an unmaintained version of the web framework. This was not an option. Hence, the upgrade to a current Rails 4 version was inevitable.
Various data storages have seen increased growth over the last few years. There are now so many of them that it becomes overwhelming to choose the right tool for the job. Among all of the Big Data ready replacements for traditional relational databases (think Cassandra or HBase), there are also a few tools that try to solve a slightly different problem: to provide a centralized log of data, that is both writable by multiple producers and easily readable by multiple consumers.