Coolcal - Android Development Made Easy And Fun

Photo of Przemek Dąbrowski

Przemek Dąbrowski

Updated Sep 13, 2023 • 4 min read

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.

Problem

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.

Process

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.

snow-271484-edited.png

Solution

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.

Result

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.
Photo of Przemek Dąbrowski

More posts by this author

Przemek Dąbrowski

Przemek is in love with mobile technology, it’s amazing how smartphones changed the world. His...

We're Netguru

At Netguru we specialize in designing, building, shipping and scaling beautiful, usable products with blazing-fast efficiency.

Let's talk business