Gone Mobile

110: Tales from the Crypt

June 14th, 2024

The conversation covers various mobile app development pitfalls and best practices, including the use of assembly scanning, loading large JSON files, and the misuse of dependency injection. The hosts share their experiences and insights on these topics, highlighting common mistakes and potential solutions. The conversation covers topics related to app performance, dependency injection, service management, constructor logic, and the impact of changes from Xamarin Forms to Maui. It delves into the challenges of resolving services, the use of async calls in constructors, and the importance of separating concerns in service management. The discussion emphasizes the need for thoughtful design and the avoidance of unnecessary complexity. In this conversation, Allan and Jon discuss the challenges and misconceptions surrounding observable collections in app development. They explore the performance implications, misuse, and alternative solutions, as well as the complexities of source generators and incremental generators. The conversation also touches on the importance of learning from mistakes and the potential for Roslyn analyzers in XAML. The episode concludes with a discussion about a new plugin package and listener feedback.


  • Mobile app development often involves common pitfalls and best practices that developers should be aware of.
  • Assembly scanning and loading large JSON files can impact app performance and should be approached with caution.
  • Misuse of dependency injection, such as making pages singleton for faster loading, can lead to unexpected issues and should be carefully considered.
  • Source generators can be a valuable tool for optimizing app performance and reducing unnecessary code.
  • Understanding the implications of various development practices is crucial for creating efficient and reliable mobile applications. App performance can be impacted by the management of services and the logic within constructors.
  • Separating concerns in service management is crucial for maintaining code quality and performance.
  • The transition from Xamarin Forms to Maui introduces changes that can affect app performance and behavior.
  • Avoiding unnecessary complexity and thoughtful design are key principles for effective service management and app performance optimization. Observable collections can lead to performance issues and are often misused in app development.
  • Source generators and incremental generators present complexities and challenges in app development.
  • Learning from mistakes is an important part of growth and improvement in software development.
  • Listener feedback and engagement are valuable for shaping future podcast episodes and content.


  • Hosts: Jon Dick, Allan Ritchie
  • Audio Engineer: Jim Heath


  • 00:00 Introduction and Nostalgic Reflections
  • 02:50 Common Pitfalls in Mobile App Development
  • 24:22 Dependency Injection Best Practices
  • 42:27 The Impact of Xamarin Forms to Maui Transition
  • 48:53 Constructor Logic and Service Resolution Challenges
  • 51:29 Challenges of Observable Collections in App Development
  • 54:14 Learning from Mistakes in Software Development
  • 01:05:30 Engaging with Listener Feedback

Episode Comments