Friday, November 10, 2006

The Learning Curve In OpenJUMP Development

Sometimes I feel as though I fall far short of the qualifications necessary to be one of the administrators at the JUMP Pilot Project. (Even though all I really do is try to answer questions on the mailing list. Then again, I probably ask as many questions as I answer.)

One reason that I sometimes feel under-qualified is my lack of knowledge about Java programming. I never ceased to be amazed at the ease with which other developers can interpret a piece of OpenJUMP's source code that has me stumped, or how they can point out a solution to a small programming problem that I've totally overlooked. Fellows like Larry, Ole, Ugo, Uwe and Stefan make it appear much easier than it really is, at least for me.

There is good news though. I think I am finally getting past the steepest part of the OpenJUMP development learning curve. I believe this is for two reasons.

[1] I decided to concentrate on making improvements to OpenJUMP, instead of starting from scratch with OpenJUMP-Ex. This has proven to be a great decision so far, because I have had the opportunity to discover some of the great design that went into OpenJUMP. This includes things that I never would have thought of on my own. Its taught me a lot about program design in general.

[2] I decided to take a detailed look at the source code for the CursorTools in OpenJUMP, instead of just implementing my Coordinate Selection CursorTools. This has given me the chance to learn all types of things about OpenJUMP, not just about CursorTools. This includes OpenJUMP's snapping mechanism and parts of its rendering system.

I find that the more I learn about OpenJUMP's source code, the easier it is to learn more. (I guess that's why they call it a curve.) :] This gives me hope about my future developing OpenJUMP, and about the future of the program itself. It also makes me realize that any user can become a OpenJUMP developer. You don't need to be a professional programmer to become involved. You simple get curious, and then start poking around.

I'm very grateful to all the other OpenJUMP developers that help me along. (The guys at Vivid Solutions and uDig belong in this group as well.)

I am getting very excited at what I will be able to accomplish for OpenJUMP as I conquer the learning curve, and I can't wait to get my first SurveyOS CAD Tools into the hands of the OpenJUMP users.

The Sunburned Surveyor