kau.sh
Writing Letters About Search /
RSS · Contact

    Podcast, Conference Talks & Videos

    • Fragmented episode list (my podcast)

    Youtube ##

    • My Youtube channel
    • Edit multiple text files - learn awk
    • Silicon Valley Senior Android Engineer - Interview with CodingWithMitch

    #2019

    Architecting Android and iOS app features for 2020

    Inspired by some well known architecture patterns like MVVM/MVI, I set out to come up with an agnostic set of principles that would help developers build features in their app in a robust, safe and (importantly) “testable” way. At Instacart, we’ve started to use these principles to build features on both iOS and Android.

    In this talk, we’ll examine these principles, discuss the merits (+ disadvantages!) and see how these can be implemented with precise code examples. Having implemented this pattern for sometime now at Instacart, I’ll also share some of our learnings along the way for both platforms.

    #2018

    Unidirectional State Flow patterns – a refactoring story

    Learn how to go to your existing old mobile app and refactor it into one with a powerful architecture.

    Gave the presentation at MBLT Dev 2018


    Slides ##

    Supercharging your workflow with App Center and Azure

    Discover how to break down the barrier between your hopes for a mobile CI/CD system and what’s available today using the powerful Azure toolset and App Center API’s. Go from an idea to a multi-platform React Native app powered by CI/CD in just a few steps. We’ll continue from there to learn how Logic Apps and Azure Functions helped power Instacart’s mobile development workflow from commit to a release to the store.

    #2017

    Rx by example – Volume 3 (the multicast edition)

    The Android development community today has embraced Rx(Java) in all it’s glory. But as developer’s understanding of RxJava has matured, they’ve started to peel back the layers and unleash its true power and potential.

    One such power is “Multicasting” where you get to share work across your app and reuse a whole bunch of stuff. This is really hard to do in general but Rx makes it really really easy.

    #2016

    What I learnt using the Presenter pattern

    We recently did an overhaul for Instacart’s shopper app and committed to using a presenter pattern for this. It turned out awesome! Presenters are not a new concept. They’ve been around since the dawn of software engineering time. But the devil is in the implementation details. If you have an Activity, RecyclerView, Adapter etc. at how many levels would you have the presenter? How does the use of presenters enabled super fast testing? How does the use of presenters enable constantly changing user requirements? We’ll discuss all the juicy war stories in this session

    Learning Rx by Example (Part 2)

    This is a revised version of a talk I first gave in 2015.


    Slides ##

    #2015

    Painless UI Testing

    What if you could get your UI tests to run as fast as your unit tests?

    • you would write more tests
    • you would feel happy writing the tests
    • your managers would be pleased with you not goofing around with that new testing framework around the corner

    Using patterns of yore (like Martin Fowler’s supervising controller, effective use of presenters and view model state) we’re going to tackle everyday-real-annoying impediments to UI testing. We’ll address what parts of the UI need testing and effective ways of testing them.

    Learning Rx by Example (Part 1)

    So RxJava is this new kid on the block. But what can you the Android developer really use it for today? We’ll look at everyday use cases and solve them with RxJava.

    Remember that first day when you tasted Nutella? RxJava is Nutella for Android… everything is awesome with RxJava.


    Slides ##

    • blog
    • letter

    Subscribe

    Follow me via email, RSS, twitter or other places.

    © 2026 Kaushik Gopal