| @WWW

長垂海岸空き地の鉄柱

今年の 3 月くらいからスパムコメントが酷くなった。 Akismet のスパムフィルターが劣化してるような気がする。独自にスパムキーワードを設定して疑わしいものはスパム判定するようにしたり、コメントを一括削除できる機能を実装したりして対処してきたが、最近のスパムはブログを訪れる人に対して宣伝したいのではなく、どうもブログの書き手をターゲットにしているようだった。なのでスパム判定されてコメント欄に表示されなくても問題ないのだ。ブログの書き手である自分の目に一瞬でも入りさえすれば万々歳なのだ。事実、スパマーが投稿してくる内容はエロサイトへの誘導やバイアグラなどの昔からよくあるやつの他に、 SEO などどうやったらブログのトラフィック稼げるかとか、どうやったら Instagram でセレブになれるかとか、情報商材的なやつも目立つ。

というわけでスパム判定フィルターの精度を上げても意味がないと判断したので、ブログへの POST リクエストが多い IP アドレス(ほとんどロシアからだった。スパマーの IP と思われる)をログから抽出して iptables で弾くことにした。これで全然スパムこなくなった。

自分のブログは Akismet フィルター以外にも reCAPTCHA も入れているので単純な bot ではコメントできないはずで、多分人間がちまちま投稿してたのだと思う。とすると一人の人間(自分のこと)をターゲットにして、読まれるかどうかもわからないようなスパムを人手で投稿し続けるのは相当効率が悪い。

スパムメールは数万通送っても一人が引っかかれば元が取れるくらいにオペレーションコストが安いからはびこっている、と良く言われる。メールアドレスさえ収集するか適当に文字列を並べて推測してガッと大量送信すればいいのでコストはめっちゃ低い。ブログ主をターゲットにしたスパムコメントは都度都度ウェブサイトを訪れて人力でテキストをコピペし、 reCAPTCHA のテストをクリアしないといけない。これは相当オペレーションコストが高いはずで、数万回繰り返すなんてことは想像すらしたくない。

世界にはまだ bot よりも低コストで雇える人間がいるのだろうか。それとも人間なみの知能で reCAPTCHA を突破できる bot が存在するのだろうか。

| @WWW

最近、エンジニアの求人の広告を見るといかにもテック企業のものが減っていると感じる。 10 年くらい前、ウェブ系のソフトウェアエンジニアの求人といえば受託をしている会社(ウェブ制作会社)か、自社でウェブサービスを開発している会社のものしかなかったと思う。自分は最初はウェブ制作会社に入り、その後自社でウェブサービスを開発している会社に転職した。さらにその後はデジタルマーケティングの SaaS / プラットフォームを作っている会社に移った。すべてソフトウェアでしかできないことをやっている会社で、インターネットがあるから事業が成り立つというような会社だった。一方で最近のソフトウェアエンジニア求人の中には、インターネットがなくても成り立つ事業領域をインターネットで効率化しようというものが散見される気がする。

もちろんこれらの企業も広義では「インターネットがあるから事業が成り立つ」と言えるのだろうけど、対象としている市場自体はインターネット以前から存在していたし、つい最近までそれで問題なく回ってきた市場だ。そういった昔ながらの市場にテクノロジーで殴り込みをかけて利益をかっさらおうというようなビジネスモデルだ。言語化が難しいのだけど、 2000 年代くらいまでの IT ベンチャーは IT が核だった。まずテクノロジーがあって、それで何をやるかを考える。 HOW の部分(ソリューション)が先にあって後から WHAT (プロブレム)を考える感じだ。一方で最近の IT ベンチャーは、まず対象とする事業領域( WHAT )があって、そこをいかにインターネットを使って効率化し革新するか( HOW )、というタイプが多い。プロブレムが先にあって、ソリューションが後から付いてくる感じだ。わかりやすい例を出すと Evernote や Dropbox は前者(インターネットがなければ成り立たない市場を対象とする)で、 Uber や Airbnb は後者(配車サービスも民泊もインターネットが生まれる以前から市場として存在した)だろう。

ソフトウェアエンジニアに求められる技術はどちらでも同じだと思うが、その企業の会社概要や経営者のプロフィールを見ると 2000 年代の会社や経営者と結構毛色が違っていて、元々ソフトウェア業界ではないところにいた人がそれまでの経験を活かして起業した、というパターンが多い気がする。リーンスタートアップやプロダクトマネジメントの観点からすると WHAT が先にあって HOW は後から考えるというフローが正しいのだけど、これらの新手の IT ベンチャーは特定・専門の領域に特化しすぎていてやっていることがイメージしづらいし地味な印象を受ける( Uber や Airbnb は C 向けなので例外的に目立ってる)。何よりわくわく感をあまり感じない。中卒のプログラマーが天才的なひらめきでソフトを作って一発当てて金持ちになる、みたいなのの方が夢があると思う。

| @WWW

五円

以前書いた Typinator 、 Version 8 が出ていたが有償アップグレードだったのでケチって Version 7 を使っていた。

Version 7 でも全く問題がなかったのだが、出来心で macOS を Catalina にしたところ起動しなくなってしまった。どうも 32bit アプリケーションだったみたいだ。 Version 8.2 以降は Catalina 対応しているみたいなので 1,500 円払って新バージョンにアップグレードした。

最近、いろんなソフトウェアがサブスクリプション形式になってきている。開発者としてはサブスクリプションにすることで財務が安定するのだろうけど、継続的にお金を払わないといけないのはソフトウェアを利用開始するにあたって結構なストレスになる。

最近、クリス・アンダーソンの『 Free 』を読んだけど、その中でマイクロペイメントはうまく行かないと書いてある。お金を払うに値するかどうかの判断自体がストレスで、そこに心理的なコストが発生してしまうからだ。だったらフリーにしてしまって、別の方法でお金を得た方が良いというのが筆者の主張。

サブスクリプションは買い切ると高いものを数百円から 1,000 円におさまる程度の月額利用料で使えるようにしたという意味で、買うかどうかの判断のストレスを軽減させたとは思うが、サブスクリプションが増えていくと毎月 1,000 円のサービスにすでに二つくらいは加入していて、その上でさらに払うべきかという問題になってくる。こうなると判断のコストは高くなってくる。やっぱり買い切りがいいなと個人的には思ってしまう。

PayPal で購入手続きを済ませると、開発元の Ergonis Software ライセンスキーが送られてきた。これでまた 2 年間くらいは月額利用料のことを気にせず安心してソフトウェアを利用できるという安心感と、自分がこのシリアルキーを購入することでインディーデベロッパーの懐にいくらかのお金が入ったんだという晴れ晴れとした気持ち。 20 年以上前から続くこのシェアウェア購入とアクティベーションのフローは体験として悪くない

| @WWW

飾り瓦

以前、 OGP を読み込んでキャッシュする仕組みを作ってたけど、こいつをアップデートして iframe として静的な HTML を読み込むバージョンに作り直した。 URL をクエリパラメーターとして渡すと相手方のサイトにアクセスして OGP を読みに行き、プレビュー用の HTML を生成してキャッシュする。いまは Lokka Plugin として作ってるけどこいつはブログアプリケーションと密結合する必要はないので独立した Web アプリケーションにしてもよいかもしれない。

ブログにリンクを張ると OGP を展開する仕組み、いろんなサイトやサービスで独自実装されててもったいないと思う。 Facebook が OGP の仕様を作ったけど利用するかどうかはリンク元次第だし、 Twitter は Twitter Card という独自の仕組みを作ってる。この辺はいい感じに一本化して欲しさがあるが、大人の事情で多分できないだろう。

ということでグローバルな OGP 君があったら良いだろうと思う。 OGP 君は一枚噛ませるだけで OGP 関連の面倒なこと(リンク先サイトのOGP タグ読み込み、 OGP によるプレビュー生成、生成したパーシャル HTML のキャッシュ)などをやってくれる。様々なサイトでキャッシュが共有されるのでインターネット資源が有効活用される。OGP 君運営者は様々なサイトに script タグなり~~ iframe タグなり~~1を埋め込めるので、そこでサイトの利用状況などを副産物としてゲットすることができる。 Google あたりだったらこの辺の情報を金にできそう。

ちなみに同じようなことを考えた人はすでにいて Embedly というサービスがあるようだが、これはリンクを張る側からお金を取る仕組みのようでいまいちイケてないと感じる。見栄えの良いリンクにしたいのはリンクする側ではなくどちらかというとされる側なはずなので、リンクされる側からお金をもらうような仕組みの方が良いはず。


  1. iframe はセキュリティ上、異なるドメインのものを埋め込むのはまずかった。やるなら script タグで動的に DOM を生成するタイプのものだろうなぁ。 

| @WWW

Markdown Logo.png

なぜ Day One は Markdown を捨てたのか

Day One が Markdown をやめて WYSIWYG に移行した話は前書いた。

自分が知っている範囲でアンチ Markdown 勢は Scrapbox くらいしか思い浮かばず、 GitHub や Trello などのグローバル勢に加え、 Qiita やはてなブログなど日本国内向けのサービスでも当然のように Markdown が共通言語として使われているのに、その Markdown を捨てて WYSIWYG 化する1という戦略は疑問だった。

ひと前の WYSIWYG は最悪で、Word での文書作成や Google Docs にも良い思い出がない。とにかく文章が書きにくい不自由なツールだった。

WYSIWYG 勢が力をつけてきている

一方で、お洒落な UI で話題になった Notion を使ってみると Markdown の要素を残した WYSIWYG だった。 Dropbox Paper も Markdown 風 WYSIWYG 、 Slack も最近段階的に WYSIWYG 化しつつある。

どうやら WYSIWYG の波が到来しつつあるようだ。

なぜ WYSIWYG なのか

Markdown は HTML を書いたことがない人には難しい

エンジニアやデザイナーなど、 HTML を理解している人からしたら Markdown は簡単だが、そうでない人には難しい。組織内に非エンジニア・非デザイナー( HTML を書けない人)が増えてくると、途端に社内ドキュメント管理ツールがカオス( や全角空白   で装飾された文書が氾濫)になる。

プレーンな Markdown では、リストの概念や文書を構造化するということに対する理解がないと読みやすい文書は書けない。プレーンテキストベースの Markdown には読みやすく構造化された文書を書けるようになることを助ける仕組みが欠落している。

普通の人が Web 系のように働きはじめている

Slack は DAU が 1200 万を超えたらしい。もはやエンジニアだけのツールだけではなくなってきているようだ。

チャット、 Wiki 、社内ブログ、タスク管理ツールなど、文章を入力させる系の SaaS が徐々に IT 産業以外の職場でも普及しつつあり、そのような環境でも受け入れられやすいようにプレーンテキストの Markdown ではなく、 Markdown 風の WYSIWYG を入れてきているのだと推察する。

普通の人でもぐちゃぐちゃにならないように文書を書くための仕組みとして WYSIWYG が注目され直しているのだろう。

抑制された WYSIWYG

Dropbox Paper や Notion の UI はシンプルでクール

MS Word や Google Docs など昔ながらの WYSIWYG はボタンが多く、出来ることが多すぎて逆に不自由だと感じる場面が多かった。一方で Dropbox Paper や Notion の WYSIWYG には悪い印象がない。Paper や Notion の WYSIWYG はできることが限定されていて、制限されているがゆえの使いやすさがある。 MS Word のような大小の文字が入り乱れ、文字が七色に輝いているような文書は書けない。

ぐちゃぐちゃな文書を書かせない仕組み

Paper や Notion はアウトライナーを WYSIWYG 化したような感じで、文章を並べ替えたり入れ子にしたりできる。

Notion

文章を構造化することに慣れていない人でも、まぁまぁ読みやすい構造化された文章を書ける、あるいは構造化された文章の書き方を学べるようになっている。

WYSIWYG 化で失うもの

文書のポータビリティー

WYSIWYG の前提として、下書きする場所と最終的な出力をする場所が同じだということが挙げられる。でないと独自の装飾フォーマットが使えない。

Notion で書いた文書は Notion でしか読めないし、 Dropbox Paper で書いた文書は Dropbox Paper でしか読めない。 Markdown で書いたテーブルならほかのツールに取り込めるが、 Notion で書いたテーブルは Notion でしか使えない。入れ子にしたり装飾したりする便利な機能も Notion で使うからこそ約束されているものだ。その場所でしかその書き方はできない

だから、ローカルのお気に入りのテキストエディター( Vim など)で書いたあとにクリップボードにコピーしてブラウザーに貼り付ける、という使い方が出来なくなってしまう。

いまこの文書は Notion を使って書いているが、プレーンテキストでコピーできない2のでブログにこの記事を投稿するときは一旦 Markdown フォーマットで書き出して Vim で開き、コピーしてブラウザーのブログ記事入力欄にペーストする必要がある。

冒頭に挙げた Day One も Markdown で文章をコピーすることができなくなった。文書作成・管理プラットフォームとして考えたときにはこれは正しい戦略で、 Markdown ではない独自のフォーマットで文書を書かせることでユーザーをロックインできる。ひとたび Notion や Dropbox Paper に文章を書きため、その独自フォーマットに慣れてしまえば、データと記法の両方によってロックインされてしまうわけだ。

Notion や Dropbox Paper はよくできていると思う。特に Notion は WorkFlowy のようなアウトライナー的な側面を持ち、いわゆる「ファイルの壁」問題を解決しつつ Markdown のサポート、画像の埋め込みや表の挿入などにも対応している。良いなと思う反面、一人のインターネットユーザーとしては、オープンかつ自由なフォーマットで書くことができる Markdown がやっぱり好きだとも思う。


  1. 正確には Notion と Dropbox Paper と同じような、 Markdown と WYSIWYG がミックスされた独自フォーマット 

  2. macOS 版の Notion では Markdown 形式でコピーできたけど、 iOS 版ではできなかった