How Simplicity Will Save GIS

Video in TIB AV-Portal: How Simplicity Will Save GIS

Formal Metadata

How Simplicity Will Save GIS
Title of Series
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
Open Source Geospatial Foundation (OSGeo)
Production Year
Production Place
Portland, Oregon, United States of America

Content Metadata

Subject Area
It's 2014 — we have consumer robots and electric cars, private spacecraft, planet colonization projects, and the Higgs Boson is confirmed, but GIS software is still a mess. You might be able to make sense of it all if you're a GIS specialist with an academic background, but other creative individuals — designers, developers, tinkerers of all kinds, each with a vision and desire to create meaningful and beautiful maps and visualizations — are constantly losing battles against bloat, clutter, and complexity.How do we reverse this GIS entropy? What does it take to turn complex technology into something that anyone can use and contribute to? An attempt to answer by the creator of Leaflet, a simple JS library that changed the world of online maps forever. 
Keywords Leaflet GIS Javascript
Revision control Word Presentation of a group Mobile app Texture mapping Mapping Open source Lecture/Conference Software developer Program slicing Statement (computer science) Library (computing)
Computer animation Volume (thermodynamics) Power (physics)
Point (geometry) Texture mapping Computer animation Lecture/Conference Meeting/Interview Cuboid Price index Computer-assisted translation
Mapping Position operator
Medical imaging Mapping Tesselation Musical ensemble
Boss Corporation Data management Service (economics) Texture mapping Open source Mapping Meeting/Interview Wrapper (data mining) Modal logic Video game Damping
Web page Code Line (geometry)
Texture mapping Software Archaeological field survey
Exterior algebra Copyright infringement Meeting/Interview
Boss Corporation Word Open source Lecture/Conference Meeting/Interview Multiplication sign Damping
Revision control Building Computer animation Meeting/Interview Lecture/Conference Damping Marginal distribution Library (computing)
Revision control Web 2.0 Data management Word Texture mapping Mapping Multiplication sign Damping
Point (geometry) Data management Texture mapping Complex system Water vapor
Computer animation Open source Web browser Metropolitan area network Library (computing)
Computer animation Mapping
Standard deviation Implementation Texture mapping Mapping Computer file Military base Surface Decision theory Projective plane Range (statistics) Mathematical analysis Client (computing) Cartesian coordinate system Process (computing) Computer animation Different (Kate Ryan album) Personal digital assistant Communications protocol Task (computing)
Texture mapping Process (computing) Vapor barrier Computer animation Code Software developer Right angle Line (geometry) Cartesian coordinate system Resultant Element (mathematics)
Type theory Computer animation Divisor Lecture/Conference Expert system Electronic program guide Bit Exception handling
Sign (mathematics) Building Process (computing)
Default (computer science) Pairwise comparison Code Forcing (mathematics) Projective plane Configuration space Cuboid Complex system Quicksort Line (geometry)
Computer animation Lecture/Conference Concentric State of matter Complex system Mereology
Enterprise architecture Service (economics) Process (computing) Decision theory Planning Energy level
Word Texture mapping Computer animation Debugger Insertion loss
Focus (optics) Potenz <Mathematik> Algorithm Mapping Cartesian coordinate system Event horizon Code Computational complexity theory Prototype Visualization (computer graphics) Meeting/Interview Cuboid Right angle Digital Equipment Corporation
Standard deviation Personal digital assistant Monster group
Scaling (geometry) Lecture/Conference Personal digital assistant Chemical equation Complex system Food energy Scalability Library (computing)
Point (geometry) Implementation Process (computing) Computer animation Code Network topology Multiplication sign Combinational logic Insertion loss Line (geometry) Hypothesis
Point (geometry) Purchasing Implementation Building Overhead (computing) Open source Code Multiplication sign Number Product (business) Web 2.0 Triangulation (psychology) Mathematics Different (Kate Ryan album) Algorithm Scaling (geometry) Mapping Projective plane Maxima and minima Computational complexity theory Computer animation Vector space Friction Personal digital assistant Complex system Writing Library (computing)
Twin prime Meeting/Interview Arithmetic progression
Public domain
Web page Point (geometry) Code View (database) Multiplication sign Density of states Similarity (geometry) Insertion loss Web browser Parameter (computer programming) Event horizon Formal language Revision control Different (Kate Ryan album) Internetworking Computer programming Cuboid Software framework Error message Metropolitan area network Physical system Condition number Electric generator Software developer Forcing (mathematics) Bit Cartesian coordinate system Limit (category theory) Ruby on Rails Computational complexity theory Web-Designer Query language Network topology Configuration space Website Right angle Complex system Writing Library (computing)
Euler angles Consistency Fitness function Sound effect Bit Shape (magazine) Regular graph Wave packet Bit rate Natural number Computer programming Analogy Video game Complex system
Vector potential
Arithmetic mean Lecture/Conference Personal digital assistant Multiplication sign Bit
a lot of money and I now want to talk to you about simplicity injects so I'm bored at NAB nabobs to and also creates a thing called 2 leaflets and uh talking about simplicity like this is the biggest will ever talked in and say where prepare for the talk i was really really were void
and sigh thought that there's no way I could to prepare talk would be an hour long and it would talk about like abstract philosophical questions and not for the audience to death and so on but I had a miraculous revelation a couple days ago I discovered that the Apple Keynote presentation tool in the latest version just gets the Phoenicians words so I made sure to uh put a lot of this so that if even if you're not listening all you can do that at at least injured slice so their simplicity the 1st I feel that I need to make statements about jazz is heart it's really really hot all out and not the insurer would yes means but it's it's really hard and supercomputing and so I have especially for people that never studied yes and just happened to work with maps he and I know what I'm talking about because I spent almost 7 years creating map obligations and so our mapping libraries and I'll secreted a library called leaflets adjusted library for interactive maps that's used by thousands of developers worldwide to create Map Apps and is by far the most used open-source map library ever created uh and is used by the world's
most powerful online brands and so given all that's huge experience I have I'm still completely clueless about
yeah so um where I I
hear about so I Holdings abbreviations and public stirrings and see the sheer volume of technology that's associated with GIS like I freak out because like had show you how I feel 1 typical plus the top it's
and here
is like this and so on another
1 indications that's my company map box it intentionally advertises itself as not GAS company so as not to scare people away so it's
it will it's kind of insulting but that's not the box problem right so on clueless about various
but is exactly the reason why leaf was succeeded wide became such a popular tool and so uh there's I feel that there is no absolutely no way I could create such a successful tool if I study GIS beforehand answer to explain that and 2 point generally I explain you demodulation the cat behind this topic i want to talk about simplicity I want to give a story like that I talked about but the latest story on last year's was the and now would have a bigger audience and styles so feel the need to to run a quick recap so but the sounds animated GIFs so it's more interesting so it was April 2008 I
started working for a company called quot made that position to solve a start out based on OpenStreetMap data boating business around OpenStreetMap I was
really young being careless and uh I thought that
while maps it's so easy and so far on this is gonna be great at how how hard it is the answer
like I was very optimistic uh and uh I felt like maps
so what that's about it's it's probably some image tiles molds right after some research that it's into maps and so that's something which tells of emotions and there is some bands zoom happening the males and that's pretty easy to do and I was pretty good at John that like that and I only started getting maps and maybe you want to put some stuff on it on top of white marker of pop up so like a
hot a hot this be super easy so it is
easy and my company tells me to make a just PPI for the mapping services I say 0 I was building an API from scratch while it's easy it will be possible will be some smooth and fast and lightweight and my boss said no
so I was sold by by
management that we don't have to reinvent the wheel that its super risky and life but we can we can get into that situation later before starting from scratch and so there's no reason to do this because know there's a major festivals open-source solution already existing and Baghdad Baghdad the the only open source solution for maps was OpenLayers um and um they set let's modal wrapper against the existing solutions so I started to look into the solution gives away I was close but that's and I started looking into
open wares and so on I discovered
that invest more than 100 thousand lines of code are hundreds of features and megabytes of just pretend we're talking about 2008 there like a with Ajax was just becoming the buzzword thousands of megabytes of just before the page would like killed performance completely and so on so I freaked
out like it was such a
great mismatch between between like what I assumed to be like
mapping business and so what's the
treaty what's in the Jess
community so the a survey looking to
building a robber again so where's but it's
kind of like this so we didn't really feel like that it it was a radio really really fusion really really
complicated and confusing piece of software and making a robber against it's just like didn't make sense to me out
so I self thinking with well maybe if there is only 1 solution and it's really a fusion holders maybe we should make an alternative
so like I I went to some that was some chance that I think the piracy and I said that hey guys why did you wanna think about making simple like waiting years 10 and I was there expect that's like there's no way do that's like from
scratch myself and so I
think that's a worthless idea and so
I I got a share of disapprove meant like this that the what spend time and this was wasting time
instead of contributing to existing open source also projects like words and so so the communities that me that's
where the and my boss said that I should that the wheel and so the world I got desperate was then thought
like weights if different tells me like that so I will fail hot and we strongly believe In the idea then I should
do this anyway so I started building from scratch but I didn't tell anyone
it so it was quite yet really
a great when and there was a deadline in a couple weeks when I had to present my 1st version of the API for my company and so I think I build unawares couple days but it's still have had a huge margin to working on stuff that that I wanted to and a builds library from scratch and couple
this work a couple weeks later by when the time comes in I presented the 1st version of what the where known as Web maps like it's probably
P maps and so when my management solely API like not not knowing that it was written from scratch they
were really really surprised because they never ever saw a map that was working so that and smooth and then I had to me that it's not the final words wrapper high like at a still wrote a thing from scratch in even when you told me not be and how I was not the sorry
about that's because I prove my point and so then should management agrees that we should go with ah custom solution because it will be a competition of advantage over map elaborate that's passed and light so in a way
but the thing that would later become leaflet was born as a protest against pulled water and complexity and so 3 years later
it was open source I've managed to convince my company that we needed to open this because it was really hard to keep up with the browser advancements and it was really hard to maintain a library myself and there was a need for a for for such a library and a lot of people wanted to contribute but they couldn't because was proprietary make them so I now
leaflets is the most popular about the library ever is use just everywhere
everywhere where you where you see a man that's
not the labs like 9 I presented the
the so there are lots of amazing maps on
was amazing websites and
I yeah but I want to talk
about like why did it actually succeed and when this far like how it's how do we resolve our fast
why everyone's wish to the but and it all comes down to simplicity
and to explain how it actually happened but I want you to
imagine that thought process of an aspiring map aptly creators say you may close your eyes and just try to remember how you were thinking when you 1st that get got tasks to create maps so maybe like for most of you it was very much like this I want to
learn GIS reading Wilson academic papers and articles about geospatial data on that projections recite acknowledges that bases different geospatial standards and protocols and their implementations available range of surface certain client suffer perform analysis my data and use cases verbally involving other giant specialists and do a lot of other research so that I can make a sensible decisions about the required to notice that and adjusted to the needs of my application filing make maybe in 4 years of course it's not how it works they also is
motion how it actually works is all map
right now element of freedom that right now line item 1 line of code and deal with it later in life and learn later on that right yet so get the
technology out of my way the so I must say that application development is a creative process so this is not true in analytical like if the song tells you that it's not true yet should have to be created to create amazing sulfur and technology like the main purpose of technologies to bridge the gap between creative thinking and the end result that not be a barrier between the 2 and so I'm sure a lot of you watched the the the most
popular at that don't ever given this cold so how schools Gil creativity by Dr. Ken Robinson uh he said I believe this sentiently that we don't rolled into creating would grow out in fact we get an educated about it so and there is a lot more research into like a moral psychology and human behavior that's a conclusion that's actually there is no divide between 2 types of people that are the creative types and the purely analytical types so actually all people without exceptions are born create but are education they're like as we grow we also quite a bit of this creativity and so there is also another our guide it's a big expert in education uh that said you must
unlearn what you have learned so people actually want to create explored to
experiment and learn along the way not before so the problem with traditional education that spent so many years learning things before we even get a chance to understand how to apply our knowledge and on the
contrary creative learning works like that's you you build something something really really simple like the 1st step build something and you were from the experience and after you were from the experience you can build something more aware from this and build more and it's a never ending process of creation and learning and that's how people really are designed to work so and so in Alberta and staying so that the true sign of intelligence is not knowledge is imagination so to enable this kind of creates search and to enable this kind of super-fast based learning with any tool it has to be that simple to get started has to be that simple to understand and that simple to use there also a principle called
convention over configuration that's what little illustrates this well this is a principle that say that they don't force me to think about unimportant things on until I'm ready to address so make sensible defaults don't think we need think about stuff until I I really needed so that I can create a map like with it with 1 line of code and not care about its some projections or other stuff until I want to so so that's so many of our sort for a really easy to get started with so
complexity is fills your mind it's that can on a good comparison to to think about it is it feels around and it started so often you you just all ants and in the narrative victory dance you know you you while your brain is filled with air with complexity you can think about ourselves and so the box so
and so often do when you get mad with complexity like you get desperate and you can soulful part problems than available invested
so and simplicity on the other hand it
frees your mind eat and which is your creativity and wearing potential and it makes you a state of a relaxed concentration where you can create an experience experiments explored so
simplicity enables you to do more
with less and now at this always concerning like individual approach to learning and choosing technology but so let's look at how all that kind of what level how companies do this how companies is have what's their decision process at using technology or for example looking to add that to the service through perhaps that looks like this for some companies like so let's hard jostling firms and do some research for us and choose the right acknowledges that can then help us set out and consult our developers so that they could get more with it enables a bicycle enterprise support plan and for most
companies and it doesn't work this way so how actually works and I experienced it in a lot of loss of companies including when the the biggest and most successful tech companies and it's words like this a
friend I make a map back so and then we're what we see the same problems that the solvent we choose acknowledging individually and try to use so yeah front end I starts to
explore existing tools and maybe start
to use the 1 that's what most simple and they agreed some prototypes that
kind of works and that only then they
like Warren along the way and start looking into this
further so my experience is
the most successful that companies have what I call the Tinker culture so it's a culture of never-ending experimentation and playing and being creative and it's like feeling the freedom to do everything you want so yeah it's it's like this in the box it's like this and get out so when people are creative and they're when they're productive when they're happy as a consequence of the simplicity they make amazing applications and so when people make a lot of amazing applications using some technology that's reasonable like the like making lots of beautiful maps and data visualizations that it leads to community growth with exponential community move and DEC exposure that's how leaflets gets popular and simplicity is attracts a vibrant community so um the and simplicity means focus on the essential what this means is that the codes right it's much higher quality because you know you don't things on unimportant things and events they start said simplicity is from prerequisite for reliability and is gaining a lot of stuff about algorithms and complex knowledge so
and there's a monster that's I feel that you all should learn though shall not try to call all the use cases so let's look at how usually standards I'm sure it's this happens like
this in old UCT and so we have 14 standards and some people appear all we we need to make 1 universal standard that cost all these cases and now after that there are feeding the competing standards so when you're faced with a situation like this you have to work to say no and
maybe I have served or or maybe when
someone might your friends no no
no tries to cover all the use cases that maybe you should do like
this I that and so
I was so that a and basic charts so our on the wide scale there is the need for a feature is like how how many people actually use this and on the horizontal scale is complexity of solution so for example are like on the left-hand side there are lots of features that are really essential and lots of people use them but as as you add more pictures they become less and less needed and so a lot of uh Jess over and like generally a lot of technology that's considered supercomplex be tried to cover all the use cases and it looks like this like we spent so many energy I'm trying to do everything for everyone while having diminishing returns so and the act of simplifying technology means that trying to have to find the balance between how 4 features are needed in this like how many of how much effort is spent implementing the so I also simplicity means user profiling unless X and this leads to much better performance and I experienced this again and again so I have a hobby of of making a really small little simple libraries that sold some 1 problem like for
example I roads are in our treaty implementation Johnston that's insanely fast it's many many times faster than any other are tree implementations and jobs were and I was able to achieve that because it was building this this simplicity minds and always intentionally trying to simplify to make to read write as as as less code as possible and it was so easy to profile that are in an optimized gradually that it grew when the since his 1st release it became like 4 times 10 times faster because was easy when you have a really huge library with the loss of this and this thesis that it's really hard to do this kind of thing so another thing that I created a simplified
yes that's a really simple 100 lines of code in the implementation of John trees of cation using a combination of Douglas Becker and some other algorithms and that this is insanely fast it's 74 thousand points are processed in less than 1 millisecond from the and like Corel was able to do this because it was very simple approach I also just recently a
couple weeks ago I was fast at all to to write triangulation implementation because I was not satisfied with the performance of existing solutions then so might I deliberately chose choose the an algorithm that relatively simple it takes like 4 times the last skilled to implement and then algorithms that were usually implemented this and it was it it it becomes the face the fastest library quadrangulation and uh what's fun about this is that I like I found an algorithm that was considered really fast because it has had a very nice asymptotical complexity so don't scale very well with like millions of points was not growing too fast um but I was still not satisfied with performance no and I decided to just like just for fun try to implement an algorithm that's considered to be much much slower like uh uh this don't produce sovereign was near newly aware complexity and the 1 that I decided to amend your slicing was so like i squared and complexity and so it turned out that for a small number of purchases with followed doesn't really simple this simple algorithm that's too like 20 times less skilled than my previous attempts he performed 10 times faster and so like how how how how does it happen and I was really surprised that stands I realize that like complexity has overhead and uh you really need to look at your domain and see if this complexity is justified in this case like most of the data that they need to drink triangulate was a was really simple it's overseas that buildings for example that I'm talking about Mabel's geology as that the announced recently that the vector maps and Web jails hands a wide number and that's considered too much solar was actually many many times faster because it was really simple and I could optimize its elected to the maximum so al so really really important point
is that simplicity makes it people less hesitant countries goes I'm sure a lot of you tried to contribute different open source projects and many times you were kind of afraid to make a change to to some product because he thought well is such a complex technologies is the code is so smart I think and I and my skills are not nearly as good as those of the creators of of this library or product and so you just didn't come to me because if i that it it's like not get the centered on it with horror and so like with with complex products is always you always faced with situations like this but you should try to make your product as simple as possible not only concerning like API and you why but also the code itself how it's written like simplified the approaches not for tried not to use like really smart and clever ways to code but it's like use the most straightforward and simple ways possible and always try to simplify and simplified simplified it actually makes a big difference to go because people's actually start to contribute to the don't feel this friction and this fear of rejection and that's how the foot got like 2 hundreds of contributors and in a couple years and simplicity makes it much
easier to concentrate meant and that I know what went on think as like a specific goal for me uh it's much easier to concentrate when there's war going
on in a country and so it's it's much easier to concentrate when your father of twin girls and yeah
that's mine so also
simplification is how the technological progress happens so we see how how it works so if you have a hard
problem whole your domain that you're working in is really hard and knowing what you are trying to do is to simplify and simplified and simplified and when you simplify managed to reduce what your problem domain to something simpler more manageable and a simplified simplified simplified until it becomes a simple problem and when something that was harder for becomes a simple problem you can finally move onto a father of problem and that's how they think of a broader sense yes of actually right what
that there is a good example is uh if you look at the history of application development the act like many years ago people had to write code in binary it was really really hard and really really complicated and you just couldn't like puts all the stuff in your hat and there is and so like applications we can write where really simple and said that like that there were some harbor limitations but the biggest limitation was that it was really hard to do and then there was a some work which is kind of simplification it made it much much easier to to program for to views and things do different kinds of applications and when somebody appeared like a skyrocketed but the application development things like applications started to be much more advanced and do more stuff and then it when it became kind heart like was invented and it made it once again super easy compared to somewhere to write applications so it you like ties a lot of complexity to allow you to concentrate on the important things in right ossification and lately there was a search of the dopants of scripting languages like Ruby and Python and PHP and Javascript that onceagain like advanced the technology much much for further because they made much simpler to write code and so we can look at other
examples like for example declaring all if you remember remember the days before queries where you had to deal with I really really complicated browser box like there was a fight the 5 5 5 . 5 5 6 i.e. Mac as they had to deal with different box and the 1st what from different versions and it's let was taking like 80 per cent of your experience doing deal with work around those boxes than to actually this knowledge and when J. query appeared so he made this really simple like you you didn't have to think about like browser that box and for how the dome works or how the DOM events were much so people just start writing code right away without getting into the complexity much so and so so that the influence of the query on the web development is a highly overstated so it made a huge advancement of what topology of course there's a lot of other libraries here after this like there's a new generation of developer that consider like to correct that but it's a bit have a really useful for advancing but knowledge and so I can say the same thing for forces ecology because I have make Ruby on Rails made it extremely easy to write well well written code that's readers and that's in the DOS a lot of things like it's it embraces the conventional or configuration principle fully and said it was so influential that all the other languages that like fats sites involved I started copying the Ruby on Rails principles and a loss of similar frameworks appeared not only for Ruby but for all other languages like PHP and Javascript and Python and cetera so it had a huge influence because it embraces simplicity it and there's no GS like there's a lot of critics the say that's like no GS isn't actually as efficient as as it claims like there are much more efficient ways to write computer and server-side applications like scholar error long but the the the most the greatest thing about node yes that data so prevalent nowadays that is raising the simple like you you don't have to learn a new language everyone knows just and it's it's it's kind of easy you have like 3 easy to program of yes and that a gain advanced the technology landscape further so simplicity is the outcome of technical suffer the is the goal of the starting point I really like the school but by my research it it's actually means that you have to work to make your topologies simple you don't start the simplicity you might strive towards um and there's also a really funny argument that people make when we talk about simplicity like 0 but we're not lead to do simple things like if everything is is simple and I will be called a professional because I'm so cool I have a lot of knowledge to challenge tackle complex problems but this is this kind of thinking is really just destructive and I remember the times when we when I was conditional scissors developers and we evolved uh that we wrote like system all pages and was really hard to work around all the ID box and uh when I 9 was released that finally like sold lots and lots of CSS issues and then there were people that were really skeptical because all man we we would know their jobs because like with 80 per cent of our experience was how to deal with browser box and when like Internet Explorer finally becomes really good browser our who our knowledge of all the relevant anymore so there a kind of a resistance to change this it's really bad
attitude because people who resist
provirus and willing to learn and adapt continuously to an ever changing landscape of technology they're in denial and they discounted people are always fail so another problem especially with the JS industry that and you don't really think about simplicity when complexity is taken for granted and so on there's a analogy that comes to my mind I was actually uh Baker fitness enthusiasts like I do strength training and martial arts in all kinds of sports and where thing about fitness is that you don't actually realize the benefits of regular exercise and the we become more physical effect and said that makes it really hard because like people tried for bits and the dome is really hard to everything thinkers and you don't really feel the benefits and all it need your life actually becomes worse so they think well but I'm probably and I'm not create if it's nature created me out of shape and that's how of those and they have like a longer their life they they don't feel like the the immediate problem of being out of shape uh like the light goes on they they were like that only for most of their life so they don't feel the problem but when they persist with consistency and and the most important it thing in exercise is not how you choose a program and not how you exercise actually but it's consistency the fact that you rate exercise regularly and might not coming from 1 side to another will to 2 different problem and like prosody switching sides so simplicity is a muscle used to be exercised consistently it's in kissimmee consciously worked on and that this how you
so To conclude that must make our
collective conscious effort to simplify GIS technology so that we can be happy and build more awesome stuff and maybe at 1st will be looking
like this but eventually people FIL the freedom
and Alicia creative potential mn bank in the
future when the probability of a bit of time for questions but I'm not sure whether we need this or maybe it's better to ask me questions in the hallways of the fee mean for the whole week the case so catch me in the hallways
thank thank you for listening but b and