[josm-dev] Refactoring of the JOSM architecture vs. Plugins
David Earl
david at frankieandshadow.com
Tue Aug 19 10:01:33 BST 2008
On 19/08/2008 09:09, Frederik Ramm wrote:
> JOSM is currently designed in such a simple fashion that I can honestly
> ask someone who is only a C++ or Ruby or whatever programmer to
> implement features.
Coming into it from nothing, I have to say that I was able to add
several new features, including the substantial threaded audio mapping
application, with minimal learning. I knew only a little Java, but am an
experienced programmer.
Of course, I can't say what my experience would have been had it been
structured differently.
We do have to bear in mind that Frederick isn't the original author, so
he inherited what is there now too.
> The reason I don't work with JOSM-NG myself, and the reason I came to
> JOSM in the first place, is that I am result oriented. I don't care for
> Java. I want the editor to be usable to the mappers, and I want to
> concentrate the little time I have on working on new *features* that
> make life easier for mappers, instead of a cleaner architecture (even if
> this possibly helps new features in the future - the whole of OSM is a
> "low hanging fruit" project, we don't usually do things that will help
> us the day after tomorrow, we do things that help us now).
I found this tension at work as well, and I think it is there across the
software industry. The tension between the "pragmatists" and the
"perfectionists". Pragmatists risk digging themselves into holes over a
long term because a product becomes unmaintainable, but perfectionists
risk never getting a product to market at all in any reasonable time
(and in the commercial world, reasonable is usually "yesterday" and
dictated by sales and marketing, not technical).
I'm generally on the pragmatic wing, so I have a lot of sympathy for
Frederick's position.
But in the end, it depends what effort and commitment people are
prepared to put in to make something they see as desirable happen, not
just talking about it. It sounds like there is a basis for doing this in
JOSM-NG, though I've not looked at it so can't really say.
David
More information about the josm-dev
mailing list