Dusting Off the Old Windows Phone Dreams
Sometimes the best ideas come full circle. Years ago, during the Windows Phone era (remember those beautiful Live Tiles?), I had an idea for a geology-focused mobile application. Life, technology shifts, and the inevitable demise of Windows Phone put that dream on the back burner. But here we are in 2025, and with .NET MAUI offering true cross-platform development, it’s time to resurrect that old concept.
Why .NET MAUI? Why Now?
The mobile development landscape has evolved dramatically since my Windows Phone days. Today’s developers have multiple paths to cross-platform development - React Native, Flutter, Xamarin.Forms, and now .NET MAUI. What drew me back to the Microsoft ecosystem was the promise of true native performance with shared business logic, and frankly, the chance to dust off my C# and XAML skills.
As someone who’s been primarily focused on web development with Astro and various other technologies recently, diving back into mobile development feels both nostalgic and refreshing. There’s something satisfying about creating apps that users can carry in their pockets.
The Geology Connection
The original concept was born from my fascination with geology, fossils and the idea that field geologists needed better digital tools. While there are geological apps available, I wanted to create something that combined:
- Field Data Collection: GPS-enabled rock sample logging
- Mineral Identification: Visual guides and decision trees
- Geological Mapping: Offline-capable mapping with geological overlays
- Educational Content: Interactive learning modules for geology students
The app isn’t just about professional use - it’s also about making geology accessible to hobbyists, students, and anyone curious about the ground beneath their feet. Whats there now and what was there millions of years ago.
The Development Reality Check
Starting this project has been an immediate reality check about the current state of mobile development, particularly around iOS development. While .NET MAUI promises “write once, run everywhere,” the reality is more nuanced:
The Apple Ecosystem Hurdles
If you’re coming from web development or Windows-focused development, preparing for iOS deployment is… well, it’s quite the journey:
- Apple Developer Account: $99/year just to get started with device testing and App Store deployment
- Mac Requirement: You absolutely need a Mac for iOS development and deployment
- Provisioning Profiles: The certificate and provisioning profile dance is real
- App Store Guidelines: Apple’s review process and guidelines are extensive
Coming from the relatively straightforward world of web deployment, this feels like a significant barrier to entry. It’s not insurmountable, but it definitely adds complexity and cost to what might otherwise be a simple cross-platform project.
The Learning Curve
My C# and XAML skills are definitely rusty. While the core concepts remain the same, .NET MAUI introduces new patterns, controls, and ways of thinking about UI development. Some observations so far:
- MVVM is Still King: The Model-View-ViewModel pattern remains central to MAUI development
- Hot Reload: The development experience has improved significantly with hot reload capabilities
- Platform-Specific Code: While you can share most code, platform-specific implementations are sometimes necessary
Pair Programming with AI
This project represents my second major “pair coding with AI” endeavor (the first being my NHS Trawler project). The experience has been fascinating: AI can handle a lot of the boilerplate and repetitive tasks, but it still requires human oversight for architecture decisions, user experience considerations, and domain-specific knowledge. [15/09/2025 - I’ve been using GPT-5 and Claude for this project, and it’s been a bit of a learning curve in terms of productivity, definitely sometimes think why do I bother, its good at the logic code bit but not so much at the higher level design especially UX - for example white text on a white background, clearly it needs some kind of visualization pipeline. It’s still early days for AI pair programming, but I do think it has a future.]
What AI Does Well
- Boilerplate Generation: Setting up MVVM patterns, dependency injection, and basic project structure
- XAML Layout Assistance: Helping with complex UI layouts and styling
- Platform-Specific Solutions: Providing iOS and Android specific implementations when needed
- Best Practices: Suggesting modern .NET MAUI patterns and approaches
Where Human Insight Remains Crucial
- Architecture Decisions: High-level app structure and data flow design
- User Experience: Understanding the actual workflow of field geologists, and steering the UI/UX accordingly
- Problem Domain Knowledge: Geology-specific requirements and terminology
- Testing Strategy: Knowing what edge cases matter in real-world geological applications
Current Progress and Challenges
What’s Working
- Basic project structure is in place with proper MVVM architecture
- SQLite database integration for offline data storage
- GPS integration for location-based sample logging
- Basic UI wireframes for the main modules
Current Roadblocks
- iOS development environment setup (working on accessing a Mac)
- Offline mapping implementation (evaluating different mapping libraries)
- Complex geological data structures (mineral classification hierarchies)
The Road Ahead
This project is more than just a coding exercise - it’s a journey back to mobile development after years away, a chance to refresh foundational skills, and an opportunity to create something genuinely useful for anyone interested in geology.
- Complete MVP: Basic sample logging with GPS coordinates
- iOS Development Setup: Get the Apple development pipeline working
- Offline Capabilities: Implement robust offline data storage and sync
- Testing Framework: Set up proper unit and integration testing
Future Aspirations - definitely aspirational
- Community Features: Allow geologists to share findings and collaborate
- Machine Learning: Image recognition for mineral identification
- AR Integration: Augmented reality features for field visualization
- Educational Platform: Interactive learning modules for geology students
Lessons Learned (So Far)
- Platform Complexity is Real: Cross-platform development still requires platform-specific knowledge
- Tooling Has Improved: The development experience is much better than the Xamarin.Forms days
- AI Partnership Works: The combination of AI assistance and domain knowledge is powerful
- Patience is Essential: Mobile development moves slower than web development
Following Along
I’ll be documenting this journey through regular blog updates and maintaining a detailed project page. If you’re interested in .NET MAUI development, geology, or just enjoy following along with someone else’s coding adventures, stay tuned.
The intersection of technology and science has always fascinated me, and this project sits right at that crossroads. Whether it ends up being used by professional geologists or becomes a learning tool for students, the journey itself is proving invaluable.
Related: Check out the detailed project documentation for technical specifics, code samples, and architecture decisions.
Next up: Getting that iOS development environment properly configured and diving deeper into offline mapping solutions. The real fun is just beginning!