Hello, my name is Darko Smoljo 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
- maintaining older android applications
I’m always on a lookout for new Android technologies, and lately I’ve been focusing architectural patterns like MVVM and MVI enveloped in Clean architecture, coupled with powerful RxJava, sharp 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 fully 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 400 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 assist our clients workers.
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 if I ever get a chance to.
I have also tried and not liked a bunch of all-in-one multi-platform solutions like Ionic and PhoneGap, although I could see a need for such technologies aimed for different type of clients and/or customers.