Code for History

"Code for History"はIT技術を歴史学上の問題の解決に使うコミュニティです。強調したいのは、我々にとってIT技術は「手段」であって「目的」ではありません。「目的」は歴史学上の問題を解決する事であって、必要であればITでない手段も活用します。常に最優先なのは、問題を解決することです。

ポケモンGOは「想定外に流行った」というよりは、「位置ゲーが流行ればこうなる」という最初の事例かなと

ポケモンGOの現象って、「ポケモンという人気のガワを被せたというだけだとここまでのヒットを説明できない」というよりは、今まで位置ゲーがヒットした事がなかったから、まさに世界初の現象なので想定外の事に見えてるだけで、「ここまでヒットした」んじゃなくて、「ヒットしてるものが位置ゲーになればこういう事が起きる」初めてのサンプルという捉え方のほうが正しいんじゃないかなと思った。
飽くまで私見だけど。

だって、ポケモンって1万円近い金払って買わないといけないソフトが、以前の勢いはなくなってるとしてもいまだに1シナリオ更新で800万本くらいは出てるわけで。
それだけ払っても買う層がそれだけいる中で、基本無料のソフトが出ればみんなとりあえずは入れてみるでしょう。
そしたら有料コンテンツの10倍とか100倍の数でても不思議ではないわけで、今わかってる数字はこれくらいしかないみたいですけど、むしろ1万円のソフトと比べて無料なのに10倍程度のオーダーしか出てないの?とむしろ少なく見えるくらいで(有料は子供向け、GOは大人向けと差はあるにせよ)、潜在能力はもっとあるでしょう。

で、昔コロプラがコロカやったら、田舎の寂れてた名物店に列ができるくらい人が殺到した、なんて事も起きてたわけで、コロプラのささやかな(当時としてはすごかったですが、PokeGOと比較すれば)会員数でもそれだけの事が起きてたのに、その下手すれば100倍の層が、遠くの田舎じゃなく近くの公園に行くだけで楽しめるなんて形であれば、そりゃ飽きるまでの初動はこのくらいの事起こっても不思議じゃないよね、と思えます。

なので、「予想以上に流行った」じゃなくて、「流行る要素は普通にあるので想定通り(予測できてたかはともかく、後で妥当だと思える程度と言う意味で)流行った、でも初めての流行ジャンルなので、それで起きた現象は想定外と思えるほどだった」というのが正しいのかなと。

ぶっちゃけIngressは流行らないと思っていたので、焦ってポケモンGoには追いすがってる

位置ゲーご意見番のつもりだった癖になぜIngressに走らなかったのかって、位置ゲーを下手に運営してただけに経験則でIngress絶対流行らないと思ってたところもあるのよね。

位置ゲー「ゼロサムゲームの奪取系」「自分との闘い国盗り系」「交流で世界が育つコロプラ系」という系譜があって、ユーザがシジフォスのように終わりのない苦行で消耗するゼロサム奪取系は全く市場が大きくならなかったのに対し、国盗り、コロプラの順で成長したので、ゼロサムゲームは成長しないという経験則を持ってて、Ingressは間違いなくゼロサムゲームなので育つわけがないと思って無視してたら、きっちり最低限は流行った挙句、ポケモンGOに繋がったので焦っているという。

今思えば、ゼロサムゲームといっても個人戦と団体戦では全然違うし、空間に絵を描くとか自己顕示欲要素もあったり、ミッションとかも後から追加されたり、予想外に流行った理由も説明できないではないけど、しかし結果的に経験が目を曇らせるということもあるのだなあと思いつつ、ポケモンGOについてはちゃんと注意と対策を払っていきたいと思っている次第です。

ポケモンGO(位置ゲー)はソシャゲを侵食はするが滅ぼしはしない

Facebookの記事から引用。
すみません、あいかわらず高橋徹への批判が入っているのはご愛嬌で...

随分前に「ソシャゲなんてぶっ潰せ」と勇ましいことを言ってた某君、ソシャゲぶっ潰すどころか自身の食扶持すら毎年公的補助金なしでは回らない状況だったので何言ってんだという感じなんだけど、この記事ポケモンGOがソシャゲを食ってるという話を見て「ザマミロ」的な事言ってたみたい。

一昔前のソシャゲは確かに、私が関わったもののプロデューサに世界観むちゃくちゃにされた某タイトル含め、安い絵師にエロい絵描かせて、こればら撒いておけばお前ら金出すんだろ?的なものばかりだったけど、流石にソシャゲ市場も淘汰されてきて、今生き残って高い収益上げてるものは、アイマスデレマスにせよ、グラブルにせよ、Fate GOにせよ、下手な小説や漫画より背景世界やキャラクターの掘り下げ、連携できてるし、だからこそ漫画やアニメに逆進出もできるし二次創作も盛況なわけで、今やソシャゲもシステムではなく物語性や世界観で生き残る時代に変わってきている。

そこにポケモンGOだけど、ポケモンGOもさほど今まで芽が出なかった位置ゲー市場に、ポケモンという20年近く積み重ねられてきた世界観が載ったからこそのヒットであって、そこにあるのは個々のタイトルの世界観vs世界観の闘いと言っていい。
今のソシャゲの現状も知らずに、ソシャゲ憎しで位置ゲー対ソシャゲ文脈でソシャゲザマミロみたいなのは甘い考察としかいいようがない。
多分彼には、可処分時間の奪い合いのソシャゲと、可処分時間どころか移動中の一瞬の奪い合いの位置ゲーの違いもわかってない。

位置ゲーが認知された事で、可処分時間の中での「移動」と「停滞」の割合は前者が後者を多少侵食していくと思うけど、位置ゲーの文脈では、ソシャゲとの間の時間の奪い合いより、位置ゲー間の一瞬の奪い合いの方がはるかに熾烈
ソシャゲの時間は確かに一時的に減るかもしれないけど、位置ゲーは「移動」という文脈の中でしか機能を持ち得ないので、全ての人が可処分時間の全てを移動に費やす事は無理なので、どうしても残る「停滞」の時間の奪い合いに位置ゲーが参入する事はできない。
自然に住み分けができてくるので、位置ゲーが一時的にソシャゲの売り上げを減らす事はあっても、位置ゲーがソシャゲを潰す事は絶対にない。

というか、「ソシャゲであれだけ無意味だと思える絵やキャラクターにガチャでユーザが金をつぎ込むのなら、猫のアイコンが写真の履歴一覧で撮った向きを伝えてくれるカメラアプリで、猫の種類を変えたり犬に変えたりの機能を100円とかで売り出せば、大儲けできるんじゃね?」とか運営センスの欠片もないこと言いだして、私に大反対された彼に、ソシャゲを見下す資格などないように思えるんだけど...

高知市津波/洪水ハザードマップのkml/TMS公開しました。

台風11号、エラい勢いです。
気象庁によると、まだ九州南にいて列島上陸は明日の予定のようですが、それでも奈良でも今にも洪水になりそうな雨の勢いです。

これ、数日前に騒がれてた高知、また危ないんじゃないの?と思って、数日前に作成した高知市の洪水ハザードマップ/津波ハザードマップkml/TMS化したものを公開しておきます。
高知市には事後になりますが、メールで利用許可申請しておきます。

kmlを使っていますので、PC/スマホを問わずGoogle Earthで表示できます。

f:id:kochizufan:20140809090938p:plain

URLをメール等でスマホ等に送って、リンクをブラウザ等で開くと、Google Earthの入ったスマホでは開く事ができるはずです。
もちろん、Google Earthの標準機能はそのまま使えますので、現在地との比較等も可能です。
TMS形式でも提供していますので、若干プログラミング等は必要かもしれませんが、Google Maps API等からも利用可能です。

作成は拙作の歴史国土というサービスのプロトタイプを利用しています。

f:id:kochizufan:20140809085641p:plain

将来的にはちずぶらり2.0(もちろん「ちずぶらり」はATR Creativeの商標なので、別の名前を考えないといけませんが)とマージしたいと考えているサービスで、公開できていない理由は、プロトタイプ機能は2年前に完成しているものの、サービスに必要な機能(ログイン機能ですとか、サービスとしての安定化、UIの整理、利用できるデータサイズの向上等)がほぼ手がついてないためです。
が、機能としては動作しますし、ハザードマップ等の出来合いの地図画像があれば、10分もあればkml/TMS化できますので、もし早急にkml化したい地図があれば、コメント等でご相談いただければ対応します。

ちずぶらり相互ダウンローダ作成しました

前記事で、

震災記憶地図では、次のようなURLスキームで、作成された地図を追加できます。
eqstroll://od/[地図ID].kmz?sup
これ、odという文字が使われているので、これをcsに変えるとcss3~系サーバにあるデータも読めるようです。
すると、いろんなちずぶらりに収録されていて、一緒には比べられない地図を、震災記憶地図上でまとめて一緒に見る事ができます。

と書きましたが、これ、その後地図を読み込む事のできるアプリが震災記憶地図以外にも拡張されているようで、かなりの数のちずぶらりで他のアプリの地図が読み込めるようになっているようです。
各アプリのInfo.plistの解析で判りました。

そこで、各アプリに含まれている地図を別のアプリで読み込み可能にするための、ツールを一つ作ってみました。

ちずぶらり相互ダウンローダ

このツールを使うと、これまで違うちずぶらりに含まれていて、一緒に重ね合わせて見られなかった地図を、一つのアプリ内にまとめることで一緒に比較できるようになります。
利用感はこんな感じ。

f:id:kochizufan:20140727124016p:plain

上のセレクトボックスで移したい地図をアプリ選択=>地図選択の順で選び、下のセレクトボックスで移す先のアプリを選んだ後、ダウンロードボタンを押すと、地図のダウンロードが始まります。

前記事でも書きましたが、この仕様を使うと、データとしての所有権のないデータでも読み込めてしまいます。
それはモラルに反するので、飽くまで自己導入済みで、所有権を主張できるデータのみを読み込むようにしましょう。
具体的には、送信元に指定するアプリとしては、自分のiOSデバイスに一度でも導入した事のあるもの以外は使わないでください。

また、ちずぶらりも私のいた2年間に何度も進化していますので、アプリによっては微妙なデータ仕様の差でうまく読み込めなかったり、リンク切れになってたりするものもあります。
残念ながら本ツールはアプリのバイナリから構成情報を機械的に抜き出してきただけなので、そういうリンク切れ等までは対応していません。
その場合、たとえばアプリAのB地図とアプリCのD地図を重ね合わせたい時に、B地図をアプリCに入れようとして失敗するなら、D地図をアプリAに入れる方針に変更するとか、いろいろ試してみてください。

閑話休題、実は他アプリ丸々読み込めるちずぶらりのデータダウンロード仕様

今回作ったツールについては以上ですが、以下ちずぶらりのデータダウンロード機能のこぼれ話。
実はちずぶらりのデータ構造は、個々の地図をダウンロードできるだけでなく、他タイトルの地図アプリをまるまる自分の中に取り込む事もできるようなデータ構造になってます。
なので、データの場所と読み込み仕様さえ知っていれば、下記画像のように、震災記憶地図の中に初三郎ちずぶらりを丸々取り込む事も。

f:id:kochizufan:20140727124135p:plain

個々の地図と違ってこのアプリ全体定義仕様はデータが作られていないので、この仕様を公開しても誰も幸せにはならないのですが、こんな機能もあるんだよ、という紹介として。
現在のちずぶらり運営チームにも、せっかくの機能、いろいろ活用して欲しいものです。

ちずぶらりデータへのアクセス方法解析結果(その1)

別ブログに投稿した内容の再編集再掲です。 今後、ちずぶらり及び周辺技術の話題は極力こちらに集めたいと思っております。

ちずぶらりデータのオープンデータ化の表明が為されました。

こちらのイベントの場において、ATR Creativeの高橋徹さんによって、ちずぶらりデータのオープンデータ化の表明が為されました。

ただ、とはいっても、ATR Creative社が勝手にコラボレータから預かっているデータを全部オープンデータ化するわけにはいかないので、そこはコラボレータが意思表示した場合に、オープンデータとしてアクセスしてもよいという事にする模様です。
具体的には、同社は今、ちずぶらり部という、コラボレータのための地図データエディタSNSのようなものを作っていて、そこでは震災記憶地図のようにコラボレータが地図を編集し、タグをつけ、編集が終わった地図を公開できるようにするそうなのですが、その際の地図のメタデータとして、コピーライトの部分にオープンデータであると記載した場合、そのデータをオープンデータにするという対応にするそうです。
それ以外の対応をする予定は特にないとのこと。


地図エディタの上記の部分にオープンデータであると表明した場合、オープンデータになるという仕様だそう。

しかし、これだけではオープンデータ化利用に不十分

しかし、高橋さんのオープンデータ化方針はすばらしいのですが、実際にちずぶらりデータをオープンデータとして用いるには、これだけでは不十分なのです。
少し実証してみましょう。

高橋さんの提示されたやり方であれば、今同じように地図エディタとして公開されている震災記憶地図でも、オープンデータが作れるはずです。
テキサス大学でパブリックドメインで公開されている、米軍による戦後すぐの日本の都市計画図から、我が故郷姫路の地図を登録して、マッピングしてみました。
もちろん、コピーライト、ついでにタグにも、CC0、オープンデータの表記。

これで、この地図データは、地図画像だけでなくマッピングポイント等も含め、オープンデータになりました。
さあ、皆さん、ご自由にお使いください!

…使えませんね。
データへのアクセス方法が提示されていないのですから、文面でだけオープンデータ化した、等と書かれても再利用することはできません。
高橋徹さんの示されたオープンデータ化の方式だと、コラボレータがデータをオープンデータ化すると表明しても、データへのアクセス方法がないのです。
いや、もっというと、コピーライトへのオープンデータ記載しても、Web上で地図のメタデータとして表示されないので気付く事もできませんし、タグに書くと表示はされますが、検索はできないのでこれまた気付くのは困難。
糅てて加えてデータへのアクセス方法も判らない。
どうすればいいでしょうか。

データへのアクセス方法が判らないなら、解析すればよい

結局のところ、全ちずぶらりデータへのアクセス方法を解析した上で、その中でオープンデータ表明されているものだけを自由に使わせてもらうしか、現状方法はありません。
アクセスして良いデータだけにアクセスさせる方式ではなく、どのデータにもアクセスできるのだけど、ライセンスで縛る方式です。

似たようなアプローチとしては、国立公文書館がありますね。
国立公文書館も、Webに出ている所蔵物データはほぼ、ライセンス的には自由に利用可能なのですが、高解像度データのアクセス方法は不正アクセス禁止法等には触れない範囲でハックして解析しないと判りません。
あるいは、Google Mapsの地図タイル。
あれも、不正利用しようと思えば誰でも不正利用できますが、不正利用はしないでね、とライセンスで縛っています。
同じように、ちずぶらりも、オープンデータ化したお宝を利用可能にするために、全てのデータアクセス方法をハックしてしまいましょう。

まず結論:

解析手順を書いた所で、興味のない人には興味がないでしょうから、まず結論としてのデータアクセス方法を示します。

地図データ

地図のマッピングデータと、ランドマークピン等の情報が入ったkmlデータ、及びそのランドマーク修飾用のリソース等がアーカイブされたデータです。

http://ods3.illustmap.org.s3.amazonaws.com:80/[地図ID].kmz
又は
http://css3.illustmap.org.s3.amazonaws.com:80/[地図ID].kmz

地図画像タイルデータ

地図をズーム毎にタイル分割した画像データです。

http://ods3.illustmap.org:80/tiles/[地図ID]/[地図ID]-[ズーム][X座標][Y座標].jpg
又は
http://css3.illustmap.org:80/tiles/[地図ID]/[地図ID]-[ズーム][X座標][Y座標].jpg

地図画像一括ダウンロードデータ

ズーム毎にタイル分割した画像データを一括読み込みできるsqliteファイルです。

http://ods3.illustmap.org:80/sqlite/MapHistMap[地図ID].sqlite
又は
http://css3.illustmap.org:80/sqlite/MapHistMap[地図ID].sqlite

画像IDの調べ方

  • 震災記憶地図で作ったデータであれば、地図ダウンロード用URLが http://ods3.illustmap.org.s3.amazonaws.com/eqstroly_static.html?e795caac64efa576cf41bda3024b52aa03334384/sup/EQ_txu-oclc-6565467_1 のような形で示される場合、最後のEQ_txu-oclc-6565467_1の部分が地図IDです。
  • ネットワーク中途に私的プロキシを立ててちずぶらりを動作させた場合、地図の移動や一括ダウンロード等の操作を行うと、上記形式のURLがアクセスログに残りますが、その中に地図IDが含まれています。
  • iTunesiOSデバイスを同期すると、Win/Mac問わず、必ずそのPCの中にアプリのバイナリが記録されます。そのアプリのバイナリはzip解凍等で容易に内部確認できますが、そうすると地図データファイル等が存在するのが判るので、地図IDを取得する事ができます。

画像IDや地図データを取得すればできること

  • 地図メタデータの取得、解析。
    地図マッピングデータを入手できれば、そのデータを元にTMSデータを作成したり、いろんな事ができます。
    もちろん、アクセス方法が判っても、オープンデータでないデータを公的に使えばライセンス違反ですし、私的利用であっても、ライセンス利用権を得ていないデータ(元データの含まれているちずぶらりを購入したりインストールしていない)を利用する事は、モラル違反です。
    使いたい場合は、オープンデータのみにアクセスするか、少なくともデータの所有権を主張できるデータに対してアクセスしましょう。
    少なくとも、私が今回作った姫路のデータ、地図ID:_EQ_txu-oclc-6565467_1 については、オープンデータである事を宣言してますので遊び倒してください。
    地図データのデータ内容分析については、次回の記事以降に掲載します。
  • 震災記憶地図での、地図ひとまとめ
    震災記憶地図では、次のようなURLスキームで、作成された地図を追加できます。
    eqstroll://od/[地図ID].kmz?sup
    これ、odという文字が使われているので、これをcsに変えるとcss3~系サーバにあるデータも読めるようです。
    すると、いろんなちずぶらりに収録されていて、一緒には比べられない地図を、震災記憶地図上でまとめて一緒に見る事ができます。
    たとえば、こちずぶらりの平安京地図、京都ちずぶらりの洛内イラスト地図、京都愛の伝説の古地図、御所ぶらりの御所の中の地図は、アプリが違うのでいっぺんに切り替える事はできないはずですが、それぞれの地図IDを調べて、この方法で震災記憶地図に持ってくると、全部いっぺんに楽しむ事ができます。

    上記のように、普通は一緒に見る事のできない地図達の夢のコラボが実現できます。
    大事な事なので何度も書きますが、オープンデータでない地図、及び所有権を主張できない地図に関しては、アクセスしないようにしてください。

以下は解析方法紹介…まずデータがおかれているサーバを調べてみる

データ取得方法の説明はここまでです。
データの仕様紹介については次回以降の記事に譲って、以下は上記結果を得た解析方法について説明します。
興味ない方はここまでで問題ありません。

まず解析の手始めに、ちずぶらりデータが置かれているサーバの名前を解析してみます。

震災記憶地図の追加地図の読み込み用URLとして出てくる

震災記憶地図のアプリへの追加地図読み込み用URLは、http://ods3.illustmap.org.s3.amazonaws.com/eqstroly_static.html?e795caac64efa576cf41bda3024b52aa03334384/sup/_EQ_txu-oclc-6565467_1のような形で、ods3.illustmap.org.s3.amazonaws.comが使われています。

Android版ちずぶらりで、ネットワークがない状態で出てくるエラーメッセージに出てくる

たとえば、延喜式ちずぶらりだと、ネットワークオフで起動した場合、

のような形で、css3.illustmap.orgというサーバ名が出てきて、このコンテンツが同名のサーバの上に置かれている事がわかります。
なお、このURLがわかると、たとえば有料のちずぶらりでも、このhtmlをブラウザでアクセスすれば普通にちずぶらりとして使えてしまいますが、ライセンスされていないデータにはアクセスしないようにしましょう。
html経由でアクセスしたくとも、アクセスしたければ正規のちずぶらりを入手、特に有料のものは対価を支払って、データの所有権を主張できる状態にしてから、アクセスしましょう。

Web版ちずぶらりのデータ要求先がcss3.illustmap.org

ATR Creative社のちずぶらりトップページで、表示されている地図のタイル画像が、 http://css3.illustmap.org/tiles/Rumsey5002Japan1897/Rumsey5002Japan1897-0_0_0.jpgのような形でcss3.illustmap.orgが使われています。

プロキシを経由してちずぶらりを動作させた場合、プロキシのアクセスログに残る

ネットワーク中途に私的プロキシを立てて、httpのアクセスログを記録すると、4ドメインへのアクセスログが残ります。
たとえば震災記憶地図だと、
XXX.XXX.XXX.XXX - - [XX/Jun/2014:XX:XX:XX +0000] "GET http://ods3.illustmap.org.s3.amazonaws.com:80/_EQ_takata002.kmz HTTP/1.0" 200 1509011 "-" "EQBurari/3.000.4510 CFNetwork/672.1.14 Darwin/14.0.0"
のような形で、ods3.illustmap.org.s3.amazonaws.com又はods3.illustmap.org サーバへのアクセス記録が残ります。
震災記憶地図以外だと、css3.illustmap.org.s3.amazonaws.com又はcss3.illustmap.org サーバへのアクセス記録が残ります。

これらの手法の組み合わせで、データの取得は4サーバへアクセスしている事が特定できます。

後はちずぶらり上で行った操作とプロキシログ等を比較してURL形式を特定、URL内の共通部分を特定して地図IDを特定

アクセスしているサーバがわかれば、後はちずぶらり上で行った操作と、プロキシログやブラウザのネットワークアナライザを付き合わせれば、どんな操作の時にどんなデータが要求されているかが判ります。
それが判れば、ダウンロードして中身を見てやればデータの役割は判りますし、アプリのバイナリを解析してやれば地図IDの特定も可能です。

ちずぶらりHackersはじめました。

古地図、絵地図を扱うiOSアプリ、ちずぶらりシリーズをハックし倒すサイトを始めました。
同アプリはチーフプロデューサの高橋徹氏が一部オープンデータ化を明言されました。
が、オープンデータとして活用していくためには、データアクセス方法、データ形式の明確化、及びエディタや閲覧アプリのクローンの作成等が必要となってきます。
また、本ブログ運営者であるkochizufanが昔から持っている構想、歴史国土構想OpenTileMap構想4次元GIS構想等とちずぶらりとのシームレスな融合も模索していきたいと考えています。

そういった活動拠点として、本ブログを立ち上げました。
どうぞよろしくお願いいたします。

どこまでできるか判りませんが、主に次のような活動を考えています。

ちずぶらり関連

  • ちずぶらりデータのアクセス方法、データ仕様の解析、解説
  • ちずぶらりデータを可搬にするための各種開発、ハック紹介
  • TMS等既存GISデータをちずぶらりで読み込めるようにするための開発、ハック紹介
  • ちずぶらりエディタ、ちずぶらりアプリ(iOSAndroid、できればWindowsPhone)クローンのオープンソース開発
  • ちずぶらり2.0データ仕様の検討

周辺技術関連

  • 歴史国土、OpenTileMap、ちずぶらり、4次元GIS等の諸構想の再練り直し(統合できそうな構想は統合する等)
  • 各構想のWebエディタ、閲覧アプリ等のオープンソースでの開発

© Code for History