[Mapbender_dev] just ranting

Christoph Baudson christoph at baudson.de
Wed Jul 7 17:41:41 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Karim, hi list,

Karim Malhas wrote:
> Dear List,
> 
> I am getting frustrated: evertime I want to implement a teeny
> bit of functionality I end up needing/wanting to rewrite the whole
> thing because "every" function is written with one exact use case in
> mind and can't be generally used. The code is also littered with
> annoyances
> 
> ( my current example:
> 
>   map_obj.getExtent() returns a string of coordinates (just a
>   comma seperated list without) 
>   
>   map_obj.getExtentInfo() OTOH returns  an Extent object
>  
>   Why would they be named that way?
> ).
> 
> 
> Then there's what I mentioned at the devsprint (too many "object"-types
> that have blurry definitions, too many different callback/events
> types).
> 
> 
> Everytime the I encounter something like that, the alternatives are
> "rewrite" and "code around it" It usually ends up being "code around it" 
> which is, of course, a terrible idea because the next time someone 
> encounters _my_ code it will be even worse and so it builds up.
> 
> But even if I chose "rewrite", what are the standards I'd be rewriting
> by, I could make something up on the spot but our general direction is
> fuzzy (or I haven't grokked it).

Thinking there is a general direction in such a small project is a
misconception. We are very much dependent on individuals at this stage.
And any individual can have a huge impact on the project! The direction
now (code-wise) is more or less the result of my struggle with the
existing code. Of course it's flawed, but it's much better than it had been.

Believe it or not, things have been much worse in the past. Now we are
at least using libraries, we have coding standards, and the code is at
least object-based, we are having regular coding sprints, the mailing
list is busy, etc etc. The wheels are in motion.

Remember that Mapbender has not been designed by computer scientists.
When it was first released, no one was doing anything like Mapbender.
And today, still no one does. It may not be easy to code for, but the
software works, and is in wide use. A lot of projects have come and gone
in the past years, but Mapbender has always been there.

I can understand your concerns, but with Mapbender we have the chance to
work for an established, well-used project with a unique and inspiring
concept, which is imho way cooler than starting from scratch. And with
you on board, we have enough skilled developers who are capable of
taking over the code and improving it all we want. So let's talk about
what we should improve, I'm open to all of your suggestions.

Before you came to the project, I was ranting just like you do now, but
that didn't help either, so my advice is save your energy for something
better :-) We need to be both consequent and patient.

> Spolsky say one should never do it [1] - but I am looking for someone to
> lock myself in with for a day to try and distill what it is
> that Mapbender does and then design a proper API on which a rewrite
> could happen - any volunteers?

Count me in. I would love to work on this.

> The iterative approach we are using now to improve the code is not getting 
> anywhere nearly fast enough for me to retain any kind of enthusiasm and 
> - at times - sanity.

Enthusiasm is a very delicate flower which is easily crushed. Let us
know how we can nourish your enthusiasm. And I wouldn't go as far as
talking about sanity, no piece of code is ever worth that.

> 
> 
> On a related concept: I am unclear on the status of "Mapbender 3" 
> It's a branch with little activity and no documentation, I am assuming I
> missed a discussion somwehere, so If someone could fill me in that'd be
> rad.

It's more or less a branch which follows these concepts
- - there are no static pages, everything is an application (like login,
application list, etc)
- - there are public users and default applications
- - all files not requested via HTTP have been removed from the http folder

It hasn't been merged recently with trunk, and I doubt we will. Maybe we
should consider the current branch just an experiment, from which we can
learn. I think the concepts are good, but should be executed more
consequently. Maybe the time has not been right then.

Anyway I'm open to all suggestions, keep them coming. At least my
enthusiasm for the project has grown over the past year... :-)

Christoph

> 
> 
> Regards,
> Karim
> 
> [1] http://www.joelonsoftware.com/articles/fog0000000069.html
> 
> _______________________________________________
> Mapbender_dev mailing list
> Mapbender_dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapbender_dev
> 
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkw09I4ACgkQGtMIfbycMX53jwCeOdiWDhPABQQU/uIdmSC2qPyX
x+IAn3xeHAXxjEMODK9lJw21mAdAF7Qs
=HgaB
-----END PGP SIGNATURE-----


More information about the Mapbender_dev mailing list