Boox E-Ink Draw
As you might already have deduced: I like to draw.
And maybe harder to believe for a Nerd like me. I also enjoy sitting outside in the sun.
Combining these 2 proves a challenge though ... The best drawing experience I find on the iPad, but that is totally not suited to be used outside: the screen is barely visible.
I solved that by using a device with an eInk display: a Boox Note Air 4C.
Lovely device - except; it doesn't have a good drawing app.
Which is a bit weird because the internal note taking apps on the Boox offer a surprisingly pleasant drawing experience: zero-latency, a few good brush presets .... it would be ALMOST doable to use those as drawing tools.
Except: they store every stroke as vector object, and when the image gets more and more complex, the speed goes down the drain and you're staring at a loading screen half of the time.
The devices runs on Android.
There are a few good drawing apps on Android, but let's be honest ... it is not even a pale shadow of the super smooth drawing apps that an iPad has... sometimes, the closed garden of IOS pay off in app quality...
To be blunt: drawing on Android SUCKS.
It's just to sluggish and slow to be any fun.
Some devices solve that by just throwing more horsepower at the problem, but not my eInk device ...
My browser based dpaint.js also runs on the device, and not even worse then any other generic Android drawing app, but still to slow.
But how do the Boox native apps manage to offer that super-smoot zero-latency drawing in their apps?
The answer is as simple as it is brilliant: they bypass the Android layer and talk directly to the screen controller.
The screen controller has a few embedded system brushes, and a native library that translate those hardware brushes to software.
So when you draw; they freeze the Android screen, and release it again when you stop drawing. Brilliant !!!
Of course this only works on their devices, but that's good enough for me.
I want that, but then in my own app.
Only... documentation is incomplete, missing, outdated, or just plain wrong, and the system libraries needed are exatly that: system libraries that a 3rth party app can't access.
Boooohhhh!!
But of course, it Android and Android runs of top of a linux-like system, which are all open so ....
Enter the hacking mentality.
Decompiling and reverse-engeneering system apps is quite easy in this age of AI agents.
So after a few days of hacking ...
Here is "Boox E-Ink Draw"
It uses the device specific system-brushes to get that zero-latency drawing that we all love so much.
And it does slow down because the strokes are baked into a bitmap layer, not stored as a ever growing pile of vectors.
I only tested in on a Note AIR 4C, because that's the only Boox device I have, so it would be good to collect some feedback from users on other devices.
It's open source, free, simple but functional, and most of all: it offers a zero-latency drawing experience.
Source code and download links to the APK at: https://github.com/steffest/Boox-EinkDraw/
So here's a warm shoutout to ONYX or BOOX, the company:
you offer best-in class e-Ink writing and drawing tech. Your zero-latency strokes are the reason we love and buy your products. There are developers out there who want to pour their resources into developing for your platform, but for *peeps" sake... why do you make it so hard to get the information we need to do so? Please, pretty please - update your dev channels with some up-to-date info and code samples, so we don't have to guess and/or decompile your apps just to see how things work.
Oh, and the best part: it saves files in the same format as Dpaint.js , so if you need more advanced graphic stuff that is not present in this Android app, you can ping-pong between the 2 to get the best of both worlds.
SideQuest completed!
Back to the main game.
Happy drawing !
