Good Software Starts With Good Design

How would you design Google Spreadsheets?

· design ·


Let’s say you’re creating Google Spreadsheets from scratch: computer will create the code magically, you just need to design the software.

Where would you start?

The easy way is to copy Excel. The difficult way is to innovate and create something else that fulfils the same need, in a better way.

The reasonable way is to build a better mousetrap — make a spreadsheet that looks familiar but implement something to differentiate it, like the sharing and collaboration.

You start with the core elements— rows, columns, and cells — your bread and butter.

Everything else is a design decision and is under question: functions, sharing, toolbar, buttons, colours…

Design mode means nothing but questions

  • How to make it easy for a first-time user?
  • How to get out of the way so a regular user can get things done efficiently?
  • How to give power to an advanced user?
  • How to optimize the experience for each one without hurting the other?

spreadsheet complex vs simple

  • What do users want to achieve? What features to implement so they can achieve it?
  • How do I organize features in the main menu? How to separate and group them? Based on what?

spreadsheet features

  • Where to put Spelling?
  • Should I put an option to delete a spreadsheet in the main menu?
  • Should you copy by default both the formatting and the value, or just the value?
  • What should be the default width and height of a cell?

spreadsheet cell

  • What if someone wants to print a huge spreadsheet?
  • How to name features and elements in the interface (like formula bar or named ranges)?
  • What font is easy on the eye when you work a lot?

spreadsheet font

  • What about colors? Should I limit the color palette and why?

spreadsheet color

  • When does the user need to name the file (if at all)?
  • What part of the interface needs to be emphasized and deemphasized?

spreadsheet empasize

  • Is the default scrollbar good enough?

spreadsheet scrollbar

  • What functions do I need to implement, besides SUM and AVERAGE?
  • When to display error dialogue? What to write in it?

spreadsheet delete

  • Does my user need data validation, conditional formatting, concatenation…?
  • What spreadsheet software is my user familiar with? Why would they switch?

spreadsheet retro

  • If we put auto-save, how to handle it when a user wants to discard all the changes?
  • What to put in the context menu?

spreadsheet context

  • What features need shortcuts?
  • What to put in the toolbar? How to group and order it?

spreadsheet toolbar

  • What should be the default collaboration options ? How fine should the control be?

spreadsheet collaboration

  • What to put in Help?

spreadsheet help

  • How does the app integrate with other apps?
  • What if someone wants some esoteric feature that no one else needs?
  • How to handle empty slate during user onboarding?

spreadsheet empty

  • How to represent text wrapping as an icon?

spreadsheet wrapping

  • How should the complex process of creating a chart look like?
  • Should a spreadsheet have infinite rows?
  • How to delight the user?

spreadsheet delight

This isn’t even a 1% of what goes into software design

Every good software needs to start with a good design. And the design is never done.

We spent a year and a half designing ActiveCollab and there is still room for improvement. When we say improvement, we mean tiny details that maybe an average user doesn’t notice, but we do. But at least we have a strong foundation on which to improve.

Want to know how we redesigned ActiveCollab from ground up, guided by UX principles? Here’s how: Redesigning ActiveCollab

Related Articles
Try Active Collab

Make Real Work Happen! with ActiveCollab

Get two weeks of ActiveCollab absolutely free, without any limitations.

No credit card required · Unsubscribe at any time


Great, your account has been created!

You will be redirected to your new account in couple of seconds.

Great, you're almost there!

We've succesfully created your trial, but there's already an account associated with this email. To enter, you first need to sign in and then you can access the account we just created.

Sorry, we could not create an account for you at this moment. Please try again with another email address.

If the issue still persists, please let us know by sending email to