Bright Inventions

Logging with Retrofit 2

Retrofit has been updated to 2.0 version. It’s a major change in the one of the most popular library for Android platform.</br> A lot of things have been changed out there but in this blog post I want to cover how to setup logging properly.

3 tips for iOS Calabash beginners

Have you ever felt that your app needs UI tests? Are you tired of checking behaviours of your application again and again? Consider using Calabash!

Desymbolicate crash reports from the command line

I was struggling again with desymbolicating of iOS app crash logs and thought that it would be nice to have a handy script that is a bit easier to use than the multi step process I had been using thus far. There’s no rocket science in it, just a simple script named desym that seems to work for me and probably will require more than one adjustment to work in general.

Data transfer between Apple Watch and iPhone

Today’s post will cover basic data transfer between your iPhone app and Apple Watch app. Let’s assume that you have already created an Apple Watch extension in your project and you want to transfer some data to your watch. As an example, we will be sending Event object to our watch, so let’s have a look at Event class!

Simplistic JavaScript dependency injection with ES6 destructuring

Recently I got a bit tired with Angular's quirks and intricacies. To freshen up, I'm playing with framework-less JavaScript (Vanilla JS). I'm also getting more and more used to ES6 features. One of the outcomes by now is the idea for the Dependency Injection approach that stays simplistic, decoupled from any framework and still convenient to consume.

iOS: The simplest star rating control ever

Recently I needed to show the simple rating control in one of our iOS apps - the typical row of stars, few leftmost highlighted, the more highlighted, the better the rating is. My first thoughts were wandering around star images one after another, the hell with positioning with frames or multitude of Auto Layout constraints. Nah. I ended up with something much easier and elegant.


Lately I’ve spent some time wrtiting an app for myself. It is supposed to let you create tasks, mark them as done/undone and then track your progress. I’ve called it “Habit Tracker” and it is available here. While writing this utility I came across a few interesting issues and this blogpost will cover one of them.

Android Data Binding Part 2: Observer pattern to the bone

In the previous part I’ve described typical problems we have to face when developing applications on Android. I’ve also highlighted that some of them may be mitigated when data binding API is utilized properly. It’s time to dive into more details of how this promising API works.