E-inkはなぜレトロパンクなのか
(rmkit.dev)- E-inkデバイスは、カラーディスプレイやアプリストアの代わりに低消費電力・低性能という制約を受け入れ、80〜90年代のコンピューターのように直接触って直す楽しさを与えてくれる
- 好まれる形は、ディスプレイサーバーや大容量RAMなしでLinuxを動かす低消費電力ARMデバイスで、アプリは入力やframebufferに近いところで動作する
- reMarkableやKoboの周辺では、ランチャー、ターミナル、インタラクティブフィクション、代替電子書籍リーダー、Doom移植版のようなホームブリューソフトウェアが育っている
- 出発点はreMarkableのToltec、KoboのKoboStuff・devmodeon・SSH設定だが、デバイスごとにドライバー・バッテリー・パッケージ管理の制約が異なる
- Kindle、Onyx、Pine Noteにはそれぞれjailbreakの必要性、GPL論争、ソフトウェアの未成熟さがあり、ハック用デバイスとして選ぶ際は注意が必要
E-inkがもたらすレトロパンク感
- E-inkデバイスは、80〜90年代のコンピューターが持っていた魔法のような感覚をよみがえらせる装置に近い
- WindowsやMac OS Xのような巨大なデスクトップ環境よりも、抽象化の層が少ないシンプルなコンピューティング環境に近い
- 2020年代版のDOSであり、大人向けのグラフ電卓のような立ち位置にある
好まれるE-inkデバイスの条件
- 核心は、ディスプレイサーバーや数GBのRAMなしでLinuxを動かす低消費電力ARMデバイスであること
- 魅力は性能よりも制約とシンプルさから生まれる
- E-inkディスプレイは日中でも画面を見やすい
- 低消費電力の特性により、1回の充電で数週間使える
- ARMは命令数が少なくコストも低いシンプルなアーキテクチャである
- LinuxはAndroidよりシンプルな環境として扱われる
- アプリはカーネルと直接通信して入力を読み、framebufferへ直接描画する
- RAMが少なくCPUも遅いため、複雑なソフトウェアスタック、ウィンドウマネージャー、ブラウザー、Electronアプリを載せる余地が少ない
- 90年代初頭のコンピューターに似ているが、現代のデバイスらしい利点もある
- 解像度は過去のコンピューターよりはるかに高く、PPIは200〜300程度である
- すべてのデバイスがタッチイベントをサポートし、一部はペンスタイラスにも対応する
- 重さは200〜400g、画面サイズは6〜10インチで携帯性が高い
ホームブリュー中心のソフトウェア文化
- E-inkデバイスはニッチな機器なので、ソフトウェア生態系はHomebrew Computing Clubのようなホームブリュー文化に近い
- ユーザーは、カラーディスプレイ、アプリストア、追跡ピクセル、pay-to-play機能、絶え間ない妨害要素を手放して、低性能デバイスで作業することを好む愛好家たちである
- メール、チャット、ソーシャルネットワークはなく、シンプルなアプリケーションだけが残っている
- 制約は多いが、まさにその制約があるからこそ、面白くユニークなソフトウェアが生まれる
reMarkable生態系の例
- reMarkable生態系には、デバイスの制約を活用したさまざまなアプリケーションがある
- oxideと remux: マルチタスクアプリケーションランチャー
- terminal emulators: ターミナルエミュレーター
- folly: インタラクティブフィクションインタープリター
- sill: 直接書ける実験的エディター兼シェル
- harmony: レイヤー対応の手続き型ドローイングアプリ
- koreaderと plato: 代替電子書籍リーダー
- sas: Unix哲学に従うシンプルなアプリスクリプト
- chessmarkable: チェスボード
- doomarkable: Doom移植版
- rmkit.devと Toltec stableでもさらに多くのソフトウェアを見られる
Kobo側のハックの流れ
- Kobo側では、NiLuJE、pgaskin などがハックを続けている
- 代表的なソフトウェアは次のとおり
- InkBox: 複数の内蔵アプリケーションを含む代替OS
- KoReader: ほぼすべてのE-inkプラットフォームをサポートする電子書籍リーダーで、Koboでも動作する
- NickelMenu: Kobo UIシステムにさまざまな機能を追加するツール
- E-inkはまだニッチな分野なので、生態系を埋めるアプリケーションを作る余地が大きい
ハックを始める方法
- E-inkデバイスのハックは、reMarkableまたはKoboを用意し、コミュニティに参加するところから始められる
-
reMarkable
- Toltec repository が良い出発点である
- ToltecメンテナーEeemsの tutorial と awesome reMarkable リポジトリも参考になる
-
Kobo
- NiLuJEの KoboStuff が主要な出発点である
- KoboStuffには、telnetの代わりにSSHを有効にするために使えるtarballが含まれている
- devmodeonを有効にしてtelnet接続を可能にした後、SSHを有効化する流れで、複雑に見えてもそれほど難しくはない
デバイスごとの制約と注意点
- reMarkable 2は独自のディスプレイドライバー SWTCON を使用しており、このドライバーはUIであるXochitlの中にある
- rM1はこの理由でrM2より好まれることもあるが、バッテリー持ちはあまり良くない
- 周辺機器であるWacomディスプレイがregulatorに接続されていないように見え、待機時のバッテリー持続時間は数日程度である
- Koboには強力なパッケージ管理がない
- 一般的にはKoboRoot.tgzを配布し、次回再起動後に展開される方式でソフトウェアをインストールする
- 削除時は開発者が提供した手順や削除スクリプトに頼る必要がある
なぜ今E-inkの話をするのか
- 数年前からE-inkデバイスをハックしてアプリケーションを作り、他の人が作ったものを見ることに大きな楽しさを感じてきた
- 実際の作業、学んだこと、E-inkアプリ開発時に考慮すべき点について何度も文章を書こうとしたが、E-inkへの情熱がうまく伝わらず完成できなかった
- 今回は、E-inkがなぜ魅力的なのかをそのものとしてはっきり伝えることに焦点を当てる
ハック用途では扱いが難しいデバイス
-
Kindle
- Kindleは使うために jailbreak が必要である
- Kindle Fireは改変されたAndroid OSを動かしている
- 最新ファームウェアはjailbreakに耐性がある可能性があり、Kindle Scribeはまだセキュアな状態にある
- このような理由から、Kindleデバイスは特に推奨されていない
-
Onyx
- OnyxはE-ink関連の議論で、GPLを順守しない事例としてたびたび挙げられる
- 改変Linuxカーネルを使いながら、ソースを公開していないとの指摘 がある
-
Pine Note
- Pine Noteは魅力的でオープンだが、ソフトウェアはまだ開発途上である
- 初期ユーザーと開発者向けの初期製品 を受け入れられる場合にのみ使うべきである
- あまりにもハッカーフレンドリーすぎるデバイスかもしれない
HNコメントで出た補足
- rM2をいじっていて文鎮化することがあるかという質問には、ある種のsoft brickはあり得るという回答が付いている
- 画面が表示されない状態になることはあるが、SSHが生きていれば戻せる
- SSHを失っても復旧は可能だが、さらに多くの作業が必要になる
- SSHキーをインストールしてある状態では、自分で完全に文鎮化したことはないという
- 価格がハッカー向けの領域に合わないという反応には、rM1はeBayで200ドル未満、Kobo Claraは100ドル未満で入手できるという回答がある
- 価格への懸念は理解できるが、ハックは価格とは直交するものだと見ている
- 「retro」と「punk」が妥当かどうかをめぐってコメントで議論が続いた
- 「retropunk」という表現は、80年代から今日までコンピューティングが別の経路をたどっていたらどうなっていたかを思い起こして使った言葉である
1件のコメント
Hacker Newsの意見
OPです。rmkitは、reMarkableと、今ではKobo向けアプリを作るためのライブラリであり開発者グループです
rmkitの外では通常Qtでアプリを作りますが、Unixパイプを使うSASのように複数の方法があります: https://remarkable.guide/devel/index.html, https://rmkit.dev/apps/sas
rM2はフレームバッファドライバが自社ソフトウェアの中に入っているため、reMarkableがアップデートを出すたびにrm2fbを更新する必要があり、rM1よりも多くのハックが必要です: https://github.com/ddvk/remarkable2-framebuffer/
ディスプレイを駆動する代替ドライバも開発中です: https://github.com/matteodelabre/waved
まず、URLで画像だけを提供すれば、デバイスがその画像を表示し、画像が変わるたびに更新します: https://www.invisible-computers.com/invisible-calendar/image...
次に、設定ページ付きのAPIで包めば、他の人もアプリをインストールして使えます: https://github.com/Invisible-Computers/image-gallery/blob/ma...
正直に言うと、1つ目の方法で自分のデザインを表示している人は多いですが、2つ目の方法で公開インストール型アプリを作る利用はまだ多くありません。興味があれば連絡してほしいですし、必要ならAPIも一緒に磨き込むつもりです
GTKでhttps://github.com/bjesus/pidifのようなアプリを作ったことがありますし、電子インク対応アプリのための、もっと統合されたエコシステムがあるといいですね
手書き用としてはよく使っていますが、サードパーティ製ソフトウェアはまだ試していません
現在のLLMを見ると、そこまで遠くはないように思えます。中級程度の機器でllamaベースのエージェントを動かし、あれこれ接続するプログラミング力があれば、企業の囲い込みからある程度外れた低レベルな形は可能かもしれません。いつか、冷たいセキュリティ要塞に囲まれたGPT-6モデル、皮肉にもwintermuteという名前のモデルを、誰かが見つけるかもしれません
電子インク端末が本当に好きです
たった今Koboで読書して戻ってきたところで、この記事も当然Firefox/Pocket経由で送りました。防水なのでプールでも読めますし、よく晴れた日にサングラスをかけて、水に半分浸かりながら読むことほど良いものはありません
紙の本のほうが良い場合もありますが、スマートフォンやソーシャルメディア、砂糖のような情報コンテンツのせいで失っていた、本物の読書習慣を取り戻すのに確実に役立ちました。サイズ・重さ・持ち運べる本の数の面で便利で、目にも優しく、本文が言うように気を散らす余計なものもありません。どの端末が好きであれ、電子インク万歳です
自分の技術・デバイスの関心範囲の中でも、依然として比較的ニッチに感じられるので、新しいKindleが出るたびにほぼ毎回アップグレードしてしまいます。この技術が見捨てられるのが怖いからです
Kindleで読んでいると自然に眠りに落ちることができる点が本当に好きです。ベッドでスマートフォンやタブレットを見ているときは、絶対にこうはなりません
reMarkableやScribeのような端末がさらに推し進めているのを見るのはうれしいですし、残像なしでLCDに近い品質で素早く更新できるようになるまで研究が続いてほしいです。無駄なソーシャルメディアや他のおもちゃで物理的に脱線できない端末である点も好きです。普段は単機能デバイスは不要だというAlton Brown的な考え方に近いのですが、ここでは喜んで例外にします
カナダでは地域の公共図書館とOverdriveで連携していて、iPhoneではLibbyアプリも使っています。Libbyは速くて見た目もよく、本を見つけるのに向いています
Libbyで本を探して借りたあと、Koboで同期を押すだけで全部表示されます。以前は本をトレントで入手していましたが、今はまったくそうしておらず、ずっと図書館で借りています。常にすべての本があるわけではなく選ぶ必要があるので、むしろ読んでみる範囲が広がる点も気に入っています
電子インクの実際の最大の利点である日光下での可読性を、ハードウェア・ソフトウェア業界全体が見落としているようで、気が狂いそうになる
日中の勤務時間に、半分暗い部屋に座っていなければならないのが毎日いら立たしい
ノートPCに電子インク画面を接続する方法があるのは知っているが、あまりにも場当たり的だ。なぜ選択肢がこんなに少なく、知識労働者が1日の半分を日差しの下で過ごせるという健康上の利点を、製品開発者がほとんど考えないのか分からない
人間は新鮮な空気と太陽の光の下、外にいるべきで、一日中忌々しい画面に縛り付けられる存在ではない
私の古いノートPCにもあったし、宣伝されていた機能でもなかった。詳細: https://news.ycombinator.com/item?id=37063449
強力なCPUは必要ない。コードを編集して、動くか見て、メモが取れれば十分
牛たちが周りで草を食んでいる間に、自分のコンパイラをハックしたい
電子インクの致命的な問題は、面積が大きくなるほど歩留まりが急落するという点が価格に表れていることだ
半導体や他のディスプレイ技術もそうだが、電子インクでははるかに深刻に見える
GPUのようなものが成功した理由の一つは、1つ2つエラーがあっても全体を使い物にならなくするのではなく、優雅に性能低下を許容できたからだ
大型ディスプレイ、例えば壁面ディスプレイには特に現実的だ。すでに個別ディスプレイ間の境界がはっきりした「テレビウォール」にも慣れている
要点は、こうした複合装置が明るさ・階調・色調などの表示特性を互いに合わせ、境界をできるだけ感知しにくくすることだ
8〜10インチディスプレイがスイートスポットなら、それを複数組み合わせた装置も概念的には可能に見える。16×8ディスプレイなら対角32インチ、300dpiになり、BOMコストを50%と見積もれば25インチのOnyx BOOX Mira Proの1,750ドルより低くなる可能性もある
また、実現可能な規模の経済が非常に大きいため、世界最高水準のクリーンルーム技術もLCD製造設備に向かう
壁に大きな電子インクディスプレイを掛けて複数のダッシュボードを表示したいが、法外に高い費用を正当化するのが難しい
Arduinoとバッテリーで低消費電力のプログラマブル構成を作れたら本当にエレガントだろうが、結局は大きなLCDを買って電源につなぎたくなる
この技術がホビー開発者にとって人為的に手の届きにくい状態に保たれているのが残念だ
Waveshareのディスプレイも見たが、小さすぎて機能が限られている。白黒か数色しかなく、リフレッシュも非常に遅い
私が販売している電子インクのカレンダー/スマートディスプレイでは、7.5インチディスプレイを選んだ
限界は確かに感じるが、そのサイズでもできることはかなり多い
ここで見られる: https://shop.invisible-computers.com/products/invisible-cale...
事業が成長すれば、より大きなディスプレイもより良い価格で買えるだけの数量が生まれるかもしれない
だからAmazonが補助しているKindleを除けば、市場にはプレミアム機器しかない
出始めた頃は、数量が増えれば価格は下がると確信していたが、そうはならなかった。おそらく十分な歩留まりを得られていないのだろう。テレビのように、低価格モデルには不良画素がありプレミアムモデルにはない、という形で売るのにも向いていない製品だ
答えはもちろん「チップレット」のように、小さなものを集めて大きな画面を作る方式だろう。ホビー用途なら、継ぎ目を美学の一部として設計すれば、中古のKindle画面をいくつか使うだけでもかなり良いものが作れそうだ
動かすのにPHP以外の言語を使うことを強く勧める。今どきのLLMなら、おそらく好きな言語に翻訳してくれるだろう
その記事に着想を与えた元の記事はこちら: https://onezero.medium.com/the-morning-paper-revisited-35b40...
https://paperd.ink を買った。4.2インチ画面とバッテリーがプリントケースに入っていて、90ドル。
家の紙のカレンダーを置き換えるために、小さなカレンダーアプリケーションを作った: https://suffix.be/blog/eink-calendar
モバイルアプリと Google Calendar 同期が含まれている。
https://shop.invisible-computers.com/products/invisible-cale...
ディスプレイは7.5インチ。
まだサイドプロジェクトだが、自立可能な事業にする方法を考えている。
Urbit コミュニティにも電子インク好きが何人かいて、レトロパンク感を最後まで押し広げるのに本当に向いている。
関連する仕事をしていることは先に明かしておく。
私の Urbit はルータースイッチに挿した native planet のハードウェアボックス上で動いていて、どこからでもアクセスできる: https://martiancomputing.substack.com/p/product-review-nativ...
グループ UI も電子インクで見栄えがする。ほぼ白黒で、デザインも悪くない。開発者の一人は、それを見せる電子インクの携帯電話も持っている。
スタック全体を本当に所有している、というのがいい。記事で触れられていた初期の reMarkable タブレットも持っていたし、当時は誰かが Urbit にアクセスするブラウザーとして使っていた。新しいタブレットはさらに良さそうだ。
最初の Urbit assembly では、電子インクを大きく遅らせたと見られる特許問題とベンダーロックインを避けつつ、利点のある新しい電子インク風の技術に取り組んでいる人もいた。
それが何で、何に使うものなのか説明してもらえる?
電子インクは魅力的なディスプレイ技術だ。光干渉断層撮影(OCT)で電子インクディスプレイを非破壊で「分解」した記録がある: https://arxiv.org/ftp/arxiv/papers/1605/1605.05174.pdf
長いバッテリー寿命という利点を生かし、遅いリフレッシュ速度の苦痛をあまり受けない電子インクアプリとして、どんな面白いものが作れるのか気になる。
Doom の移植やターミナル実装は面白く挑戦的だろうが、電子インク端末で輝くアプリではない。
特定のイベントのときだけ更新され、何時間も変わらない遅い戦略ゲームのようなものはあり得るかもしれない。より一般的には、長く表示し続ける必要があるが頻繁には変わらないアプリが向いていそうだ。
厳密には「遅い戦略ゲーム」ではないが、アニメーションや色が必須ではないので、電子インクに向いていると思う。
私たち Pimoroni は、Badger2040W や Inky Frame のような製品で、電子インク領域のハッカー寄りの端にいる。
どちらも RP2040 マイクロコントローラーと小型またはやや大型の電子インクパネルを組み合わせ、ユーザーが自分でソフトウェアを持ち込めるようにしている。
最大の障害は更新速度だ。Badger の白黒画面はかなり強めに駆動できるが、オーバードライブには代償がある。友人が連続電子インク式ゾートロープを作った。
Inky Frame の7色ディスプレイはディザリングされた画像には素晴らしいが、シアンとマゼンタがなく、リフレッシュが非常に遅い。パネルが省略できない「クリーニング」段階を含むように変わってからは約30秒かかる。
より速く、より安く、より大きいものは、今のところ両立しにくいように見えるが、この形式に対する筆者の熱意には共感する。