[josm-dev] Lean JOSM - one-language trimmed down builds of JOSM

Frederik Ramm frederik at remote.org
Sun Nov 1 04:00:25 GMT 2009


Hi,

    a while ago I complained about the .jar file having grown to 5.5 GB 
(meanwhile, over 6 GB), partly due to language support but also due to 
other kinds of feature creep.

Having recently had the pleasure (again) to download JOSM over a slow 
connection, I decided to do something about this myself, and have set up 
an alternative JOSM distribution I'm calling "Lean JOSM" for now.

Initially I'm just building a few one-language versions (a one-language 
version is about 3 GB in size, compared to 6 GB of the full jar file). I 
will start to make my own analysis of "usefulness vs. size" and drop 
some features that I consider unimportant - as a first start, I have 
disabled bzip2 reading and writing.

Lean JOSM does not have extra Java code - it is just a different way of 
packing things into a jar file (specifically, some "excludes" and 
"includes" in the build.xml). Where changes to the code are required to 
accomodate Lean JOSM, and as long as these don't interfere with normal 
JOSM operations, I hope to be able to make these changes in the standard 
JOSM code (as in http://josm.openstreetmap.de/changeset/2367 where I 
changed the ExtensionFileFilter so that it does not break when bzip2 is 
not available). I expect that some things I find while trying to slim 
down the jar file will be useful for standard JOSM as well (like 
pngcrushing all the image files which I just did).

The goal is to create a variant of JOSM that serves 80% of users well 
but uses significantly less space.

Lean JOSM can be downloaded from josm.geofabrik.de. Builds should be 
roughly in sync with the main JOSM site. There's no "-tested" yet but I 
plan to introduce that as well. If Lean JOSM works well and becomes 
popular then we can perhaps move it to the main JOSM site some time.

I'm not announcing this on talk yet, I'll just let it run for a while 
and see how it works. Let me know if you have any comments. If anyone 
wants a one-language build for their language, I can add that easily (at 
the moment I'm just doing en and de).

Bye
Frederik

PS: Is it possible to build a JOSM version that supports *only* language 
X and not English, or is support for English always built-in due to the 
way we do our I18N? Could I perhaps run a preprocessor to replace the 
built-in English texts by translations and then kill the whole I18N 
overhead?

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"




More information about the josm-dev mailing list