Implemented a significant portion of the YouTube Gaming Android app
• Focused on memory management and performance optimizations
• Contributed several reusable libraries to the overall YouTube code base
• Worked on initial project setup and build configuration
Developed several large features for the Google+ Android app:
• Communities - Implemented full feature for initial launch in 6 weeks (UI, database, network operations, notifications, and analytics)
• Photos - Implemented album view, photo selection, and background sync. Refactored auto backup code and migrated to new backend API.
• Locations (Latitude replacement) - Rewrote completely to use Google Maps API v2 and added several features including a clustering algorithm to merge overlapping markers.
• Plus Page delegation - Added ability for users to sign in as a Plus Page (business account), which required a redesign of the sign in process and special handling throughout the app
Created reusable components for Android app development across Google:
• Background Task Service - a library for running tasks on background threads that avoids the pitfalls of AsyncTask by storing results until the calling fragment or activity is resumed.
• RPC library for Google APIs - handles common RPC tasks like authentication, retries, response parsing, logging, and request batching. It also allows easy configuration for debug and production environments.
• Poke - a commandline debug tool that allows arbitrary actions to be taken on debug app builds. Actions are discoverable using a bash tab completion script that queries the device.
• Partitioned Database Manager - SQLiteOpenHelper that allows libraries to handle creation and version management for their own sets of tables (partitions) in a shared app database.
• Local Media - a simple API for interacting with local media on Android devices