Excel yourself with our web spreadsheet editor

Traditional data management techniques take control of data away from the people who understand it the most – the domain experts. We started building Registers.app to give back agency and autonomy of important, canonical data so we knew that we needed a way for these users to insert and update their data that was intuitive, familiar and didn’t require massive technical knowledge.

We’ve talked before about how everyone already uses spreadsheet tools and how they meet the needs of their users well. They offer a direct interface for users to manage structured data in a simple way. Through experience with tools like LibreOffice or Excel, many users already feel at home with a spreadsheet. We’ve found that many of our enterprise users are also already managing their data with these tools.

We wanted to capture some of that familiarity and make users feel at home straight away when they made a Register for the first time in Registers.app. We decided to use a spreadsheet-style interface to tap into a user’s existing experience and help them feel comfortable with inserting data.

Registers are more than spreadsheets

One problem with this approach is that a Register is not exactly like a spreadsheet. Because columns in a Register can link directly to whole items in another Register, cells often need to contain more than simple string values. We also knew that to help our users the most, we should help them insert correct values for types like dates or codes from another Register with context-specific editors and metadata per cell.

So we had to use a spreadsheet widget that got the right balance of being similar to our favourite spreadsheet programs whilst being different in the ways that Registers are different. We also knew that we’d want to use a similar spreadsheet view for letting users review draft changes and showing differences between historical Register updates, so the interface had to scale to those challenges too.

We looked at lots of existing spreadsheet components on the web to see whether they’d fit our use cases and to mine them for UX features that helped them feel like a spreadsheet. Despite finding some great work, none of the components we identified had quite the right balance for us to use directly. We did, however, draw a lot of inspiration from them to form a list of key features that made them approachable whilst also allowing expert behaviour.

We made our own spreadsheet for the web

So, we decided to implement our own spreadsheet interface for the web. Without any further ado, here it is!

Principal-Local-Authority Name Name-Cy Official-Name Official-Name-Cy Start-Date End-Date
A principal local authority in Wales. The commonly-used name of a record. The commonly-used Welsh name of a record. The official or technical name of a record. The official or technical Welsh name of a record. The date a record first became relevant to a register. The date a record stopped being applicable.

The sheet is displaying a subset of the data from the Welsh Government’s Principal Local Authority register.

We’ve designed the interface to be familiar to users of desktop office programs. The look and feel of cursor movement and selection is familiar, and copy/paste and undo functionality are available. It sits on top of an ordinary HTML table and falls back gracefully if Javascript is not running. In addition, it makes prominent space for column metadata and the side gutter can be used to display an indication of row changes (try editing or clearing a row!).

There’s more still to do

We’re very happy with what we’ve achieved so far, but there’s still lots more to do. We’re going to be expanding it to use in our Register creation process, including allowing multiple cell selections to tie in with our step-by-step creation flow.

We hope you think the widget is as cool as we do! We’ll be posting further updates on our work as it progresses. If you’d like to give us some feedback (maybe on some killer features we’re missing) or tell us how much you’d like to use it, drop us a note by e-mail or on Twitter!

Share this post: LinkedIn Twitter Facebook
Simon Worthington

Simon is a founder of Register Dynamics, a data consultancy on a mission to make data more useful for everyone, and the creators of Registers.app.

As a technologist with years of experience applying cutting-edge data technology to meet real user needs, Simon gets that data is hard. Tell him your data problems on Twitter @RegDyn!

Data from the Welsh Government Principal Local Authority register used under the Open Government License v3.