Is there an e-ink tablet that I can just make stupid simple apps for, that aren't some hosted, API-driven thing?
Give me wifi, e-ink display, and the ability to write a regular program that writes unicode chracters to STDOUT (and have that rendered to the display) and I'll give you my money right now. All it needs is a plain-old Linux TTY driver for the e-ink display (so you can set the fonts as you would in Linux). Then all you need for e-reading is a plain text file, the column tool for formatting, and the less pager for paging.
In terms of output more complex than text, there's this program dialog that takes command-line input and renders a UI in a console. That exact same thing, except rendering directly to the e-ink display, would work fine for 90% of e-ink apps. It could handle rendering fonts, styles, images, layouts, buttons, etc. Anyone who can learn basic scripting and use unix command-line tools could then make their own e-ink apps, and run them on the tablet, with absurdly low resource use.
> Give me wifi, e-ink display, and the ability to write a regular program that writes unicode chracters to STDOUT (and have that rendered to the display) and I'll give you my money right now.
I bought an Inkplate 10 from eBay for like £80, which is an absolute bargain. 10" display, ESP-32. You do have to buy a battery but they're cheap and available and it has the charging circuits built in.
The only real downsides I've found are:
1. No case. I don't want an ugly 3D printed one so I ended up buying a custom sized picture frame online (£17 I think), and mounting it in that.
2. The software is Arduino based. Arduino is trash, but I don't want to have to figure out how to set up something sane like PlatformIO or Rust, so I've opted to put as little software on it as possible. All it does is download an image, display it, and then go to sleep for however long the server says. I even made a simple custom image format so I didn't have to deal with PNG or whatever.
Yes it is. Code quality is abysmal. There's no CLI interface to their build system so you have to use their gimped editor. It doesn't even support incremental compilation, which means a one-line change takes like 5 minutes to deploy while it rebuilds SSL libraries etc. every single time.
Having said that I probably would have just bought this if it was available at the time. Only 7 inches, which is tiny, but a lot less effort!
Not e-ink though so the display isn't always-on and you need a power supply. This can hang on the wall and you just have to recharge it every few months.
Comes pre-installed with a Debian-based distro. It's basically a regular computer in an e-ink tablet form-factor. You can use whatever language and whatever toolkit you want to make your apps. `dialog` works. VT-switching (Ctrl-Alt-F<n>) works.
It's got its issues. For example, the preinstalled virtual keyboard feels kind of unusable. Keypresses sometimes don't register if you don't hold them for long enough, and they sometimes don't register if you hold them too long, because then it opens up a menu for look-alike characters. wvkbd (another virtual keyboard) works much better, but it's not compatible with the preinstalled wayland compositor, so you'd need to switch to sway or something, which is perfectly doable.
Anyway, as the product page says, it's kinda beta-phase, but I'm personally satisfied with my purchase.
handling image generation on-board the PCB is a pretty heavy task, so we think the server-side delegation is clever + easier to extend.
you don't need to host per se, however. you can deploy one of our BYOS options on a local network and let your device(s) ping 192.168/api/display. just about zero config required, just docker up and input your local network domain into the FW > captive portal UI during setup.
I was unaware of your project before and had actually done a basic "rolling my own" with a pi zero, e-ink screen, home assistant & hass-lovelace-kindle-screensaver which has a similar pulling image architecture.
However I can see many benefits of this, particularly running without a power connection and have ordered. Hurry up with the next batch!
For what TRMNL is it seems like a smart decision to me. I know CPU grunt is dirt cheap these days but you’d never get the battery life that you are if you put more smarts on the device. You’ve clearly optimized for something very useful.
I got mine a little over a week ago, I’ve been enjoying it so far. I was messing around with my settings tonight when I found your post and I thought it would do well here.
I love the idea that even if something happens I can keep mine going easily.
I tried to write an Android app once, and I did not find it simple. I vaguely remember needing a Mac or Windows, downloading an IDE, learning Java, and then vaguely searching for things like "what do I need to make a pop-up in Android" and having no idea what functionality was available or how to call it. I gave up after 2 days.
This is what I think of as simple:
$ result="$(
dialog --radiolist "Pick a card" 0 0 0 \
"Six of hearts" 1 "on" \
"Nine of clubs" 2 "off" \
"Ace of spades" 3 "off" \
)"
$
$ if [ "$result" = "3" ] ; then
dialog --msgbox "I love Motörhead too!" 0 0
fi
$
You don't need Java code, frameworks, permission-accepting, IDEs, packaging, shuffling files to and fro, web servers, etc etc. All of that shit that people today just accept as the best we can come up with. All that unnecessary complexity, for what? So we can gatekeep computing for the geniuses? So we can justify having to spend hundreds of dollars on a new mini-supercomputer every year, just to display a calendar? I'd really rather not.
Give me the equivalent of a 486DX2 with 16MB of RAM, a simple TTY, and a program that renders dialog boxes directly to video memory, and I can do everything I'll ever need to [with a small e-ink screen]. Save the fancy stuff for tablets and laptops.
Right and also there's a full linux under there with numerous processes running, waiting for touch and other i/o events, updating the display and RAM. Not great if you want weeks long battery.
I would like to imagine an e-ink operating system like what Kindle has: a hardware off by default mode, unless a physical button press is given. It wakes instantly, does its job, as complicated as needed, and then goes right back to hard off until the next wake.
Usually writing to eink screen requires proprietary stuff (drivers, waveforms...). Especially if you want partial refresh or low latency.
I suggest to look at reMarkable tablet, a device with an wink screen which runs Linux and respects the GPL.
Has been discussed before on HN [1]
They recently added documentation about developing apps for the devices [2], but the community has been doing that for years
I got my wife a Daylight tablet and she loves it. prefers the screen over any tech she has used... eink, OLED, whatever. It's standard android, so go ham.
What do you guys think of an escrow certification service similar to OU (kosher foods). E.g. UB – un-brickable would certify that a vendor provides access to the bootloader & signing keys to ensure the lifetime access. In the event the product or company ceases to exist, the escrow service would release the assets needed to continue open-source firmware updates.
There could be multiple levels of UB certification ranging from : only keys to fully open sourcing the firmware upon termination
open to it. perhaps granting an escrow service readonly permission to web server box (not DB) would suffice, as then it could all be pulled down, versus closed source on GH?
i'm new to this but we do want to demonstrate sincerity and put our $ where our mouth is.
these seem to be more about archival after the fact. I would like to see a commercial certification & commitment right from the start, similar to OU for food, UL / ECE for electronics
Mandating source code isn't remotely near perfect either. In an ideal world we wouldn't need currency to organize an economy. People gotta demand more.
I'm not against the idea. I don't want HP-ificiation or Samsung-ification or FAANG-ificiation or any other form of enshittification. Just require _everything_ to be open source to be fully certified. Without open source hardware and software, you're just buying future e-waste. I don't want some workaround like "oh yeah the certificate is for the initial release but you need to update for security and oh by the way the update is not certified".
Otherwise, imagine this scenario:
Company release a product and pushes out the version for the certification. Updates require new versions to be signed with a particular key. A couple months later, the key is leaked! Okay, so keys are rotated and a new update is pushed and the old key is blocked.
What happens to the certification? What use is the certified key? What use is the certified source code? The certification should mandate a user-activatable factory-reset to the certified keys and code, which can't be tampered with by firmware to block or modify a different firmware from being installed.
> ...affirms our intent to release the core web application source code if and when we ever become insolvent as a company.
We can only hope that, if and when this happens, they release the code before actual insolvency, otherwise the IP may fall into the hands of a less scrupulous organization.
They can be perfectly solvent and simply decide they don’t want to play anymore, take their ball, and go home.
Or they can be acquired and the new owners can tell the community to pound sand.
Finally, when companies are insolvent they tend to not have the resources to follow through on things like this. Including maintaining things in escrow.
This isn't how this works, my $dayjob has something like this in our contracts. We are obligated upload the entirety of our source code to a 3rd party escrow service as chosen by us and approved by them which will be released to the relevant parties if we become insolvent.
Whether TRMNL is actually using an escrow, who knows, but this is a problem that can and has been solved.
This is a problem that can and has been solved, but notably isn't solved by just posting this kind of "pledge" without actually setting up the escrow infrastructure.
"Past performance is not indicative of future results"
People are unreliable. They change their behavior based on circumstance. The person who posted the pledge may well mean it right now, but then some things change and it all goes out the window.
Even worse is that companies change hands. The old owners sell or, heaven forbid, the previous owner dies. When companies change owners, all previous promises have no meaning.
>Introducing the Unbrickable Pledge.
> ... intent to release ... if and when we ever become insolvent as a company.
First, it's an intent, not a promise. Second, if you are acquired or product sold, then no such promises/intent mean anything anymore. Calling it the "Unbrickable Pledge" sounds like a bit of an overstatement.
It’s not mentioned in this article but there are already open source backends for TRMNL and it’s as “easy” (I’ve not done it but it seems straightforward) as editing the endpoint in the open source firmware, building the firmware, and copying it over to your device.
So far I’ve been happy with the default offerings so I haven’t tried it but it’s nice to know there is always an escape hatch.
Oh nice! I was wondering how I missed that because I just got my TRMNL last week so I figured my knowledge was up-to-date but I see this was merged 2 days ago, very cool!
And yet the device enclosure is made with “soft touch” ABS plastic, which degrades terribly over time and becomes sticky. Any gadget made with this material is ewaste in 6-10 years.
There are a variety of ways to make abs sticky-ness go away. Orange oil is a common and easy one, though a little trial and error on a small patch with different options will often yield good results if it doesn’t work.
I think maintenance and care of this sort is a reasonable requirement
Give me wifi, e-ink display, and the ability to write a regular program that writes unicode chracters to STDOUT (and have that rendered to the display) and I'll give you my money right now. All it needs is a plain-old Linux TTY driver for the e-ink display (so you can set the fonts as you would in Linux). Then all you need for e-reading is a plain text file, the column tool for formatting, and the less pager for paging.
In terms of output more complex than text, there's this program dialog that takes command-line input and renders a UI in a console. That exact same thing, except rendering directly to the e-ink display, would work fine for 90% of e-ink apps. It could handle rendering fonts, styles, images, layouts, buttons, etc. Anyone who can learn basic scripting and use unix command-line tools could then make their own e-ink apps, and run them on the tablet, with absurdly low resource use.