Globe 3D Map 2D Map |
The Money
Normally I'd approach this one of two ways:
- Do it myself. I absorb the cost of lots of features no one really wants to pay for.
- Wait until a big client needs it. Pretty likely, but could take a while.
This is just too big for the former. Remember, I give this stuff away. The latter will probably happen... eventually.
What if I could speed that up?
The Engineering
I've bid an Android port on several projects now and worked out the details. Here's how it would go.
The core rendering modules of WhirlyGlobe-Maply are largely C++. We would be
making heavy use of the NDK on Android to port the rendering engine.
The first step would be to move more of the rendering modules into pure C++ on iOS. This has the virtue of being easily testable with the current toolkit.
The next step would be a direct port of the rendering engine modules to the Android NDK. After that we would rewrite the threading and messaging logic in Java for Android as well as the various interface logic to go between Java and the rendering engine.
Lastly, we would rewrite the high level interface in Java. This would correspond to the Component level on iOS. These objects need to be native Java and function in ways Android developers expect, just as the Component on iOS is native Objective-C.
The first step would be to move more of the rendering modules into pure C++ on iOS. This has the virtue of being easily testable with the current toolkit.
The next step would be a direct port of the rendering engine modules to the Android NDK. After that we would rewrite the threading and messaging logic in Java for Android as well as the various interface logic to go between Java and the rendering engine.
Lastly, we would rewrite the high level interface in Java. This would correspond to the Component level on iOS. These objects need to be native Java and function in ways Android developers expect, just as the Component on iOS is native Objective-C.
The Appeal
A lot of companies are interested in an Android port of WhirlyGlobe-Maply. Some are using the globe, but most want to do custom map display on both platforms. Mine is probably the best open source toolkit for that and superior to a lot of the commercial solutions.
So, I'm talking to you guys here:
How much would you kick in for an Android port?
Drop me an email and let me know. If I hit a certain threshold, I'll come back to you for details.