OpenStreetMap

State of the Go Map!!

Posted by bryceco on 3 October 2021 in English.

Go Map!! v3.0 was released today for iOS, and while superficially not much looks different, there are some big changes under the hood: All 38,000 lines of code are now written in Swift after a laborious conversion from it’s original Objective-C implementation. This make the code faster, easier to understand, easier to debug, and brings it in line with Apple’s direction for modern apps. It also greatly simplified a lot of refactoring to improve general readability of the code base. If you’re a developer this is a great time to get involved with the code.

Background

My involvement with OSM started in March 2012 and I wanted to be out surveying and mapping on my iPhone. I had downloaded the few iOS apps that existed at the time (remember iLOE and Pushpin?) and found them too limited. Although I had a strong Windows/C++ programming background I was new to iOS, Objective-C, OSM, and GIS. Nevertheless I began work on the first version of Go Map!! writing in Objective-C and learning about the OSM API along the way. (Apple did not introduce the Swift programming language until several years later, and it took an additional several years to become stable.)

I wasn’t really sure whether a new mobile editor was something of interest to the OSM community, but in October 2012 I drove down to Portland, OR for my first SOTM US, where RichardF (author of Potlatch, the OSM web editor at the time) delivered a talk titled (IIRC) “Let a thousand editors bloom” where he suggested that OSM should have a wide variety of editing tools, and the more the better. I’d been working on the app for only a couple months and his talk inspired me to continue.

Soon after that I began attending the OpenStreetMap Seattle meetup that Steve Coast was organizing at the time. While he was clear that he would never use a mobile editor himself he still encouraged my efforts and provided feedback on the user interface and other aspects of design. He especially disliked my terrible taste in app names, which went through several iterations before arriving at what it is today.

Go Map!! v1.0 was released on the iOS App Store on Jan 24, 2013. The range of features has increased on a slow and steady pace ever since, but due to the inertia of the code originating as Objective-C most improvements were added in the same language for consistency. Going forward all work will use Swift.

Bonus fun fact: Initially I wrote the app for Mac, then migrated it to iPhone. Although the original Mac app is gone you can still build and run Go Map!! on your desktop using Xcode and Mac Catalyst.

Thanks to everyone for your support, suggestions and contributions along the way.

Discussion

Comment from tordans on 4 October 2021 at 11:24

Thank you for a great and very easy to use app!

Comment from westnordost on 4 October 2021 at 11:51

So what was the intial name(s) for Go Map!! ?

Comment from bryceco on 4 October 2021 at 15:57

I used the names OSMiOS and Cosmic. They still appear as editors on my HDYC page.

Comment from westnordost on 4 October 2021 at 16:45

Actually, not that bad! :-) Cosmic has a certain ring to it.

The tendency of OSM developers to use OSM in the names of their app is strong I guess.

The internal/developer name for Vespucci is osmeditor4android. And the initial name for StreetComplete was osmagent (like, you are an agent that collects data for OSM).

Comment from Glassman on 4 October 2021 at 17:20

Bryce - thanks for all the work you done on GoMap!! over the years. Because of your app, I now own an iPad, just for mapping. By far, GoMap!! is the easiest to use of the mobile apps to use for mapping.

And thanks to your continued support for OpenStreetMap Seattle.

Clifford

Comment from Richard on 4 October 2021 at 19:19

Oh wow. Having it in Swift will make submitting patches so much more appealing. Very nice work!

Comment from bryceco on 4 October 2021 at 21:17

Tobias - I like OsmAgent as a name!

Comment from mmd on 5 October 2021 at 19:35

It’s hard to imagine that the code is even faster now. Editing Lake Huron, one of the larger relations around with about 13k members, worked flawlessly my tests. That’s pretty amazing.

Comment from habi on 10 October 2021 at 08:47

Thanks for providing this indispensable software!

Comment from John Stanworth on 10 October 2021 at 11:30

Being able to map on the go on my phone has been life changing for me. Thanks for all your work Bryce. I’m not a tech person but will converting it to Swift make it easier to create an Android version?

Comment from 4004 on 10 October 2021 at 22:17

Was always impressed by Go Map, even on older hardware (not always you see an fps counter in ios software), truly a great editor. Really great to see all the improvements made over the years (the first OCR implementation in an OSM editor?). Even if I knew swift/objc, not really sure what else can be added

Comment from saintam1 on 11 October 2021 at 21:16

Thanks a lot for all that work Bryce, GoMap!! is a great editor!

Log in to leave a comment