Where Browserboard Came From

Browserboard is a free multiuser whiteboard web app.

I like making drawing apps. I’ve been doing it for a long time. I started on Mac OS 8 using BASIC!

Daphctarcs screenshot

In college, I tried one in Python.

Splatterboard screenshot

In 2012, at my second job out of school, I wrote one in JavaScript: Literally Canvas. It became the most popular open source library for embedding drawing widgets in web sites.

Literally Canvas screenshot

While maintaining Literally Canvas, I learned a lot about how people integrate drawing with their products, because they would show up in the issue tracker describing their problems. On a few occasions, I made beer money implementing their feature requests on contract. Among my users' projects were e-learning platforms, football coaching tools, and to my surprise and alarm, electronic medical records systems.

One thing people asked for regularly was a way to use Literally Canvas as a “collaborative whiteboard.” It was never going to work—the data model was very poorly suited to it—but the requests kept coming. Over time, bit rot set in, contributors failed to appear, and I stopped maintaining the project.

My interest in drawing apps was rekindled in 2020 as my employer moved to online interviewing. We cycled through a few multiuser whiteboard tools, and when using each one, I would notice at least one or two papercuts I had taken care to solve in Literally Canvas years ago. It really bugged me that after all these years, people were still making drawing tools that don't do any line smoothing while drawing, or have odd behavior when moving shapes that have been affected by an eraser, or have unintuitive interfaces for basic operations. These things really aren't difficult to fix with a little thought, but the “minimum viable product” approach of most web companies these days doesn't seem to result in great experiences.

The more I used these frustrating tools, the more motivated I became to try to do better. My memories of working on Buildy gave me a few ideas about how to approach the data model for a realtime multiuser app, and the global pandemic was giving me plenty of time indoors with no responsibilities.

On April 8, I made my first commit. I worked on it 16 days in April and 17 more days in May. I deployed the site to browserboard.com on May 11 with the help of my friend Thomas. After that, I slowed down a bit. Between myself and Thomas, we worked about 4-5 days each in June, July, and August, getting the features of the site roughly where they are today, and then 4 days in November to switch from Redis to Postgres for event storage when the Redis instance hit its memory limit. After that, I ran out of motivation and took a long break, mostly to replay the Mass Effect trilogy.

Browserboard screenshot

On March 22, I noticed a sudden traffic spike. Apparently Bing decided that Browserboard should be the #2 result for “online whiteboard,” right after Microsoft Whiteboard! The traffic spike reinvigorated me, and I've spent the last couple weekends fixing bugs and adding new features again.

Now that users can save PNGs and boards have proper image thumbnails, I'm not sure what big feature to focus on next. The trouble with an open-ended prompt like “let people draw together online” is there are a lot of different kinds of people! Please do write in if there's something I can add that would help you, or just to let me know what you're using Browserboard for.