47: Remarkable Futures
A Remarkable Review
I love e-ink. It manages to be both an infinitely malleable abstract display, and an object, something that exists in continuitiy with the rest of the world. The ReMarkable 2, expresses these qualities truer than any other device I’ve seen.
Celine pre-ordered one as a birthday present for me, but it only arrived a couple days ago.
It’s an absurdly thin tablet, with a 10 inch e-ink display that crisply renders PDFS and EPUBS, and a stylus that lets you draw and write with barely any perciptable latency. And, amazingly, that’s pretty much all it does. The interface is incredibly minimal. I’d guess there are less than 50 different buttons totalling every screen in the device.
The core experience of the device is excellent. Reading and writing on it just feels good, and the ability to write while still freely reorganizing pages, and jumping between different notebooks is incredibly powerful.
But, I get really excited by the periphery of possiblities around that core.
For example, ReMarkable offers a browser extension that let’s you convert a webpage to an EPUB or PDF and send it to your device. You could read those pages on the tablet, highlight and scribble on them, and then export them out and use a piece of software to extract your annotations.
Remarkably open
This possiblity feels real because of how incredibly open the ReMarkable is. It’s operating system is GNU/Linux based, and it respects the GPL and let’s you access the underlying operating system directly.
All the files on the system are there, along with all their metadata, and you can interact with it just as you would any other files on a computer.
This is really something to be celebrated. I don’t think I’ve ever seen a consumer product of this scale do anything near this. It’s enabled enterprising hackers to add features to the device, enhancing it’s simple core.
Honestly, I’m unsure why the makers didn’t take it further and open-source the application that runs on the device itself. This would allow folks to build on and extend that interface to fit whatever wierd idiosyncratic needs they have. And we’re talking about reading and writing, so people have a ton.
ReMarkable have a really strong advantage here in that they’re already way ahead of anyone else I’ve seen with both their hardware and software. The physical device is incredible, they’ve gotta be doing some wizardry to get latency so low with the pen.
They should build on that lead by giving people the freedom to extend their devices, and explore the possibility space this medium offers.
The remarkable is already a well behaved citizen of the larger ecosystem Linux ecosystem, but it could give life to a whole software ecosystem downstream of it as well.
It’s really quite incredible how the ReMarkable embodies the unix design philosphy in a complete product. It’s laser focused on being good at the things it does, writing and reading. It’s not perfect by a long shot, especially on the reading front, and there’s a lot more to explore, but it’s enheartening to see it exist, and be so damn good.
The Unix Philosophy
Using the device these last couple days has got me thinking about how the tools I build can play nice with other software. Right now I’m building the prototype I’ve been working on as a web application that communicates with a local server. I wrote a little bit about why this stack made sense but, I’m second guessing it a bit now. Being an application like this means that it’s completely disconnected from a whole host of tools. One particularly amazing one is ripgrep-all, a program that can search anything, video subtitles, pdfs, images, text. That’s a really useful tool to have in your arsenal.
I could re-architect the prototype as a smaller tool that instead of controlling the entire experience of writing and interacting with documents, focuses on the core new thing here, interacting with notes programmatically with a rich API, and leaves the rest to other tools. Initially I was opposed to this because I thought a tight integration could let me explore things more freely.
Now I’m leaning towards the idea that seperating it let’s me laser focus, like the ReMarkable, and over time I can tie in deeper into specific tools. Instead of building out the text-editor myself, so that I can integrate interaction mechanisms, I can just explore those interaction mechanisms in a REPL on the commandline, and make a nice API so potentially any editor can call it to enable interactive documents. This also means I can just get started using those text-editors now. Which, given how much I love using emacs, is quite the joy.
So, I’m going to take a stab at it! I’ll be extracting the logic I’ve implemented in the prototype thus far into a commandline program, focusing on playing nice with editors and other tools. I don’t think I’m going to arrive at something ideal any time soon, but I’m excited about the process of translation as one of refinement. I’m excited, I think this’ll open up the possiblities for experimentation even more.