Microsoft Anand Nath May 25, 2021

Scaling Mobile Development at Microsoft: Mental Model

Article Summary

Microsoft's mobile teams were drowning in duplicate code. Every app rebuilt the same file picker, calendar, and sharing experiences from scratch.

Anand Nath from Microsoft Teams Mobile shares how they architected a reusable component system across Microsoft's mobile app portfolio. The solution tackles size bloat, monitoring blindspots, and integration chaos when sharing UI components between apps.

Key Takeaways

Critical Insight

Microsoft created a three layer architecture (ApiService, IHvc contracts, Orchestrator) that lets apps share high value components while maintaining control over size, performance, and monitoring.

The article hints at default implementations for priority networking and crash tracking that could transform how Microsoft builds new mobile apps entirely.

About This Article

Problem

Microsoft's High Value Controls were built separately from each other, which led to duplicate dependencies like Volley and Retrofit. This made APK files larger than necessary and let teams bypass policies around networking, logging, and storage.

Solution

Anand Nath's team built a three-part system. First, they created a common ApiService layer with standardized interfaces. Second, they defined an IHvc contract so all components initialize the same way. Third, they added an Orchestrator to route service calls, capture telemetry, and enforce policies.

Impact

The HVCs became easier to unit test because services could be mocked. Apps automatically tracked resource use and crash rates without extra instrumentation work. New components integrated faster because teams could follow standard contracts instead of building custom integrations for each HVC.