TuyaがOEM提供した電力計機能つきのスマートプラグをNode-REDでコントロール…できなかった

電力計機能付きスマートプラグを入手したかったので,Wifi コンセント電源モニタータイマーリモートコントロールソケットをAliExpressで1,312円で購入。

例によってTuyaのOEM製品。1月ほど前に届いたが,アメリカの極性つきプラグが受けいられるようになっている(コンセント穴のサイズが違う)のに,自身のプラグは日本の普通のコンセントに挿せるようになっているのは地味に良い。

同じモデルだと思われるTuya WIFI Smart Socket Smart Plug EU UK Swit AU BR FR JP Israel Ita ZA Plug 10A Remote Control Alexa Google Home Energy Monitorについて問い合わせたときには極性ありという返事だった。自分の質問も不明瞭だったのかもしれないが,上のような状況だとは思っていなかった。これは嬉しい誤算。

見た目は,写真にある通り電力計機能のないスマートメーターに比べて一回り大きい。

こういうスマート機器は,無料VPSサービス上にインストールして使えるようにしたNode-REDでコントロールするつもりでいた。TuyAPIというJavaScriptライブラリを使用したカスタムノードがあり,それを利用したかったが,それを利用するのに必要なキーをTuyaから入手できず,TuyAPIを利用したカスタムノードは使えなかった(後日この状況は変わった)。代わりに,TuyaのOEMサービスと思われるSmartLife Air(対応アプリも同名)を利用してなんとか実現したnode-red-contrib-smartlifeairというカスタムノードを利用)。

SmartLife Airアプリにこのプラグを登録して,アプリで見てみると,確かに電力消費情報が取得できるようだ(スクリーンショット2枚参照)。

ここまでは期待通り。ではNode-REDで制御しおうとすると,なんと一切制御できないだけでなく,状態を取得することすら一切できないということがわかった。

この方向での努力はあっさり頓挫。

TuyAPIが利用できるためのキー取得ができることがわかったので,次回はTuyAPIを利用したカスタムノードを利用してみよう

ちなみに,自分はとりあえずやる気はないが, “Home Assistant: 10$ WiFi energy meter with ESPhome – Intermittent Technology” が,こういったTuyaのOEM提供を受けた電量計機能つきスマートプラグにESPHomeをインストールすることについて述べている。

ふるさと納税でスマート体重計・体組成計

ふるさと納税でスマート体重計・体組成計が入手できないか調べてみた。要件は簡便にクラウドにデータがアップロードでき,しかも生データを自分でいじれること。ふるさと納税のためのポータルはいくつもあるが,掲載されている返礼品はポータルごとに違うのが実にめんどう。

ソフトバンクの「スマート体組成計 301SI」製造元のセイコーソリューションズの用意しているこの製品のウェブページ)を使ってきている。これはSIMカードを挿してデータ通信するもので,当初は専用プランで専用サイトにデータがアップロードされ,しかもSMSで主要データが通知されてもいて,それなりに便利だったが,2年の無料期間後は解約した。そうするとスマートではないただの普通の体組成計になりさがってしまった。ドコモFOMA SIMカードで無理やり使えないか試してみたり,同様な機能を持つ体組成計を検討したりしてみたりはしていた。が,どれも答えに繋がってない。

タニタ

ふるさとチョイスで「タニタ 体組成計」で検索すると複数ヒットするが,タニタの公式サイト上の体組成計・体脂肪計リストとクロスチェック。「Androidスマートフォン連携」をチェックインするなどしてBLE対応であるものに絞り込む必要あり。Wifi対応が理想的だがそういう製品は今少ない。タニタでもBC-508の1機種のみ。

型番でRD系列ならRD801以上のものということのようだ。BC系列のものにもそういうものはあるが型番号のみでは判断できなさそう。BC810は違う。これらの製品間の違いは, “比較2020’【スマホ可】体重体組織計57機の性能とおすすめ: iPhone Android (1): 家電批評モノマニア” を読むとある程度はわかる。

現時点では,65,000円納付に対する返礼品のRD916LWH】タニタ 体組成計 インナースキャンデュアル タニタの公式情報)が最も「安い」(色違いもあり)。といってもあくまで比較の上での「安い」で,先ほどの記事にも説明があるように,これはかなり本格的なもので「医療機器クラス」と言っていいくらい?そこまで自分が必要としているかというと正直それは疑わしい。特に,わずか2,000円前後で(得体のしれない)スマート体組成計が手に入らなくはないことを考えると悩む…。そういったものは,機器の信頼性(精度を含め),アプリの信頼性,等で問題があるようではあるが…。ちなみに,RD916Lの最安値は現在25,000円ほど

タニタはHealth Planet ヘルスプラネットという関連サービスと体組成計はじめ同社のヘルスケア機器と連携させている。そのために使用するモバイルアプリも同名他サービスとのデータ連携もしているが,その中にはGoogle Fit等一般人に馴染みのあるものはない。

その代わり,Health Planet API 仕様書が一般人でも利用できる( “「ヘルスプラネットAPI」公開のお知らせ” )。以下はどれもそのAPIを利用している:

APIが提供されているのは素晴らしいが,問題は2020年6月末で取得できるデータ種類が大幅に削減されたこと。非常にがっかり。

体重計とスマホアプリとのBLE通信を解析できれば,全てのデータが得られるはずだが,自分が調べた範囲ではそれは今までなされてないようだ。

オムロン

FTKF2-001 オムロン 体重体組成計 HBF-227T-SW シャイニーホワイトオムロンのサイト上のページ)は52,000円の寄附にたいする返礼品。

オムロンはOMRON connect連携というサービスを用意し自社ヘルスケア機器のデータをそこに同期するようにしている。同名モバイルアプリあり。例によって?主要連携アプリにGoogle Fitはない

関連して,Bluetooth標準連携は「Bluetooth標準プロファイルを利用し、OMRON connectアプリとは連携せずにオムロン健康医療機器とパートナー様のスマートフォンアプリを直接連携する仕組み」で「オムロン健康医療機器をパートナー様のアプリやシステムとBluetooth標準プロファイルを利用して直接接続し、データ通信させるためのスターターキットを無償でご提供」なんだが,「ご利用条件: 法人格を有する企業・団体に限らせていただきます。個人の方、学生の方のお申込みはご遠慮下さい」だそうだ。あ~あ。なんでこういうことするかな。

オムロン機についても,体重計とスマホアプリとのBLE通信の解析がなされているふうはない。だとすると一般人は自分のデータを自由に利用できない,ということになる…と思ったら, “体組成計(体重計)おすすめランキング22選|スマホ連動できる人気製品を比較 – the360.life(サンロクマル)” によればOmron ConnectアプリよりCSV形式でデータのエキスポートはできるようだ。ないよりマシだが手間。

2021年2月3日までのBIC SIMのキャンペーン

現在Au上にあるメインの携帯回線どうするか検討した際に候補にした2021年2月3日までのBIC SIMのキャンペーンのいくつかについて。自分はもうこれは利用しないことにしたが,近しい人に利用してもらうつもり。

現在開催中のキャンペーンのうち,店頭申し込み限定MNP 1回線当たりビックポイント12,000ptプレゼントのキャンペーンWeb魚拓; Internet Archive)がでかい。Web申し込みだと3,000pt/回線しかないなので差は大きい。新しい従量制の「ギガぴた」プランも対象。

BIC SIMのキャンペーンはなぜか価格.comには記載がない。BIC SIMの中身はIIJmioなので,IIJmioでも同様のキャンペーンをやっていることが多いが,この店舗申し込みキャンペーンに相当するのは見当たらない。端末割り引きに関しては,BIC SIMよりIIJmioの方が条件が良いことが多いようだ。そういえば,かつて自分がIIJmioを利用したときもそれが理由だった。BIC SIM専用プラン「ギガぞう Wi-Fi」が無料なのもBIC SIMの独自特典。

ただし,ビックポイントは非常に使い勝手が悪い提携先とのポイント交換手段として例えばSuicaが上がっているが,これは「ビックカメラSuicaカード会員限定」。全てがこの調子で,基本,ビックカメラ・ソフマップ・コジマで店舗で使うことを前提にしたほうが良さそうだ。アプリあり

パッケージ代金1円キャンペーンも合わせて行われているのはよいが,「SIMカード発行手数料(タイプD:394円、タイプA:406円)は別途発生」。

BIC SIMの提供する料金プランは,大きく分けて従来型プランと,従量制のギガぴたプランがある。従来プラン間では月単位で行き来ができるが,「ギガぴた」プランとはできないのに注意。

通信料金割引については,「BIC SIMキャンペーン【音声SIM月額割引特典】700円/月x6ヶ月」と「BIC SIMキャンペーン【プラン月額割引特典】400円/月x6ヶ月」の2種があるが(Internet Archive),ギガぴたプラン以外の従来プランは両者が重複適用され1,100円/月の割り引きになるの対し,ギガぴたプランは前者のみなので700円/月の割り引き止まりとなる。

6ヶ月の割引期間中,ギガぴたプランは最安は1GB/月で480円/月。従来型プランでは3GB/月のミニマムスタートプランで500円/月。

従量制のギガぴたプランはあまりデータ通信をしないような自分にはうってつけだが,AタイプのSIMカードに限る(つまりAu回線を利用するしかない)ことに注意。しかも,自分も最寄りのBIC SIM即日発行カウンターはDタイプ(ドコモ回線)の扱いしかないので,ギガぴたプランを利用したければその扱いのある即日発行カウンターを探してそこを利用しなくてはならない。市内だとUmie内のソフマップ 神戸ハーバーランド店しか要件を満たさないようだ。

従来型プランとギガぴたプランを比較すると以下のようになる。

ギガぴたプラン 従来型プラン
対応回線 Aのみ A, Dとも
容量繰り越し
初月費 1ヵ月分満額(日割り計算なし)
容量変更 上限値を上げる場合は即時変更可 前月末までに手続き
~1GB/月の正価 1,180円/月
~2GB/月の正価 1,400円/月
~3GB/月の正価 1,600円/月 1,600円/月
~4GB/月の正価 1,800円/月
~5GB/月の正価 2,000円/月
~6GB/月の正価 2,200円/月 2,220円/月

当人がどういう使い方をするつもりか次第だが,いずれにせよ月3GBほど使う予定があるのなら,従来型の3GB/月のプラン「ミニマムスタートプラン」を選択すればよいだろう。6ヶ月の料金割り引きが終わっても,1,600円/月は最安値ではないがひどく高くもないので。どうせなら,1,980円出して20GB/月・70分の無料通話がついた,日本通信の合理的20GBプランやその対抗馬にしてしまう,というのもありだろう。ただ,割り引き期間が終了した頃に,ちょうど現在併用しているかけ放題の楽天モバイル契約の無料期間も終了するので,通話料を抑える工夫をした代替策が必要になる

格安SIM通信速度ランキング【2020年比較】実際に計測!速い・遅いMVNOがすぐ分かる! – SIMチェンジ” や “【2020年12月】格安SIMの通信速度を実際に計測した結果” を見てもBIC SIMの「中」のIIJmioの数字はよい。

BIC SIMを勧めるつもりの知人は,現在OCNを利用しており,最初の割り引きが終了すると, 1GB/月で1,180円/月の正規料金を支払うことになる。これはギガぴたの1GB/月の料金と同じ。つまり,もし今後も1GB/月でよいのであれば,BIC SIMに乗り換えることで,その事務手続きの手間こそかかるものの,ポイント還元や通信料の期間限定割り引きを含めて考えれば,得こそしても損はしないことになる(3GB/月が必要な場合については上に述べた)。

追記 (2021年1月7日): この人はNTTグループカードレギュラーの入会キャンペーンで「OCNモバイルONEユーザー様特典」詳細)を受けている。そのキャッシュバックは3月引き落とし分まで,ということなので2月の通信費まで,ということだろう。月途中で解約してもその月の通信費は満額課金される。満額課金される以上CBも受けられるはずで,2月中に解約してもその月分のCBは得られるはず。

最後に,少し気になったこと。IIJmioはXiaomi Redmi Note 9SはタイプD,つまりドコモ回線でないと使えず,タイプA/Au回線ではだめだとしているBic SIMも同様。 “日本版「Redmi Note 9S」にau回線のau VoLTE対応SIMを挿して設定してみた【予想外の展開】 | やすスマ” では日本版ではAu回線SIMカードは使えるとしている。コメントではグローバル版でもできたとのこと。AuのSIMカードには複数種類あり,使える機種を選んだりするので,それが原因なのだろうか?

現在Au上にあるメインの携帯回線どうするか?

いろいろなところで連絡先電話番号として登録しているいわば公式の携帯番号。これをAuで「ケータイ」(実際にはガラホ)用プランで維持してきた。もともとDSDV機のOppo R17 Neo(関連して書いた記事)にSIMカードを移して運用するつもりでいたのだが,AuがまさかのIMEI制限を発動したため,いたしかたなくそのままガラホで運用し,かかってくる電話はR17 Neoに転送するようにしてきた。

一応かかってくる電話はスマホで受けられるようになっていたとはいえ,ガラホは持ち歩いてないのでその公式番号から直接発信できないのは不便。電話番号は基本積極的に知らせたいものではないものの,中には公式番号を知って欲しい相手もいるわけで,その人に番号通知できない。この不便を解消したいとずっと思ってきた。以前もどうするか検討しソフトバンクのキッズフォン契約に移すのがいいかと暫定的結論を出してはいたそのためのキッズフォンも中古で入手してたが,再度何か他にいい方法がないか考えてみた。ただし,3Gモデムで使用できることは要件から外した。

Auで機種変更

結論としては,たまたま以下のキャンペーンが利用できる状態だったので,Auでスマホに機種変更。AuのIMEI制限はガラホのみの話のはずなので,SIMカードをDSDV機に移して,これで現在の不便さは解消できるはず。

2つのキャンペーンが併用できることはAuカスタマーサービスとのチャットで確認済み。もともとはMNPするつもりでそのための電話連絡したら,機種変更時の機種代金に充当できる引き止めクーポン最大11,000円分 (Archive.vn)ももらった。上のとりかえ割と併用できないか,とショップに問い合わせてみると,可能ではあるが,どちらの対象にもなる機種がないとのこと。なるほどぉ。うまくできてるな。

さて, “策に溺れてしまった” の意外な副作用として,そのとき作った2回線とこの回線の合計3回線で家族割プラスが組め,この回線でもプランによっては月1,000円の割り引きが受けられる。この中にピタットプラン 4G LTE (s) / 5G (s)が含まれていることがこの話のキー。つまり,家族割プラスが生きている間,この新回線の維持費はゼロ円になる。策に溺れてしまった際には大変後悔したが,よもやこんな展開になろうとは。もっと早くきづけばよかった

⇒大誤解: 割り引きが発生しうるところまでは正しいが,割り引き対象プラントして「ピタットプラン 4G LTE(新auピタットプランN)」, 「ピタットプラン 5G」は含まれていても,「ピタットプラン 4G LTE (s) / 5G (s)」は含まれていない。「(s)」は割引対象に含まれるのを防ぐための方策だったか…。さすがAuさん,抜かりない。そういや昔も似たようなことがあった

既存2回線は,それの割り引きの関係で5月いっぱいまでしか維持できないので,新しい回線はそれまでしか維持費ゼロ円にできないが,月1GB・5分間かけ放題つきで980円/月なら最安ではないにしろ悪くはない話。

4G LTEケータイとりかえ割の対象機種からめぼしいそうなものは何かというと以下ぐらいか。

売却を考えるとやはり前者を選択するのが得策なんだろう。 “スペック&サービス | Mi 10 Lite 5G(ミー テン ライト ファイブジー)XIG01 | スマートフォン(Android スマホ) | au” によれば au Nano IC Card 04 を利用するようで,これならば他のスマホでも使えるはず。

M10 Lite 5Gは高コスパ機種。現時点で5Gはどうでもよいが,6GB/128GBと記憶領域も広く,カメラもよく,自分で使うことも考えた。が,Au版はDSDV機ではないので残念ながら自分用としては却下。おさいふケータイはとりあえず必要ではないし,防水機能もさほど重要ではないので,M10 Lite 5Gにそれらがないのはさほど問題には感じない。Au版に限らずmicro SDカードで容量を増やせないのも惜しい。

ショップに事前に問い合わせるために用意した文書(自分にしか開けない)。

その他検討した方策

Biglobeモバイル

たまたまBiglobeもMi 10 Liteが対象機種のキャンペーンやってたので比較してみた。 Biglobeが扱ってるのはMi 10 Lite 5Gではなく,Mi Note 10 Liteでした…。というわけでこの項この点でいろいろ誤ってるが面倒なので直さないのでご注意を。

ただし,以下の点で完全に同じ条件の比較ではない:

  • 同じMi 10 LiteでもAu版(XIG01)は5G対応で,Biglobe版がそうではないのが大きな違い(実は長らく気づかなかった…)。その他Au版は”ROM” が128GBに対し, Biglobe版が64GB。Au版がシングルSIM仕様で,Biglobe版がDSDV。
  • 比較している通信プラン内容が違う。Auは1GB/月つきで5分間かけ放題込み,Biglobeは3GB/月つきでかけ放題の類は一切なし。

Biglobe版Mi 10 Lite…というか一般的な日本仕様のMi 10 Liteなんだろうが,DSDVなのはよいが “ROM” が64GBしかないのは,micro SDカードが併用できないということを考えると自分の用途には致命的に思える。

期間は,①Biglobeの通信費割り引きが6ヶ月のみ,ということと,②AuでBL回避するには180日間維持が必要とされていること,から,来年6月までの使用を仮定した。

BIGLOBEモバイル|あなたのスマホそのままで、SIMを差し替えて格安に!この状態での計算

Au Biglobe
総計 19,138 25,974
Mi 10 Lite 正価 32,470 39,600
端末割引 -22,000 -16000
初期費用* 2,200 -266
1~6月通信費 6,468 2,640

*) Biglobeについては現在2,000円分還元が標準だが,別のコードで4,000円分還元がある。

訂正: 実際にAuでMi 10 Liteに機種変した際の計算を末尾に掲載。初期費用は5Gスマートフォンへの機種変なため3,000円だったことを除くとほぼ正しかった。

BIC SIM

別記事で。

ワイモバイル

ワイモバイル 12/25~1/11まで 18日間増額中 SIM単体 最大17000円 スマホ購入特典 最大11555円 OPPO Reno3 A Android One S6 S7 実質0円以下 | 関西携帯小僧のスマホMNP機種変更情報!
Yahoo!モバイル(ワイモバイル) – SIM・スマホご契約特典

12/28まで ワイモバイル クリスマスセール Android One S6 一括540円 Xperia 10 II AQUOS sense4 basic かんたんスマホ2 18000円割引 | 関西携帯小僧のスマホMNP機種変更情報!


Creating an Isolated P2P Network with IPFS

On a related topic, I also wrote “Creating an Isolated P2P Network with Hypercore.”


Logo of IPFS

Logo of IPFS

P2P networks are oftentimes global, i.e., all peers form a single global network. For example, P2P file sharing systems are typically so. InterPlanetary File System, or IPFS (website) is designed for that use case as well.

However, that is a problem for me; I want my peers to form an isolated network by themselves and by themselves only, detached from anybody else’s. The rationale is that even with encryption and other security measures in place, data that exists as part of the global network has higher chance of security breach than one that doesn’t. I said “isolated network,” but that does not mean the all the peers are on a single private network; my assumption is that some will be on the public network (i.e., on the Internet), and the rest, spread on multiple private networks. (When I say “private network,” I mean one that is behind a firewall.)

OrbitDB relies on IPFS and thus inherits IPFS’s to-be-used-in-a-single-global-network assumption. If you were to use OrbitDB for my intended scenario, you would not be able to use it with default settings. Thankfully this seems possible, because OrbitDB does not hide the fact that it depends on IPFS, and lets users to tweak settings for IPFS.

I have not tested this myself, but I believe the key here is to modify the bootstrap list. More specifically, the one for a publicly accessible peer need to be other publicly accessible peers within this isolated IPFS network, or none if there are no others; and the one for peers on private networks, those publicly accessible peers. The following articles may help:

By the way, IPFS is used in Microsoft’s newly released decentralized identity system ION. IPFS was given fine-tuning to accommodate its use by ION.

Earthstar

I came to know about Earthstar, “An offline-first, distributed, syncable, embedded document database for use in p2p software — in browsers and outside of browsers” while trying to learn about Kappa-DB, because there was a sort of comparison thread ( “Comparison to Kappa-db? · Issue #37 · earthstar-project/earthstar” ). The information about Kappa-DB is often not accurate, but comments by okdistribute (Karissa McKelvey) (website) from Kappa-DB’s viewpoint are informative.

A Guided Tour of Earthstar” is a set of introductory slides of Earthstar, but not much info is there. “Earthstar Overview for Developers” summarizes Earthstar as follows:

Earthstar is a distributed p2p database / app toolkit that syncs. It’s halfway between SSB and CouchDB. Build p2p apps with it!

It’s sort of a delta-state CRDT for low-trust environments, implementing a LWW key-value store.

My impression is that it is it is like CouchDB augmented with P2P capabilities.

Most of the Japanese Are Not Practicing Buddhists

From a post I made on Facebook. For a comprehensive list of the articles I have written for foreign people living or traveling in Japan, see this article.


There is a persistent misconception in the US, which I encountered time and time again while being there that Japanese people are Buddhist. As far as the present-day Japanese people in Japan are concerned, that is mostly untrue; practicing Buddhists are very rare.

In fact, the vast majority of us do not believe in any particular religion. Historically, both Shintoism and Buddhism were actively practiced in Japan. That’s why we still have many Shintoist shrines and Buddhist temples here. You can see the lingering effect of this past now in, for example, the fact that we are spiritual in various forms in varying degrees; or the fact that we have customs that have their roots in either of the religions — but all this without us not really realizing its connection to those religions.

Collaborative Text Editing

Postscript:

Yjs is a Javascript library for collaborative editing of rich text and drawings (demos). It has the following bindings to popular JS-based editor libraries.

Name Cursors Binding Demo
ProseMirror y-prosemirror demo
Quill y-quill demo
CodeMirror y-codemirror demo
Monaco y-monaco demo

ProseMirror has built-in facilities for collaborative editing, and so does Quill (as “Delta” data). I do not know if Yjs use these facilities. I do not see any such facilities in CodeMirror and Monaco, but maybe I did not look hard enough.

Yjs is based on Conflict-free Replicated Data Type or CRDT for distributed computing. There are now many decentralized, peer-to-peer (P2P) database systems based on CRDT, but Yjs has this very specific application in mind. There’s Ydb: a distributed database for Yjs documents, which was apparently created for use with Ysj, but I do not know how general it is.

Yjs is used in many commercial products, including Nimbus Note (or see “Yjs in the Wild – Yjs Docs” ).

Yjs is usually used to add data syncing capabilities to existing JS rich text editing libraries, but Y-Dat uses Dat, a distributed data sharing system. Since both Yjs and Dat are based on append-only log (to be more specific, Hypercore Protocol, in Dat’s case), there is a natural overlap of functionality.

Postscript: According to “Hypercore protocol: a distributed (P2P) append-only log | Hacker News,” Dat depends on the older protocol and is no longer maintained.

Yjs can be used in conjunction with IPFS, but maybe IPFS is used just as a pubsub hub. “Tutorial: How to build an Collaborative Editing Application with IPFS using CRDT – YouTube

Yjs claims their benchmark tests show it is significantly faster than Automerge. Automerge, “a JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically,” seems to have been created by folks at Ink & Switch, an “industrial research lab working on digital tools for creativity and productivity.” They also publish Hypermerge: build p2p collaborative applications without any server infrastructure in Node.js, which seems to be a combination of Automerge and Hypercore.

By the way, Ink & Switch has published some interesting articles. “Local-first software: You own your data, in spite of the cloud” is relevant to this topic.

Though it is not directly related to this topic, I also found “Capstone, a tablet for thinking” interesting. Lessons from Capstone are incorporated in the Muse iOS app.

The performance advantage of Yjs possibly comes from the way Yjs implements its version of CDRTs.

In “3 JavaScript Tools for Collaborative Editing – Geovation Tech Blog,” the users chooses ShareDB, “Realtime database backend based on Operational Transformation (OT)” among the three choices all of which support OT, though none supports offline editing. ShareDB does not come with P2P replication, though. “Visualization of OT with a central server” is helpful in understanding OT.

So far it has been about collaborative rich text editing. How about collaborative plain text editing?

I share with the author of “Open source collaborative text editors” the same sentiment expressed at the beginning of this article. The author looked at CKEditor 5 ( “Overview – CKEditor 5 Documentation” ) and ProseMirror-based Atlaskit Editor (collaboration sample). Neither provided a matching server, but the author settled on the latter and created one for it.

The developers of CKEditor recount the difficulty of re-implementing CKEditor so it can support realtime collaborative editing, in “Lessons learned from creating a rich-text editor with real-time collaboration.” They chose OT over CRDT but they do not spell out the reason. People are talking about this article on Hacker News. Mr. Sam Broner, who commented on my “Microsoft’s Fluid Framework for Collaborative Realtime Text Editing,” voices his opinion in the thread.

Ace, “the High Performance Code Editor for the Web” is a Web plain text editor. It has Ace-Collab-Ext: Enhances the Ace Editor with real time collaboration user experience, which relies on Convergence: The Real-Time Collaboration Engine.

 

End-to-End Encryption in Chat Systems

End-to-End Encryption (E2EE) is a cornerstone of modern-day instant messaging systems. Diffie–Hellman key exchange seems to be the very basis of these systems and Double Ratchet Algorithm is based on it. Diffie-Hellman can provide Forward secrecy.

Examples of instant messaging systems that offer E2EE are as follows: