Geomajas: Where did we go wrong?

Video thumbnail (Frame 0) Video thumbnail (Frame 655) Video thumbnail (Frame 1630) Video thumbnail (Frame 5461) Video thumbnail (Frame 7780) Video thumbnail (Frame 8497) Video thumbnail (Frame 14750) Video thumbnail (Frame 16149) Video thumbnail (Frame 16776) Video thumbnail (Frame 18433) Video thumbnail (Frame 19389) Video thumbnail (Frame 20791) Video thumbnail (Frame 21681) Video thumbnail (Frame 23877) Video thumbnail (Frame 25276) Video thumbnail (Frame 26737) Video thumbnail (Frame 28301) Video thumbnail (Frame 28781) Video thumbnail (Frame 30015) Video thumbnail (Frame 31211) Video thumbnail (Frame 33137) Video thumbnail (Frame 36191)
Video in TIB AV-Portal: Geomajas: Where did we go wrong?

Formal Metadata

Geomajas: Where did we go wrong?
Title of Series
Part Number
Number of Parts
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Geomajas is an open source geospatial web development framework that has been around for almost a decade. Despite lots of hard work from our community, until today we have not been able to turn Geomajas into the big success we initially planned. I have been around Geomajas from almost the beginning, as developer, architect and PSC member. During this talk I will shine a personal light on my hate love affair with Geomajas. I will be sharing my observations on some decisions that had a huge effect on the evolution of the framework and try to pass on my vision on how to learn from both our mistakes and successes. To conclude I will to reach out to fellow OSGeo projects, and share my view on how we, as the open source geospatial community, can help each other in becoming more successful open source projects.
Keywords Geomajas
Execution unit Information management Multi-agent system Lattice (order) Emulation
Slide rule 4 (number) Presentation of a group Computer animation Meeting/Interview Projective plane Open source Mereology Food energy
Slide rule Presentation of a group Server (computing) Group action Open source Set (mathematics) Web browser Food energy Web 2.0 Different (Kate Ryan album) Electronic visual display Representation (politics) Software framework Information security Computing platform World Wide Web Consortium Domain name Presentation of a group Server (computing) Software developer Projective plane Feedback Open source Java applet Client (computing) Cartesian coordinate system Process (computing) Computer animation Logic Computing platform Software framework Configuration space Quicksort Information security
Server (computing) Multiplication sign Mehrplatzsystem Projective plane Open source Java applet Client (computing) Cartesian coordinate system Event horizon Doppler-Effekt Computer animation Different (Kate Ryan album) Software framework Computing platform Software framework Information security Position operator Task (computing) World Wide Web Consortium
Greatest element Open source Code Line (geometry) Multiplication sign Programmable read-only memory Collaborationism Client (computing) Open set Generic programming Mereology Variance Geometry Web service Prototype Degree (graph theory) Different (Kate Ryan album) Touch typing Authorization Energy level Computing platform Mobile app Electric generator Projective plane Code Client (computing) Staff (military) Bit Line (geometry) Multilateration Cartesian coordinate system Evolute Product (business) Process (computing) Computer animation Self-organization Prototype
Axiom of choice Focus (optics) Freeware Open source Projective plane Open set Mereology Cartesian coordinate system Focus (optics) Web 2.0 Computer animation Software Personal digital assistant Software framework World Wide Web Consortium
Web portal Shift operator Group action Web portal Information Server (computing) Design by contract Client (computing) Web browser Client (computing) Surface of revolution Web browser Neuroinformatik Web 2.0 Web service Process (computing) Computer animation Time evolution Computer cluster Process (computing) Communications protocol Resultant Reverse engineering World Wide Web Consortium
Scripting language Multiplication sign GUI widget Projective plane Java applet Client (computing) Client (computing) Special unitary group Computer animation Term (mathematics) Software framework Cuboid 5 (number) Table (information) Library (computing) World Wide Web Consortium
Web page User interface State observer Scripting language Theory of relativity Multiplication sign GUI widget Java applet Client (computing) Web browser Emulation Attribute grammar Computer animation Software framework Table (information) Summierbarkeit World Wide Web Consortium
Point (geometry) Metropolitan area network INTEGRAL Multiplication sign GUI widget Java applet Client (computing) Total S.A. Branch (computer science) Web browser Plastikkarte Web browser Revision control Exterior algebra Computer animation Internetworking Software framework Software framework Abstraction Library (computing)
Programming language GUI widget Wrapper (data mining) Cycle (graph theory) GUI widget Projective plane Java applet Plastikkarte Client (computing) Client (computing) Plastikkarte Computer programming Medical imaging Computer animation Software framework Compilation album Library (computing)
Point (geometry) GUI widget Code Multiplication sign Combinational logic Set (mathematics) Insertion loss Client (computing) Revision control Web 2.0 Computer hardware Damping Cycle (graph theory) Software developer GUI widget Moment (mathematics) Projective plane Electronic mailing list Voltmeter Client (computing) Maxima and minima Cartesian coordinate system Arithmetic mean Computer animation Logic Compilation album Video game Cycle (graph theory) Table (information) Library (computing)
Point (geometry) Standard deviation Computer file Open source Software developer Software developer Projective plane Curve Curve Computer animation Googol Software framework Software framework
Axiom of choice Functional (mathematics) Information Software developer Software developer Moment (mathematics) Projective plane Client (computing) Client (computing) Open set Computer animation Personal digital assistant Function (mathematics) Time evolution World Wide Web Consortium
Area Slide rule Presentation of a group Server (computing) Open source Connectivity (graph theory) Software developer Projective plane Range (statistics) Insertion loss Open set Mereology Web 2.0 Spring (hydrology) Computer animation Integrated development environment Time evolution Duality (mathematics) Software framework Pressure Plug-in (computing) World Wide Web Consortium
Computer animation Oval
so thank you thank you all for coming
so I'm all from a I'm
part of the energy minus project steering committee and and I'm going to presented to the user some slides about stuff that I've encountered to laughter 10 years working on the you minus project so about me my hobbies procrastination but the invented we're presentation title and then 8 days 4th
conference this little guy gets more so story of my presentation this year is a little bit sloppy but I do have some slides and the so
anyway and like I've already said in the introduction and I'm going to talk about some experience uh that I had the last years working on the energy of minus project for the people and that going know what you might ask exactly it's uh it's an open source platform to create that I have having a lot of things about him from 1 yet for creating a Web GIS applications so it's not really an application by itself but more developments framework written in chop it contains a powerful server that allows you to read and aggregating various GIS and other sources and process them to be sent and presented in the browser is built-in security re-projection and all the sorts of processing possibilities and it it's is also possible to apply the domain logic a lot always the advantage of you are right before the group feedback again OK so and it contains a powerful server over the total that's uh it is possible to apply the domain logic to Europe differences the other layers settings configuration in on and representation in the web browser happens through web client display and you have adopted in the in the rest like assets and that's quite important it's framework it's not application and it's written in Java and and this is not here because they're all the
events it all right yet and so on it's a framework not much is written in Java and where as that you might ask position if we uh if we look at 2 squadrons and and defined to access where the horizontal axis is the amount of individual users that we use an application of belts or will use an application and vertically you say the amount of data layers that you want to visualize or process at 1 time typically task of applications such as fugitives or as does uh go all the whole way from layers to a lot of layers but this is typically a single user that is using 1 application and if you want to outreach your application to a lot of users to big the audience and it's limited to but to like 5 different Doppler layers typically this this is where I got to the beach and I want to correct myself it's a becomes or Google and my ass is more
located at the top trying to enable it to show a lot of the other layers to a lot of different users for example uh we have this external projects in Flanders which consists of more than 200 other layers of course they're not all displayed at the same time uh but that's 1 1 example so she minus
start out of and in 2006 when the Flemish Government I was looking for an open source generate rapturous applications in
2007 and 2008 the 1st prototype of this application was built in the 1st line of lines of code were written in 20 and we graduated thousand ways your project and international projects and applications began to begin to start so during the rest so for 2010 we continue worldwide exposure and the projects in in Australia Sweden and so on and and 1 of the major milestones what's in 2013 the bottom of the Gw to to clients which I'll come back to a little bit later and also a very important the last starting in 2015 and in this year we are also outreaching and talking together with all the open source GIS communities which is also what we want to do more and more in the future and was you is an ideal platform for so and today I'm I'm gonna touch a couple of subjects that during the time in the in this open source projects and had quite an impact only on the evolution of the projects the first one is funding of course without funding there is no open source project of there is no more projects so for the funding of you as we actually have to rely on 3 things the 1st 1 is a community and and an open source project legitimizes carried by a lot of volunteers who you do extra mile because it's open source because it's their projects and I've noticed that it's not always very easily to motivate people like you Arnold all also sets in the opening session the earlier today it's not easy to manage a community it's not like it it's a team of staff that you can save I want you when you don't your job that's open source it's quite difficult but uh I think events like like this we are a good way off of getting returned from the things you do in an open source project now the the 2nd thing is that's what we have to use part which is an organization or company that provides a commercial services to about due minus so they actually build revenue on top of generalized for example service level agreements or the dual licensing this revenues flow back into the gym minus project which is actually quite a huge part of the funding the authority is a by users our projects that use g on and they a fixed or improve things and we wanted to flow back into as the open source projects it's a bit in there are also part of the human community but the big difference is that the people who work on long projects they're actually paid to commit to the project now the
problem with this kind of thing is mostly focused projects or applications that use open source frameworks are focused on getting their application of open on learning and and and building their thing and and the the choice to use open source is mostly hey it's freelance that use that's so the main challenge is to convince these companies that by using open-source software they actually become part of open source and the open source projects and this eventually themselves will become better if they commit if they turn but it's very very difficult to to tell them to other companies the
another case that I want to discuss today is technology so now this has been the ashes he'll from and the Jeremiah's project for quite some by the reason for this is mostly because the Web evolves very very very fast you may say that it goes too fast
so In the last decades the Web has changed from a reverse contract 1st based thing to a collection of small services that simple and stupid brought roster stocked with services these services talk to each other throughout very basic HTTP protocol where groups REST services and so on also a lot of the processing to represent information through these from the web and has actually shifted from service which were portals in the years 2000 to browsers apps running on computers phones and you name it so this shift has also caused a revolution in the world of each HTML 5 is 1 of the important results so the land is really evolving very very fast so that to a gym I
as a the internal until today July assets 3 different let clients and each kind of obsolete things to the last 1 not really by design but more by limited features as long as there is something for for 1 of these clients we you can keep continue investing in declines with the when the funding runs out of it just so that it becomes obsolete so in
2006 at the
whole beginning of Jeremiah's projects this is also quite too early the ages of do well in terms of where we stand now and then the 4 of them maybe not the dominant in the back paul . 0 was around that time so we started looking at the available libraries that he could use for our clients don't you at that time was good candidate that provided a lot of features and which it's out of the box such as tool bars tables and you name it so based on this Dojo Toolkit you geomancers don't client was built this kind was focused on bringing desktop GIS to do that which was at that
time our minds set I kind of came back from observed today because they're still GIS is something that you should keep on of GIS and web interfaces should be as simple as possible more like like absolutely for very very simple and so it had a huge amount of and GIS related pages such as attributes each table and everything searching and so on so at that time
2006 using JavaScript total was what was just a JavaScript framework without any further abstraction uh proved to be a real struggle the reason for that was that branches at that time work as being compatible as can be you you would get everything correctly only 1 browser and then Microsoft pushed the node browser and it was all fucked up again and then companies wanted to stay up Internet Explorer 6 for some obscure reason so this was really not a good time to to be only in this JavaScript world also because we had a real tight integration with the API Dojo upgrading to new Georgia versions was was also a really getting being struggle really almost work with the more efforts in uh getting our libraries of 2 data that actually introducing new features so and we actually start at a certain version of the so not able to to update his dojo version also meant that look and feel uh became active really fast
so in 2010 we went looking for an alternative at that point there was
a big fuss about the Google Web Toolkit which forms an obstruction between JavaScript's and your program programming language which is for all to is just the only problem was we didn't have any any widgets in in Google Web Toolkit so to solve that we decided to use smart GWT project which is actually a wrapper around smart client which is also a JavaScript library like images so this dual last blind also like like that don't you client contains a high amount of GIS related and which it's and features comparable to the dojo clients so the fact that it's a
wrapper around smart appliances also
means that it's slow development we have to wait for smart clients to add additional features and then we had to wait for this logic of the projects release a new version and so on so we were missing 2 3 4 loss on the Volt development cycle of the web which was at that point going really really fast also the combination and development of this slots GWT application was quite slow and underlying it had compiled JavaScript code so once you pushes deeper again at a certain moment you hit compiled JavaScript and you're just completely lost so again some years
later in 2013 we actually started the GWT to clients and which is based on the Google Web Toolkit but we decided that we didn't want to bring extra widgets and feature lists tables and all that stuff because most of the time in many projects and when when applications implemented uh there right 2 things themselves or they can look for their own libraries so it's far more life than its predecessor also able to run on mobile hardware without any problem that was also very convenient at that time and so we built a minimum set of widgets developed from scratch and experiences and yet that I was so
you again we had some drawbacks all of a sudden Google decided to abandon the Google that Toolkit and they didn't really about that but what they did is let's put it on get of war with the wherever
and let's create let's let it be in an open source project on their own but of course funding was cut off because Google itself wasn't investing anymore another thing about GWT is that the developers that no duty scars and the learning curve is is quite deep at In the meantime with HTML 5 & brass beginning to behave to the standards and frameworks like GWT then were actually more complex than the underlying technology that they were trying to extract being an HTML file so that's actually the points where we we're today
then so where do you want to go from here with all this information and these 3 clients and an all the heavy heavyweight reconstruct the functionality of our clients more down and focus on a simple REST API because of also know from other projects in India JavaScript world that the that developers really like just to call it the eyes and and right all the rest themselves with its and technologies of their of their choices and so that's actually where we really going from the moment with client so
the I give to cases of of films that went about not so well in
the last years and what they really challenge is the sustainability of project we have a good project we have we are well organized the international maybe you want to have a broader use of range but yeah you can't do the whole about besides coming here and speaking about so this is actually the challenge that we that we have for the problem for the following years and it accounts for every open source projects we need to keep up with the evolution of of the web and also make sure that that we don't lose funding so that he could continue and I think that's always geo and and everybody that's here this this week part of the community that that is necessary to keep this an open source projects going and running so that concludes my presentation thank you for listening the and so on but so
you just have to look the pressure of the loss about a year and a half you experience to say or allowable Carol experience changing validating environment very bright higher so much for you of of all of our work yeah but the thing is if you know if you use an existing framework you win a lot on on a short time and as a matter of fact for a server component maybe spring and reuse hibernates and as we did dependent dual tools and don't works perfectly it's it's only this when think about the world just no so fast that it makes it very hard if you're if you started development for months you're already behind and almost impossible to capture well that's that's yeah that's what you had and somehow it got out of 1 slide but that's 1 of the things that we that we want to do not provide an API and and provides plugins for a leaflet and open areas so that they can communicate g minus and then we don't have to worry about it's about declined any more and more if you have resources suspect we can't even how bout of lives and and and the leaflets so yeah you questions