Coolcal is our attempt to test a new approach to Android development. We focused on Kotlin as it is a statically typed programming language for JVM, Android and browsers. The result is a showcase app which shows the current weather linked with your upcoming events. Read on to see how we did it.
The goal was to create something lightweight, funny, and beautiful - this was a learning process, not a commercial product. We wanted to become better developers so we intended to use the most popular and “fashionable” libraries, such as RxJava, Dagger 2, and Retrofit 2. We chose Kotlin as a programming language. It offers expressiveness and type safety, and, moreover, interoperability with existing Java code. Kotlin is a JetBrains product and it has excellent tooling support in an Android Studio environment. As a result, we created Coolcal. Coolcal is a showcase app with a two-fold usage: it shows the current weather conditions and links them with the user’s upcoming events.
There was a lot of internal discussion as to whether Kotlin is a viable alternative to Java. The dependency library contains ~7k methods, building time takes longer than a Java app, the Kotlin plugin in Android Studio crashes at random, a lack of static analysis tools... On the other hand it’s a modern language which tries (and succeeds!) to make the development process easier: lambda functions, inline functions, data classes, null safety, reducing java boilerplate code and much more. Beyond Kotlin we wanted to use the RxJava library, published on the Google Play project. Thanks to RxJava, we were able to forget callbacks and hellish global state management. Together with Kotlin features like lambdas, it was pleasure to use this library.
Coolcal is open-source Android app that shows off our skills (which was the main idea behind its creation). It was a playground to learn new technologies and become better Android developers. We collected our observations and thoughts during the development process. We also devoted a lot of time to content creation. We spent long days browsing through English idioms and reading up on cultural curiosities to come up with funny and interesting text. We had two big goals in mind - to have some fun while developing but, primarily, to make users smile while checking their calendar.
So here it is - our newest app is already uploaded to the Google Play store. The repo is open-source on GitHub. Feel free to download and smile and let us know what you think in the comments below. All feedback will be greatly appreciated!
Kotlin key facts
- Reduced boilerplate.
- Kotlin can be used for production apps.
App key facts
- 9 different weather conditions, day/night, pressure low/high.
- 7 temperature ranges.
- 252 weather comments.
- 3 team members.
- 129 commits to the dev branch.