Infinite Canvas
infinitecanvas.tools
infinitecanvas.tools
Goodnotes documents are essentially paper notepads that you can write in. New pages are added to the document as you need them (usually by swiping right from the last page).
I've tried a couple infinitely zoomable canvases but I tend to make a bit of a dog's breakfast when I use them:
- Everything ends up in a seemingly random place in the document, and at different zoom levels. I personally find I tend to gradually zoom out while I write in infinite canvas apps. After awhile it gets increasingly difficult to find things I've written earlier because old things get small.
- There's no natural sense of "before" or "after" on an infinite canvas. This is kind of the point, but it makes me work harder to keep items arranged in space or tell a story after you've taken a bunch of notes. If you don't, then you've got to go hunting for things.
Goodnotes doesn't have this problem. I can sit down and just start writing, or flip to a new page and write there. Because pages have a natural order, my notes end up in a nice chronological ordering. Each page is individually coherent, and its easy to reorder & delete pages later if I want to throw away some of my rough note pages. And each page is screen sized. There's no ambiguity about how big each pen is, or what the right zoom level is for something I've written. Each page fits on the screen. The next page is a swipe away.
Infinite canvases are better for connecting disperate ideas - like mind mapping. But the notes I've taken in goodnotes feel easier to read later, or screen share and present. I find I tend to go back and read them more often.
But it has two big usability issues:
1. Your documents are not organized spatially. They are dumped in a way that is convenient for application developers to implement. This means that every time you launch an app with an idea in your head, you spend time and mental effort on finding the document that you want to open. By the time you get there, the idea is often gone.
2. Its "paper" isn't screen-sized. Seems silly? Perhaps — but on my iPad Pro about 10% of screen space is wasted on "margins" just because their "paper" isn't the right size. If you don't implement an infinite canvas, that's fine, but then provide a way to quickly take notes on "pages" without zooming, panning, or otherwise fiddling, and provide a way to use all of the screen.
I feel like we underestimate the power of simple and the power of spatial organization.
Update: Just did a quick test and it appears that the PDF export is a vector output. You can open and edit it in Affinity Designer and likely other graphic programs and then export from then to SVG or something else.
15min video demoing it: https://www.youtube.com/watch?v=rPescoJzcFA
The Mac desktop remembers icon/folder positions — and people love it! That's why it's used for so many things and why you so often see unbelievably busy/cluttered desktops. So why can't other apps and OSs do the same? Windows insists on losing my desktop arrangement regularly. Apps and file managers show table views. File-Open windows show (tiny) table views with inscrutable navigation. And even the Mac, which used to be spatially-organized, can't even be bothered to remember window positions correctly.
It makes sense, at a deep level in our brains, that we apprehend our world spatially, that we'd be adapted to instant recognition of landscapes. Other people would look at my Mac folders and ask "how can you find anything?" For me, it was bliss. I could see without having to read any path names exactly where I was, because each folder's icons had a unique sort of constellation. If I needed to find someplace else, unconscious brain mechanisms could tell me it's that way, i.e. behind whichever icon. London cabbies are known to have maps of the entire city in their minds, and that's what it felt like. Some of the same people that thought my icon arrangements were crazy had their own constellations that didn't make sense to me. It was a much more personal experience.
So of course not long after trying to get comfortable with W95, it came as a shock when I discovered previously tamed territory was suddenly in disarray. Suddenly I had to read O(n) icon names to find what was sought, rather than just knowing by spatial arrangement which was the right one. And as I tried to establish and expand order, it became apparent this was just a kind of whack-a-mole, due to a very poor implementation that could only retain 400 positions at most. There were many other reasons I eventually abandoned Windows, but this was one of the first deep aggravations with it.
There are examples of grouping and some clear hierarchies. But our mental processes are more complex. Things can exist in multiple boxes, boxes can overlap, crosscut, have different priorities, constraints, etc. Conventional hierarchies are too simple.
Of course, that misses the graphical/spatial aspect of other tools, but as josephg points out, these sometimes backfire without a natural, design-encouraged way to organize the content, and a stable frame reference. I for one don't miss the ability to organize my content spatially, even though I do that when working with physical paper. I think that's because of the limitations of the medium — i.e. I spread paper sheets out on a surface, and spread content within those sheets, because it's the only way to group content in a stable manner. The nesting system performs the same function for me in outliners.
Currently, the majority of infinite canvas applications begin to noticeably lag and stutter after a while, and start to have syncing inconsistencies especially in their "multiplayer" mode.
It always surprises me how FigJam is never mentioned in discussions around this topic, even though it’s sibling product (Figma) is so popular!
Their key example is Figma…which is, effectively, a better knockoff of the native Sketch mac desktop app. It had that infinite canvas first.
E.g. lot of canvas/whiteboard "competitors" use drag-to-pan with a trackpad, which if you've ever used Miro/Figma/etc. feels very outdated compared to the two-finger pan that they use. We've tried to replicate similar behavior for our app and had to try and reverse-engineer it from multiple of those apps, as almost every out of the box OSS implemenation of canvas navigation only implements drag-to-pan.
It's a lovely resource.
This category of app might finally be the “killer app” that drives tablet adoption & moves digital collaboration ahead of the physical whiteboard.
Freehand has changed how I work with my team. It’s phenomenal for documenting workflows. It’s also better than PowerPoint at evolving a slide deck. Amazingly, it works well enough on a phone to reference on the go. Currently too expensive for large teams though.
Designing or planning something is different. You want to record options, potential paths that may not be taken, input from various people with different viewpoints. A graph structure can help manage that by making the branching and grouping more explicit.
Graphic representation can plug into that brain system. We all want tools that get out of the way and enable us to focus on the problem at hand, to help establish the much desired state of flow - nobody (I know, anyway) likes to continuously put the business problem on pause to navigate some tool's odd conceptualization of the work space.
At least for some users, the value-add is smoother work flow.
Extremely poorly? I 100% notice my lack of ability to navigate without aid. If I was to guess the representation in my head, it'd be a node graph, which you'd think would be spatial, but doesn't have to be, in my case it isn't. Intersections are just connected to other intersections, that's all I seemingly know: I can't even reasonably predict how far I am along a road!
All of this to somewhat say, the "some" in "At least for some users" is doing overtime: I think the answer isn't an infinite canvas, but somewhere in the facts of what an infinite canvas offers us over traditional forms: extreme link-ability between things, and organization of those links
I guess would you:
1. Initially set a default window size and scale the window to that? 2. Track if the user is zooming in and out and based on the zoom factor scale all the windows contents based on that?
Then, during rendering, all size values just hit that scale factor.
The apple ecosystem is lovely but I’m not willing to pay the cost of entry when I have perfectly functioning hardware.
Obsidian comes close, but it doesn't offer the full drawing toolbox like Miro.
I’m one of the creators. Got a bit backed up due to personal circumstances, but I have time carved out in the holidays to make changes.