New FreshBooks for Android

Expense Edit

My latest work involves my role as Android Technical Lead for The New FreshBooks for Android. This involved developing features from scratch with a new focus on Google Material Design.

FreshBooks is accounting software that makes running your small business easy by spending less time on accounting and more time doing the work you love.

As lead developer, my primary focus of this work was to create the product with 100% behavioural unit test coverage while focusing on top-notch interaction design by adhering to Google Material Design framework. This included – creating a layered paper system, ensuring all feedback interaction was in the form of ripple effects and animating layers in a coherent way within the Material Design system.

On the development side, all of the features built here leveraged the MVP architecture. In this architecture, all of our Views (Fragments) are stateless objects that are driven by the Presenter. Encapsulating all state in these presenters as Plain Old Java Objects (POJO™ allowed us to take advantage of lightning quick unit tests. Additionally, all of our live data was sync'd via Loaders and a SyncAdapter so that when a user makes a change on the website, it is reflected in the app in real time. Neat huh? 

All of the work presented here is the current state of the FreshBooks for Android application running on Android 7.1.2 on Google Pixel.