第9回XML開発者の日に行ってきた

感想とかは後にしてとりあえず内容メモをUPしまする。

始まりの言葉(村田さん)

  • 山本さん、山口さん、丸本さんありがとう
  • 宴会は3時ごろに出欠の確認をします。
  • 店は去年と同じところ
  • yoheiさんどうぞ。

yoheiさん

導入
  • プレゼンツールはid:secondlifeさんのツールを勝手にパクッてカスタマイズして使ってます。ありがとう。
前置き
  • 去年も言ったけど、RESTはアーキテクチャスタイル
  • RESTをどう生かしていくかはまだまだ悩みどころで、みなさん苦労しているんではないでしょうか。
    • 理解促進のために使える?
  • WebアプリとWebサービスは分けないほうがいいんじゃないか?
  • ウェブ戦略としての「ユーザエクスペリエンス」読んだ人いる?
    • いねぇのかよ。
  • ハイパーメディアシステムの設計にはCool URI重要。
  • データ重要。
    • アクセスできるといいな
本題
  • Cool URI
    • 「変わらないURI
      • 404にならない
    • Coolにするために
      1. 変えない
      2. 変えにくくする(日付)
      3. 変わっちゃったらリダイレクトする
      4. あきらめる
    • 変えにくくするために
      1. 実装依存ダメ *.pl
      2. リソースは名詞(RESTの考え方)
      3. セッションIDも入れない
      4. いまどきのフレームワーク
      5. WebアプリとWeb APIURIを分けない(結構重要)
  • REST的には
    • クライアントがURIを推測するのはダメ。
      • リンクをたどるとか、FormからQueryを投げるだけでいけるように。
    • URI templete
      • OpenSearchの{searchTerms}とか。
      • 今のところはまだ様子見
  • URIのまとめ
    • 変えるな
    • 変えにくくしろ
  • Web API
    • APIなのか?
    • プログラムから「も」アクセス可能なだけ。
  • WebアプリとWebサービスを分けて考えない。
    • ×はてブの件数取得API
      • /xmlrpcにクエリを投げる
      • RESTfulじゃない。
      • パラメータを複数渡さなきゃいけないからこうなった?
      • Query Documentをポストするようにしましょう。
      • POSTでURLリストを投げて、その結果のページを作っちゃえば素敵。
    • ○ハテブのブックマーク件数を画像で取得するAPI
      • シンプルで良い。
      • 実際には302で飛ばしているらしい。
      • HTTPを正しく使っている
      • Webアプリとサービスを分けていないから、htmlから img/@srcでリンクできる
    • 勝敗を分けたもの
      • リンク可能」という意識
      • リンクできる == REST的にOK
    • 設計のヒント
      • Resource Oriented
      • HTML/Atomからリンクできるように
      • リソースに適した表現をがんばって選ぶ。難しいけど。
      • 無理してXMLは使わない。
      • 経験+センスがものを言うので、「デファクト」「まね」重要。
  • 最近のREST関係の話
    • 来年5月にオライリーからREST本が出るらしい。rubyのコードつきらしい。
      • SOA vs RESTは間違ってるので SOA vs ROAで行こう。
    • blogでRESTの話を対話形式でするのがはやってる。
    • InterQでインタビューがある。
    • ほかいろいろ。
    • REST vs WS-*
      • シンプルさ、ベンダの思惑
    • 認証周りとかエラーはまだ自分もわかってないのでこれから。
    • まとめ
      • データをWebに出しましょう。
      • WebアプリとWebサービスを分けない方が幸せです。
質問
  • はてなの人
    • 実装の突っ込みありがとう。参考にします。
  • 富士通のくるまいさん
    • URLをきれいにつけると「リソースを定義する」は1対1だと思うけど、「リソースを定義する」際の参考になる何かを
    • 一問一答で返って来るリソースではなく、アプリが使うたくさんのデータは
    • はい
  • らくだ色のセーターの人。
    • Cool URIの件、50件のクエリはPOSTでやるとあったけど、CRUDのイメージと異なってしまうが。
      • 変わってないです。検索のリクエストは、「検索結果リソース」を作っている。
    • キャッシュとかも考えなくてはいけないけれど、POSTでもキャッシュが効くのか?
      • 絶対キャッシュしなくちゃいけないわけではない。
    • リソースとURIが一対一というのはキャッシュ出来るかどうかが一つの判断基準になるかと思っているのですけど。
      • リソースとURIは実は一対一ではない。「今日の天気」というリソースは変わりうる。
  • 村田さん
    • WebアプリとWebサービスを分けない場合のデメリットはあるか?
      • あるのかな?
    • 触られるのがいやじゃないかな。
      • 認証をちゃんとやればいいかと。セキュリティのためにWebアプリとWebサービスで分けなきゃいけないとすると、もとのアプリ自体が危ないんだと思う。
  • 伊藤江渡さん
    • 認証周りのトピックはなんかない?
      • 僕も悩んでるんで誰か教えてください。今年ははやるんじゃないかと思ったけど…
    • GDataの周りに認証があったけど
      • あれは今あるものと以下につなぐかってことをしているので、RESTと合ってない

川村さん Ruby on Railsに見るRESTfulアプリケーションの方向性

経緯
  • RESTとの出会い
    • yoheiさんのblog
    • Cool URLで目からうろこ
  • Rails で REST はニッチかと思ってたら6月のRubyカンファレンスででてきた。
本題
  • RESTとは
  • RESTといえばWebサービス
    • Webアプリだって重要。
  • メリット
    • ステートレスでスケーラビリティの向上
    • でも最近は
      • Cookieでセッション管理当たり前
      • ユーザによって異なるレスポンスが返るのでキャッシュが効かない。
    • ユーザはURIがちゃんとしていて便利
    • 設計者は制約があって失敗しにくくなる
      • DHHさんも言っている。
  • RoRとは
    • DHHさんが作った。
    • Cool URIがルーティングで可能に。
      • でもactionが動詞になってるよ!?
      • DHHさんも反省してるよ!
  • CRUDにすると…
    • actionをメソッドにしちゃえ。
    • POST /products/update/1 の代わりに PUT /products/1 に。
    • ブラウザから出来ないから代わりに_method=putとかで代用。(しょんぼり)
  • コントローラをリソースとして指定
    • map.resources :products
      • create → POST /products
      • index → GET /products
      • show → GET /products/1
      • new → GET /products/new
      • edit → GET /products/1;edit
      • update → PUT /products/1
      • destroy → DELETE /products/1
  • コンテントネゴシエーション
    • 普通にGETしたらhtml
    • リクエストヘッダにAccept: applicaiton/xmlを付けたらxml
    • 拡張子.xmlをつけてリクエストしたらxml
  • フォーム入力とXML入力を同一視
    • リクエストのContentTypeでxmlを指定すればxmlを受け付けられる。
  • 設計例
    • has_many
    • habtm
    • 関連を表現するURIを提供する

map.resources :users do |user|
user.resoureces :itmes
end

      • GET /users /1/items/99 で ItemsControllerのshowが呼ばれる。
    • 状態変化も一部を書き換える。
    • 状態変化のもう一つ
      • publicationというリソースを作ると、状態変化の履歴なども残せる。
    • 認証
      • リクエストごとに認証するのが正しいけど。
      • Personalized Webでは常に認証が必要。
      • sessionもリソースにしてCRUDの対象にするか
      • POST /auth_sessionとか。
      • map.resource の単数形対応プラグインもあります。sessionはたいてい単数だから。
    • ウィザードの例
      • POST /ordersでリソースを作り、/oreder/34にリダイレクト。後はPUTで。
      • ただし「戻る」ボタンが使えない。
      • さらに途中でブラウザを閉じられると、中途半端な情報が残る。
    • ウィザードの例2
      • POST /ordersとリダイレクトだけでやる。PUTしないで情報はhiddenタグで持つ
      • hiddenタグがたくさんあってめんどい。
      • あんまりREST的な雰囲気がしない。
    • ウィザードの例3
      • order_wizardをcreateし、これをsessionに保存する。データはPUTで追加していく。
      • 最後にordersをcreate
      • やっぱり「戻る」は使えない。
      • REST的にはいやん。
  • まとめ
    • Webアプリ設計の技法として使えますよ。
      • 一部にセッションを使っていてもいいじゃない。
質問
  • yoheiさん
    • ウィザードは1番がいいと思います。expireの時間も持っとけばいいはず。1の方が「戻る」にも対応できそう。
    • ;editが特殊というのは川村さんの意見?
      • CRUDからは外れますよね? DHHも
    • edit resourceをgetすると考えればいいんじゃないかな。
      • editに関してはそうかも。
    • (村田さん)editは動詞だから形容詞のeditableにしちゃえば?
  • 名前を聞き取れなかった人
    • CSRFの対策は?
      • プラグインしかない。
      • 確かにCSRFの問題はRESTを採用するとあるかも。
    • (村田さん)パッチを作ってもらわないと。
      • 英語で説得するのが…
  • (青灰色の袖なしセーターの人)
    • ユーザ認証のところ、何をするのか良くわからなかった
      • 認証状態をリソースとしてログインはcreate、ログアウトはdestroyとした
    • ログイン・ログアウトの処理をこれで代用すると考えれば良い?
      • CRUDではそう。
    • (yoheiさん)POSTで作られるのは何?
      • ユーザ名とかパスワードを持った何がしかのデータ。
    • session idでは無い? Cookieとかに入れないと
      • 実際にはCookieとかsessionに入れて、使える用にします。
    • (もとの人)副作用はいいけど、ここで作られるものがあまり意味が無い気がする。次回のログインで同じように使うわけじゃないよね
      • ええ、インターフェースをあわせただけです。

Masa and Takさん カレンダーアプリへのGData実装

自己紹介
  • xfyコミュニティからきました
  • xfyコミュニティとは
  • xfyとは
    • XML複合文書編集環境
      • XMLアプリを動かすためのプラットフォーム
      • Mashup Platform
    • Java pluginとXVCD(スクリプト)で機能拡張可能
本題
  • RDF Calendar
    • ローカルで動きます。
    • Google CalendarにGDataを使って対応しました
  • GDataとは
    • Google Data APIs
    • フォーマットはAtom 1.0でAPPベース
    • HTTPでRESTとか、各言語(Java、.NET、PHPなど)のライブラリで取ってこられます。
  • 今回の実装
    • GETでの認証:user-id と magiccookie をURLに含める
    • XVCDのコード紹介。XVCDはXSLTの拡張です。
      • 編集のルールとかUI部品も記述できる。
    • POSTでの認証は Client Login APIを使っている。
      • AuthTokenを取得し、HTTP Headerにつけてやる。
      • ブラウザではなく自作アプリでやる場合、リダイレクト重要。
    • xfyのBasic EditionではPOSTができないのでごめんなさい。
  • GData 詳細
    • HTTPをきれいに使ってる。
    • 結果はATOMOpenSearch 1.1対応
    • Google拡張が gd:whenとかgCal:accesslevelとかいろいろある。
  • 困るところ
    • 日付の変換が大変よ!
    • Googleは RFC3339
      • Bad Requestの何がBadなのかわかんねぇんだよヽ(`д´)/
    • Programmable WebのGoogle Calendarの項目の一番目にRDF Calendarが載ってるよ
  • hCalendarへの実装
  • xfyコミュニティに参加してください!
質疑
  • 後ろの方のひと
    • xfyは複合文書の扱いに興味があるけど、Schemaのサポートはやらないの?
      • SchemaからViewを生成したりできるので、そういう意味ではサポートはしてます。
    • nvblとかサポートしませんか?
      • 調べておきます。
  • 村田さん
    • PUTとかGETまでXVCDでやるのは何で?
      • 本当はプログラミングをしなくてもアクセスできるようにしてるんだけど、開発者としては低層からやりたかっただけ。
  • yoheiさん
    • POSTでBad Requrestだったのは結局何が悪かったの?
      • formatとか、encodeとか。そのほかにBloggerにアクセスするときに苦労したのは、正式サービスのBloggerはダメでBlogger Betaにアクセスしなければいけないということがわからなかった。
      • 何より情報が無いのが大変

これより午後の部

宮川さん Plagger the duct tape of the Web (Skype経由でUSから)

自己紹介
  • six apartの US Officeで働いている。
    • San Francisco のアパートから。
  • VOXやってる。
本題
  • plaggerとは
    • @ITで特集がでたから読め。
      • まだまだ知名度が低いとかかれている。
    • スラドWikipediaでnon notableだから削除されそうとかかれてショック。
  • Pluggable RSS/Atom Aggregator
    • Why pluggable
      • perlスクリプトでいろんなプログラムを作っていて、本質的でなく、使いまわしの出来る部分がいろいろでてきた。
      • 2
      • 全部一つにまとめられるように。
      • いろんな入力をいろんな出力に。
      • UNIXのpipeみたいなものです。
      • Ray OzzieもRSSはWebのUNIX pipeになるって言ってるし
      • PlaggerはWeb2.0のUNIX Shell
      • IN と OUTの組み合わせ数は(ちょっと古いけど)1295
    • 素のPlaggerでできることもいろいろあります。
  • plaggerのインストール
    • google先生に効いてください。
    • 「plagger インストール」と「rails インストール」は同じぐらいでてきます。つまり日本では同じくらい有名。
  • plaggerで出来ること
    • Feedをメールに送ってgmailで見る
      • gmailのUIはfeedを見るのにナイスに出来てる。
    • ローカルのメールに送る。
      • リンクの画像も添付して切れないようにすることも可能。
    • クロールしたく無い人はbloglinesとかLDRとかからやればいい。
    • 広告も消せます。正規表現でやってます。
    • Filterでできること
      • EntryFullText:本文の無いFeedの本文を取ってくる。
      • enclosureとって来るとか。
    • Publish
      • RSS、MT、Email(今までのgmailの代わり)、iCal、excel
    • Search
      • LuceneとかHyperEstraiyerとか
    • Notify
      • MicrosoftのHelpとか
      • CDのイジェクトとか
  • 誤解
    • 何でもできるわけではない。
    • RSS は Web の standard I/O
    • plaggerはWebのduct tape
    • 位置情報 geo tag
      • Geo URL
      • Flickr
      • Google mapへのリンク
      • Eznaviのメール
      • Photo EXIF
      • microformats のadr
    • plaggerのpluginで位置情報を取り出せば、自由に使える。
  • 今後
    • Geo extension
    • iTunes RSS
    • 添付ファイル
    • 本文からサマリー、HTMLをplain textに
    • Calendar Support
質疑
  • 大沢さん
    • location supportについて、loca pointは対応しないの?
      • plugin書いて。
    • perlが得意な人以外には使えないもの?
      • 難しい質問ですね。
      • configがかければ使えないことは無いけど、できることを調べるのにソースが読めないとちょっと厳しいかも。
  • yoheiさん
    • 吉松さんがずっと参加者リストに入ってるのは?
      • six apartの日本オフィスにも配信してます。音は行って無いけど。
  • 丸本さん
    • plaggerとGUIの連携は?
      • 設定ファイルをGUIで書けるようにする試みはある。
      • Outputを見る部分をgmailなど外部に依存してるので、自分のWebUIで見られるようにしようという試みがある。
      • LDRとかのハックもある。
    • ローカルに取得してきたフィードを保存するようになればそれをGUIで見られるように他の人が作ってくれるんじゃないかな。
      • SQLiteに書くプラグインはあるので、それを見るGUIを書いてもらうのはかまわない。
  • めんじょうさん
    • 今のplaggerはローカルマシンにインストールしなきゃいけないけど、Webアプリとして提供するような予定は無い?
      • 宮川さん自身がやることはない。必要として無いから。ライセンス的にそれを禁止してはいないので、やりたい人がいたらやってください。
      • plaggerのエンジン自体がそれをスケールするようにはできていないかもしれないけど。
  • おおしまさん
    • インストールの敷居を下げる仕組みを作る取り組みがいろいろやられているけど、将来的に本体としてインストールの敷居を下げるつもりはある?
      • 本当はいろいろな人に使ってもらえるためにやった方がいいのかもしれないけど、増えすぎるとメンテナンスとかが大変になって面白くなくなっちゃうかもしれないから、あんまり増やしたく無いってのもある。
      • まだやりたいことはいろいろあるので、それが落ち着いたら少し考えるかも。
  • たかくさん
    • このpluginは公開しちゃまずいかなみたいのはある?
      • Serverとして公開したくないというのはそういうところもある。
      • 作るときには少し意識することはあるけど。公開しないためのフラグみたいなのがあったらそういうのは積極的にサポートするとか。

村田さん ODFとOOXMLの標準化戦争

前置き
  • 技術的な話は無いです。標準化の醜い話ばかり。
  • オフィス文書交換のためのXML
    • ODF: OASIS、Sun、IBM、OpenOffice
    • OOXML: Ecma、Microsoft
本題
  • ODF
    • Sunが初め、IBMも追従、ジャストシステムも。
  • OOXML
    • Office2007で実装されている
    • Ecmaで標準化
  • Ecmaとは
    • もともとはヨーロッパの標準化団体
    • EcmaはISOに提案できる権利を持っている。
  • OOXMLは邪悪か?の質問
    • 邪悪じゃない、の方がちょっと多いかな?
  • ODF
    • 初めはほとんどSunだけの委員会だった
    • 2002年にはじめた
    • 2005年にOASISで標準になった。
  • OOXML
    • 2003年にはじめた
    • 2005年12月にEcmaでTC45になった。
    • 2006年12月にEcmaの標準になる?
  • MSの主張
    • ODFだと情報が欠落しちゃうから。
  • 村田さん
    • この程度のこと悪いことはアリ。
    • ただ、自社の製品に依存しきったものをそのまま出そうとしたら許せない。こっちからの意見を全部rejectするとか。
  • 質問
    • 日本の政府や自治体は規格になっているものを選ぶべきか。
    • 海外ではマサチューセッツ州がODFへの乗換えを決めた。
      • 住民へ提供する情報とか、受け取る情報をODFに対応する。
      • 主権の行使に私企業のフォーマットを強制するのは住民への差別だから、規格化されているものを使う。
      • 値段だけの問題ではない。
  • 日本政府と地方公共団体の動向
    • MS Officeを利用者に要求しているところは多い。
    • OOoの採用をしているところはあるが、どこも価格の問題。
  • OOXMLは ISO/IEC規格化に失敗するか?
    • 成功すると思う人が圧倒的に多い。
  • 標準化の手続きについて
    • ODFはどうだったか
      • OASISが作った
      • PAS手続き(世の中の良い規格は、1回の投票で標準化される。)
      • 各国が「オープンな文書フォーマットを国際規格化しておきたかった」のではないか?
    • ODFの問題
      • URIを使っているから日本語のファイル名が使えない→IRIに変えさせた
      • アクセシビリティ対応が無いので、マサチューセッツ州でも問題になった。ODF1.1で対応。
    • ODFのJIS化
      • ISO/IEC規格になるとJIS化するための委員会が出来る。(委員長、村田さん)JISかされると、採用を義務付けできる。
    • OOXML
      • EcmaからISOに提出
  • 日本はどう投票すべきか
    • 単なる好き嫌いではなく国益を考えて
  • 国内のマイクロソフトユーザにとっての利害
    • 国際規格にするのがいいか、docのままでいいか
      • 国際規格にしたほうが良いにみんな手を上げます。
  • 文書交換フォーマット失敗の歴史
    • Open Document Architecture
    • SGML
    • Inter…(Xerox)
  • アンケート:今後どうなるか
    • 共存:数人
      • ODFは広範囲の交換、OOXMLはMS製品中心に
    • ODFのみ:2人
      • ODFは広範囲の交換、OOXMLは無くなり、今までおり.docが使われる
    • OOXMLのみ普及:4、5人
      • OOXMLはやっぱりMS製品だけだろうけど
    • どちらもダメ:たくさん
      • いままでどおり
  • JUSTSYSTEMSの人に意見をきいてみる
    • MS Officeを前提とした行政はかなりまずいので、ODFがいいのではないか。
  • アンテナハウスの小林さんにきいてみる
    • MSの.docの態度はころころ変わっていて、最初は機密保持契約を結べば見られた。そのうちMSDNで公開されたけど、最終的に「コンバータを作っている会社には公開しない」というスタンスになった。
    • Office2003のWord Processing MLが出た後、WordでXMLを編集するソフトを作った。Office2007には残念ながら非対応。Word MLとかpluginの作り方が変わっている。お客さんにどう話そう…
    • そういうことをされては困るので、標準を決めて、それに準拠するというためには100%準拠しなければいけないとしたい。
    • 10年前のCD-ROMは大半読めなくなっている。
    • 10〜20年を考えると、ちゃんと標準に準拠したほうが良い。
      • ODFが2.0で大幅に変わったらどうでしょう?
  • チェックのシャツの人にきいてみた
    • 公開されればOfficeを使わなくても、対応した何かは作れる。公開されることが重要ではないか。技術的にはどっちでも良い。
  • 規格制定者は悪人だといっている石川さんに聞いてみる。
    • XMLになった時点で勝ち。
  • 藤沢さんに聞いてみる。
    • OOXMLは数千ページあって読めないけど、最初の100ページと最後の50ページにzipベースの圧縮とか、マークアップコンパチビリティの話があって、とっても重要だから切り離して標準にしてほしいな。
      • MSの人にはマークアップコンパチビリティを切り出せといってある。
    • 本当に普及するかどうかは市場が決める
  • 小林さんアゲイン
    • OfficeのXMLフォーマットを承認するということは、MS Officeを世界標準だと承認するに等しい
    • XMLフォーマットになったとしても、Officeの組版モデルの情報が公開されないからOfficeが無いとちゃんと見られないのは変わらない。
    • Wordの組版モデルが外からWordを動かしてあれこれやるしかない。
    • Documentが公開されても組版モデルが公開されないことにはダメです。

かみのごうやさん(six apartの人) microformatsに触れてみよう

前置き
  • 資料は公開するからメモはいらないよ
本題
  • microformats.orgのコンテンツはmicroformatsでマークアップされてるよ。
    • ディスカッションは盛んです。Wikiも盛ん。
    • Wikiも日本語化してるし
  • 今は駆け出してます。
  • microformatsとは
    • Web上のデータに情報を加える。
    • 簡単
    • 今あるスタンダードを使う
  • 何ができる?
    • どこに何が書いてあるかわかりやすくする。
      • どこまでが苗字でどこから名前かわかるようにするとか。
    • Human Readableが機械可読よりも先。
  • HTML
    • 文書に意味づけを行なう言語
    • 詳細な意味づけには荷が重い。
    • classやidを使ってほげとか。
  • 身近なところに
    • flickr、technorati、…
    • 駆け出したばかりではなかったかも。もう一歩くらい進んでる?
  • 難しいところ
    • 情報の関連付け
    • ソースが汚くなる?
    • XFN
      • 知り合い関係
      • XFN生成ツールを使える。
    • hCard
      • 自己紹介とか
      • microformats.orgにツールがある。
    • hCalendar
      • とか
    • いろいろあるのでWikiを見れ。
  • できること
    • hCardやhCalendarから変換
    • hReviewの情報を使った詳細な検索
    • Pingerati
      • ここにpingを送るとmicroformats searchとかに引っかかる。
  • 情報収集してます
    • del.icio.usでfor:kaminogoyaとつけてください。
  • 使ってみてください
    • 簡単なところでまずはhCardから。
質疑
  • 竹迫さん
    • 写真はどうやって撮影したんですか?
      • 会社の人が一緒に海に行ったときにとってくれました。
    • microformatsで表現できますか?
      • EXIFにある情報とかカレンダーの情報とかを提供できるんじゃないかな。
  • 伊藤江渡さん
    • 誰のfamily-nameかgiven-nameわからなくなると思うんですが、これをさらにpersonでまとめたりするんですかね?
      • さっきうまくまとめるのが大変といったのはそういった点です。まだうまく出来て無いです。
  • 白いシャツの人。
    • VOXはmicroformatsに対応しますか?
      • 今は同だかわからないけど、対応してほしいと思う。会社でこの資料で発表します。
      • 宮川さんから、VOXもmicroformatsに一部対応しています。
  • yoheiさん
    • hCardのFNの仕様で日本人が使うとき、FN要素の中に空白区切りの最初の単語がgiven-nameになるから困るって言うのが去年の5月くらいにあった。今どうなってる?
      • わからないのでMLに投げてみます。
    • vCardからインポートしたときに問題になるかも。携帯からエクスポートして、それを読み込むとき
  • 村田さん
    • microformatでは無いけれど、似たようなS5を使ってみた感想として、ちょっと間違うとIEで何もでなくなる。検証が弱いので、どこが違うかわからない。
      • 個人的にはまだあまり目にしたことは無いが、結構問題になりそう。
  • 後ろの人
    • Schemaはどう考えているのか? たとえば、自分で書いたmicroformatをschemaをちゃんと書いているのか。
      • MLに投げる人はちゃんと考えているのかな…? ごめんなさい、よくわからないです。
    • (村田さん)今度筑波大の学生にやらせて見ます。

山口さん Syndy Chronicleの実装に見るmicroformats

前置き
  • 間違ったこといったらごめんなさい
本題
  • 年表をマシン処理可能にすると、どんなうれしいことがあるか。
    • microformatsを使ってやってみた。
    • 会社の社史とか、地方自治体の歴史とかと自分の活動記録を重ね合わせて表示できる。
    • 他人は見ても面白く無いかもしれないけど。
    • 年表は人に見てもらうために意図的に作るもの
    • 技術の歴史と自分の経歴を簡単に並べて見られる
      • 手間をかけてやるほどのことではないから、「簡単に」重要。
      • 地球温暖化の見通しとリタイア後の生活計画:水没予定の島に行かないように
  • microformatsの処理
    • そんなに難しくない。
      • class属性は空白区切りの複数の単語なので、「同じ」ではなく「含む」で判定する
      • propertyの指定が重なることがあるので、「子孫」じゃなくて「子孫もしくは自分」にすべき。
    • 本当はschemaがあれば悩まないんだろうけど。
      • Bad Know-how?たくさんやりました。
      • Firefoxのtailsプラグインはちゃんと認識してくれるからOK。
  • REST的に
    • 「年表」がURLをもつ
      • いいんじゃね?
      • yoheiさんフォローよろしく。
  • 日付
    • 1970年より前のイベントも処理せねば。
      • 昔の時間も処理できるような言語で書かなければいけない。
      • 自分史に紀元前が必要な人はいないと思いますが。
  • 普及
    • パースはそんなに問題ないと思います。
    • authoringツールがちゃんとできれば自治体の担当者にもきっとできるようになるはず。
      • HTMLエディタとかBlogエディタとか。
      • 太字のタグじゃなくてmicroformatsのタグを入れられるようにするとか。
      • 囲んでいるタグを探す機能とか
  • Syndy Chronicle
    • Syndy + Chronicle
  • Syndyとは
    • OPMLベースのランチャー
    • FeedやHTMLのグループに対してアプリを適用するツール
      • 年表として表示してみたり
      • Explorer風に見てみたり
      • RSSリーダとして使ってみたり
    • プレゼンとか、カレンダーとか、グラフにして表示とかも出来ます。
  • Syndy Chronicle
    • 年表ビューア・エディタ
    • hCalendar か hResume でかかれた情報を取り出して年表形式で表示できます。
質疑
  • yoheiさん
    • 宿題はちょっと良くわからなかったんだけど…
    • editableなんですか?
      • 選んでエディットボックスが出せます。人の年表をいじっても保存されないけど。
  • オレンジのサイケなシャツの人
    • 前にどこかで見た研究内容のアイデアの実現かなって思った。
    • 歴史学の人とかにもきっと需要があると思うので、紀元前とかにも是非対応してもらいたい。
      • 面白いと思ってくれる人がいたらよかった。誰かやって。
  • 青灰色の人アゲイン
    • お墓を移動するときに寛永何年とか言う人がでてきた。localな年号とかXMLの世界ではどうなっているのかなぁ?
      • 頭をよぎったけど考えるのやめた。
      • JSONとAjaxで年表みたいなものやってる人もいる。
  • 村田さん
    • xfyでVCでやってるんですか?
      • VCでやってます。
    • ソース公開ですか?
      • 公開してます。
  • 年表を作ってる後ろの方の人
    • 歴史をやっていると確定しない年号とかでてくる。どうしたらいいですかねぇ?
      • 考えるのやめました。
      • DateTimeに詳しい人、誤差みたいなものを表現する方法あるんですかね?
      • ジュラ紀とは言わなくても、「1月から」といったときに1/1なのか1/31なのか
    • 後付でmicroformatつける場合に、bodyにメタデータつけるんじゃなくてdisplay:noneで表示をしないデータをつけるのもアリですかね?
      • アリでしょうね。手っ取り早いつけ方をしただけです。

村田さんによるアンケート

  • これもうやらない方がいいと思う人
    • 以内らしい
  • またやった方がいいと思う人
    • たくさん
  • プロトコル編成を手伝いたい人
    • 一人いたらしい
  • 次回何やったらいいでしょう(一年後として)
    • Compound Documentでもやる?
    • W3C
    • MVDA
    • xfy
      • この辺は懐かしすぎるか
    • Web APIの認証
      • そろそろ解答がでないとまずいよねぇ。候補ですね。
    • IE7でRSSが使われるようになるから、IE7のRSSについて
    • OOXMLとか

後藤さん、室田さん(Feedpathの人) ブログエディタへのmicroformatsの実装

  • macを使っている人はやはり「ノート(PC)」ではなく「mac book」というらしい。
会社紹介
  • 2005/4月から
  • cybozuとnetageの合弁企業
  • コンシューマーサービス事業
    • feedpath
    • feedreader
    • blogengine
      • いくつかのイントラブログのエンジンはfeedpath製
  • feedpath
    • Social Feed Communicator
      • FeedReaderを少し進化(変化?)させたもの
      • 開発3ヶ月
      • フロントは Ajax
      • ソーシャルタギング
      • microformats対応ブログエディタ
本題
  • feedpathの現状
    • (数字がたくさん出てました。)
  • blogエディタ
    • 複数のblogを一箇所で管理
      • 社内と社外のblogにマルチポスト出来る
    • 対応blogにmicroformatsつきのエントリをポスト出来る。
  • 技術担当の人に交代
    • Miracle Linux + PHP + MySQL

LB
---------------
Web Web Image
----------------
DB <-> DB

  • Blog APIクラス
    • BlogAPIというinterfaceをMTAPIとかblogger APIとかが実装してる
    • mixiとかやりにくいのはゴリゴリやってます。
      • htmlをスクレイピングして記事のIDを取得したり
  • 認証がいろいろあって苦労しました。
  • microformatsは以下の二つに対応しています。
    • hReview
    • hCalendar
    • 他は追々対応していければと思っています。
  • 地図情報
    • 住所情報からGeocoding.jp APIでGEOコードをとって、Googlemaps APIで地図を取っている。
  • サムネイル画像
    • Simple API
      • URLからスクリーンショットを作成してくれる
  • 商品情報
    • Amazon Web Service
デモ
  • http://muro.typepad.jp/blog/ にあげてました。
  • class属性でhreview以外にbookって付いてるけど、これは将来を見越した仕込。
  • サイトのレビューをするとSimple APIさんからスクリーンショットを持ってくるので、キャッシュされてると現状と違うところがあるかもしれません。
プレゼンに復帰
  • 今後
    • フォーマットというよりコンテンツを浸透させていき、検索とかが重要になってくるんじゃなかろうか。
    • 転職情報とか不動産検索とかも特定の転職サイトや何かにアクセスしなくてもmicroformats検索でいけるんじゃなかろうか。
質疑
  • 山口さん
    • テンプレート選ぶときの「マイテンプレート」って説明し忘れ?
      • すみません。忘れてました。デモします。既存のテンプレートをいじって要らない項目を減らしたり、新しい項目を追加したり出来ます。
      • Smarty使ってるので、Smartyライクにかけます。
    • さっき簡単なんて言っちゃってごめんなさい。
      • いや、簡単ですって。
  • 村田さん
    • これを使ってテンプレートを作ってる人ってどれくらいいます?
      • 入力項目を増やす、減らすくらいをしている人は結構います。
      • レビュー記事を使っている人は編集する人は多いです。
  • 右後ろのひげの人id:koyhogeさん
    • 上のGUI操作で変えるところと「魔の段」は同期してるの?
      • してます
  • livedoorの金子さん
    • 規格化されていないところを決めて行こうみたいなことは考えていますか?
      • ここにいるえらい人に決めてもらいたいです。
  • 丸本さん
    • 認証の話があったけど、ATOM APIとかは「10年以上使えるものにしたい」ので、時代遅れになってしまう可能性のあるSHAとかには決められない。
    • WSSEで変なところがあるのは、TypePadの勘違いのせい。今は直って両方対応しているはず。Bloggerが正しい。
      • 同じ名前で挙動が違うのは勘弁してください…
  • サイケな色のシャツの別の人
    • Google mapsだけで住所から取らないのはなぜ?
      • 楽に取れるところを選んだから。Googleだけでやれるんならその方がいいので調べてみます。
    • (別の人)日本はまだ対応して無いです。
  • N何とかの何とかさん
    • WSSEは2種類作ればどっちかあたるからいいです。
      • いろいろ試すと無駄だからblogと認証と1対1でやるようにしてます。
    • (質問聞き逃しました)
      • blogによって明らかに失敗してるのに200返すところもあったり。
    • みなさんGoogle maps使うけど、わがグループのgooマップもよろしく。
      • はい、すぐ提案します。

終わりに

  • 一階のロビー集合です。よろしく。