Three for three
January 04, 2023, by Excalidraw Team
Greetings Excalidraw users! Thank you all for the support throughout the year, and for being a part of our growing user base! ❤️
With your help, we’ve recently crossed 350K monthly users. 🔥 On top of that, we’ve counted 38K stars on GitHub just before the end of the year, and are constantly trending everywhere, such as on the bestofjs.org project repository — this helps the open-source part of Excalidraw get in front of more developers like you!
Let’s have a look at what we and you have been up to the past year!
(Psst, if you don’t get to the end of the post, and you’re looking for work, we’re hiring! 🚀)
What we’ve shipped in the editor
One of the biggest changes we’ve been proud to unveil last year was undoubtedly the editor redesign. While having scores of people contribute to the editor is awesome (much love!), if not careful, over the years you can end up with a design without a strong single thread going through!
This is where Tony Bures came in with a new design, and enlisting the help of Barnabás Molnár we were able to ship the new interface that still keeps out of your way, is even a bit more compact, a little more consistent, and even makes room for new features we’ll be shipping this year!
There are some rough edges we need to fix up, such as missing hover/active states here and there, and some components still need porting (looking at you, context menu!). And not to forget, mobile design — while it’s sporting the new drip, it will need a bit more work to truly shine and make you effective on your small devices!
What may have you missed in 2022?
If you’re using Excalidraw regularly, you shouldn’t have missed many new features. But some can be a bit hidden, so let’s take a look at some of the prominent changes this year. (We’ve included nuggets of information you may like 👀).
Freedrawing is fun, but sometimes it can get annoying if drawing gets slow, or unwanted gestures start happening, especially when using a stylus.
Palm rejection is hard in general, but doubly so on the web, so instead of doing that, we decided to sidestep it for now, and Zsolt Viczián helped us ship pen mode instead. It’s enabled when we first detect a pen (stylus), and we start preventing most touch events until you leave it. You can still pan the canvas with two fingers, but we’ve learned that your hand triggered zooming too often so we’ve disabled touch-zooming in pen mode, too.
In the future we’ll want to investigate better palm rejection so that if nothing else, we can re-enable touch-zooming.
Other common problem on tablets was performance. Some pens were firing pointer events much more frequently than needed, causing a bottleneck in rendering. So we’ve throttled them to not exceed the framerate of your screen (commonly 60Hz), which had the desired effect.
While performance improved, it may technically result in slightly less line resolution — for most use cases it’s perfectly fine, but for handwriting we may want to investigate other venues (on that note, we would need to modify the freedraw algorithm, and there’s also the fact that most devices don’t emit high-resolution pointer events in the first place).
We’ve also heavily improved the Apple Pencil Scribble getting in the way, often dropping draw gestures altogether. Even so, sometimes drawing on iPads still triggers character recognition, which it’s unclear whether we can prevent — if you’re facing these problems, you might consider disabling Scribble in your settings.
Mobile and tablet experience is an ongoing effort and there are many more improvements to be had! But, you’re already making art in Excalidraw, so that makes us happy! ❤️
Do you know we support hyperlinks in the editor? Added by Aakansha Doshi, it allows you to add clickable links to elements to adding additional information and resources. Especially useful for linking diagrams together (e.g. on Excalidraw Plus 😋).
Support for in-diagram linking coming this year!
One missing feature was to add background to freedraw shapes, which was correct by Arun!
Until we do a proper redesign of the color picker, a useful feature we’ve added last year is to pick from the custom colors you’ve been already using on your canvas.
You’ll be able to pick from more shades and better colors in the upcoming color picker. 🎨
Now having a prominent position in the toolbar, previously you may have missed we’ve also added the Eraser tool, which allows you to remove multiple elements with way more ease, especially those tiny freedraw lines!
Tom Sherman added element locking to the editor, allowing you to lock elements in place to prevent accidental modifications or deletions.
It’s hidden under the context menu because the only way to unlock elements at the moment is by right-clicking and unlocking them from the context menu again. Thus, we haven’t put the lock button elsewhere in the UI so you don’t lock elements unintentionally as you explore what each button does, and not knowing how to unlock them.
Introducing support for locking of elements! 🔒— Excalidraw (@excalidraw) April 7, 2022
Useful when you don't want to accidentally move elements such as ones you use for background/containers.
To lock/unlock, use the context menu.
Implemented by @tomus_sherman et al ❤️
Try at https://t.co/NunLKqrvl8 pic.twitter.com/A2cCmQ4OOb
Libraries are something we’ll be spending way more time on this year, but a big change led by Ishtiaq last year was moving libraries to a sidebar, allowing you to keep the library open at all times:
We've moved the library into a sidebar so it's easier to drop your items on canvas!— Excalidraw (@excalidraw) June 21, 2022
And, if you have a mighty screen size, you can choose to dock the sidebar to keep it open for all time, if that's your thing :).
Via @ishtiaq103 & @dluzar ❤️https://t.co/74IIueHhs1 pic.twitter.com/xJwR4Crzvk
And little known feature is the ability to add multiple libraries to your canvas at once:
You can now easily insert multiple @excalidraw library items at once. Select several items (or hold Shift to select a range) and drag (or click) to drop on canvas.— Excalidraw (@excalidraw) May 11, 2022
Try yourself with this library from @SketchingDev → https://t.co/k5td3x3ivB pic.twitter.com/0lV4lnzoa7
You could add new points to existing arrow/lines in the line editor (Ctrl/Cmd-Enter) before, but it was hard to add points in the middle segments, so we’ve decided to work on that.
First, Aakansha added support for adding a midpoint to lines outside the line editor:
And then also allowed adding midpoints to any segment from within the line editor. We’ve decided to not expose this outside the line editor for now because it tends to get in the way too often when you try to move lines around.
Ryan and David have improved the default radius sizing for rectangles, making rectangles rounding to look similar across different sizes. While in the future we may support customizing radius to a point, our goal still is to make diagramming easy with as little tinkering with the settings as possible.
Per your feedback, we've made the rounding of rectangles less pronounced on large shapes, and more consistent across sizes!— Excalidraw (@excalidraw) December 8, 2022
(Old elements will stay the same so we don't break your diagrams!)
By @_ryan_di and @dluzar ❤️
Let us know what you think! https://t.co/NunLKqJ6cG pic.twitter.com/NYaBDvCE2O
Towards the end of the year, Aakansha added the long awaited ability to add text labels to arrows!
But, Excalidraw is also about the community helping out! Here, Alex Kim fixed a vexing issue when resizing certain elements.
Thanks to the awesome work of Alex Kim (https://t.co/0RmHH7eg1J) and @_ryan_di, we've fixed an annoying issue that was making the bird (and other groups of linear shapes!) often behave badly when resizing.— Excalidraw (@excalidraw) August 15, 2022
Not anymore! 🚀✨https://t.co/NunLKqrvl8 pic.twitter.com/aeyu63ltew
Want to help make Excalidraw better yourself? We’ll soon be making it easier to make your first contribution, so stay tuned, but you can head over to our GitHub right now.
What’s happening on the Plus side?
If you don’t know, last year we’ve unveiled Excalidraw Plus, an app aimed at teams built on top of the Excalidraw editor, offering companies much needed authorization and team management, and everyone a secure environment to organize their drawings, while still keeping our focus on simplicity and low friction. Adoption is not slowing down, and the app development is not lagging behind!
We have big plans this year you will certainly appreciate, but let’s give a shout-out to a few things that happened in Plus last year.
We’re iterating on the design not just in the editor, but in the Plus app, too! Besides the new look, we’ve added a search panel you can invoke anywhere:
We've touched up the @excalidrawPlus UI, as well as how searching works.— Excalidraw (@excalidraw) May 24, 2022
You can now open the search from mostly anywhere using the Cmd/Ctrl-P shortcut. Especially useful when in editor to quickly change scenes!
By @milosvete ❤️
More improvements soon! https://t.co/ZfNpZGbYoQ pic.twitter.com/tI6loq0jX2
An important addition was the introduction of the Dashboard. Get around quickly and view who’s drawing right now, and where.
We've added a dashboard to Excalidraw+ where you can see your last edited and visited scenes, as well as where people are working right now!— Excalidraw+ (@excalidrawPlus) June 23, 2022
Via @milosvete ❤️https://t.co/N9EqDmcmth pic.twitter.com/mOA4ZQUIoK
As the Plus app lives on a different subdomain, some of you were wishing for a more streamlined access. Milos added support for automatically redirecting you to Plus when you’re signed in, so you can access it directly from excalidraw.com.
We’re considering to make this the default (you would be always able to opt-out), because it can be confusing for some still. Let us know your thoughts on this one!
On that note, we’ve also made it possible to choose what page will be loaded first. You can pick between the editor or the dashboard, and more. What other shortcuts should we add?
In Excalidraw+ you can now choose what page you will land to on initial load.— Excalidraw (@excalidraw) August 17, 2022
Useful if you want jump right into your last edited scene and more. Check it out in your preferences!
By @milosvete ❤️https://t.co/ZfNpZGbYoQ pic.twitter.com/wU4kXTWdRh
To reduce friction further, you can now create drawings even quicker. Use the “Start drawing” button in the Dashboard, or Opt/Alt + A everywhere else.
Need to quickly jot down some ideas? 📝— Excalidraw (@excalidraw) September 19, 2022
In Excalidraw+ you can now create a new drawing using the "start drawing" button when you're in the dashboard, or by using "Opt/Alt-A" shortcut anywhere.
Will create a new drawing in your private collection!
Via @milosvete ❤️ pic.twitter.com/SO5XMgW7jL
Next, we’ve added support for sorting your collections, and choosing the sort order of your drawings.
We've added support to Excalidraw+ for sorting scenes by last created (the default), last updated, or alphabetically.— Excalidraw+ (@excalidrawPlus) July 20, 2022
This is a user-specific setting (synced across devices) and won't affect what your teammates see.https://t.co/N9EqDmcmth pic.twitter.com/eNh7o4ZSEz
To please the accountants, we’ve added yearly billing (it’s cheaper, too 😉).
Yearly @excalidrawPlus billing support is finally here! Fewer invoices and better price. 🚀— Excalidraw (@excalidraw) July 7, 2022
Switch during checkout. For existing subscriptions you can do so from the workspace settings.
Thanks @milosvete ❤️ pic.twitter.com/xC0bqhJhLD
Commenting is easier in Plus now, too!
VS Code extension & GitHub
If neither the excalidraw.com app, nor the Plus app suits your needs, perhaps editing Excalidraw files from your VS Code workspace will. And you can use the extension on vscode.dev & github.dev, too – try it out!
VS @code users, introducing the Excalidraw extension! 🔥— Excalidraw (@excalidraw) April 5, 2022
Created and led by @pomdtrr ❤️ it is now the official Excalidraw VS Code extension that we'll be improving and maintaining going forward 🚀https://t.co/baKxQxqxz6
And you’ll be able to use Excalidraw in the upcoming GitHub Blocks:
Excalidraw natively on GitHub soon 🚀 https://t.co/tLYiehHd6o— Excalidraw (@excalidraw) November 10, 2022
We restructured the Excalidraw Discord server to encourage engagement and interaction within our community!
If you have questions, feedback, or just want to chat, join us on Discord! We have some surprises in the works for Discord next year! 😉
In the wild
Excalidraw is being used far and wide.
From company docs…
Equally as important (probably more so) we have docs.— Will McGugan (@willmcgugan) October 23, 2022
These docs use the wonderful mkdocs and mkdocs-material projects. Diagrams were done with excalidraw.https://t.co/Jtu6OVJjPl pic.twitter.com/YF69T9y7it
To illustrating whole books!
We cover two chapters from the book Understanding Distributed Systems by @RaVitillo:— The Pragmatic Engineer (@Pragmatic_Eng) September 28, 2022
1. Downstream resiliency
Timeout, retries, circuit breaker
2. Upstream resiliency
Load shedding, load leveling, rate limiting, constant work.
Read it here: https://t.co/T1yo6X0frW
Or making awesome illustrations in general:
As we get nearer to 2023 and plans for a new year, for those of you considering Kubernetes, I strongly recommend the KCNA certification as a foundation. It's brilliant!— James Spurin (@jamesspurin) December 20, 2022
Have created this cheat sheet which will get you started. The video links provided cover 16% of the exam. pic.twitter.com/VMQvayoIq5
AI skeptics have a fixed mindset.— Victor 🧢 (@victor_bigfield) December 30, 2022
AI enthusiasts have a growth mindset. pic.twitter.com/AZhkm7pwgE
Look, here’s our Aakansha! ❤️
My talk about "Internals of Excalidraw" @ReactNext is now uploaded ✨— Aakansha (@aakansha1216) August 5, 2022
Had an amazing experience at the conf, lots of memories, fun and the most special thing about this conf was giving my first in-person conference talk 😍https://t.co/M64PSpKu8t
Those slides must have taken a lot of work! (Or maybe not, with Excalidraw 😋).
Just published a presentation from my talk about @PrometheusIO history.— Martin Chodúr (@FUSAKLA) June 18, 2022
It's short, fun and full of images!
Had a great time drawing it and going through the CHANGELOG, PRs and issues way back to the first releases 🎨 🥳https://t.co/Mwqvqb9mFY pic.twitter.com/cO517U6FuT
And not to forget Chris’s talk at Next.js Conf!
My talk on Excalidraw at Next.js is out! I talked about the history behind the project, how rendering and multiplayer works and a bit about the funding model for this open source project. https://t.co/eZql6T7QKk— vjeux ✪ (@Vjeux) October 28, 2022
Speaking of YouTube, Aakansha recently explained how to build your own Excalidraw over at Chirag’s channel.
Hi all I recently did my first podcast and its uploaded now ✨— Aakansha (@aakansha1216) August 25, 2022
Its a System design mock interview / HLD discussion on "Designing a Whiteboard"
This was so much fun!
Thank you so much @engineerchirag for having me!
Do check it out & share your feedback 💕https://t.co/diX9Sc3l0z
You rock hard at Excalidraw! 🍉
Last year we’ve added many great features, but we are not done! And we want to improve on existing ones, too, such as as better text editing support, arrow binding, and more. At the same time, making sure the editor retains its simplicity and low friction.
We’ll also be focusing on performance so that even huge drawings can be edited smoothly.
And we’re not forgetting libraries. More on that soon!
Next year, we will taking the Excalidraw package to the next level, beginning with the upcoming npm release bringing the redesigned editor to your apps, and featuring an improved API to customize some parts of the editor UI. We’ll use this as a test bed on whether this type of new API works well, and we’ll be making changes to the rest of the editor to allow for much greater customization.
There are lots of places in need of much smoother experience, such as the images API, listening on changes, and programmatic API in general, so we’ll be working on that, too.
For Plus, we’ll be making strides on three fronts. Features, friction, and management.
We’ve learned from your feedback, and are adding features that you will like. From better sharing and readonly links integration, to presenting from Excalidraw a breeze.
At the same time, we want to ensure the app is as frictionless as possible. Getting your ideas on the canvas is what Excalidraw is about.
And we want to make it easier for business to make the transition. From user provisioning and auth (think SAML and SCIM), to billing, and enterprise support.
Join the Excalidraw team!
As alluded at the top, we are looking for talented devs such as you! If you’re as pumped about building Excalidraw as we are, we have open positions at both the Excalidraw editor and Excalidraw Plus. Check the details and drop us an email! 💪
If you don’t feel as confident but want to prove yourself, start contributing to excalidraw. That’s always a good way through which to join our ranks!
It’s going to be a packed year for Excalidraw across the board!
Happy New Year everyone! 🎉