Performance is key to bringing joy to day to day work
Way back when we were founded in 2015 only a few of us worked at Shortcut. Many of our customers in those early days were also part of very small teams. Our product at the time reflected both our needs and theirs. It was simple. It was fast. It helped them (perhaps you) and us get things done. A big selling point for us was that our tool wasn't bloated with features few teams need, enabling our users to focus on the work at hand.
The thing is, this also continues to be a big selling point for us. But we’ve grown a lot in the ensuing years and many of our customers have grown with us, requiring that we evolve to meet their new needs and challenges. This means supporting organizations with dozens of teams, hundreds of thousands of people, and many thousands of Stories and tasks.
As great as it is to grow as a company and to see your customers do the same, this brings an enormous challenge: how do we ensure our software is a joy to use even while our functionality expands to accommodate the needs of larger teams with more expansive requirements? Is that even possible? A lot of our own experience with non-Shortcut project management tools might make us think it isn’t, but we absolutely believe it is.
Increased adoption, added usage, and a growing list of features present unique challenges around usability and performance. How are we tackling those challenges to ensure we’re just as easy to use for 500 people as we are for 3?
Our performance vision
Our goal is to ensure Shortcut is the most performant, enjoyable, and easy-to-use software development, project management, and product collaboration tool out there. We believe we can achieve this through constant experimentation to refine our user experience while engineering our platform to make sure everything moves at a snappy pace.
A lot of what is perceived as performance can be found in UX interactions. If it takes one click (or search) to get where you want to go instead of five, then that feels much more performant, even if each of those links would have just as quickly opened each clicked page.
Some principles are critical to realizing this vision.
- We’re Performant (you probably get that already): By keeping usability and joy in the DNA of the product. Large teams should have just a delightful an experience as small ones
- We value Simplicity and power: By continually making minor updates that make a consequential positive impact on users
- Our Software gets out of the way: By establishing consistent design patterns throughout the platform so that everything makes intuitive sense
At the end of the day, we’re human-centric. We want to make people more powerful and their jobs easier, by making our software even better. That’s at the core of what we do.
Ways we're designing + engineering to maximize performance
Maintain and even improve usability as software teams grow and scale
For teams with lots of data, which can come in many forms: lots of Labels or Stories or Epics, scrolling through all this stuff to find what they want makes it harder and slower to work.
The solution we're exploring
Better filtering with type-ahead and auto-populate when searching or when interacting with the list selector UX.
As customers add more of the above-mentioned data (Stories, Labels, etc.), it adds significant complexity to things like label loading.
Exploring how DOM virtualization can make our React components more performant. Epics and Iterations column views that scroll horizontally could become more usable if we virtualize the DOM that renders those views.
Design ways to quickly visualize large volumes of work and data
The user interface is built to load everything when users navigate to a page - for example, every listed Epic will load when the main Epic page is opened.
The solution we're exploring
Engineering pages with a lot of data to only show what is in view and maybe what’s just beyond it. Or perhaps even make the table view the default and only show the more info-intensive column view if a customer clicks it.
We believe that performance is a holistic representation of the interaction between humans and software. To help people feel more empowered, we've created objectives for our teams to utilize principles and heuristics to increase UI component quality. A blend of Neilson Norman Group's 10 usability heuristics for complex applications and the WCAG (web content accessibility guidelines) will help us evolve Shortcut to be a more performant and intuitive experience for teams of any size, anywhere, doing anything (well, anything software related). A small company today could be a large-scale organization in the future, and we want to help all our own customers get there every step of the way.
We'll be talking more about performance as one of many topics at our September release event - sign up and join to hear about performance and more!