メイン

「GDD08」のアーカイブ

2008年6月11日

Google Developer Day 2008 Japan レポート

Google Developer Day 2008のレポートを基調講演からと思ったのですが、基調講演については色んなニュースサイトやブログで取り上げられているので、割愛します。

2年連続でGDDに参加しての感想と、僕が参加した「Google Data API」と「OpenSocialコードラボ」について書きます。

全体の感想

昨年のGDDでは、基調講演のときにMappletsやGoogle Gearsの発表があり、かなりわくわくドキドキさせられました。今年のGDDにも、なんとなくそんな「サプライズ」を期待していったのですが、その期待はあっさりと裏切られました。

GDDの親玉イベントであるGoogle I/Oが5月末に開催されたためか、まだどこにもリリースされていないニュースやAPIの発表はありませんでした。まあ、これは僕が勝手に期待していただけなので、だから今年のGDDはいまいちだった、なんていうつもりは全然ありません。

むしろ今後の開発やエンジニアライフへの影響を考えると、昨年以上の刺激やつながりを得られたと思います。

GDD全体のトーンは、Gears、OpenSocial、Android、Google App Engineという、Googleが力を入れているという3C (Client / Connectivity / Cloud)というコンセプトを軸にして、開発者にGoogle のAPIを紹介し、実際に使ってもらおうというもの。

Googleの及川さんが、基調講演の際、One more thing として4つめのCであるCommunityを挙げられていましたが、このコミュニティを育てること(もしくはそのきっかけを作る)こそがGDDの真の目的であるように思いました。

GoogleのAPIに慣れ親しんでいる開発者は「認定エキスパート」として、Google APIの初心者・中級者を引っ張る立場としてGDDに参加できるようにし、コードラボセッションのような上級者向けのセッションを用意する一方で、初心者向けのセッションも多数用意して門戸を広げていました。幅広いレベルのエンジニアが参加できて、それぞれに得るものがあるという場をGDDは実現しようとしていたのだと思います。

最後のSocial Talkという懇親会の場では、GDDに参加した人たちどうしがあちこちで名刺交換や話をしていて、活気にあふれていました。僕もOpenSocialセッションで説明していたGoogle社員のクリスさんに思い切って英語で話しかけてみました。下手な英語にもかかわらず、一生懸命聞いてくれて、「他に質問はないかい?何かあったら名刺のアドレスまでメールしてくれ」みたいなきさくな言葉もかけてもらいました。

ああいう場に行くと、知らない人に囲まれてついついしり込みしてしまいがちですが、積極的にいろんな人に話しかけてみることが楽しむこつですね。

来年も開催されるなら、また参加したいなと思っています。GoogleのAPIを使い倒して、認定エキスパートにしてもらえるくらいになっていると良いな。

では、僕が参加したセッションについての内容と感想を続けます。

Google Data API

Google CalendarやGoogle Healthなど、GoogleにストアしたデータをCRUDするためのAPIの総称がGoogle Data APIになります。

Google Data APIs - Google Code

AtomPubのプロトコルで実現されており、非常に簡単にデータを取り扱うことができます。

通常のRSSと違い、Googleの認証基盤を使うので、個人的なデータもhttpsで通信して安全に利用できます。

YouTubeやPicasaから動画・静止画データを取得したり、カレンダーやノートブックを使って便利なマッシュアップサイトを作ったりするのに便利そうでした。

Mashup Award 4th で使ってみよ。 

コードラボセッション「OpenSocial」

OpenSocialのハッカソン。

30名弱のエンジニアが集まって、OpenSocialのアプリを作るというもの。JavaScriptでお手軽に作れることもあってか、他のコードラボに比べて遅めの開催(14:00~)でした。

最初にGoogle社員のクリスさんから、OpenSocialについての説明(英語)が10分ほどあった後、ネタ出しブレストがあって、それぞれ自分が作りたいアプリに近いもので2~4名のグループを作りました。

僕のグループは、「友達リストにタグ付けしたり、タグで絞ってメッセージを送信できるようなアプリが作れたらいいねー」というグループ。このグループ分けの時点で15時だったので、実質アプリ構築の時間は2時間程度。

最初に自己紹介をしたのですが、なんとまずいことに、3人とも前日の夜にOpenSocialのチュートリアルやってみましたという状態。やりたいことに近いチュートリアルのコードを参考に作ってみましたが、いかんせん付け焼刃で、友達にタグをつけられるはずが、友達に「hoge」という固定のタグをつけるだけのアプリになってしまいました。むむー。

Googlerいわく、ハッカソンでアプリが完成することはあまりないとのことだったので、今後時間を見つけて続きを作っていけたらと思います。やっぱ事前の予習は超重要ですね。ちょっとガジェットが作れるもんだからっていい気になっていた自分のバカバカバカ。

部屋の後ろにコーヒーやパン、クッキーがあったのですが、プログラミングに熱中するあまり、それに気づきませんでした。もっと余裕をもってやらないとなー。

17:00からは、各チームの成果発表会。

友達リストでカバラ占いを作ったチームもあれば、ビデオチャット等サーバサイドアプリをがっつり使ったアプリを作ろうとしたチームもあり。個性があっておもしろかったです。GDDサポータの山下さんのチームは、Google App Engineのアプリと組み合わせて足跡アプリを作ってました。すごいっす。

少々不完全燃焼だったので、また機会があれば、こういうハッカソンに参加してみたいなと思いました。 

<関連エントリ>

2008年6月10日

Google Developer Day 2008 (写真編)

GDD08で、基調講演が始まる直前と、お昼ご飯、そして懇親会の様子の写真を撮ったので公開します。

※セッションの様子とか撮ってないです。肝心な部分が抜けていますね・・・。

 

桜木町駅から会場のパシフィコ横浜まで。

 

遠くに見えるバターナイフの形した建物が目的地。

 

まったく関係ないけど、金属製のくわがたが展示してあってかっこよかったです。BIG BUGS WORLDとして、展望のところに展示されているみたいでした。

 

駅から結構歩いてようやく到着。人の群れも、開発者っぽい雰囲気の人が多し。

 

GDD08のパネル。去年もこんなのがありました。

 

今年は、1Fと4F/5Fと会場が縦に分かれていました。

 

飲み物と簡単な食べ物はご自由に。

 

こんな風にGoogleカラーのボールが転がしてあって、自由に座って良い感じでした。

 

iGoogleをイメージした展示。去年より展示の小技がきいています。

 

iGoogleアーティストテーマのパンフレット。やっぱり去年よりオシャレ感が増してます。

 

基調講演の始まる前。画面では、昨年5月から今年5月までにリリースされたAPIのダイジェスト版VTRが。去年はリリースの年でしたね。

 

今年はお昼が出してもらえないと思っていたら、GDDのサポータにはスタッフ用のお弁当を出していただけました。ありがとうございました。

 

最後の懇親会会場。今年はこういうのやらないと行っていましたが、サポータからのヒアリングで、Googleの開発者達と話をする場所が欲しいという要望から、こういう企画も盛り込まれたんでしょうか。OpenSocialのクリスさんと話をして返ってきました。

 

帰り際、巨大Googleロゴにて記念撮影。持っているYouTubeトートバッグは、ガジェットコンテストの商品です。そして着ているTシャツは、昨年のGoogle Developer DayのTシャツです。

 

Google Developer Day 2008 レポート(速報版)

Google Developer Dayの会場に着きました。まとめは後でしますが、速報版としてリアルタイムに更新・追記していきます。

↓こっちでもつぶやきます。

http://twitter.com/chris4403

ちなみにこれは、サポータールームから書き込んでます。眺めが良いです。

基調講演

基調講演の前には昨年から1年間のAPIのリリースのダイジェストムービーが流れてました。改めて見ると、すごい量。昨年はリリースの年だったんですね。

GDD08の開催の挨拶はGoogle Japanの村上社長。

自社ポロシャツに綿パンで登壇するあたりがさすがGoogle。(褒め言葉です)

挨拶の後、駆け足でおりていく姿も素敵。

続いて、及川さんからのプレゼン。

去年はここで、GearsとかMappletとかのサプライズがあったんですが、今日は、OpenSocial / Android / Google App Engine のまとめ的な発表でした。

Googleが何を目指してこれらのAPIを提供しているのかの総括。

AndroidとGoogle App Engineについては、それぞれ別のエンジニアの方がデモをしていたのですが、Androidのデモはすごかった。

Mapを表示して、そこからGoogle Street Viewを表示。で、携帯の筐体を移動させると、その角度/方角を取得して、Street Viewの映像が動きます。これはかなりおもしろいアプリが作れそう。

コンテンツさえそろえば、○年前の今の地点からの風景とかを表示したりできるんじゃないかなぁ。夢が膨らむデモでした。

Google Maps API for Flashのデモは、GDDサポータであるあんどうさんのフライトシミュレータを、自作のオリジナルデバイスで操作するというのだったのですが、マップが表示されずデモは午後のセッションの中でということになりました。本番でのデモには悪魔が棲んでますね。

その他の内容は、また別途まとめエントリで書きます。

お昼ご飯

サポータには控え室を用意していただいていて、お弁当を食べながら他のサポータ達と意見交換しながらこのエントリを書いてます。

Google Data API

午後最初のセッションは、Google Data APIのセッション。

Google Apps やGoogle Calendar 等のアプリで蓄積されたデータを、APIを使ってCRUDできますというサービス内容の紹介でした。

使ったことがない人向けの内容ということで、それほど深くつっこんだ内容ではありませんでした。

要は、「こんなに便利で簡単だから、みんな使ってね」という内容。

確かに、他のAPIに比べてビジュアル的な要素がないAPIなので、目立たないんでしょうね。

ただ、普通に便利なAPIだと思うので、日本での開発者コミュニティのサポートで、もっともっと盛り上がっていくんじゃないでしょうか。

OpenSocial コードラボセッション

今からOpenSocialのコードラボセッションです。

最初に簡単な解説があって、作りたいもののブレストでいくつかリストアップ。挙げられた作りたいものの中から、自分の作りたい物に近いイメージの人たちが集まって、ハッカソンしました。

僕は、友人にタグ付けしたり、メッセージを送信したりするガジェットを作るチームに。3名チームでしたが、僕を含め全員がOpenSocial一夜漬けということもあり、結構基本的なところでつまづきを繰り返してしまいました。

が、最終的に、「hoge」タグをつけるガジェットまでこぎつけました。

なんとか形になって良かった。

その後、チーム毎に作った物の発表会。カバラ占いや、ビデオチャット、フィードリーダ、位置情報や足跡アプリなどなど。すごいなぁ。

というわけで、今から懇親会っぽいやつです。

2008年6月 9日

明日はいよいよGoogle Developer Day 2008 Japan !!!

明日はいよいよGDD08です。

基調講演でどんなことが発表されるのかなぁ。

OpenSocialの予習はそこそこできたので、コードラボが楽しみですね。

当日、Google Docsか、Twitterで色々と実況っぽいことができたらなぁと考えていますが、電源・ネットワーク事情次第では断念するかも。

お昼ごはんをどうしようかなぁ。基調講演の後の1時間で、近場で食べるか、晴れていたらテイクアウトして外で食べるのもありかなぁ。

会場で僕を見かけた方は話しかけてやってください。基本、寂しがり屋なので。

2008年6月 5日

Google Developer Day 2008 Japan での発表を予測してみる

いよいよ来週の火曜日に開催がせまった「Google Developer Day 2008 Japan」。

先日のGoogle I/Oで、ブラウザ版のGoogle Earth等が発表され、前回のGDDのMappletのように、世界のGoogleに関係するようなサプライズはないんじゃないかと勝手に想像しています。

で、あるとしたら、mixiのオープンソーシャルAPIの公開が発表されるんじゃないかなぁ。

これまた、つい一昨日発表があった、MASHUP AWARD 4thのAPI提供企業の中に、mixiとGoogleの名前が挙がっていますが、具体的なAPIについてはまだページがありません。

mixi自体まだAPIを提供していないので、もし発表があるとしたら、これなんじゃないかと思っている次第です。

これが実現したら、コードラボセッションのときに、mixiのOpenSocialアプリを作れて、かなり楽しげなんだけどなぁ。

2008年5月28日

Google I/O が始まるよー

6月10日に横浜で開催されるGoogle Developer Day 2008 Japan (以下、GDD)に先駆けて、サンフランシスコにてGoogle I/Oというイベントが開催されます。

Google I/OはGDDの親玉的なイベントにあたります。

※去年のGDDは、全世界同日開催だったのですが、各会場でスピーカの取り合いが発生したらしく、今回のGDDはキャラバン制になったそうです。

親玉だけあって、イベントの規模は、他の国のGDDよりもかなり大きなものになっています。って、そもそも名前からして差別化してしますしね。

で、このイベントに、GDD08サポータからも何名か参加されています。うらやましい。

さっそくブログ等で現地レポートが始まっているようなので、興味がある方は要チェックですよ!

CEO BLOG » Blog Archive » San Franciscoに行く

Google I/O 初夜を迎える - a2c.get.diary

Google I/O 2008 前夜 | Weboo! Returns.

(あんどうさんはまだ更新されてないようですが、現地に行っているそうです)ずっと君のターン

↓山下さんのFlickrが楽しげ!

Flickr: weboo's Photostream

行きたかったなぁ。まあ、子どもが産まれたばかりなので、無理なんですけど。

俺 「ちょっとセミナー行ってきたいんだけど」

妻 「良いよ。どこでやるの?」

俺 「 ア メ リ カ 」

なんてなったら、離婚に発展しかねませんので。自重自重。

2008年5月25日

Google Developer Day 2008 サポーター一覧公開

GDDのサイトで、サポーターの一覧が公開されています。

以前にこのブログでも、ブログのリンクだけ公開しましたが、下記ページでは簡単なプロフィールも見ることができます。

Google Developer Day

ディベロッパー交流会にパネリストとして参加された方々もサポーターとしてGDDをレポートされるんですね。

開催まであと20日を切りました。当日までにOpenSocialについて勉強しておかないと。

あ、Orkut始めたので、「OpenSocialアプリ作ってみたいけど、そもそもOpenSocialに対応しているSNSで友達がいないなぁ」って人は友達になってください(OpenSocialのネックは、ここだと思ってたりします)。

2008年5月21日

Google Developer Day 2008 事前インタビュー : OpenSocial & Google Maps API for Flash

Google Developer Day 2008 (以下GDD08)のサポータとして、OpenSocialのセッションを担当する丹羽さんと、Google Maps API for Flashのセッションを担当する加藤さんにインタビューしてきました。

※インタビュー開始時間に10分ほど遅れてしまい、到着したときにはすでにGoogle Maps API for Flashの話題になっていました。

まず、最初に速報から。

明日(5/22)、コードラボ(Hackathon)のエントリ受付が開始されるそうです。

コードラボは、現在OpenSocialとGoogle App Engineのセッションが予定されていますが、Androidのセッションも追加予定だそうです。

受付は先着順で、上限30名程度らしいので、興味がある方は申し込みましょう!

ただ、どのセッションも、数時間である程度の成果物を作り上げるようなものなので、OpenSocialならJavaScript / HTML、Google App Engineならpython、AndroidならJavaの基礎知識が必要かと思います。また、セッションを有益なものにするため、参加者には事前にいくつかやっておくこともあるとか。敷居が少し高くなりますが、その分内容が濃いものになるかと思います。

ちなみにGDD08サポータからは、OpenSocialのコードラボに、僕と山下英孝さんが参加する予定です。楽しみ楽しみ!

 

さて、ではインタビューの内容を。

OpenSocialについて

OpenSocialは、13:00~13:45のセッションと、14:00~17:45のコードラボ(Hackathon)があります。最初のセッションはOpenSocialの基本について。これまでにOpenSocialのディベロッパー交流会で発表してきた内容に加え、3月からのアップデート内容を盛り込まれるそうです。

また、まだ発表されていませんが、GDD当日までにリリースがあれば、RESTful APIのお話とかも聞けるかも、とのこと。

OpenSocialがRESTfulになるのは、なかなか面白そうです。

お話を聞くと、モバイルが盛んな日本では、RESTfulなアクセスが開発者から望まれているようです。Google Maps Static APIもその一環かも。

また、話題のFriendConnectの話も盛り込む可能性があるそうです。

残念ながら、この時間は僕はGDD08サポータとして隣の「Google Data API」の方に出ることになってるんですよねぇ。こっちはこっちで面白そうなのですが、その後のコードラボのことを考えると、OpenSocialの方に出ておきたかった・・・。いや、Google Data APIの内容をコードラボに活かせば良いのか。そうだ、そうしよう。

OpenSocialには、MySpaceやmixiなどのSNSも参加表明しているので、今のうちにそのなんたるかを理解しておくと、それらのSNSがOpenSocialに対応したときにアドバンテージを得られるかも。

基調講演でも、OpenSocialについて触れられるそうで、今回のGDD08の目玉の1つになっていますね。

 

Google Maps API for Flashについて

リリースされてまだ1週間ですが、日本での反響は大きいそうです。Flash好きなんですね、みなさん。やはり、地図にフィルタかけたり、ぐるぐる回転させたりできるのが嬉しいみたいです。僕も早く試してみたいな。

ただ、地図画像データは、権利の関係上、改変はできないみたいですね。

例えば、Googleが地図のベクターデータを提供して、地図上から地名とかを消すとかってことはあまり現実的じゃなさそう。

Google Maps API for Flashは、結構前からプロジェクトとしては進行していたらしく、公開するまでにJavaScript版との整合性をとるなどの完成度を上げる作業が大変だったみたいです。

GDD08の当日のセッションでは、APIの基本的な内容を解説されるそうです。APIの内容や今後の展開について質問してみたい方は、参加してみてください。

 

と、こんな感じです。

インタビューには、佐々木さん田中さんあんどうさんも参加されていたので、それぞれのブログでインタビューの記事がアップされるかもしれません。興味がある方は要チェックです!

2008年5月17日

Google Developer Day サポーター

「公式ブロガー」から「サポーター」に名前が変わりました。オフィシャル感がなくなって、少々残念ですが、まあ気にしないことにします。

近々、GDDのサイトで公開されるそうですが、以下が公式ブロガー改めサポーターのブログの一覧です。

まとめてRSSリーダ等に登録したいというかたはOPMLファイルを作りましたので、どうぞ。

http://www.chrisryu.com/data/gdd08_supporter_blog_opml.xml

あと、需要がどれくらいあるか分かりませんが、サポーターのブログから検索するカスタム検索のページも作りました。

Google Developer Day 2008 Supporter Blog Search

ガジェットとして利用する場合はこちら

前にも書いた気がしますが、ブログをざっと眺めるだけでも、色んなバックグラウンドを持った人が選ばれてるなぁという印象です。

あと、Google Developer Day までのカウントダウンをするガジェットを作りました。

気分を盛り上げたい方はどうぞ。

2008年5月13日

Google Developer Day 2008 公式ブロガー説明会に行ってきました。

今日はGoogle Developer Day 2008の公式ブロガーの説明会に参加するため、渋谷のGoogle社へ行ってきました。

説明会には10名弱のブロガーの方が集まっており、Google I/OのことやGoogle Developer Day の説明ののち、担当するセッションの組み分けがありました。

今週から、公式サイトでタイムテーブルが公開されていますので、参加される方はチェックしてみてください。

僕が担当することになったのは、「Google Data API」と「コードラボ:OpenSocial」の2つ。

当日は、基調講演を聴いた後は、コードラボの部屋でどっぷりコーディング、ということになりそうです。

残念だったのは、前回あった、昼食サービスおよび懇親会がなくなっていたこと。今回は規模が大きくなると言うことで必然的になくなったみたいです。色んなエンジニアとお話しできる場だったので、楽しみにしてたんですけどねぇ。

その代わり、Googleの発表者の方は、一目で分かるバッチを付けて、会場をうろうろしているそうなので、気軽に話しかけてみてくださいとのことでした。

公式ブロガーのみなさんのプロフィール等は、後日ネットで公開されるので、お楽しみに。

 

2008年5月11日

Google Developer Day 2008 の公式ブロガーになりました。

Google Developer Day 2008の公式ブロガーに応募してみたら、なんと当選しちゃいました。

まあ、当選しなくても「非公式」ブロガーとして色々書こうと思ってたんですけどね。

公式ブロガー当選者は、もれなくアメリカで開かれるGoogle I/Oのプレスチケットがもらえるんですが、旅費等々は個人持ちなんですよね。当たり前ですけど。まあ、お金も時間もないので、こちらは断念。

もうすぐ公式ブロガー向けの説明会があり、そこで他のブロガーにも会えるみたいなので、楽しみです。

2008年4月24日

今年も開催!Google Developer Day 2008

昨年参加して、Googleガジェットを作り始めるきっかけとなったGoogle Developer Dayが今年も開催されます。

Google Developer Day

まだ詳細な内容は発表されていませんが、今回はノートPCを持ち込んでのハンズオンセッションも予定されているようです。

Google App EngineやOpen Socialのアプリケーションを、Googleの人に解説してもらいながら開発できるみたいですね。これはおもしろそう。

その他、Google Androidの解説とかも予定されているようです。

前回に比べて、日本人のスピーカの割合が多くなって、内容も簡単なものからちょっと難しいものまで幅広く取り揃えているような印象ですね。

僕は、発表後すぐに申し込んで、無事参加OKメールが届きました。

こういうときのためにMacBookを買ったので、ハンズオンセッションに参加しておもしろいものを作ってきたいと思います。

でぃべろっぱーず・さいど http://dev.chrisryu.com/ 鹿児島出身子持ちSEのディベロッパーとしての一面 ja Copyright 2013 Wed, 11 Jun 2008 21:34:51 +0900 http://www.sixapart.com/movabletype/ http://blogs.law.harvard.edu/tech/rss Google Developer Day 2008 Japan レポート Google Developer Day 2008のレポートを基調講演からと思ったのですが、基調講演については色んなニュースサイトやブログで取り上げられているので、割愛します。

2年連続でGDDに参加しての感想と、僕が参加した「Google Data API」と「OpenSocialコードラボ」について書きます。

全体の感想

昨年のGDDでは、基調講演のときにMappletsやGoogle Gearsの発表があり、かなりわくわくドキドキさせられました。今年のGDDにも、なんとなくそんな「サプライズ」を期待していったのですが、その期待はあっさりと裏切られました。

GDDの親玉イベントであるGoogle I/Oが5月末に開催されたためか、まだどこにもリリースされていないニュースやAPIの発表はありませんでした。まあ、これは僕が勝手に期待していただけなので、だから今年のGDDはいまいちだった、なんていうつもりは全然ありません。

むしろ今後の開発やエンジニアライフへの影響を考えると、昨年以上の刺激やつながりを得られたと思います。

GDD全体のトーンは、Gears、OpenSocial、Android、Google App Engineという、Googleが力を入れているという3C (Client / Connectivity / Cloud)というコンセプトを軸にして、開発者にGoogle のAPIを紹介し、実際に使ってもらおうというもの。

Googleの及川さんが、基調講演の際、One more thing として4つめのCであるCommunityを挙げられていましたが、このコミュニティを育てること(もしくはそのきっかけを作る)こそがGDDの真の目的であるように思いました。

GoogleのAPIに慣れ親しんでいる開発者は「認定エキスパート」として、Google APIの初心者・中級者を引っ張る立場としてGDDに参加できるようにし、コードラボセッションのような上級者向けのセッションを用意する一方で、初心者向けのセッションも多数用意して門戸を広げていました。幅広いレベルのエンジニアが参加できて、それぞれに得るものがあるという場をGDDは実現しようとしていたのだと思います。

最後のSocial Talkという懇親会の場では、GDDに参加した人たちどうしがあちこちで名刺交換や話をしていて、活気にあふれていました。僕もOpenSocialセッションで説明していたGoogle社員のクリスさんに思い切って英語で話しかけてみました。下手な英語にもかかわらず、一生懸命聞いてくれて、「他に質問はないかい?何かあったら名刺のアドレスまでメールしてくれ」みたいなきさくな言葉もかけてもらいました。

ああいう場に行くと、知らない人に囲まれてついついしり込みしてしまいがちですが、積極的にいろんな人に話しかけてみることが楽しむこつですね。

来年も開催されるなら、また参加したいなと思っています。GoogleのAPIを使い倒して、認定エキスパートにしてもらえるくらいになっていると良いな。

では、僕が参加したセッションについての内容と感想を続けます。

Google Data API

Google CalendarやGoogle Healthなど、GoogleにストアしたデータをCRUDするためのAPIの総称がGoogle Data APIになります。

Google Data APIs - Google Code

AtomPubのプロトコルで実現されており、非常に簡単にデータを取り扱うことができます。

通常のRSSと違い、Googleの認証基盤を使うので、個人的なデータもhttpsで通信して安全に利用できます。

YouTubeやPicasaから動画・静止画データを取得したり、カレンダーやノートブックを使って便利なマッシュアップサイトを作ったりするのに便利そうでした。

Mashup Award 4th で使ってみよ。 

コードラボセッション「OpenSocial」

OpenSocialのハッカソン。

30名弱のエンジニアが集まって、OpenSocialのアプリを作るというもの。JavaScriptでお手軽に作れることもあってか、他のコードラボに比べて遅めの開催(14:00~)でした。

最初にGoogle社員のクリスさんから、OpenSocialについての説明(英語)が10分ほどあった後、ネタ出しブレストがあって、それぞれ自分が作りたいアプリに近いもので2~4名のグループを作りました。

僕のグループは、「友達リストにタグ付けしたり、タグで絞ってメッセージを送信できるようなアプリが作れたらいいねー」というグループ。このグループ分けの時点で15時だったので、実質アプリ構築の時間は2時間程度。

最初に自己紹介をしたのですが、なんとまずいことに、3人とも前日の夜にOpenSocialのチュートリアルやってみましたという状態。やりたいことに近いチュートリアルのコードを参考に作ってみましたが、いかんせん付け焼刃で、友達にタグをつけられるはずが、友達に「hoge」という固定のタグをつけるだけのアプリになってしまいました。むむー。

Googlerいわく、ハッカソンでアプリが完成することはあまりないとのことだったので、今後時間を見つけて続きを作っていけたらと思います。やっぱ事前の予習は超重要ですね。ちょっとガジェットが作れるもんだからっていい気になっていた自分のバカバカバカ。

部屋の後ろにコーヒーやパン、クッキーがあったのですが、プログラミングに熱中するあまり、それに気づきませんでした。もっと余裕をもってやらないとなー。

17:00からは、各チームの成果発表会。

友達リストでカバラ占いを作ったチームもあれば、ビデオチャット等サーバサイドアプリをがっつり使ったアプリを作ろうとしたチームもあり。個性があっておもしろかったです。GDDサポータの山下さんのチームは、Google App Engineのアプリと組み合わせて足跡アプリを作ってました。すごいっす。

少々不完全燃焼だったので、また機会があれば、こういうハッカソンに参加してみたいなと思いました。 

<関連エントリ>

]]>
http://dev.chrisryu.com/2008/06/google_developer_day_2008_report.html http://dev.chrisryu.com/2008/06/google_developer_day_2008_report.html GDD08 Wed, 11 Jun 2008 21:34:51 +0900
Google Developer Day 2008 (写真編) GDD08で、基調講演が始まる直前と、お昼ご飯、そして懇親会の様子の写真を撮ったので公開します。

※セッションの様子とか撮ってないです。肝心な部分が抜けていますね・・・。

 

桜木町駅から会場のパシフィコ横浜まで。

 

遠くに見えるバターナイフの形した建物が目的地。

 

まったく関係ないけど、金属製のくわがたが展示してあってかっこよかったです。BIG BUGS WORLDとして、展望のところに展示されているみたいでした。

 

駅から結構歩いてようやく到着。人の群れも、開発者っぽい雰囲気の人が多し。

 

GDD08のパネル。去年もこんなのがありました。

 

今年は、1Fと4F/5Fと会場が縦に分かれていました。

 

飲み物と簡単な食べ物はご自由に。

 

こんな風にGoogleカラーのボールが転がしてあって、自由に座って良い感じでした。

 

iGoogleをイメージした展示。去年より展示の小技がきいています。

 

iGoogleアーティストテーマのパンフレット。やっぱり去年よりオシャレ感が増してます。

 

基調講演の始まる前。画面では、昨年5月から今年5月までにリリースされたAPIのダイジェスト版VTRが。去年はリリースの年でしたね。

 

今年はお昼が出してもらえないと思っていたら、GDDのサポータにはスタッフ用のお弁当を出していただけました。ありがとうございました。

 

最後の懇親会会場。今年はこういうのやらないと行っていましたが、サポータからのヒアリングで、Googleの開発者達と話をする場所が欲しいという要望から、こういう企画も盛り込まれたんでしょうか。OpenSocialのクリスさんと話をして返ってきました。

 

帰り際、巨大Googleロゴにて記念撮影。持っているYouTubeトートバッグは、ガジェットコンテストの商品です。そして着ているTシャツは、昨年のGoogle Developer DayのTシャツです。

 

]]>
http://dev.chrisryu.com/2008/06/google_developer_day_2008_photo.html http://dev.chrisryu.com/2008/06/google_developer_day_2008_photo.html GDD08 Tue, 10 Jun 2008 22:57:26 +0900
Google Developer Day 2008 レポート(速報版) Google Developer Dayの会場に着きました。まとめは後でしますが、速報版としてリアルタイムに更新・追記していきます。

↓こっちでもつぶやきます。

http://twitter.com/chris4403

ちなみにこれは、サポータールームから書き込んでます。眺めが良いです。

基調講演

基調講演の前には昨年から1年間のAPIのリリースのダイジェストムービーが流れてました。改めて見ると、すごい量。昨年はリリースの年だったんですね。

GDD08の開催の挨拶はGoogle Japanの村上社長。

自社ポロシャツに綿パンで登壇するあたりがさすがGoogle。(褒め言葉です)

挨拶の後、駆け足でおりていく姿も素敵。

続いて、及川さんからのプレゼン。

去年はここで、GearsとかMappletとかのサプライズがあったんですが、今日は、OpenSocial / Android / Google App Engine のまとめ的な発表でした。

Googleが何を目指してこれらのAPIを提供しているのかの総括。

AndroidとGoogle App Engineについては、それぞれ別のエンジニアの方がデモをしていたのですが、Androidのデモはすごかった。

Mapを表示して、そこからGoogle Street Viewを表示。で、携帯の筐体を移動させると、その角度/方角を取得して、Street Viewの映像が動きます。これはかなりおもしろいアプリが作れそう。

コンテンツさえそろえば、○年前の今の地点からの風景とかを表示したりできるんじゃないかなぁ。夢が膨らむデモでした。

Google Maps API for Flashのデモは、GDDサポータであるあんどうさんのフライトシミュレータを、自作のオリジナルデバイスで操作するというのだったのですが、マップが表示されずデモは午後のセッションの中でということになりました。本番でのデモには悪魔が棲んでますね。

その他の内容は、また別途まとめエントリで書きます。

お昼ご飯

サポータには控え室を用意していただいていて、お弁当を食べながら他のサポータ達と意見交換しながらこのエントリを書いてます。

Google Data API

午後最初のセッションは、Google Data APIのセッション。

Google Apps やGoogle Calendar 等のアプリで蓄積されたデータを、APIを使ってCRUDできますというサービス内容の紹介でした。

使ったことがない人向けの内容ということで、それほど深くつっこんだ内容ではありませんでした。

要は、「こんなに便利で簡単だから、みんな使ってね」という内容。

確かに、他のAPIに比べてビジュアル的な要素がないAPIなので、目立たないんでしょうね。

ただ、普通に便利なAPIだと思うので、日本での開発者コミュニティのサポートで、もっともっと盛り上がっていくんじゃないでしょうか。

OpenSocial コードラボセッション

今からOpenSocialのコードラボセッションです。

最初に簡単な解説があって、作りたいもののブレストでいくつかリストアップ。挙げられた作りたいものの中から、自分の作りたい物に近いイメージの人たちが集まって、ハッカソンしました。

僕は、友人にタグ付けしたり、メッセージを送信したりするガジェットを作るチームに。3名チームでしたが、僕を含め全員がOpenSocial一夜漬けということもあり、結構基本的なところでつまづきを繰り返してしまいました。

が、最終的に、「hoge」タグをつけるガジェットまでこぎつけました。

なんとか形になって良かった。

その後、チーム毎に作った物の発表会。カバラ占いや、ビデオチャット、フィードリーダ、位置情報や足跡アプリなどなど。すごいなぁ。

というわけで、今から懇親会っぽいやつです。

]]>
http://dev.chrisryu.com/2008/06/google_developer_day_2008_realtime.html http://dev.chrisryu.com/2008/06/google_developer_day_2008_realtime.html GDD08 Tue, 10 Jun 2008 09:40:34 +0900
明日はいよいよGoogle Developer Day 2008 Japan !!! 明日はいよいよGDD08です。

基調講演でどんなことが発表されるのかなぁ。

OpenSocialの予習はそこそこできたので、コードラボが楽しみですね。

当日、Google Docsか、Twitterで色々と実況っぽいことができたらなぁと考えていますが、電源・ネットワーク事情次第では断念するかも。

お昼ごはんをどうしようかなぁ。基調講演の後の1時間で、近場で食べるか、晴れていたらテイクアウトして外で食べるのもありかなぁ。

会場で僕を見かけた方は話しかけてやってください。基本、寂しがり屋なので。

]]>
http://dev.chrisryu.com/2008/06/gdd08_is_tommorow.html http://dev.chrisryu.com/2008/06/gdd08_is_tommorow.html GDD08 Mon, 09 Jun 2008 20:03:36 +0900
Google Developer Day 2008 Japan での発表を予測してみる いよいよ来週の火曜日に開催がせまった「Google Developer Day 2008 Japan」。

先日のGoogle I/Oで、ブラウザ版のGoogle Earth等が発表され、前回のGDDのMappletのように、世界のGoogleに関係するようなサプライズはないんじゃないかと勝手に想像しています。

で、あるとしたら、mixiのオープンソーシャルAPIの公開が発表されるんじゃないかなぁ。

これまた、つい一昨日発表があった、MASHUP AWARD 4thのAPI提供企業の中に、mixiとGoogleの名前が挙がっていますが、具体的なAPIについてはまだページがありません。

mixi自体まだAPIを提供していないので、もし発表があるとしたら、これなんじゃないかと思っている次第です。

これが実現したら、コードラボセッションのときに、mixiのOpenSocialアプリを作れて、かなり楽しげなんだけどなぁ。

]]>
http://dev.chrisryu.com/2008/06/forecast_the_announcement.html http://dev.chrisryu.com/2008/06/forecast_the_announcement.html GDD08 Thu, 05 Jun 2008 23:18:17 +0900
Google I/O が始まるよー 6月10日に横浜で開催されるGoogle Developer Day 2008 Japan (以下、GDD)に先駆けて、サンフランシスコにてGoogle I/Oというイベントが開催されます。

Google I/OはGDDの親玉的なイベントにあたります。

※去年のGDDは、全世界同日開催だったのですが、各会場でスピーカの取り合いが発生したらしく、今回のGDDはキャラバン制になったそうです。

親玉だけあって、イベントの規模は、他の国のGDDよりもかなり大きなものになっています。って、そもそも名前からして差別化してしますしね。

で、このイベントに、GDD08サポータからも何名か参加されています。うらやましい。

さっそくブログ等で現地レポートが始まっているようなので、興味がある方は要チェックですよ!

CEO BLOG » Blog Archive » San Franciscoに行く

Google I/O 初夜を迎える - a2c.get.diary

Google I/O 2008 前夜 | Weboo! Returns.

(あんどうさんはまだ更新されてないようですが、現地に行っているそうです)ずっと君のターン

↓山下さんのFlickrが楽しげ!

Flickr: weboo's Photostream

行きたかったなぁ。まあ、子どもが産まれたばかりなので、無理なんですけど。

俺 「ちょっとセミナー行ってきたいんだけど」

妻 「良いよ。どこでやるの?」

俺 「 ア メ リ カ 」

なんてなったら、離婚に発展しかねませんので。自重自重。

]]>
http://dev.chrisryu.com/2008/05/google_io_beginning.html http://dev.chrisryu.com/2008/05/google_io_beginning.html GDD08 Wed, 28 May 2008 23:56:23 +0900
Google Developer Day 2008 サポーター一覧公開 GDDのサイトで、サポーターの一覧が公開されています。

以前にこのブログでも、ブログのリンクだけ公開しましたが、下記ページでは簡単なプロフィールも見ることができます。

Google Developer Day

ディベロッパー交流会にパネリストとして参加された方々もサポーターとしてGDDをレポートされるんですね。

開催まであと20日を切りました。当日までにOpenSocialについて勉強しておかないと。

あ、Orkut始めたので、「OpenSocialアプリ作ってみたいけど、そもそもOpenSocialに対応しているSNSで友達がいないなぁ」って人は友達になってください(OpenSocialのネックは、ここだと思ってたりします)。

]]>
http://dev.chrisryu.com/2008/05/google_developer_day_2008_suporter_information.html http://dev.chrisryu.com/2008/05/google_developer_day_2008_suporter_information.html GDD08 Sun, 25 May 2008 23:12:01 +0900
Google Developer Day 2008 事前インタビュー : OpenSocial & Google Maps API for Flash Google Developer Day 2008 (以下GDD08)のサポータとして、OpenSocialのセッションを担当する丹羽さんと、Google Maps API for Flashのセッションを担当する加藤さんにインタビューしてきました。

※インタビュー開始時間に10分ほど遅れてしまい、到着したときにはすでにGoogle Maps API for Flashの話題になっていました。

まず、最初に速報から。

明日(5/22)、コードラボ(Hackathon)のエントリ受付が開始されるそうです。

コードラボは、現在OpenSocialとGoogle App Engineのセッションが予定されていますが、Androidのセッションも追加予定だそうです。

受付は先着順で、上限30名程度らしいので、興味がある方は申し込みましょう!

ただ、どのセッションも、数時間である程度の成果物を作り上げるようなものなので、OpenSocialならJavaScript / HTML、Google App Engineならpython、AndroidならJavaの基礎知識が必要かと思います。また、セッションを有益なものにするため、参加者には事前にいくつかやっておくこともあるとか。敷居が少し高くなりますが、その分内容が濃いものになるかと思います。

ちなみにGDD08サポータからは、OpenSocialのコードラボに、僕と山下英孝さんが参加する予定です。楽しみ楽しみ!

 

さて、ではインタビューの内容を。

OpenSocialについて

OpenSocialは、13:00~13:45のセッションと、14:00~17:45のコードラボ(Hackathon)があります。最初のセッションはOpenSocialの基本について。これまでにOpenSocialのディベロッパー交流会で発表してきた内容に加え、3月からのアップデート内容を盛り込まれるそうです。

また、まだ発表されていませんが、GDD当日までにリリースがあれば、RESTful APIのお話とかも聞けるかも、とのこと。

OpenSocialがRESTfulになるのは、なかなか面白そうです。

お話を聞くと、モバイルが盛んな日本では、RESTfulなアクセスが開発者から望まれているようです。Google Maps Static APIもその一環かも。

また、話題のFriendConnectの話も盛り込む可能性があるそうです。

残念ながら、この時間は僕はGDD08サポータとして隣の「Google Data API」の方に出ることになってるんですよねぇ。こっちはこっちで面白そうなのですが、その後のコードラボのことを考えると、OpenSocialの方に出ておきたかった・・・。いや、Google Data APIの内容をコードラボに活かせば良いのか。そうだ、そうしよう。

OpenSocialには、MySpaceやmixiなどのSNSも参加表明しているので、今のうちにそのなんたるかを理解しておくと、それらのSNSがOpenSocialに対応したときにアドバンテージを得られるかも。

基調講演でも、OpenSocialについて触れられるそうで、今回のGDD08の目玉の1つになっていますね。

 

Google Maps API for Flashについて

リリースされてまだ1週間ですが、日本での反響は大きいそうです。Flash好きなんですね、みなさん。やはり、地図にフィルタかけたり、ぐるぐる回転させたりできるのが嬉しいみたいです。僕も早く試してみたいな。

ただ、地図画像データは、権利の関係上、改変はできないみたいですね。

例えば、Googleが地図のベクターデータを提供して、地図上から地名とかを消すとかってことはあまり現実的じゃなさそう。

Google Maps API for Flashは、結構前からプロジェクトとしては進行していたらしく、公開するまでにJavaScript版との整合性をとるなどの完成度を上げる作業が大変だったみたいです。

GDD08の当日のセッションでは、APIの基本的な内容を解説されるそうです。APIの内容や今後の展開について質問してみたい方は、参加してみてください。

 

と、こんな感じです。

インタビューには、佐々木さん田中さんあんどうさんも参加されていたので、それぞれのブログでインタビューの記事がアップされるかもしれません。興味がある方は要チェックです!

]]>
http://dev.chrisryu.com/2008/05/gdd08_pre_interview.html http://dev.chrisryu.com/2008/05/gdd08_pre_interview.html GDD08 Wed, 21 May 2008 22:58:10 +0900
Google Developer Day サポーター 「公式ブロガー」から「サポーター」に名前が変わりました。オフィシャル感がなくなって、少々残念ですが、まあ気にしないことにします。

近々、GDDのサイトで公開されるそうですが、以下が公式ブロガー改めサポーターのブログの一覧です。

まとめてRSSリーダ等に登録したいというかたはOPMLファイルを作りましたので、どうぞ。

http://www.chrisryu.com/data/gdd08_supporter_blog_opml.xml

あと、需要がどれくらいあるか分かりませんが、サポーターのブログから検索するカスタム検索のページも作りました。

Google Developer Day 2008 Supporter Blog Search

ガジェットとして利用する場合はこちら

前にも書いた気がしますが、ブログをざっと眺めるだけでも、色んなバックグラウンドを持った人が選ばれてるなぁという印象です。

あと、Google Developer Day までのカウントダウンをするガジェットを作りました。

気分を盛り上げたい方はどうぞ。

]]>
http://dev.chrisryu.com/2008/05/google_developer_day_supporters.html http://dev.chrisryu.com/2008/05/google_developer_day_supporters.html GDD08 Sat, 17 May 2008 23:13:09 +0900
Google Developer Day 2008 公式ブロガー説明会に行ってきました。 今日はGoogle Developer Day 2008の公式ブロガーの説明会に参加するため、渋谷のGoogle社へ行ってきました。

説明会には10名弱のブロガーの方が集まっており、Google I/OのことやGoogle Developer Day の説明ののち、担当するセッションの組み分けがありました。

今週から、公式サイトでタイムテーブルが公開されていますので、参加される方はチェックしてみてください。

僕が担当することになったのは、「Google Data API」と「コードラボ:OpenSocial」の2つ。

当日は、基調講演を聴いた後は、コードラボの部屋でどっぷりコーディング、ということになりそうです。

残念だったのは、前回あった、昼食サービスおよび懇親会がなくなっていたこと。今回は規模が大きくなると言うことで必然的になくなったみたいです。色んなエンジニアとお話しできる場だったので、楽しみにしてたんですけどねぇ。

その代わり、Googleの発表者の方は、一目で分かるバッチを付けて、会場をうろうろしているそうなので、気軽に話しかけてみてくださいとのことでした。

公式ブロガーのみなさんのプロフィール等は、後日ネットで公開されるので、お楽しみに。

 

]]>
http://dev.chrisryu.com/2008/05/google_developer_day_2008_official_blogger_meeting.html http://dev.chrisryu.com/2008/05/google_developer_day_2008_official_blogger_meeting.html GDD08 Tue, 13 May 2008 22:39:39 +0900
Google Developer Day 2008 の公式ブロガーになりました。 Google Developer Day 2008の公式ブロガーに応募してみたら、なんと当選しちゃいました。

まあ、当選しなくても「非公式」ブロガーとして色々書こうと思ってたんですけどね。

公式ブロガー当選者は、もれなくアメリカで開かれるGoogle I/Oのプレスチケットがもらえるんですが、旅費等々は個人持ちなんですよね。当たり前ですけど。まあ、お金も時間もないので、こちらは断念。

もうすぐ公式ブロガー向けの説明会があり、そこで他のブロガーにも会えるみたいなので、楽しみです。

]]>
http://dev.chrisryu.com/2008/05/google_developer_day_2008.html http://dev.chrisryu.com/2008/05/google_developer_day_2008.html GDD08 Sun, 11 May 2008 23:14:06 +0900
今年も開催!Google Developer Day 2008 昨年参加して、Googleガジェットを作り始めるきっかけとなったGoogle Developer Dayが今年も開催されます。

Google Developer Day

まだ詳細な内容は発表されていませんが、今回はノートPCを持ち込んでのハンズオンセッションも予定されているようです。

Google App EngineやOpen Socialのアプリケーションを、Googleの人に解説してもらいながら開発できるみたいですね。これはおもしろそう。

その他、Google Androidの解説とかも予定されているようです。

前回に比べて、日本人のスピーカの割合が多くなって、内容も簡単なものからちょっと難しいものまで幅広く取り揃えているような印象ですね。

僕は、発表後すぐに申し込んで、無事参加OKメールが届きました。

こういうときのためにMacBookを買ったので、ハンズオンセッションに参加しておもしろいものを作ってきたいと思います。

]]>
http://dev.chrisryu.com/2008/04/gdd_again.html http://dev.chrisryu.com/2008/04/gdd_again.html GDD08 Thu, 24 Apr 2008 21:44:08 +0900
でぃべろっぱーず・さいど: アーカイブ

アーカイブ

/* Base Weblog (base-weblog.css) */ /* basic elements */ html { margin: 0; /* setting border: 0 hoses ie6 win window inner well border */ padding: 0; } body { margin: 0; /* setting border: 0 hoses ie5 win window inner well border */ padding: 0; font-family: verdana, 'trebuchet ms', sans-serif; font-size: 12px; } form { margin: 0; padding: 0; } a { text-decoration: underline; } a img { border: 0; } h1, h2, h3, h4, h5, h6 { font-weight: normal; } h1, h2, h3, h4, h5, h6, p, ol, ul, pre, blockquote { margin-top: 10px; margin-bottom: 10px; } /* standard helper classes */ .clr { clear: both; overflow: hidden; width: 1px; height: 1px; margin: 0 -1px -1px 0; border: 0; padding: 0; font-size: 0; line-height: 0; } /* .pkg class wraps enclosing block element around inner floated elements */ .pkg:after { content: " "; display: block; visibility: hidden; clear: both; height: 0.1px; font-size: 0.1em; line-height: 0; } * html .pkg { display: inline-block; } /* no ie mac \*/ * html .pkg { height: 1%; } .pkg { display: block; } /* */ /* page layout */ body { text-align: center; } /* center on ie */ #container { position: relative; margin: 0 auto; /* center on everything else */ width: 720px; text-align: left; } #container-inner { position: static; width: auto; } #banner { position: relative; } #banner-inner { position: static; } #pagebody { position: relative; width: 100%; } #pagebody-inner { position: static; width: 100%; } #alpha, #beta, #gamma, #delta { display: inline; /* ie win bugfix */ position: relative; float: left; min-height: 1px; } #delta { float: right; } #alpha-inner, #beta-inner, #gamma-inner, #delta-inner { position: static; } /* banner user/photo */ .banner-user { float: left; overflow: hidden; width: 64px; margin: 0 15px 0 0; border: 0; padding: 0; text-align: center; } .banner-user-photo { display: block; margin: 0 0 2px 0; border: 0; padding: 0; background-position: center center; background-repeat: no-repeat; text-decoration: none !important; } .banner-user-photo img { width: 64px; height: auto; margin: 0; border: 0; padding: 0; } /* content */ .content-nav { margin: 10px; text-align: center; } .date-header, .entry-content { position: static; clear: both; } .entry, .trackbacks, .comments, .archive { position: static; overflow: hidden; clear: both; width: 100%; margin-bottom: 20px; } .entry-content, .trackbacks-info, .trackback-content, .comment-content, .comments-open-content, .comments-closed { clear: both; } .entry-excerpt, .entry-body, .entry-more-link, .entry-more { clear: both; } .entry-footer, .trackback-footer, .comment-footer, .comments-open-footer, .archive-content { clear: both; margin: 5px 10px 20px 10px; } .comments-open label { display: block; } #comment-author, #comment-email, #comment-url, #comment-text { width: 240px; } #comment-bake-cookie { margin-left: 0; vertical-align: middle; } .comments-open-header { clear: both; } #comment-post { font-weight: bold; } img.image-full { width: 100%; } .image-thumbnail { float: left; width: 115px; margin: 0 10px 10px 0; } .image-thumbnail img { width: 115px; height: 115px; margin: 0 0 2px 0; } /* modules */ .module { position: relative; overflow: hidden; width: 100%; } .module-content { position: relative; margin: 5px 10px 20px 10px; } .module-list, .archive-list { margin: 0; padding: 0; list-style: none; } .module-list-item { margin-top: 5px; margin-bottom: 5px; } .module-presence img { vertical-align: middle; } .module-powered .module-content { margin-bottom: 10px; } .module-photo .module-content { text-align: center; } .module-wishlist .module-content { text-align: center; } .module-calendar .module-content table { border-collapse: collapse; } .module-calendar .module-content th, .module-calendar .module-content td { width: 14%; text-align: center; } .typelist-thumbnailed { margin: 0 0 20px 0; } .typelist-thumbnailed .module-list-item { display: block; clear: both; margin: 0; } /* positioniseverything.net/easyclearing.html */ .typelist-thumbnailed .module-list-item:after { content: " "; display: block; visibility: hidden; clear: both; height: 0.1px; font-size: 0.1em; line-height: 0; } * html .typelist-thumbnailed .module-list-item { display: inline-block; } /* no ie mac \*/ * html .typelist-thumbnailed .module-list-item { height: 1%; } .typelist-thumbnailed .module-list-item { display: block; } /* */ .typelist-thumbnail { float: left; min-width: 60px; width: 60px; /* no ie mac \*/width: auto;/* */ margin: 0 5px 0 0; text-align: center; vertical-align: middle; } .typelist-thumbnail img { margin: 5px; } .module-galleries .typelist-thumbnail img { width: 50px; } .typelist-description { margin: 0; padding: 5px; } .module-featured-photo .module-content, .module-photo .module-content { margin: 0; } .module-featured-photo img { width: 100%; } .module-recent-photos { margin: 0 0 15px 0; } .module-recent-photos .module-content { margin: 0; } .module-recent-photos .module-list { display: block; height: 1%; margin: 0; border: 0; padding: 0; list-style: none; } /* positioniseverything.net/easyclearing.html */ .module-recent-photos .module-list:after { content: " "; display: block; visibility: hidden; clear: both; height: 0.1px; font-size: 0.1em; line-height: 0; } * html .module-recent-photos .module-list { display: inline-block; } /* no ie mac \*/ * html .module-recent-photos .module-list { height: 1%; } .module-recent-photos .module-list { display: block; } /* */ .module-recent-photos .module-list-item { display: block; float: left; /* ie win fix \*/ height: 1%; /**/ margin: 0; border: 0; padding: 0; } .module-recent-photos .module-list-item a { display: block; margin: 0; border: 0; padding: 0; } .module-recent-photos .module-list-item img { width: 60px; height: 60px; margin: 0; padding: 0; } /* mmt calendar */ .module-mmt-calendar { margin-bottom: 15px; } .module-mmt-calendar .module-content { margin: 0; } .module-mmt-calendar .module-header { margin: 0; } .module-mmt-calendar .module-header a { text-decoration: none; } .module-mmt-calendar table { width: 100%; } .module-mmt-calendar th { text-align: left; } .module-mmt-calendar td { width: 14%; height: 75px; text-align: left; vertical-align: top; } .day-photo { width: 54px; height: 54px; } .day-photo a { display: block; } .day-photo a img { width: 50px; height: 50px; } /* Vicksburg II (theme-vicksburg.css) */ /* basic page elements */ body { font-family: 'trebuchet ms', verdana, helvetica, arial, sans-serif; font-size: 12px; } a { color: #666666; text-decoration: underline; } a:hover { color: #66cc33; } #banner a { color: #fff; text-decoration: none; } #banner a:hover { color: #fff; } .module-content a { color: #666666; } .module-content a:hover { color: #66cc33; } h1, h2, h3, h4, h5, h6 { font-family: 'trebuchet ms', verdana, helvetica, arial, sans-serif; } .module-header, .trackbacks-header, .comments-header, .comments-open-header, .archive-header { color: #000000; font-family: 'Trebuchet MS', Verdana, sans-serif; font-size: x-small; border-bottom: 1px dashed #999999; text-align: left; font-weight: bold; text-transform: uppercase; padding: 3px; letter-spacing: .3em; } .module-header a, .module-header a:hover, .trackbacks-header a, .trackbacks-header a:hover, .comments-header a, .comments-header a:hover, .comments-open-header a, .comments-open-header a:hover .archive-header a, .archive-header a:hover { color: #fff; } .entry-more-link, .entry-footer, .comment-footer, .trackback-footer, .typelist-thumbnailed { font-size: 11px; } .commenter-profile img { vertical-align: middle; } /* page layout */ body { min-width: 720px; color: #333; background: #FFFFFF; } #container { width: 720px; margin-bottom: 20px; background: #fff; } #container-inner { border-width: 0 5px 5px 5px; border-style: solid; border-color: #FFFFFF; } #banner { width: 710px; /* necessary for ie win */ background: #66cc33; } #banner-inner { padding: 15px 13px; border-width: 0px 0px 0 0px; border-style: solid; border-color: #fff; } .banner-user { width: 70px; margin-top: 5px; font-size: 10px; } .banner-user-photo { border: 1px solid #fff; } #banner-header { margin: 0; color: #fff; font-size: 30px; font-weight: bold; line-height: 1; text-shadow: #666666 0 2px 3px; } #banner-description { margin-top: 5px; margin-bottom: 0; color: #fff; background: none; font-size: 12px; line-height: 1.125; text-shadow: #666666 0 1px 2px; } #alpha { margin: 15px 15px 0 15px; width: 480px; } #beta { width: 200px; background: #e6ecf2; } #gamma, #delta { width: 180px; background: #dddddd; } #beta-inner, #gamma-inner, #delta-inner { padding: 10px 10px 0 10px; border-width: 0px 0px 0px 0; border-style: solid; border-color: #fff; } .date-header { margin-top: 0; font-size: 11px; font-weight: bold; text-transform: uppercase; } .entry-header { margin-top: 0; border-left: 5px solid #66CC33; padding: 0 0 0 10px; color: #000000; font-size: 18px; font-weight: bold; } .entry-content, .comment-content, .trackback-content { margin: 0; line-height: 1.5; } .entry-tags { margin: 0 0 10px 10px; } .entry-tags-header, .entry-tags-list, .entry-tag { display: inline; } .entry-tags-list { list-style:none; padding: 0px; } .entry-footer, .comment-footer, .trackback-footer { margin: 0 0 20px 0; border-top: 1px solid #DDDDDD; padding-top: 3px; color: #666; font-size: 10px; text-align: right; } .comment-content, .trackback-content, .comment-footer, .trackback-footer { margin-left: 10px; } .content-nav { margin-top: 0; } #trackbacks-info { margin: 10px 0; border: 1px dashed #66cc33; padding: 0 10px; color: #292e33; font-size: 11px; text-align: center; background: #dddddd; } .comments-open-footer { margin: 10px 0; } /* modules */ .module { margin: 0 0 10px 0; border-bottom: 1px solid #f3f6f9; background: #DDDDDD; } .module-content { margin: 0 0 10px 0; padding: 10px 10px 0 10px; font-size: 10px; line-height: 1.2; } .module-search input { font-size: 10px; } .module-search #search { width: 100px; } .module-mmt-calendar .module-content table, .module-calendar .module-content table { font-size: 10px; } .module-powered { border-width: 0; } .module-powered .module-content { margin-bottom: 0; border: 1px dashed #66cc33; padding-bottom: 10px; color: #292e33; background: #fff; } .module-photo { background: none; } .module-photo img { border: solid 1px #fff; } .module-list { margin: 0 15px 10px 15px; list-style: disc; } .module-list .module-list { margin: 5px 0 0 0; padding-left: 15px; list-style: circle; } .module-list-item { margin-top: 0; color: #666; line-height: 1.2; } .typelist-thumbnailed .module-list { margin: 0 0 10px 0; list-style: none; } .typelist-thumbnailed .module-list-item { margin: 1px 0; padding: 0; background: #f3f6f9; } .typelist-thumbnail { background: #fff; } .module-photo img { border: 1px solid #fff; } .module-featured-photo { width: 398px; } .module-featured-photo .module-content { margin: 0; border-width: 0; padding: 0; } .module-featured-photo img { width: 398px; } .module-recent-photos .module-content { padding: 10px 0 0 19px; } .module-recent-photos .module-list { margin: 0; } .module-recent-photos .module-list-item { width: 64px; /* mac ie fix */ margin: 0 10px 10px 0; padding: 0; background: none; } .module-recent-photos .module-list-item a { border: #cfd4d9 1px solid; padding: 1px; background: #fff; } .module-recent-photos .module-list-item a:hover { border-color: #666666; background: #fff; } .module-tagcloud .module-list {text-align: center; } .module-tagcloud .module-list { list-style: none; } .module-tagcloud .module-list-item { display: inline; } .module-tagcloud li.taglevel1 { font-size: 19px; } .module-tagcloud li.taglevel2 { font-size: 17px; } .module-tagcloud li.taglevel3 { font-size: 15px; } .module-tagcloud li.taglevel4 { font-size: 13px; } .module-tagcloud li.taglevel5 { font-size: 11px; } .module-tagcloud li.taglevel6 { font-size: 9px; } /* calendar tweaks */ .layout-calendar #alpha { width: 260px; } .layout-calendar #beta { width: 420px; } .layout-calendar #gamma, .layout-calendar #delta { width: 190px; } .layout-calendar #gamma-inner, .layout-calendar #delta-inner { border: 0; padding: 0; } .module-mmt-calendar { width: 398px; } .module-mmt-calendar .module-content { margin: 0; border-width: 0; padding: 10px; } .module-mmt-calendar table { width: 378px; background: #66cc33; } .module-mmt-calendar th { color: #fff; border-top: 1px solid #fff; border-right: 1px solid #f3f6f9; border-bottom: 1px solid #cfd4d9; padding: 2px; text-align: right; font-weight: bold; } .module-mmt-calendar td { border-top: 1px solid #fff; border-right: 1px solid #f3f6f9; border-bottom: 1px solid #cfd4d9; padding: 2px; text-align: right; font-weight: normal; background: #dddddd; } th.weekday-7, td.day-7, td.day-14, td.day-21, td.day-28, td.day-35, td.day-42 { border-right: none; } .module-mmt-calendar td { height: 70px; } .day-photo { width: 49px; height: 49px; } .day-photo a { border: #cfd4d9 1px solid; padding: 1px; background: #fff; } .day-photo a:hover { border-color: #666666; background: #fff; } .day-photo a img { width: 45px; height: 45px; } /* artistic tweaks */ .layout-artistic #alpha { width: 260px; } .layout-artistic #beta { width: 420px; } .layout-artistic #gamma, .layout-artistic #delta { width: 190px; } .layout-artistic #gamma-inner, .layout-artistic #delta-inner { border: 0; padding: 0; } /* moblog1 tweaks */ .layout-moblog1 #alpha { margin: 0; width: 180px; background: #dddddd; } .layout-moblog1 #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-moblog1 #beta { margin: 15px 15px 0 15px; width: 320px; background: none; } .layout-moblog1 #beta-inner { padding: 0; border-width: 0; } .layout-moblog1 .module-recent-photos .module-content { padding: 10px 0 0 10px; } /* moblog2 tweaks */ .layout-moblog2 #alpha { margin: 0; width: 86px; background: #dddddd; } .layout-moblog2 #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-moblog2 #beta { margin: 15px 15px 0 15px; width: 260px; background: none; } .layout-moblog2 #beta-inner { padding: 0; border-width: 0; } .layout-moblog2 #delta { width: 154px; } .layout-moblog2 .module-recent-photos { border: 0; background: none; } .layout-moblog2 .module-recent-photos .module-content { padding: 0; border: 0; } .layout-moblog2 .module-recent-photos .module-list-item { margin: 0 0 10px 0; } /* timeline tweaks */ .layout-timeline #alpha { width: 260px; } .layout-timeline #beta { width: 420px; } .layout-timeline #gamma, .layout-timeline #delta { width: 190px; } .layout-timeline #gamma-inner, .layout-timeline #delta-inner { border: 0; padding: 0; } /* one-column tweaks */ .layout-one-column body { min-width: 520px; } .layout-one-column #container { width: 520px; } .layout-one-column #banner { width: 510px; } /* necessary for ie win */ /* two-column-left tweaks */ .layout-two-column-left #alpha { margin: 0; width: 200px; background: #dddddd; } .layout-two-column-left #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-two-column-left #beta { margin: 15px 15px 0 15px; width: 480px; background: none; } .layout-two-column-left #beta-inner { padding: 0; border-width: 0; } /* three-column tweaks */ .layout-three-column #alpha { margin: 0; width: 180px; background: #DDDDDD; } .layout-three-column #alpha-inner { padding: 10px 10px 0 10px; border-width: 0px 0 0px 0px; border-style: solid; border-color: #fff; } .layout-three-column #beta { margin: 15px 15px 0 15px; width: 320px; background: none; } .layout-three-column #beta-inner { padding: 0; border-width: 0; } /* * Preliminary styles added by Jay for Vicksburg II * for review by Luke/Walt and rest of team */ /* All or multiple templates Suppress underlines on linked entry titles */ .entry-header a { text-decoration: none; } /* Suppress the prev/next nav */ .content-nav { margin: 0px; display: none; } /* Search results templates */ .mt-search-results .search-results-header { border: 2px solid #669; background-color: #666666; color: #eee; padding: 5px; } .mt-search-results .search-results-container { margin-left:10px; } .mt-search-results form#search-form { width: 400px; margin: 0px auto 20px auto; } .mt-search-results form#search-form input#search { width: 80%; } .mt-search-results form#search-form p#search-options { text-align:center; } /* Entry tag display */ div.entry-tags { margin:0 0 10px 10px; } ul.entry-tags-list { list-style:none; padding: 0px; } h4.entry-tags-header, ul.entry-tags-list, li.entry-tag { display: inline; } /* Main index styles Suppress date header on main index */ .main-index .date-header { display: none; } /* Comment preview and individual entry Widen the comment form */ form textarea#comment-text { width:400px; } /* All archive templates Informational "where am I?" module at top of sidebar */ .module-welcome p { font-size: 12px; } .module-content p.first { margin-top:0px; } /* Date-based and category archives Archive title banner at top of page, below blog banner */ .master-archive-index #archive-title, .individual-entry-archive #archive-title, .date-based-archive #archive-title, .category-archive #archive-title { /* ie win (5, 5.5, 6) bugfix */ p\osition: relative; width: 100%; w\idth: auto; margin: 0; border-left: 10px solid #66cc33; padding: 5px; color: #fff; background: #666666; } /* Experimental comment styles Not currently in use anywhere in default templates For testing only... */ #comments-experimental .comment, #comments-experimental .comment .comment-inner { width:36em; } #comments-experimental .comment { padding: 0px; margin: 10px 15px; background-color:#eef; border:2px solid #bbb; } #comments-experimental .comment .comment-inner { position:relative; margin:-5px 0 0 -3px; background:#f3f3ff; border:1px solid #003; } #comments-experimental .comment:hover .comment-inner { border:1px solid #000; background-color: #fff; } #comments-experimental .comment a { text-decoration: none; border-bottom: 1px dotted #666666; } #comments-experimental .comment:hover a { color: #333; border-bottom: 1px solid #666; } #comments-experimental .comment .comment-footer, #comments-experimental .comment .comment-content { margin-right: 25px; margin-left: 25px; margin-bottom: 15px; } #comments-experimental .comment .comment-header { font-size: 16px; margin: 5px auto 5px 10px; text-shadow: #99A 2px 2px 1px #66F; color: #666; } #comments .comment-header { display: none; } #comments .comment-footer-experimental { display: none; } #comments-experimental .comment-footer { display: none; } でぃべろっぱーず・さいど: コメントの保留

コメントを受け付けました。

コメントを受け付けました。受け付けたコメントは、ブログの管理者の承認のため保留されています。

エントリーのページに戻る