508 stories

Making the best of MS Office files


As a Free Software user, I obviously frown upon Microsoft Office and its file formats. Primarily because they claim to be open standards, when in practice Microsoft (intentionally) doesn’t implement their own specification appropriately.

As you may understand, this ensures incompatibility with other office suites, such as LibreOffice. Because even if LibreOffice would be able to open Microsoft Office files completely according to the specification, Microsoft Office doesn’t save them that way!

Having to deal with MS Office files should therefore always be kept to a minimum. Just ask anyone that sends you such a document whoever sends you one to export it as a PDF instead. Most people will comply when you ask nicely, but of course there will always be twits who refuse to make any kind of effort. In that case, I would advise to simply tell the other person that you will not continue the collaboration until he/she sends you a working document.

But in some cases (for example, when you’re in school and teachers have no respect for their students’ privacy and security), you will pretty much be forced to deal with Microsoft’s obfuscuated file formats. So you’ll have to make the best of it.

Always use the latest version of LibreOffice

Microsoft’s OOXML format is a moving target, with Microsoft executives coming up with new ways to hinder interoperability and increase their vendor lock-in every day. So LibreOffice’s OOXML support will never be ‘done’, as the “standard” is subject to changes all the time. Undocumented changes, because the standard itself stays the same, but Microsoft’s intentional misimplementations do not.

Luckily, LibreOffice is much closer to bearable OOXML support than it was years ago. Most non-complex documents will render without any noticeable issues (as long as you have all the fonts), but as soon as you have to deal with macros and other complex stuff, well… may the heavens have mercy.

That’s why it’s important to keep LibreOffice up to date, because every new release comes with significantly improved OOXML support (including workarounds for Microsoft latest intentional bugs). Most GNU/Linux distributions do not keep LibreOffice updated aside from point releases, which means you can be stuck with the same major release for years.

When you’re running Debian, you’re best off enabling the backports repository and installing the LibreOffice packages from there.

# /etc/apt/sources.list
deb http://ftp.nl.debian.org/debian/ wheezy-backports main
deb-src http://ftp.nl.debian.org/debian/ wheezy-backports main
sudo apt-get update
sudo apt-get install -t wheezy-backports libreoffice

When you’re running Ubuntu, simply add the LibreOffice stable PPA and update your packages.

sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get dist-upgrade

I don’t really know a lot about RPM distros, but I’m sure that Fedora and SuSE have their own ways of doing this. Arch and Gentoo probably don’t need any of this, being rolling releases and thus always shipping the latest packages in the main repositories.

Install compatibility fonts

Although I’m not a big fan of Google, they do have their upsides. For instance, they’ve developed a bunch of free and open source fonts for Chrome OS which are metrically compatible with a lot of the proprietary/patented stuff that Microsoft shoves down our throats. Unlike Liberation, the Croscore fonts support – in addition to Arial, Times, and CourierCalibri and Cambria; Microsoft’s patented default fonts used by nearly everyone since 2007. Having decent substitutes for Calibri and Cambria increases Microsoft Office compatibility immensely.

On Debian/Ubuntu, the installation is trivial:

sudo apt-get install fonts-croscore fonts-crosextra-caladea fonts-crosextra-carlito

This will install the Arimo, Tinos, Cousine, Carlito, and Caladea fonts: metrically compatible substitutes for Arial, Times New Roman, Courier New, Calibri, and Cambria respectively. Those are by far the most-used fonts by Microsoft users.

Using LibreOffice 4.3 with the Croscore fonts, I have had little to no issues with regular docx documents, xlsx spreadsheets and pptx slideshows, and I haven’t heard about a lot of issues by family members and customers in the last months either.

The only things that still royally screw stuff up, are macros, mixed layouts (some pages in portrait mode and some others in landscape mode), and complex tables and graphs.

In case of emergency: Microsoft Office Online

Let me start of by saying: this is not a solution and this is not suited for everyone, including myself. In order to use Microsoft Office Online, you have to agree with Microsoft’s usage terms and their privacy policy, because you will need a Microsoft account. If you don’t agree with those terms, you may not use their online service. Really, it’s just another draconian EULA.

Because I found Microsoft’s usage terms to be completely unacceptable, I couldn’t proceed. But I asked a friend that could live with Microsoft’s demands to test Microsoft Office Online on my Debian machine with only the main repository enabled. And it hurts to say this, but Microsoft’s service works perfectly on a computer with 100% Free Software. In fact, it can even be used to transform unreadable macro-enabled documents into pixel-perfect PDF’s.

To get started with MS Office Online, simply go to the intro page, choose the web application you want to use, and sign in with a Microsoft account. (In this case, my friend’s.) I asked him to type some sample text:

Keep in mind though that everything you upload or type here will be saved on an American server indefinitely (there’s no such thing as a delete button that actually deletes), and everything will most likely be forwarded to the NSA automatically, because you are a terrorist. It’s no safer than Google Docs or any other proprietary cloud service.

So my advice will most certainly be that you should never use Microsoft Office Online for any kind of personal data, or any Microsoft product – online or offline – for that matter. data. Proprietary software is never secure, regardless of it being a desktop application or a cloud service.

Using Microsoft Office Online to create usable PDF’s from unworkable documents

When somebody for some reason sends you a macro-enabled Microsoft Office document, you can be pretty sure that LibreOffice isn’t going to help you. The obvious first step would be to ask for a PDF repeatedly, but in case the other person ignores all your requests and you’re not in a position to tell them to go fork themselves, Microsoft Office Online will most likely be able to get you a working PDF.

Let’s test a docm file that another friend received from the college he attends, which is incredibly hostile to Free Software users. Even though LibreOffice tries its best, and after a lot of editing the document will finally look fair enough, the initial rendering is horrible and completely unsuitable for a non-technical user to solve.

The biggest problem in this case was the mixed layout. Some pages were in landscape mode, while others were in portrait mode. Apparently LibreOffice is unable to do this with OOXML documents (read: Microsoft improperly documented/implemented this in OOXML). documents. After converting the document to an odt file and adding a bunch of manual breaks, I was able to reproduce the way it should probably have looked. looked like. But like I said, the average user would most likely not have been able to.

So I asked my friend to open this same document with Word Online on my computer. And I’m not sure if this should make me happy or sad, but it works without an issue.

We obvioulsy don’t want to work with Word Online any longer than we have to, so the only thing we were looking for was a PDF export button. This can be found by navigating to File > Save As > Download as PDF.

It takes a couple of seconds to generate a PDF for you and a copy for the NSA, but afterwards you’ll be given a direct download link.

After saving the document and opening it, I can only say that Microsoft produced a perfectly readable PDF, fully compatible with Evince.

Final thoughts

In the end, Microsoft is still Microsoft, so don’t expect to ever see a Download as ODF option. If you want to edit complex OOXML documents, you’ll be locked in to their key logging web application.

Although I’m personally prohibited from using Office Online because I don’t agree with the usage terms or the privacy policy (and most other FSFE members will likely feel the same), it may be somewhat of a solution to the less ideological ideologial GNU/Linux users who don’t care as much about privacy and security.

Ultimately, it gets the job done and it works on a 100% Free Software computer, so it’s already a huge improvement compared to having to install a Windows VM and running MS Office within it. That would completely destroy the integrity and the security of your home network, require a high-end computer, and easily costs you over €150. Not to mention that you’d have to accept the Windows and Office license agreements which add up to about 80 pages describing what you’re not allowed to do with your own computer.

Now you just visit a web site with Firefox or Chromium.

Read the whole story
Share this story

Google Chrome Missing The URL in the Address Bar

1 Share

Chrome Origin Chip in Address Bar Omnibox

The latest Google Chrome update changed the omnibox/address bar so you cannot see the URL by default. I, for one, hate it. I’m not being curmudgeonly[0], I copy URLs all the time and it’s just another step for me to click on the “origin chip” (as it’s being called) to see the URL.

Here’s how to change it back:

  1. Go to chrome://flags/#origin-chip-in-omnibox (you’ll likely have to cut & paste this in)
  2. Pick “Disabled”
  3. Click the “Relaunch Now” button at the bottom.

Rejoice in having Chrome the way you like it.

Chrome Origin Chip Gone in Address Bar Omnibox



[0] Yeah, I know, I am. GET OFF MY LAWN.

Did you like this article? Please give me a +1 back at the source: Google Chrome Missing The URL in the Address Bar

This post was written by Bob Plankers for The Lone Sysadmin - Virtualization, System Administration, and Technology. Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License and copyrighted © 2005-2013. All rights reserved.

Read the whole story
Share this story


7 Comments and 16 Shares
Officer suspended from horse.
Read the whole story
Share this story
7 public comments
9 days ago
Das Leben ist kein Ponyhof!
12 days ago
Horse Feathers http://www.imdb.com/title/tt0023027/
Long Island, NY
12 days ago
We can't penetrate their horsefields
Bend, Oregon
12 days ago
Horse IS equal to mass times acceleration, after all.
12 days ago
Atlanta, GA
12 days ago
Legal contracts will include clauses regarding Horse Majeure.
12 days ago
May the horse be with you.
12 days ago
I assume this browser extension will be released this afternoon.
Cambridge, MA
12 days ago
Alt text: "Officer suspended from horse."
Brooklyn NY

Linux TCP/IP networking: net-tools vs. iproute2

1 Comment and 2 Shares

Many sysadmins still manage and troubleshoot various network configurations by using a combination of ifconfig, route, arp and netstat command-line tools, collectively known as net-tools. Originally rooted in the BSD TCP/IP toolkit, the net-tools was developed to configure network functionality of older Linux kernels. Its development in the Linux community so far has ceased since 2001. Some […]
Continue reading...

The post Linux TCP/IP networking: net-tools vs. iproute2 appeared first on Xmodulo.

Read the whole story
Share this story
1 public comment
12 days ago
I never knew about this! I'm still in old age :)

Building Pulse & Bloom - an interactive biofeedback installation at Burning Man 2014

1 Comment and 2 Shares

This was my second year attending Burning Man. Many use Burning Man as a week to detach from their workweek and experience a new life of intense leisure. Not me, I come to Burning Man to build.

Pulse & Bloom is a 2014 honorarium installation. The core team of 6 people — Saba Ghole, Shilo Shiv Suleman, Rohan Dixit, Heather Stewart, Luke Iseman, and myself — built 20 interactive lotus flowers made out of steel and row lux. Each lotus flower ranges from 8 to 18 feet tall, each of which lights up with your pulse. You and another person can put your hands on a couple of Hamsa hands at the base of the lotus flower and your respective heartbeats will light up the flower.

As usual, the complete source code for Pulse & Bloom is on GitHub.

Your heartbeat in light

Here's a video of all twenty lotus flowers in full working order.

Each lotus flower is blue until a person or two sits down at its base and places their hand on the pulse sensor. You can see the Hamsa hand and its embedded pulse sensor in this shot of my girlfriend Brittany and me working on keeping the electronics going.

When a pulse is read, the lotus flower shoots the heartbeat up the stem and into the petals, where it blooms in a brilliant display of amber. When two people's hands are being measured, both of their heartbeats are shown as two distinct colors.

How the electronics are made

There are five stages to making the electronics:

  1. Making the custom circuit boards
  2. Making the custom pulse sensors
  3. Driving the high current LEDs
  4. Writing the firmware
  5. Powering the lotuses

1. Making the custom circuit boards

The circuit board controls all of the lighting, sensors, timing, and debugging sequences. A reliable circuit board couldn't just be an Arduino and a breadboard. I decided to use OSH Park and OSH Stencils to fabricate inexpensive circuit boards. I ultimately went through seven revisions while we worked out the final design of the lotuses. This included adding additional lights, additional sensors, controls for EL wire, and better power management using an external buck converter.

This board has support for multiple high current petal LEDs driven by digital RGB pins (used for fading colors in and out using PWM) and in multiple voltages. The high current petal LEDs runs on 12V, which comes directly off the battery, the ATmega328p chip and stem LEDs run at 5V, and the pulse sensor runs at 3.3V.

To convert 12V to 5V I use a $3 switching voltage regulator from Electrodragon. This requires a +/- connection for both 12V in and 5V out. To convert 5V to 3.3V I used a linear voltage regulator soldered directly on the board, since the current requirements of the pulse sensor were around 20mA. The heat dissipated was negligible compared to the rest of the circuit.

I also added terminal connections for two 5 meter LEDs that wrapped around the tall lotus stem. We attached two 5 meter LED strips around the stems because when two people put their hands on the two pulse sensors, we need an easy way to show both heartbeats without one winning out over the other. When only one person's hand in being measured, both 5 meter light strips show the same color, which makes it that much brighter for a single person.

Lastly, the two pulse sensors terminate their I2C wires directly on the board. I used two separate I2C channels instead of one to cut down on time. I could easily have put both pulse sensors on the same I2C connections, but that would've required both pull-up resistors on the SDA and SCL data lines as well as a rewrite of the timing functions for the sensor.

All of these terminations are made using 2.5mm and 3.5mm pitch screw terminals. In hindsight I would have used female JST-SM mounted connectors and ordered custom wires with JST-SM male connectors. I assumed the lowest common denomenator would be bare tinned wire, but all of the bare wires could easily have been switched over to polarized, latching connectors. This would have reduced over 90% of the field work I had to perform on boards, as their wire would fall out of the screw terminals due to not being screwed in with enough force.

The board was laid out to be as big as a pack of gum. All of the 12V traces are thickened and isolated on the right side of the board. They are rated for 3 amps although they would end up only driving 1 amp on the playa.

These boards are then stenciled with solder paste and populated with their chips and passive components.

An inexpensive hot plate is used to reflow the solder. The chip is in a TQFP package, which has a 0.5mm pitch between pins. This makes it nearly impossible to hand solder. This stencil and reflow technique works well and my yield stayed high at around 95%.

Finally, the board is ready to be populated with screw terminals.

The final board in a dust-proof enclosure.

2. Making the custom pulse sensors

This was both the riskiest piece of the puzzle and also the most fun to build. In order to show your heartbeat on the lotus, I need to have a clear reading of your pulse. There are a fair number of issues with most off-the-shelf heartbeat sensors, including:

  • Cost: While a $50 pulse sensor is nice, it's way out of our budget. We spent $6 in components to make each of our pulse sensors for a total of 40 sensors (two per lotus).
  • Design affordance: There were a fair number of pulse sensors that required an infrared light on one side of your finger and an infrared detector/receiver on the other. This clamping of your finger wasn't something we could get away with in the desert. We needed a sensor you could just touch and hold on one side. It needed to be a simple interface so we wouldn't have to show any instructions.
  • Reliability: When a sensor gets covered in dust, will it still work? Infrared light, thankfully, passes through a layer of dust and can read the changes in blood flow in your finger. Some options were entirely visual and they would have performed quite poorly out on the playa.

The first prototype I built suffered from the design affordance and reliability issues, although it worked pretty well in ideal conditions.

We ended up finding an IC by Silicon Labs called the Si1143x, which uses three LEDs — two infrared and one visible — and a small QFN-10 sized light sensor.

I built out a small PCB the size of a fingertip.

This tiny IC is a bit tricky to solder as it has no leads and the pins are extremely close together. My yield dropped to about 80%, but 4 out of every 5 pulse sensors I built worked perfectly the first time. If they failed, I would remount them on the hot plate and try wicking away any solder bridges I could find. This worked only about half the time. After that I gave up and now have a plastic cup full of broken pulse sensors.

Finally the sensor is hooked up and a tiny red light is emitted, letting people know where to put their fingers.

3. Driving the high current LEDs

What turned these lotuses from flowers into gems are the high current LEDs mounted in the petals at the top. There are 9 of these high current LEDs per lotus, split into groups of three, each driven by a constant current driver.

If you were to look at one of these LEDs from a few feet away, you would immediately see spots in your eyes. They are extremely bright pinpoints of light. The fact that they are also full color and need a heatsink due to their brightness means that you won't just find these in an easy package ready for plugging in.

Normally a single LED is powered by a single constant current driver. This driver can drive up to 1A of current at 12V. Because we were only using a single channel of color (blue) in the rest state, which is where the lotus spent most of its time, we could triple the number of LEDs driven by a single constant current driver.

When in use the petals glow amber, which uses two channels (100% red, 50% green) but only for a moment while at peak current. So while the peak current is above what this constant current driver is rated for, it's only at peak and therefore within our tolerance.

Using a Chinese distributor, we bought these Sparkfun high current LEDs for $0.86 each instead of the full $15. However, we also bought 80 of Sparkfun's PicoBucks to use as our constant current driver. While we could have built this ourselves to save money, buying 80 of something at $15 each is still only $1.2k, while building them ourselves would only have saved a few hundred dollars.

We bought 200 high current LEDs, all of which had to have their 6 anode and cathode connections soldered.

In order to connect 9 high current LEDs to the board, we need to drive them in groups of three. Each group has 6 connections: red, green, blue anodes, and red, green, blue cathodes. The wiring diagram for this setup can get a bit rats nesty, but the end result was fairly easy to work with, as the picobuck groups didn't cross.

Finally, a shot of a complete picobuck with the wire connectors in the background.

4. Writing the firmware

The complete source code for Pulse & Bloom is on GitHub. There you can find the firmware used to program the main circuit board's ATmega328p chip, as well as designs for the laser cut cowl that sits over the pulse sensor's Si1143x IC.

The easiest way to read the firmware is to dive into src/pulse.cpp. It has all of the pulse and rest states and handles the high level logic.

The state machine that runs the entire routine is determined by a couple of critical measurements. The program takes a measurement of both pulse sensors and determines whether a finger is covering either of them and whether or not that finger has an active pulse going.

// Modes
void determinePlayerMode();
void determineFingerMode(int sensor1On, int sensor2On);
void resetStem(PulsePlug *pulse);
uint8_t adjustBpm(PulsePlug *pulse);

When there are no fingers on either of the pulse sensors, the program runs the rest state, which is a blue-topped lotus with a small blue snake running up and down the stem. The program is merely waiting for somebody to put their finger on a sensor.

// State: resting
void runResting();
void runRestStem();
void runRestStem(PulsePlug *pulse, int16_t currentLed);
void clearStemLeds(PulsePlug *pulse);
void beginPetalResting();
bool runPetalResting();

Before a heartbeat is shown an accurate measurement of a heartbeat needs to be read. In order to determine whether a heartbeat is found and at what speed, a number of light detection measurements are taken and analyzed. I simply find the high frequency curve (the heartbeat) and the low frequency curve (the light sensors leveling out) and then use a simple peak and valley hueristic to determine the moment a heartbeat begins. This can take up to two or three seconds at first, so a bit of unwinding animation prepares you when you first put your finger on the sensor.

When a finger is detected, the stem snake lights shoot backwards up and down the lotus in prep for a heartbeat. This looks seamless as it clears the stem. This way a heartbeat doesn't interrupt the rest state.

// State: end resting
void beginSplittingStem();
void runSplittingStem();
void runSplittingStem(PulsePlug *pulse, int16_t currentLed);

When a heartbeat is detected, it is first shot up the stem. The color is determined by how many pulse sensors are being used. 1 heartbeat shows amber. 2 heartbeats show in white and light red.

// State: stem rising
bool runStemRising(PulsePlug *pulse, PulsePlug *shadowPulse);

Once the heartbeat reaches the top of the stem, the petals then fill with light.

// State: petal rising
void beginPetalRising();
bool runPetalRising();

After a set delay, the petal slowly lose light while waiting for the next heartbeat.

// State: petal falling
void beginPetalFalling();
bool runPetalFalling();

Lots of debugging messages have been left in the code and are accessible using the Serial pin on the board. Just turn on USE_SERIAL, which is commented out at top. Note that this increases binary code size by about 2.5K. I wrote a lot of logging.

// Debugging
void printHeader();
void blink(int loops, int loopTime, bool half);
int freeRam ();

5. Powering the lotuses

While much of what I built above came out of knowledge I already had, learning how to power this large of an installation off just a battery was all new to me. I'm used to microelectronics that run off a coin cell or AA batteries.

Measuring current and power usage

First, in order to figure out how big of a battery we needed, we had to measure how much power we were taking. I hooked up an ammeter in series with a single lotus to measure the current draw. In rest state, a single lotus drew 0.75A at 12V. In the active pulsing heartbeat state, a single lotus drew 1.5A at 12V. Since a lotus spends 95% of its time at rest, we rounded the average current consumption to 1A.

Twenty lotuses at 1A at 12V meant we needed 240Ah to sustain a 12 hour night. A car battery was recommended, but car batteries can only discharge down to 80% without irreparable harm. However, a marine deep-cycle battery can go down to 20% without harm.

This 150 lb. battery has enough capacity, although we ended up adding a couple 6V batteries in series (to boost them to 12V) and then running them in parallel to offset some of the load.

Dealing with the voltage drop

A big issue we ran into was the voltage drop across the power lines. We placed the batteries on the edge of the installation, which meant some of the lotuses had 20 meters of wire between them and the battery. The voltage drop per 10 meter section is nearly 2V, which means that the voltage reaching the further lotuses was down to 7.5V.

The high current LEDs were not able to be smoothly driven at this low of a voltage, causing them to flicker. We determined that a voltage drop was responsible for the flickering, which got worse the further the lotus sat from the batteries. But when we discovered this the wires had already been trenched 6 inches beneath the playa. A day of work lost, but we sucked it up and ripped out all of the ground wiring to accommodate the battery which had to be moved into the center of the installation.

At the end of each night we had to bike out with a trike and carry all 300 lbs. of batteries back to camp, where they were hooked up to a 1 kW solar array, where they were charged at 48A over 6 hours.

Prototyping the lotuses

Back at American Steel in Oakland, the lotus stems, bases, and petals were ready to be hooked up. These twenty lotus stems were bent by Heather. They range from 6ft to 16ft in length and each weighs 50 lbs.

Such a heavy stem needs a larger base and heavy anchors to stay upright in the wind.

We placed the lily pad over the base to cover it up and then added all of the electronics. Lights, sensors, and circuit boards all had to be mounted.

This is a photo of our first complete lotus flower. Just compare its sheer size to Shilo.

Once we were confident that one lotus would successfully light we left the other 19 lotuses packed away for assembly on the playa.

A dusty scene

We drove out in the biggest rental car I could get my hands on. Our minivan is full of electronics, bicycles, tents, costumes, coolers full of fruit and veggies, dry snacks, and water.

Since we were early arrival, they give you these red bracelets. They say Work hard, don't do stupid shit.

The boards would accumulate dust on them everyday. Our plastic enclosures turned out to be too big for the holes we made in the platform. So we ended up using ziploc bags. These baggies stayed attached, but the only reason they didn't cause any issues is that the boards worked just fine in the dust, as you can see here.

If dust was a real problem for the boards, then I would have spent a whole lot more time making a tight fitting enclosure and a hole for it that protects it both from the elements and from people.

The playa gets covered in dust storms regularly throughout the week. A particularly nasty dust storm is pictured here, eating our poor lotus flowers alive.

Although during the day when its not dust storming the lotuses offer a cozy respite from the heat of the playa.

The entire process lasted 4 months with 2.5 months of nearly full-time work on my part. I'm thrilled that I get to open-source both the process and the firmware. I hope others who build art installations can use some of my lessons learned here. I'm happy to answer any questions on Twitter.

See you next year on the playa!

Read the whole story
12 days ago
Another big project finally finished. This one got a ton of international press and a lot of love at the event itself. So proud of the work we've done.
The Haight in San Francisco
10 days ago
Share this story

OpenStreetMap alternatives to Google’s Maps Engine and Fusion Tables


Often we just want to produce a simple map showing data as a collection of pins (map markers). In this post we look at two tools that both use OpenStreetMap base maps; namely geojson.io and uMap. These are both potential alternatives to Google Maps Engine and Fusion Tables. 

OpenStreetMap has come a long way in the last 10 years; we’ve reached 1.7 million registered users, over 300,000 of whom are the last editor an an object in OpenStreetMap, and we’ve contributed over 2.4 billion nodes (points) and 248 million ways (linear features). This has led to OpenStreetMap being deployed by large companies such as Apple, Mapquest and Foursquare, and relief organisations such as Médecins Sans Frontières.

However when it comes to individuals – including those who associate themselves with the Open Source or Open Data communities – many people stick with what they know. More often that not that’s Google. OpenStreetMap is quite different; as it’s not a traditional company, most of the interesting stuff is going on outside of the core openstreetmap.org website. Let’s look at two online tools that use OpenStreetMap for the base map display.


Geojson.io describes itself as “a quick, simple tool for creating, viewing, and sharing map”. It has a strong focus on input/output (io) as it supports major formats such GeoJSON, KML, GPX, CSV, TopoJSON, amongst other formats listed on the OpenStreetMap wiki. The inputs can be from a file, from a GitHub (including Gist snippets) or added manually via the website’s user interface. The final map can be exported to file, to GitHub or shared as an embeddable iframe or as a standalone URL. Visual customisation is limited to a choice of three map backgrounds.


In this example I have a geojson file of pubs in and around Stratford-upon-Avon. All the data is as points (nodes) and I want to produce a simple map to display in this blog post. Using geojson.io the steps are:

  1. Go to geojson.io.
  2. Click Open and load the source file. The map data can then be edited in the right hand pane (I used the table edit to drop some columns)
  3. Pick a map background from the choice of Mapbox, Satellite and default OSM from the options in the bottom left.
  4. Click Share and copy and paste the embeddable iframe.

Here is the result:

Quick, simple and effective.


Similar to geojson.io above, uMap describes itself as a way to “create maps with OpenStreetMap layers in a minute and embed them in your site”. It supports a number of import formats including geojson, csv, kml and also allows you to draw content directly on the map. On the export side, you can download the map data in three different file formats, or share it via an embeddable iframe or stand alone URL. Unlike geojson.io, uMap has numerous customisation options, for example you can pick from 16 map backgrounds, map data can be styled with a colour, fill opacity and line type, and the popup content can be adjusted to display additional information such as images and web links. uMap also enables you to easily work collaboratively on a map. This flexibility does however make the user interface more complicated than geojson.io’s.


This example uses a file of school locations in and around Lichfield. Most of the data is stored as polygons, however it also include point data. As before the aim is to produce a simple map to display in this blog post. Using uMap the steps are:

  1. Go to umap.openstreetmap.fr or one of the alternate instances listed here.
  2. Click Create a map.
  3. Click Import data (the up arrow icon on the right or keyboard shortcut Ctrl+I).
  4. Customise using the options on the right. Here I’ve changed the map background to MapQuest Open.
  5. Click More on the left hand side, followed by Embed and share this map.
  6. Copy and paste the embeddable iframe (I also had to click Current view instead of deafult map view in the iframe options box.

Here’s the result from uMap:

Advanced, customisable, and featureful.

Tell us what you think

Have a go and let us know what you think. How do they compare with what is available from Google or others, and what would make them better. Drop us a line in the comment box below or via our twitter account, @mappamercia.

Read the whole story
Share this story
Next Page of Stories