FreshBooks helps small business by spending less time on accounting and more time doing the work that matters most.
This work was to develop the app strictly using components provided by Material Design while only designing custom components when necessary. We were hired to focus on the app's front end to ensure smooth animations and polish while also building in 100% behavioural unit test coverage.
creating a layered paper system
ensuring details such as feedback interaction through ripple feedback
circular reveal animations and
animating layers in a coherent way within Google's design framework
On the development side, all of the features built here leveraged the MVP architecture.
In MVP, all Views are stateless objects that are driven by a Presenter. Encapsulating interaction state in presenters (POJOs) allowed us to not only test new features and validate existing behaviors but doing so without having the need to install the app on device or boot an emulator. Additionally, all of our live data was synced via Loaders paired with a SyncAdapter so that when a user makes a change on the website — it was then reflected in the app in real time without reloading any Android activities.