Hello, my name is Darko Smoljo, I live in Zagreb (Croatia) and I’m an Android developer since 2014.

I work for Wastelogics, a UK based software company which provides full set of software services for waste management. My job is to develop native Android based solutions which integrates with web based ecosystem.

My usual tasks include:

  • listening to our clients for their needs and requirements
  • providing solutions for problems
  • developing solutions
  • testing solutions
  • bug fixing
  • writing documentation
  • maintaining older android applications

I’m always on a lookout for new Android technologies, and lately I’ve been focusing on architectural patterns like MVVM and MVI enveloped in Clean architecture, coupled with powerful RxJava, Dagger DI library and fast ORM solutions like ObjectBox or Room. All this technologies allow me to quickly respond to required changes, and create testable software. Since 2018 I’ve switched to a new official programming language for Android – Kotlin.

Some of the libraries I use every day and have experience with:

While I can’t say I’m much of a designer, I often read and try to follow Android UI guidelines and I always suggest going for the most Android look and feel design when developing new app. The Material design looks awesome (even on older devices) and should be used as much as possible.

I also have experience with some less common features like USB and Bluetooth connection. I have developed a couple of applications based around this features which are used by 500 people in field every day without issues. Currently I’m designing and developing an Arduino based standalone RFID reader which will connect via BT into one of our applications to even further integrate other systems with our own.

Some other features I have created in our apps are:

  • integration with external navigation
  • build in custom camera
  • offline mode (data synchronises only when possible)
  • push notifications

We use Git for sharing code and Google Play Store for sharing our apps with the clients but the later one comes with cost for security. In two of our applications regularly updated on GPS, I have implemented a series of security measures for making a hackers life hard. Basic stuff include usage of Proguard in release build and hiding important api points into NDK files, but more robust security is implemented into our web api. A series of private and public dynamically created keys are shared in between mobile apps and web api’s in order to authenticate each call. I would usually opt in for a good OAuth2 security but the nature of our business does not allow that so I’ve tried to implement the best custom solution possible on the same basis.

Other than Android, as stated above, I have worked on web technologies like PHP and quite a while ago I used Phyton for web, specifically Pyramid framework which I would be happy to use again.

Since 2014, I was also an iOS developer for 2 different companies, and I’ve also created a video game for iOS as my master’s degree. But I wouldn’t say I’m very well versed in that technology as I’d like to be. Hopefully one day I’ll get a chance to work on some new iOS projects.

I have also tried a bunch of all-in-one multi-platform solutions like Ionic and PhoneGap, and I could see a need for such technologies aimed for different type of clients and/or customers.