Share Gone Mobile
Share to email
Share to Facebook
Share to X
By Jonathan Dick, Allan Ritchie
4.9
99 ratings
The podcast currently has 120 episodes available.
The conversation revolves around the challenges and complexities of implementing in-app purchases in mobile apps, specifically focusing on the iOS and Android platforms. The hosts discuss the history of in-app purchases, the revenue cut taken by app stores, the introduction of subscriptions, and the implementation details and testing process involved. They also touch on the limitations and changes in the APIs provided by Apple and Google, as well as the importance of proper testing to ensure a smooth user experience. The conversation discusses the challenges and frustrations of dealing with payment processors, specifically in the context of mobile app development. The hosts express their dissatisfaction with the complexity and lack of flexibility in existing payment systems, such as Apple's StoreKit and Google's Play Billing. They highlight the difficulties of implementing and maintaining payment functionality, including handling subscriptions, refunds, and different transaction states. The hosts also mention RevenueCat as a potential solution that abstracts away the complexities of payment processing and provides a more streamlined experience for developers. The conversation revolves around the challenges and frustrations of implementing in-app purchases in mobile apps. The hosts discuss their personal experiences with app stores, subscription management, and revenue cat. They also touch on the complexities of handling transactions, storing subscription data, and the limitations of the current in-app purchase systems.
YouTube: https://youtu.be/cI0vf--ZQqY
Links:
In this episode, Jon and Allan discuss various topics, including office renovations, phone migrations, and the use of mediator patterns in app development. They explore the concept of vertical slicing in architecture and the benefits of using a mediator to route messages. Allan shares his experience with mediator patterns in server architecture and highlights the need for a mediator pattern in app development. They also touch on the scalability of mediator patterns and the potential challenges of using them in certain scenarios. The conversation explores the concept of using a mediator pattern to handle services in an app. The mediator pattern allows for loose coupling and easier unit testing. It also simplifies the management of common services and reduces the need for multiple service injections. The conversation also touches on the use of events and requests with responses in the mediator pattern. The implementation of the mediator pattern in the context of a Maui app is discussed, including handling events and requests, offline mode, caching, and resiliency. In this conversation, Jon and Allan discuss the benefits and use cases of using MediatR in mobile app development. They explore the concept of middleware and how it can be used to handle various aspects of app functionality. They also discuss the challenges of finding and managing dependencies in a loosely coupled architecture. Allan introduces his MediatR library and explains how it simplifies the implementation of Mediator patterns in mobile apps. They also touch on topics like offline caching, resiliency, and event handling.
Links:
The conversation revolves around the topic of connectivity in remote areas and the use of offline apps. The hosts discuss their experiences with limited connectivity while traveling and camping. They also touch on the evolution of GPS technology and the challenges of offline mapping. The conversation highlights the importance of offline functionality in apps and the limitations of current map providers. The conversation covers various topics related to maps, offline capabilities, and communication technologies. The main themes include different map providers, the challenges of offline maps, the use of Bluetooth Low Energy (BLE) for communication, and the limitations of current location technologies. The conversation covers various topics related to offline functionality and Bluetooth technology. Allan discusses the importance of designing apps to work offline and the challenges that can arise when there is no internet connection. He also highlights the capabilities of Bluetooth 5 for data transfer and suggests using Bluetooth for offline communication when the internet is unavailable. The conversation touches on the concept of pause and resume for larger file transfers and the use of range requests in HTTP for resuming interrupted uploads. The hosts also share personal anecdotes about their experiences with slow internet connections and the use of download managers in the past.
Links:
In this conversation, Jon and Allan discuss the upcoming features in .NET 9 and Maui. They talk about the challenges faced during the development of Maui and the improvements made in the tooling. They also discuss the new C# language features, including collection expressions and the system threading lock type. They touch on the concept of workloads and the introduction of workload version sets to improve the stability and repeatability of builds. They also mention the new title bar customization feature in Maui. In this conversation, Jon and Allan discuss several topics related to .NET MAUI. They cover the customization of the title bar, the new disconnect handlers feature, the embedding of Maui code into native apps, the upcoming CollectionView handler 2, and the potential switch to using unpackaged templates for Windows. They also mention the importance of having an escape hatch when using external libraries and the benefits of the dev loop on Windows. They conclude by encouraging listeners to leave five-star reviews and recommending the Warp tool for Mac users.
Links:
In this conversation, Jon and Allan discuss their love for coffee and the potential for an AI-powered coffee machine. They also delve into the topic of AI and its applications, particularly in image recognition and document intelligence. Allan shares his experience with training models for forms recognition and credit card scanning, highlighting the benefits of AI in automating data extraction. They also touch on the challenges of image resolution and the potential for on-device AI models. The conversation covers topics such as on-device barcode scanning, Azure Vision, Firebase ML, multilingual apps, and the use of AI in documentation and issue management on GitHub. In this conversation, Allan and Jon discuss their experiences with source generators and AI. They talk about the challenges and benefits of using source generators in their projects and how AI can be applied in various domains. They also mention the importance of understanding the limitations and potential liabilities of AI systems. Additionally, they mention new barcode scanning packages for Maui and reflect on their past experiences with native packages.
Links:
In this episode, Jon and Allan discuss various topics related to backend development. They start by joking about Canadian stereotypes and accents. Then, they dive into the world of backend development using ASP.NET Core and API controllers. They talk about the changes in API controllers and the use of IActionResult. They also discuss the benefits of using OpenAPI and generating contracts from it. They mention tools like Kyoto and Refit/Refitter for generating contracts and API clients. The conversation ends with a humorous remark about the possibility of a future tool called 'Refitist.' The conversation covers topics such as Refit, resiliency, GraphQL, OData, and Mediator pattern. Refit is discussed as a tool to generate code for API consumption. Resiliency is mentioned as a client-side concern, and the use of Polly for retrying failed requests is debated. GraphQL and OData are compared in terms of their usefulness and complexity. The Mediator pattern is introduced as a way to structure code and facilitate future scalability. Real-time communication with SignalR is briefly mentioned. The conversation covers topics such as real-time data streaming, the use of Docker for development and deployment, and experiences with different SQL databases. The hosts discuss the pros and cons of real-time data streaming and the various methods available. They also explore the use of Docker for local development and deployment, highlighting its benefits in creating consistent environments. The conversation then shifts to experiences with different SQL databases, including Oracle, MySQL, and SQL Server. They discuss the challenges and advantages of each database and the importance of proper database design and optimization. In this final part of the conversation, Allan and Jon discuss their experiences with different backend technologies, including Postgres SQL and backend-as-a-service platforms like Firebase and Apprite. They also touch on the challenges of managing costs and scalability in cloud services. The episode concludes with a mention of the Packages of the Week segment and a reminder for listeners to leave a five-star review.
Links:
The conversation revolves around the topic of drawn controls in mobile app development. The hosts discuss the pros and cons of using drawn controls versus native controls, as well as the challenges and considerations involved. They explore the idea of a hybrid approach, where some controls are drawn while others remain native. The conversation touches on topics such as scrolling, text entry, and performance implications. Overall, the hosts emphasize the importance of choosing the right approach based on the specific requirements and goals of the app. The conversation explores the challenges and considerations of drawing controls in cross-platform development. It discusses the options of using Skia or native APIs for rendering text and achieving platform-specific looks. The availability of drawing controls in MAUI is highlighted, along with the ability to choose between native drawing surfaces and SkiaSharp. The conversation also touches on the accessibility and sizing implications of drawing controls, as well as the potential benefits of easier unit testing and scalability. In this conversation, Allan and Jon discuss the challenges and considerations of using cross-platform code for drawing controls. They explore the value proposition of using libraries like Syncfusion and the trade-offs of using SkiaSharp for drawing controls. They also touch on the benefits of creating custom layouts and the potential of libraries like AlohaKit and DrawnUI for building visually appealing UIs.
Links:
In this conversation, Jon and Allan discuss various tools they use for development. They talk about their preferred operating systems, monitors, and IDEs. They also mention specific tools like Insomnia for API testing and DevTools for debugging. The conversation is light-hearted and includes some banter about Canadian jokes and hockey. In this part of the conversation, Jon and Allan discuss various tools they use, including antivirus software, DevToys, Setapp, file managers, Docker, Cosmos DB, and coffee brewing equipment. In this conversation, Allan and Jon discuss various soft tools and libraries that they use in their development projects. They cover topics such as coffee-making methods, microphones and audio equipment, standing desks, and .NET libraries like MVVM Toolkit, .NET Orleans, and MediatorR. They also mention the Shiny Templates, a collection of templates for Xamarin and Maui apps. Overall, they provide insights into the tools and libraries they find useful in their development workflows.
Links:
In this episode, Jon and Allan discuss logging and configuration in mobile app development. They talk about their personal experiences with configuration and logging, including using environment variables, embedded resources, and external libraries like Sentry. They also touch on the performance implications of logging and the potential for source generation to improve configuration handling. Overall, they emphasize the importance of considering the specific needs of the app and the trade-offs between convenience and performance. In this conversation, Allan and Jon discuss logging and error handling in mobile app development. They mention the importance of having good logging tools and the drawbacks of using outdated tools like App Center. They also talk about the benefits of using a local logging system for debugging purposes. The conversation concludes with a discussion on the proper use of try-catch blocks and the importance of handling exceptions at the right level.
Links:
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.
Links:
The podcast currently has 120 episodes available.
376 Listeners
236 Listeners
18 Listeners
7,692 Listeners
126 Listeners
90 Listeners
84,715 Listeners
3,327 Listeners
33 Listeners
7 Listeners
60 Listeners
476 Listeners