Illustration by Jesse. (Our Jesse.)
Part of what we love about WorkFlowy is its old-school charm. But you may not know that the code on the inside has a well-worn patina to match. The aging technology at the heart of WorkFlowy has been holding us back. No longer. Today we are releasing a rewrite of the core product that takes care of this.
Ten years in review
WorkFlowy development first started almost 10 years ago. In web time, that’s 427 years. Back in those days, web-based apps like WorkFlowy were built in ways that we’d now consider barbaric. Many of the tools that we take for granted today (for the initiated: Node, Webpack, ES6, TypeScript, React) didn’t even exist.
On top of that, WorkFlowy has always had a small team. Until very recently, there have only been two engineers, at most. That meant that bringing the code up to code was never the top bullet in the list.
Progress so far
When I joined the team a few months ago, I set out to bring WorkFlowy up-to-date, inside and out. I wanted to meet – if not surpass – the standards of quality and developer productivity that I’d experienced at other great Silicon Valley companies.
We’ve made progress. We redesigned the app. We added types to all our code to make it more robust. We cleaned up a lot of old, complex, brittle – or broken – logic. With the help of our community, we started working on a way for people to build apps and features on top of WorkFlowy. Along the way, we broke some things (sorry), but we also fixed some long-standing issues, and we now feel more confident than ever that we can fix more while breaking less.
A new resolution
However, maintaining and refining existing features is not enough. Our users (you!) have been waiting too long for important features. We (mostly Jesse) have tons of ideas for features and improvements that would enable new ways to use WorkFlowy. We want to take WorkFlowy to the next level while staying true to its nature.
To achieve that with such a small team, using the best tools is essential. React, a web framework developed at Facebook and announced in 2013, has since become the tool of choice for building web sites and apps. (I was lucky to be a UI Engineer at Facebook when React was being introduced.) If you visit a web site, chances are it’s built with React: AirBnB, Reddit, Netflix, Dropbox, The New York Times, Facebook, Instagram, Pinterest, and Slack all use it. We knew we wanted to take advantage of the new programming style that React enables, which means improved productivity for us, and a better experience for you. While newer parts of WorkFlowy – headers, menus, dialogs, and most of the mobile app – were already written in React, the core of the product (the list) had largely been untouched since the dark ages of web development.
We knew we needed to rewrite the list code. The only question was whether we could do it without stopping all new feature development for months and then breaking things for everyone. So we found a way to do it in steps.
What’s new today
Today we are releasing a rewrite of the list code, using React. It is the largest and most complex step on the way to a modern WorkFlowy. We were able to write this new version in only a couple of weeks, but we’ve allowed a couple of months to test it and fine-tune it. I’d like to give a shout-out to all our amazing fans who have helped us test! (If you ever used beta, or the beta app, you are one of them. Thank you!)
What this means for you
What does this mean for you? Hopefully not much, for now. If we did our job, everything should work pretty much like it did before.
One change you might notice is that things are faster – especially if you have long lists or often search across large documents. We took the opportunity to optimize our new code so that, in most cases, everything should feel more responsive.
But the biggest change is that we can now respond to feedback quicker, fix bugs more promptly, and develop new features faster. Everybody has a favorite thing they‘d like WorkFlowy to do better. We know, we have some too! Well, now everything is possible. (Don’t worry, we will keep it elegant and simple.)
As with every big change, some things are bound to be a little bumpy for a little while. Thankfully we have the most loyal and forgiving users (you!). If you do notice something off, please let us know and we promise to fix it quickly.
(One of the things that did not make the cut for this week is the animations when you zoom in and out of a bullet. We found that some people miss them and some people are glad they’re gone. How do you feel? Let us know!)
While the largest and hardest hurdle is out of the way, we are not done. But it will be much smoother – and faster – sailing from now on. I’m excited about all the cool things we can build now that this is over with. Here’s to a very happy new year, full of new WorkFlowy features!