2019年7月28日日曜日

検索市場の変化とプライバシーポリシー

検索市場に変化が起きていることをご存知でしょうか。 様々な独自エンジンが台頭してきているとは以前も書きましたが、 実際に使ってもらうのは並大抵のことではありません。

しかし流入数からの裏付けも出てきました。 直近の情報で、Googleはじょじょにマイナス成長しており、DuckDuckGoが急伸しました。 他にも2019/05に中国のBaiduは検索エンジンで赤字を出すなど、ニーズが移り変わりつつあることが鮮明になっています。

Googleのマイナス成長を「GDPRが重視されるようになって、DuckDuckGoがいくつかのブラウザの標準検索エンジンになったから」で片付けてしまうと話が終わってしまうのですが、 DuckDuckGoのプライバシーポリシーを読んでいると「なるほど」と思ったので、今回はその話をしようと思います。結論はあえて書きませんが…。



さてDuckDuckGoのようなプライバシー重視型エンジンは、具体的にどのようなプライバシーポリシーで運用されているのでしょうか。 特に有名と思われる、Qwant, Ecosia, swisscows, Startpage もいっしょに取り上げてみます。 原文にもリンクを貼っておきますが、DuckDuckGo Privacy, Qwant Privacy, swisscows Privacy, Startpage Privacy はだいたい以下のような内容になっています。
  • Referer、User Agent、IPをサイトに送信しない
  • 検索日付と上記の個人情報を検索エンジン側も収集しない
Ecosia Privacyでは1週間以内に個人情報を匿名化すると書いてあるので、 個人情報を社内活用はするけど、対外的には上記のポリシーを守るし、恒久保存しないというスタンスに見えます。 これを設定でOFFにできると書いてあるけどボタンは見つからない。本題から逸れるのでまあ良いか。

ちなみに今回取り上げなかったYippyでは、微妙に情報を収集しています。米国や日本の基準では個人情報ではないですが、GDPRだと期限付きでないといけないし、余裕で個人の特定が可能な状態と思います。このようにプライバシー重視型検索エンジンにも差はあるし、国ごとの認識、追跡可能レベルを理解して読むことが大切だと思います。


そしてこれらの検索エンジンはどのように検索エンジンを運用しているか、これが割と重要です。 以前調べた時は正確な情報が掴めなかったのですが、今回は以下の、非常にクリティカルな情報が得られました。 関連スレッドを全部読んでみてください。 要約すると、少なくとも DuckDuckGo / Ecosia はゼロからクローラを作ってはおらず、 (1)主にBing、Yahoo!、Yandexとパートナー契約を結んでデータをもらっていて、 (2)上記のプライバシーポリシーを守った上で彼らに情報を送信している、と公式アカウントが宣言しています。 これ私はめちゃくちゃ知りたかった情報です。 このTweetで Qwant, Ecosia, swisscows, Startpage などの仕組みが、かなり正確にわかったのではないでしょうか。


もう1つ、たまたま見つけたGiveroという検索エンジンのプライバシーポリシーもとても参考になるので引用してみます。

The following data is transferred to our search partners when you submit a search request: IP address, user agent string, search term, country and language settings, filter settings for adult content, active search filter settings (eg page number information), an optional Bing ID (read more below) and the ID of the organization that should benefit from your search.

Givero Privacy Policy
つまり検索リクエストを送信すると、検索パートナーに色々な個人情報が転送されているそうです。ここまで明言化された記述は初めてみたので、私はとても参考になりました。この転送情報をどれだけ匿名情報に変換しているかが、プライバシー重視型検索エンジンの本気度という事になるだろうと思います。


このような情報を組み合わせると「なるほど」と思いませんか? 私はプライバシー重視型検索エンジンの人気が出るのは当然という気がします。

2019年7月23日火曜日

直接民主主義とプロジェクト駆動開発とN国

政治に関することは書く気はないのですが、今回の参議院選挙で1議席を獲得した、「NHKから国民を守る党=N国」のモデルは面白いと思いました。 ちなみにN国のことは選挙が終わってからYouTube放送を初めて見たくらいで、全然知りません。 ただYouTube放送を見ていると結構面白いなあと感じました。

今回はN国を政治的視点ではなく、その成功パターンをITの世界と照らし合わせた考察を、メモとして残しておきたいと思います。


まず先に取り上げた動画では、間接民主主義と直接民主主義のねじれを何とかして「NHKをぶっ壊す」というシンプルなことだけを主張しています。 間接民主主義と直接民主主義の違いは、企業とプロジェクトの違いとしても、よく言われることですね。 どちらにも良し悪しはあると思いますが、プロジェクトには一点を貫く力がありますし、最近はその力の重要性を様々な場所で見られるようになりました。 一番大きいのは「言ってることとやってることが違う」が起きない強さだろうと思います。 N国が1議席を手に入れられたのは、プロジェクトベースの主張の強さを示した結果なのかも知れません。 政党要件を満たすために選挙区に37人も候補者を立てた執念も、凄まじいなと。


さらに馬鹿にならないと思ったのが、インターネットで賛成/反対を募って完全にそれに従うという、思想上は超クリーン (※注) なシステムを引っさげてきた点です。 技術をベースに物事を語る政治は日本では少ないので、馬鹿にはできないなと思いました。 そして自分の主張以外はすべて多数派に従う (下) ためほとんどブレが起きないので、強い。

これ一見ふざけているように見えますが、プロジェクト駆動開発の本質は、プロジェクト以外は多数派の意見を飲む(飲まざるを得ない)という事なので、まったくブレてないし、めちゃくちゃ効率的な考え方ではあります。 細かなことに政治思想が介在しないためクリーンで、多数決の民意をそのまま反映するのでコスパが非常に良い。


注: ただ実際にはインターネット投票を超クリーンにするのは非常に難しいです。 既にある程度のシステムはできているようなので、運用し始めることはできるのだろうと思いますが、インターネット上でIDを1対1で結び付けるのはすごく難しい。 マイナンバーを使うくらいしか、解決策はないように思う。

どうやって完璧なものを作るのかは、N国のことをあまり知らないので疑問に思ったのですが、 そのようなシステムを予算内できちんと作ってくれるなら、1票を投じる価値はあると思いました。 おそらくそこに期待した人が、一点突破の力を信じて投票したのでしょう。 それともネタ放送でネタ投票したのでしょうか。
2019-08-18: YouTube のアンケート機能を使い始めていましたが、これだといかようにも不正が起きてしまいそうなので、うーんという感じ。


仮に前者であれば、日本の選挙においてもプロジェクトベースの仕組みが力を発揮する可能性が出てきたのかも知れません。 私はインターネットやITの世界は、少なからずプロジェクト駆動開発=直接民主主義が一定量の進化を促した側面があると思っています。 ここを否定するエンジニアの人はあまり居ないんじゃないかな? そのようなITの過去に照らし合わせると、N国の1議席をネタとして考えるのは、ちょっと違うのかも知れません。 そもそも馬鹿正直にシステムの素晴らしさや、変えるべきことを論理的に熱く語る政見放送にしても、注目を浴びることはなかったんじゃないでしょうか。


まあ実際どういうことになるのかは蓋を開けてみないとわかりません。 「主張さえ通せばそれで良いんだ」では済まないところも当然出てくるとは思うので、そこがどうなっていくか次第な気もします。 最初の1年は政府要件の返済に当てる必要があるとして、2年以内にシステムを整備して運用してきたら面白いかも…? 3年やっても投票システムが運用できないようだとちょっと…と思いますが、さてどうなるか。 また仮に直接民主主義が一定量増えたら、間接民主主義がどのように扱われていくのかは、地味に興味があります。

2019年7月15日月曜日

フリゲ紹介: REC

RECは、unityroomでプレイできる、モノの場所の記録をあつめて、うごかしたあと記録の場所にもどす不思議なパズルアクション。



unityroomの規約に準じると画像などの紹介は難しそうな気もするのでツイートの引用に留めますが、とても面白いゲームでした。 ツイートもいかにも面白そうですよね? 紹介通り、モノの場所を記録して、動かした後にモノの位置をもとに戻すことで、ステージをクリアしていきます。 アクション要素はそこまでなく、パズル要素がかなり強いので、パズルが好きな人には良いかも。

作者のたアケイクさんは影を実体化するゲーム、Ryosukeさんはトアルボクスなど、人気の高いゲームをたくさん作られています。unityroomもゲームが溜まってきて、どんどん面白くなっていますね。

RECはその中でも「これは面白い」と思った作品でした。おすすめ。

2019年7月13日土曜日

フリゲ紹介: 猫と魔法のブロック

猫と魔法のブロックは、テトリスと弾幕が組み合わさったゲーム。 Android/iOSは有料アプリですが、PCは無料とのことです。



ティアとシャロ、2人のネコ耳娘の物語です。かわいい。 怪しい商人に宝の地図を買わされ、宝探しをすることになった2人ですが、宝島 (左下) には冒険者 (右下) や敵もいて、すんなりとはお宝をゲットできない。



宝島の探索はテトリス+弾幕で作られています (左下)。 シンプルな2つが組み合わさると、こんなに歯ごたえがあるとは…。 テトリスに集中してしまいがちで、弾幕を避けるのが意外と難しい。 特にボス戦は歯ごたえがあって、2面でもうまくやらないと手こずると思います。 ショップで買えるパワーアップ・アイテムなども活用していく必要があります (右下)。



ルールは簡単だけど歯ごたえのあるパズルゲームをしたい人にはおすすめできそう。

2019年7月1日月曜日

ドメイン取得はなぜ必要なのか

ドメインは取ったほうが良いよという解説サイトは多いけど、取らなければいけない理由は説明されてません。 今日はそこを真面目に書いてみたいと思います。



1. Bingで大量のページをクロールしてもらうため

検索エンジンに自分のサイトを認識してもらうためには、まずGoogle, Bingに登録してもらう必要があります。 ある程度SEOを知っていればここは大丈夫でしょう。 ただ1万件など大量のページがあるサイトを認識させる場合、そのサイトが何日でクロールし終わるかという問題があります。 ではここで問題です。 数万件のページがあるサイトをBingにsitemap.xmlだけ登録した時に、1-2ヶ月で何ページくらいクロールしてくれたと思いますか?

解答は100ページです。

Bingは大量のURLがあると同じページしかクロールしてくれないようで、このペースだと永遠にクロールが終わりません。 徐々にページ数を増やしていく場合には1000ページくらいは普通に耐えるように見えるのですが、 初期段階からページ数が多いと、今のところうまくクロールしてくれません。 そして何万ページかあると、新たに何千ページか追加しても、思った通りのクロールは全然してくれないので、かなり困ります。

ではどうするかというと、ドメインを取得した際に使える「URLの送信」機能を使います。 「URLの送信」を使うと1ドメインあたり1000件のURLを送信できます。 この機能を使った際のBingbotは、Googlebotより有能だと私は思っています。 そしてサブドメインで登録しているサイトではこの機能は使えません。 だからドメイン取得が必要なのです。

ちなみにGooglebotはサーバ状況にもよるので何とも言えません。 何千件もクロールしてくれる時もあるけど、平均すると1日1000件より少ないイメージです。


2. Bingで素早くインデックス化してもらうため

BingのURL送信の可能数がドメインあたり1000件という制限が意味するところは、 世の中にあるサイトのたいていのサイトは運用に効果の高い人気の高いページを1日に1000件しか登録しないという事です。 つまりサブドメインでしょぼいサイトを運用している場合、Bingはいつまでも更新してくれないリスクがあります。

ではここで問題です。Bingにサブドメイン型の20ページくらいのサイトをsitemap.xml登録した時、 どれくらいの日数でクロールしてくれたと思いますか? これはドメイン内の状況次第と思いますが、自分が作ったことのあるサイトでは1ヶ月くらい掛かっていることが多いように見受けられます。遅過ぎる…。 もちろん1週間以内に登録されることもあります。 そのサイトがURLのキューイングアルゴリズムをどう作ってるかというのは、外からじゃわからないのがキツイ。

ちなみにGoogleはサブドメインでも「URLの検証」から登録できるので、ページ数が数十なら何とかなります。 ただGoogleの「URLの検証」も1日10回くらいが限界で、それ以上はボット回避の認証が必要になる。 絶対すぐに見て欲しい2-3ページしか登録できないです。

Bingの1日1000件の制限と、Googleの制限は、サイト構築の仕方にも影響を与えます。 この制限のために、Webサイトのページ数は10万件くらいが最初の限度と思います。 Bingで1日1000件更新してもすべての更新に100日掛かってしまうし、Googleではそれより時間が掛かります。 またGoogleはフィルタリングを食らった時に更新が地獄になるし、 サイト全体にアップデートをかけた時の管理が、Bingbot以上に大変になるからです。


ところでブログだとPING送信という機能があって、これがインデックス化速度に関係するという記述をたまに見ます。 この仕組みについても書いておくと、PING送信が掲載されるのは送信先の新着ページばかりです。 ブログとの関連性も薄いし、被リンク効果があっても一瞬だけなので、インデックス速度に効果があるかというと、そんな気はしないです。 ただ誰かの視界に入る確率はほんの少し上がるかも? 先に述べたようなクロールの仕組みを踏まえた上で、方法論を考えると良いのかなと思ってます。


3. Bingを最大限に利用するため

ここまでBingの欠点ばかり挙げているようですが、私はBingのほうが有能だと思っています。 使いこなせば明らかに。 ではGoogleとBingの最大の違いは何でしょうか? 私は性能云々ではなく、フィルタリングが掛かっているかどうかだと考えています。 Bingにはアダルト以外のフィルタリングは掛かっていないと発表されており、 実際にGoogleよりBingのほうがヒットするサイトは多様性があると感じています。

多様性以外にフィルタリングがどのような差を生むかというと、サイト初期登録時の認知度に効いてきます。 Googleだと、真面目に作ってコンテンツがしっかりしていても、不適切なコンテンツと判断され、フィルタリングされてしまう可能性はかなり高いです。 フィルタリングされると、インデックスページ数、ページ表示回数、クリック率の相関が壊滅的になります。 それもそのはず、検索結果にページが表示されないのですから。

さすがにGoogle八分はキツイのできちんと対応はするのですが、これが結構大変なんですよ。 その点、BingだとSEOが甘めでも最低限のアクセス数を確保してくれるので、安心感が全然違います。 ページの修正は大変だしクロールも時間が掛かるので、サイトの初期段階でBingの存在は欠かせません。 Googleは安定してくると強いんですがね。


SEOのことをしっかり知ってないと、すぐに誰もアクセスしてくれないサイトになります。 もう少し何とかならないものかなあ。