Rendering maps on the client becomes more important as technologies emerge and devices get faster. While most maps are still served as raster tiles, there is a case for delivering vectors to the client. In this talk, I'll review existing rendering techniques and data formats, as well as point out their advantages and disadvantages. **Rendering Technologies:** Whether it's SVG or 2D Canvas to draw the map on the client, speed is always of the essence when . We're also going to have a look at using existing C/C++ based renderers in the browser. Finally WebGL and OpenGL open up a new world of possibilities for rendering on mobile and in the browser. It's a long way from the OpenStreetMap world extract to a manageable data size that we can serve to clients and process on weaker hardware. Additionally, data structures that are suited for rendering look different than for storing the raw source data. **Text Shaping and Rendering:** Typically, text shaping is one of the lower priority items, but it is vital for multilingual and multi-script maps in non-latin languages. We're going to look at open source software that can lay out text correctly and how to leverage it on the client side. **Interaction** with the map becomes a lot easier and more intuitive because all the raw data is available on the client and we can redraw the map based on user interaction without costly roundtrips to the server. |