StreetComplete on iOS is now in public beta
The popular OpenStreetMap contribution app, StreetComplete, has launched its iOS public beta, exciting a community eager to simplify map data editing. This release showcases the power of Kotlin Multiplatform and Compose Multiplatform, offering a deep dive into modern cross-platform development strategies. It highlights the potential for open-source projects to expand their reach while maintaining a unified codebase.
The Lowdown
StreetComplete, a well-regarded Android application that simplifies contributions to OpenStreetMap, has officially entered public beta for iOS. Known for its user-friendly interface that transforms complex OSM data editing into simple, on-site 'quests,' this expansion promises to bring its unique approach to a wider audience.
The development team outlined their strategy for bringing StreetComplete to iOS:
- The entire app is written in Kotlin, a language similar to Swift, allowing for efficient transpilation.
- They are leveraging Kotlin Multiplatform to share core application logic across platforms.
- UI is being migrated incrementally to Compose Multiplatform (currently in beta for iOS), an extension of Jetpack Compose, aiming to minimize platform-specific code.
- This approach ensures a single codebase for easier maintenance, contrasting with alternatives like Flutter, which would require a full rewrite in Dart.
- The migration involves separating platform-specific code, replacing Android/Java dependencies with Kotlin Multiplatform equivalents, and then progressively moving UI from Android XML layouts to Jetpack Compose, and finally to Compose Multiplatform.
The project is currently about 50% complete, a testament to significant development efforts and community contributions. The team actively solicits further contributions via their project board and encourages sponsorship to accelerate development.
This iOS beta is a significant step, potentially bringing StreetComplete's accessible model for OpenStreetMap contributions to many new users, demonstrating the viability of advanced multiplatform frameworks for open-source projects.
The Gossip
Mapping Magnificence & Accessibility Acclaim
Commenters laud StreetComplete for dramatically lowering the barrier to entry for OpenStreetMap contributions. Many express how the app makes it easy for anyone, regardless of technical mapping knowledge, to improve OSM data through simple questions and quests. Users shared positive experiences, noting that they contributed more in minutes than they had in years, and appreciated the app's ability to simplify complex data editing.
Platform Pathways & Multiplatform Musings
The technical decision to use Kotlin Multiplatform and Compose Multiplatform for the iOS port generated interest. While some expressed curiosity about KMP experiences, others shared positive anecdotes about its implementation. This theme also saw comparisons to alternative multiplatform solutions like Flutter and discussions on the general challenges and advantages of cross-platform development.
OpenStreetMap Observations & Comparisons
A significant portion of the discussion revolved around OpenStreetMap itself, clarifying its role as a database rather than a direct Google Maps replacement. Users recommended other OSM-based navigation apps and debated the merits of StreetComplete versus rival OSM contribution app, EveryDoor, with some preferring EveryDoor's focus on commercial establishments.
Beta Blips & Helpful Hand-offs
Users pointed out practical details and minor issues with the beta. One helpful commenter provided the direct TestFlight link, while another noted a bug where forms couldn't be canceled. There was also discussion on how to view past contributions on the OSM website.