reMarkable tablets are super neat devices for taking notes at work, studying, researching, sketching, journaling, planning and more.
If you ever wondered what's going on behind the scenes, this is the article for you. In this article, we'll be looking at how reMarkable's coordinate system works.
Note that this article is an explorable explanation, all the examples are interactive, meaning you can learn from them by playing with them.
Coordinates
The reMarkable lines format stores lines in a coordinate system. A common coordinate system in computer science is the cartesian coordinate system. It's the same one used on high school graph paper where you have an x-axis and a y-axis.
Quick recap on coordinate systems
This article is going to go dive into some detail behind these coordinate systems. A little bit of background knowledge on a few core concepts will make things a lot clearer to understand. We'll quickly cover the cartesian coordinate system, what origin coordinates are and the "screen coordinate system".
The cartesian coordinate system
A "cartesian coordinate system" is just a fancy term for the coordinate system you're already used to. There's an x-axis and a y-axis. The y-axis is vertical and the x-axis horizontal. Nothing special here.
Why's it called cartesian? It was named after René Descartes (you might know him of "I think therefore I am" fame!).
Note there is one coordinate in this system that is really important, it's called the origin coordinate, the origin coordinate is always set to (0, 0).
Computers do it sliightly differently than what you're used to
When these graphs appear on paper, the origin coordinate is often visually in the center. This makes sense, because when working with mathematical functions, you want to show what the function does both above and below 0 for both the axes.
Another common example is with bar graphs, line charts and the like, where the origin coordinate tends to appears in the bottom left.
But computers are a bit of an odd duck here. If you're playing a game or editing photos in photoshop, the programmers who make the pixels appear on the screen are working with choices that deviate from most charts you see in everyday situations:
- The (0, 0) coordinate is actually in the top-left of the canvas
- As you go down the y coordinate, y increases rather than decreases
This system is called the Screen Coordinate System. These two differences have advantages for computer programming, if you're curious to learn more you can read this excellent article.
That's all you need to know about the cartesian coordinate systems, simple!
Now, on to the reMarkable coordinate system
reMarkable's system deviates slightly from the traditional Screen Coordinate System, let's call it the reMarkable coordinate system.
In the reMarkable coordinate system, the origin coordinate isn't in the center, not in the bottom-right and not even in the top-left. Nope! Instead, the origin coordinate is in the top middle. It did make the same choice as the Screen Coordinate System to increase the y-coordinate as you go down.
Where they also deviate from the Screen Coordinate System is that you usually can't actually achieve a negative y coordinate. In a game, a negative y-coordinate (going up) would leave your cursor above your monitor. Whoops!
On the reMarkable, this is possible, because you can pan the view and go above a pdf or notebook to add margin notes.
Let's look at reMarkable's tablets
As of the moment of writing, reMarkable have a total of 5 tablets. Note that the rM classic and rM 2 share the same resolutions but the newer tablets have different resolutions, screen sizes and DPIs!
| Device | Resolution (px) | DPI (Dots per inch) | Screen size (mm) |
|---|---|---|---|
| rM classic | 1404 × 1872 | 226 | 157 × 209 |
| rM 2 | 1404 × 1872 | 226 | 157 × 209 |
| rM paper pro | 1620 × 2160 | 229 | 180 × 240 |
| rM paper pro move | 954 × 1696 | 264 | 91 × 162 |
| rM paper pure | 1404 × 1872 | 226 | 157 × 209 |
On top of these tablets different tablet sizes, reMarkable also have a phone app and a webapp where your drawn annotations, highlights and typed text need to show on an almost infinite variety of screen sizes and aspect ratios!
Now, let's look at what happens if you tried to fit these tablets on the regular Screen Coordinate System.
Note how the tablets are all anchored to the top-left origin coordinate. So far, this looks totally fine.
For comparison, let's look at how this looks in the reMarkable coordinate system:
Where this starts mattering is when you add pinch to zoom!
Zoomies
If you own a smartphone (or maybe a reMarkable tablet?), chances are zooming feels like the most natural thing in the world to you. There's a little bit of math hiding behind it! When zooming happens, you might have noticed that zooming always happens around a point between your fingers, this point is called the anchor.
Zoom in? Everything moves away from the anchor. Zoom out? Everything moves towards it. The anchor never moves.
Try dragging the anchor right on top of one of the scrybbles and zooming. That scrybble sits perfectly still while everything else runs away from it.
Oh finally we can understand why the origin is in the horizontal center
The reason reMarkable chose the centered coordinate has nothing to do with pinch to zoom though, it has to do with another type of zoom.
Consider what happens when a notebook is written on the smaller paper move, and then you open it on the larger paper pro.
The paper pro has to make sure what you wrote on the smaller device fits in a way that makes a lot of sense, and do so from the moment you open the smaller device's notebook.
This actually involves a zoom as well, the paper move's content is scaled to fit on the paper pro's larger display!
Look at what happens if you do this in the Screen Coordinate System.
Versus what happens if you do it in the reMarkable Coordinate System
The horizontally centered coordinate in the reMarkabe Coordinate System means that the scaling just falls out automatically! Normally you'd have to move center the result by hand, but with the centred coordinate you don't have to bother.
And the canvas can be extended!
Let's zoom (ha!) back out a little bit again.
A well known feature of the reMarkable tablets is that the canvas isn't just a static view; it can be panned, zoomed and more importantly it can be extended so you can make margin notes, larger diagrams and sketches and whatever your creativity lets you come up with!
The virtual canvas system is actually very well suited for this, because it exists just in "math" and its boundaries (size) can be changed at will.
This coordinate system is now super cool, the tablet now acts as a sort of "view" on this flexibly extensible, zoomable and pannable infinite canvas.
Fin
There's a lot more to the reMarkable's system that we'll be exploring in future posts. Stay tuned!
This article exists in large part due to RedTTG's time helping me understand the reMarkable coordinate system, her blog posts go into the gorier behind-the-scenes details of figuring out how the reMarkable annotation software works! See her post on the reMarkable PDF coordinates, and the preceding post on text rendering on the rM
Also check out her work on librm_lines, which is an open-source, performand and portable .rm file rendered written in C++. It will be powering Scrybble soon.
~Laura Brekelmas,
Scrybble - Empowering curiosity