MA3の開発に着手
mash up award 3rd に向けて開発に着手しました。
とりあえず、3つほどいけそうなアイデアが浮かんだので、個人で作れるシンプルなものから着手することに。
言語は、PHP、ActionScript(Flash)、Pythonを利用する予定です。
色々触ってきて良かった。
どの言語も適材適所。仕事ではこういう言語を利用する機会があまりないので、楽しんで作ることにします。
mash up award 3rd に向けて開発に着手しました。
とりあえず、3つほどいけそうなアイデアが浮かんだので、個人で作れるシンプルなものから着手することに。
言語は、PHP、ActionScript(Flash)、Pythonを利用する予定です。
色々触ってきて良かった。
どの言語も適材適所。仕事ではこういう言語を利用する機会があまりないので、楽しんで作ることにします。
IPAがセキュア・プログラミング講座を改訂していました。
従前は、ソフトウェア開発工程における下流の工程において、セキュリティ脆弱性が発見され、それらについて対処されることが多かった。しかし、作り込まれた脆弱性によっては、容易には修正できないものもありうる。また、たとえ修正できたとしても、不経済な事態になってしまう。
下流の工程においては、取り返しがつかない脆弱性をもってしまわないように、するためには、上流工程(要件定義、設計)から脆弱性対策の論点を意識できるようにする必要がある。
セキュリティは超重要。
そんなこと誰でも分かっているよと良いながら、XSS対策もままならないサイトが多数存在するのも事実です。
今度の改訂では、開発の上流行程からセキュリティに関する不具合をつぶせるようになっているみたいですね。
SIerとして働いていると、実装をしたことがないSEが設計を行い、実装するときにプログラマが苦労するというシーンをよく見かけます。
「こんな設計じゃうごかねーよ」というプログラマに、「こんな実装へぼすぎる」と嘆く設計者。
なんか三谷幸喜監督作の「みんなのいえ」を彷彿とさせます。
やはり上流工程やる人間は下流工程の実作業や苦労するポイントを身をもって知っておくべき。
「そういう仕事がまわってこない」と嘆く前に、家のPCに開発環境導入して日曜プログラミングでもためしてみりゃ良いんです。知識だけじゃなく、実際に試してみて、自分の中の知識を生きたものにしていく。それでこそプロフェッショナルなんじゃないかと。
まあ他の人はどう思うか分かりませんが、少なくとも自分自身はそういうスタンスで仕事に臨みたいですね。

のほほんと………
ドーナッツ?
すごいなGoogle がガジェット開発者に投資を始めるようです。
Google、ガジェット開発者への投資を行うGoogle Gadget Venturesを開始 | ネット | マイコミジャーナル
Google Gadgets Venturesによるガジェット開発者への投資は、以下の二種類に分けられている。
- 開発の補助金(Grants)
ガジェット開発者に対し、ガジェットの更なる改善を目的として交付される。交付される金額は$5,000。参加資格は、「Google Gadgets Directory」内にガジェットを作成し、週250,000ページビュー以上を記録すること、となっている。希望者は、1ページからなる提案書をメールする必要がある。提案書には、希望者のメールアドレス、GoogleガジェットのURL、アイデアの詳細、ガジェットの改善に必要な時間の見積もりを記載する。こちらは、年に20件から40件程度の採用を予定しているとのことである。- 起業への投資(Seed Investments)
Googleガジェットプラットフォームを基盤として、新たなビジネスを立ち上げようとする者に対し、$100,000の投資が行われる。こちらを希望する場合は、ガジェットを使用したビジネスプランについての詳細をメールする必要がある。新規企業、既存企業に関わらず、上記の開発補助を受け取ったことのある企業が参加資格を得る。年に2件から5件程度の採用を予定しているとのこと。
ガジェットを作成済みで、そのガジェットが週に250,000ページビューを獲得していなければ、開発の補助金$5,000(60万円くらい?)はもらえないんですね。
国籍は不問のようですが、結構ハードルは高そうです。
一方で企業の方は、アメリカで起業できなければ融資は受けられないみたいです。
そういえば、Google Developer Day 2007 のときに、「今年はガジェットの年です」とか言ってました。
日本での iGoogle ガジェットコンテストもその一環なんでしょうね。
海外では利用者が多いガジェットですが、日本ではまだ今ひとつ盛り上がっていない気がします。
一発打ち上げるなら今かな。
Sun × Recruit mash up award 3rd が早くも開催されます。
Mash up Award 3rd - 開催概要 - サン・マイクロシステムズ
今度の award はまた規模が一段と大きくなっています。
なんと優勝賞金 100万円! これはでかい!
さらに利用可能APIは70以上。前回以上におもしろそうなAPIが提供されています。
サーバなどの実行環境も提供されるようで、これまで「アイデアはあるけど、サーバがないんだよねぇ」と二の足を踏んでいた方も参加しやすくなってます。
この開催発表に合わせて、リクルートさんが「つくるぶ」というサイトを公開しました。
開発者の情報交換コミュニティサイトですね。
award に向けて有効活用できそうです。
ちなみに、先日のmash up award 2nd の座談会記事も公開されています。
つくるぶ -デベロッパー応援プロジェクト | MA3応援座談会
こんな日に、はてなブックマークで「もっと失敗しよう:江島健太郎 / Kenn's Clairvoyance - CNET Japan」というエントリがホッテントリ入りしてました。
ものごとはホップ・ステップ・ジャンプなんだから、今ホップさえしてない人は、小さくてもいいから、まず跳んでみようよ。
まさしくその通り。
僕は早速参加申し込みしちゃいました。
締め切りは9月10日。良いもの作ります。はい。
今週号のイブニングの「ヘルプマン!」に熱いシーンがありました。(国家資格という紙切れを何が何でも手に入れろ! --- ヘルプマンより (くりす流))
国家資格取る取らないの話だったので、これはSEにも当てはまるのではと思いテンプレ化。
元ネタは上記リンク先です。
百 「資格資格資格……。試験試験試験……。
一体それが何になるんだよ!!
実装するときにメモリのヒット率を求めたりするか?
コードを書くのに会計の知識やら法律に関する知識が必要か!?」仁 「必要なんだよ。
情報処理技術者の資格がなければ働けなくなるんだよ。
どんなにプログラムが好きでも
どんなに腕利きのプロジェクトマネージャでも
企業に勤めるSEも在宅勤務のプログラマも
資格がなけりゃ働かせてもらえねぇ
法律はそういう方向で動いているんだ……」百 「何で……
んなことになってんだよ」仁 「それだけ出来上がったシステムの質が悪いってことだ……」
百 「それと資格と何の関係があんだよ!
資格もっててもろくでもない奴いっぱいいるじゃん!」仁 「現場から離れたくなきゃ一生に一回くらい勉強しろ」
百 「国会議事堂の前でうんこしてやる」
仁 「殺すぞ…
もう一度オレに同じことを言わせたら……
勉強したくてもできねえ体になるぞ」百 「(やばい…仁がキレる…)
わかった!
学校へ行く
勉強する!
あー早く学びてえなぁ!!!」仁 「とんでもねぇ時代が来るんだよ
わかってんだろ?
ああ?単価が安くて優秀な外国人プログラマが溢れ出す…
システム予算の大幅削減
目減りする給料
不況で従業員を支えきれない企業……
システム構築現場からの人材の流出どんくさい お国のクソ政策の谷間で
もがき苦しむ年寄りを指をくわえて見ているのが
いやなら…お国と正々堂々戦争をしたいなら
国家資格という紙切れを何が何でも
手に入れろっつってんだよ
ああ!?」
どうでしょうか。
まあ、こんなこと書きながら、僕自身基本情報しか取ってなくて、しかもあまり資格を取ることに対して積極的じゃなかったりします。
介護業界みたいに法律で縛られるのなら話は別ですが。

介護の現実が良く描写されています
あなたの すぐそばの事
老人介護とはそれPla! な人には常識な話かもしれませんが、正規表現のお勉強と言うことで、amazon の本のベストセラーページを取得して、正規表現でランキングデータを抜き取って、JSON形式にしてファイルに保存するCGIを作りました。
本当はファイルに出力するようにしたのは、1時間に1回しか後進されない静的なページの情報なので、こちらも静的なデータを作っておいた方が良いかと思ったからです。
で、昨日書いたように言語はPythonです。
↓こんな感じ。
import httplib
import urllib
import string
import re
def book_ranking(n):
data = urllib.urlopen('http://www.amazon.co.jp/gp/bestsellers/books/?pg='+n).read()
list = re.findall('<td align=\"center\" valign=\"top\"><a href=\"(.+?)\".+?img src=\"(.+?)\".+?alt=\"(.+?)\".+?/></a>',data)
return list
JSON = '['
pages = ['1','2','3','4']
for page in pages:
list = book_ranking(page)
i = 0
for tmp in list:
if i != 0:
JSON += ','
JSON += '{ "uri":"' + tmp[0] + '" ,"imgpath":"' + tmp[1] +'" ,"item":"' + tmp[2] + '"}'
i = i + 1
JSON += ']'
f = open('./bookranking.txt','w')
f.write(JSON)
f.close()
ランキングは4ページに渡って100位まであるので、ループで回して取得しています。
↓得られたファイルはこんな感じ
http://www.chrisryu.com/ranking/bookranking.txt
思っていた以上にさくっと作れました。
正規表現って面白いです。
mash up award や google ガジェットコンテストなんかの準備のため、ちょっとした cgi を書くことに。
これまでは Perl で書いていたんですが(といっても、Webサービスに接続した結果をそのまま出力するだけの proxy 君的な cgi だけでしたが)、ちょっと Python で書いてみようかと思い立ちました。
ローカルでスクリプトを作成し、ローカルPCのapache 上で動作させるとうまく動きました。
お、やった、簡単簡単なんて浮かれて、サーバへアップロードしたら動作しないんですね。
なんでだろ、と思って調べてみたら、私 mod_python で動くスクリプトを作ってました。あー恥ずかしい。
ローカルPC 上のapache では Trac が動作しているので、それ用に apache + mod_python の環境を作っていたのでした。
僕の借りているサーバは python は cgi モードでしか動作しないってことをすっかり忘れていましたよ。
ってことで、やりなおし。
cgi を配置するディレクトリに、以下のような記述を書いた .htaccess を作成。
AddHandler cgi-script .py
でもって、スクリプトの頭にpython へのコマンドパスを書いて、権限を755 にして、これでOKと思って実行したところ、またしてもエラー。
今度は改行コードが問題でした。
\r\n じゃだめで、\n になっている必要があったんですね。
これを修正して再度アップで、なんとか動作しました。
いやはや、基本が分かってないと色々苦労することが多いですね。
みなさん、仕様書は何で書かれてますか?
アルファルファモザイクより「仕様書をExcelで書くんじゃねぇ」
はてなブックマーク - アルファルファモザイクより「仕様書をExcelで書くんじゃねぇ」
私の会社では、仕様書のテンプレートがExcelとWord形式で管理部門から提供されているのですが、利用されているのはExcelが多いようです。
個人的に思う仕様書として重要な要素は、まず「書かれている内容」、次に「意味・意図が適切に伝わるかどうか」、そして「メンテナンス・運用のしやすさ」かなぁ。
これが守れていれば、何で書かれていたって良いと思います。
何を選択するかは、当然、システムの規模や内容にもよってくるわけで。
数名で作り上げ、運用もそのメンバーでやるシステムなら、仕様書は手書きで、重要事項はWikiへという運用でも大丈夫でしょうし、数百名が関わるような大規模PJでは、電子データで運用しなければ情報がうまく伝わらないでしょうし。
一番ナンセンスなのは、「いつもそうだから」という理由で、何も検討せずにフォーマットを決めてしまうことかなと思います。
Word と Excel どちらで書いてもそれほど変わらないと言う場合は、僕はWordを選択するかなぁ。
印刷のときに変な気遣いをしなくて良いというところが好きです(とはいえ、たまに貼り付けているオブジェクトがバグることがありますけど)。
ドキュメントがメンテナンスしづらいと、ドキュメントと画面の乖離がどんどん進んでいくので、Web系のシステムならいっそ画面に書き出したら良いんじゃないかと思い↓こういうのも作ったことあります。
showyou --- HTML に Ajax でドキュメントを出力 (でぃべろっぱーず・さいど)
showyou-0.0.2 Release (でぃべろっぱーず・さいど)
最終的に一番頼りになるドキュメントはソースコードだと思うので、ひたすらテクニックに走るだけじゃなく、後から見て分かりやすく、誤解を生まないようなロジックやコメントを書いて欲しいです。
↓笑い話として、こんなソースコードの例が良く挙げられますよね。
// hoge が 5 より大きいとき処理する。
if ( hoge < 5) {
hoge += 10;
}
数日前にはてブでホッテントリになっていた↓これ。
僕が5月の頭に作った↓これとよく似てるんですよね。
超簡易ほってんとりーだ(はてなブックマーク + livedoor clip)
ぱくられたー!とか言いたい訳じゃなく(こんなの誰でも思いつく&実装できるし)、注目されたアプリと注目されなかったアプリでどこがどう違うのか、どこをどうすれば注目されたのか、そういう情報を得る良い機会かなぁと思います。
タイトルの付け方とか、情報の表示の仕方とか、プッシュしているポイントとか。
今後の参考にいたします。
↓ちなみにページを作ったときのエントリはこちら。
スターロジックはぶさんのSIerについての日記です。
六月水無月はぶにっき --- SIなんてつまらん仕事ですよ
六月水無月はぶにっき --- SIって最高の仕事ですよ
SIerとして納得できる部分もあり、環境によるよなぁと思うところもあったり。
ただ、最近思うのは、「ものづくり」といっても色んな立場や規模があるということ。
うん百億円、うん千億円かけた大規模システムにかかわるのも、数名でWebサービスを作るのも、同じ「ものづくり」という呼び方をするから混乱するのかなぁ。
SIerとして働いて6年になりますが、ここ数年で自分のやりたい仕事がおぼろげながら見えてきた気がします。
それが今いる会社で実現できるのか、はたまたはなから相手にされないのか。
今年来年あたりは正念場だなぁと思ったり。
ついに、というか、ようやく、というか YouTube の日本語サイトが開設されました。
パートナー企業にSkyperfecTV が名乗りをあげたようですね。
新ユーザインターフェースリリースと言い、オンライン上で動画編集できる機能のリリースと言い、YouTube 関連の興味深いニュースが連日出てきています。
いよいよ動画コンテンツの本領が発揮されるんでしょうかね。
携帯からアップロードして、編集してってことができるようにしたいと考えているようで、携帯ユーザが多い日本で新しいブームを作るかも知れません。
でも、今まで英語版のインターフェスに慣れてきた自分的には、日本語版のサイトの日本語が不自然に感じられて仕方ないんですよね・・・。
同じ気持ちの人、結構たくさんいるんじゃないかなぁ。
Yahoo! がおもしろいWebサービスを公開しました。
Yahoo!デベロッパーネットワーク - テキスト解析 - 日本語形態素解析
形態素解析については以下を参照。
GETパラメータで文字列を渡すと、名詞や品詞に分解して解析した結果をXMLで返してくれます。
これはなかなか面白いAPIですね。
アイデア次第でかなりユニークなアプリが作れそうな気がします。
例えば、自分が書いたブログのエントリを解析したりとか、「どこでもいっしょ。」のトロのように、ユーザと対話する形のミニアプリとか。
週末ちょっと触ってみることにします。
<関連ニュース>
・ITmedia Biz.ID:Yahoo!の日本語形態素解析エンジンAPIを公開
・ヤフー、文章を解析できるAPI「日本語形態素解析Webサービス」を公開:ニュース - CNET Japan
・CodeZine:Yahoo!、異質なWeb API「日本語形態素解析Webサービス」を公開(Webサービス)
・Japan.internet.com Webテクノロジー - Yahoo! デベロッパーネットワークの「日本語形態素解析 Web サービス」
YouTubeのページ右上に、「Try out the NEW (beta) version of this page!」とあって、新しいバージョンのインターフェースを試せるようになっていました。
↓こちらが旧版。

↓こちらが新版。

大きな違いは、画面上部の広告の有無でしょうか。
目に付く位置に広告がないというだけで、すっきりした印象を受けます。
また、プレーヤのサイズも一回り大きくなって見やすくなっています。
後は、3カラムレイアウトが2カラムに変更されていたり、メニュー部分がすっきりしていたり、右側の情報表示部分のグルーピングが整理されていたりしますね。
画像からは分かりませんが、share というところをクリックするとdiggやdel.icio.usに投稿できたり、 customize this embed をクリックすると、自分のページに表示するプレーヤに関連動画を載せるかどうかを選択することができます。
Google による買収後、それほど大きな変化のなかったYouTube ですが、ぼちぼち買収の影響が出始めてきているようですね。
※新インターフェースはURLの後ろに&v3を付ければ試すことができます。
マッシュアップのポータルサイト「マッシュペディア」が、「マッシュアップ・カフェ」というイベントを企画しているようです。
オフラインイベント「マッシュアップ・カフェ」開催のお知らせ : お知らせ一覧 : MASHUPEDIA - マッシュペディア - : Web API x Mashup
イベントの趣旨としましては、Web API提供企業様、Mashup開発者の方をお呼びして、その魅力を語っていただく「マッシュアップ・カフェ」と、Web API企業様やWeb開発者の方々同士の交流を深めていただく、マッシュアップ・バー(懇親会)の二段構成になっています。
昨日、他の開発者の方との交流を通じて刺激を受けた僕としては、こういうイベントがもっと開催されれば良いなぁと思ったり。
mash up award 3rd ももうすぐ開催されますし、位置情報を使って何かアプリを作ってみたいなぁと言う方は是非ともご参加ください。
mash up award 2nd の座談会に参加してきました。
もうすぐ mash up award 3rd が開催されるらしく、開催の発表にあわせて座談会の内容も公開されるそうです。
↓mash up award 2nd のときも前回受賞者を集めて座談会が開かれてましたね。
僕を含め8名の方が集まって、プログラミングを始めたきっかけとか、受賞後の周りの評価とかを楽しくお話ししました。
皆さん、バックグラウンドやmash up に対する想いも様々で、個人的にかなり刺激になりました。
さて、今年の夏は プログラミングコンテストが数多く実施されます。
・mash up award 3rd
・iGoogleガジェットコンテスト
・Amazon.co.jp アソシエイト・プログラム: コンテスト
・マッシュアップコンテスト - タグ検索ならTAGGY
・トップ-Drecom Award on rails 2007
個人的に上の3つは何か出してみようかなと思ってます。
今年の夏は忙しくなりそう。
CNET に Twitter に関する2つの翻訳記事が掲載されていました。
「Twitter」擁護論 - CNET Japan
私が「Twitter」を受け入れられない理由 - CNET Japan
Twitter擁護論の人は、
根拠や理由にとらわれずにメッセージを公開できる気軽さ、それがTwitterのよいところだ。
なんて言い、一方受け入れらないひとは、
Twitterは、友人のみならずウェブサイトをうろついて赤の他人のくだらない物思いに目を通すひまのある人間たちに向けて、頭に浮かんだもろもろを思いつくまま伝える手段となるべく作られたものだ。
なんて言ってます。
僕もTwitterのアカウントは作ってみたものの、長続きしなかったタイプ。
どうもあれのおもしろさが分かりかねるんですよね。
まあ、一番の理由はTwitterでコミュニケーションを取るような友達が少ないからなんだと思います。
あと表示が重たいので、気軽に書き込もうって気になりにくいんですよね。
逆に、Twitter 上に自分が発言できるコミュニティがあって、表示の重さを回避できる、或いは気にならない人は、Twitter にはまれるんだろうなぁ。
日本でも Twitter クローン的なサービスが乱立してましたが、今どうなんでしょう。
Google マップの航空写真が更新されたようです。
Google Japan Blog: Google Earth と Google マップの航空写真を更新しました
地方都市を中心に更新されたとか。
今回、日本国内では、旭川、秋田、郡山、宇都宮、長野、富山、高知、宮崎の 8 地域の画像が更新されています。
・・・あれ、我が郷土鹿児島は・・・。
↓前のままだ!
早く鹿児島も更新してくれないかなぁ。
鹿児島と言えば、なぜか桜島の一部だけやけに高解像度なんですよね↓。
なにか理由があるのかしら。
Yahoo! が検索結果にソーシャルブックマークの登録人数を表示しはじめました。
ヤフー検索結果にソーシャルブックマークの登録人数を表示 - CNET Japan
今ひとつ盛り上がり感のないYahoo!のソーシャルブックマークですが(僕が知らないだけで実は盛り上がっていたらごめんなさい)、Yahoo!の検索結果にブックマーク数を表示することで、ちょっと風向きが変わるような気がします。
なんだかんだ言っても日本ではYahoo!の検索が強いですから、この結果ページから、ブックマークにたどり着いて利用し始める人も増えるんじゃないでしょうか。
はてぶやLivedoor clip とは違ったブックマークランキングになりそうで、今後の動向に興味津々です。
iGoogle の Gadget って アクセス状況や機能の利用状況を Google Analytics で追跡できます。
その辺の詳細情報は、↓こちらに詳しく書いてあります。
iGoogle ガジェットの作り方 : Google Analytics ライブラリ - WebOS Goodies
ガジェット系の規格を統一しようとしている Google のことなので、同じように mapplet の利用状況も確認できるんじゃないかと思ってやってみたら、あっさりできちゃいました。
方法は上記リンク先と同じなのですが、一応書いておきます。
<ModulePrefs>タグで囲まれている中に、<Require feature="sharedmap"/>が書いてあるので、その下に、 <Require feature="analytics"/> を記述します。
でもって、スクリプトタグの間に以下のコードを差し込むだけ。
_IG_Analytics("UA-xxxxxx-xx", "/your_trace_path");
UA-xxxxxx-xx とyour_trace_path に当てはめる値は上記リンクを参考にしてください。
これで、mapplet の利用状況が把握できます。
mapplet 自体まだ一般公開されているサービスではないので、まだまだ利用回数は少ないようです。
↓楽天トラベルmapplet はこちらからどうぞ。
平文テキストのための diff / match / patch のライブラリがGoogle code に公開されていました。
どうやら Google Docs で利用されているライブラリのようです。
google-diff-match-patch - Google Code
それぞれ以下のデモページにて試すことができます。
ダウンロードページには、java と python 、javascript のソースが置いてあります。
Google Docs での差分管理はこれを利用して実現されていたんですね。
diff を取る機会は仕事の中で結構あるので、今度使ってみたいと思います。
pop×popで紹介されていた(YouTubeプレイヤーの次世代インターフェースはここが変わる!? | P O P * P O P)ように、YouTube のプレーヤがリニューアルされましたね。
Google が買収した効果が徐々に現れているのでしょうか。
そんな中、先日の Google Developer Day にて YouTube の新APIの概要が発表されたようです。次のAPIはGDataと密接に関係してくるようですね。
ProgrammableWeb.com ≫ Blog Archive ≫ New YouTube API Coming Soon
YouTube API Blog: The Future
なぜGDataなのかというポイントは以下の点にまとめられています。
・拡張性/柔軟性/安定性の改善
・既存のフレームワークの標準化 --- 他のGData API とのマッシュアップを簡単にするため
・認証モデルを使うことによって年内に提供することを予定している。
・開発者はGDataリソースを、ライブラリや開発者ガイドのように利用することができる
個人的にYouTube API を触ったことがないので、これを機にちょっと mash up アプリでも作ってみようかなと思ったり。
また、英語ですが、以下のGoogle グループにてAPIのリクエスト&投票を行っています。
API Feature Requests - YouTube API Developer Forum | Google グループ
Ajaxを利用してページにドキュメントを出力するツール showyou の version 0.0.2 をリリースしました。
変更点は以下の通りです。
・prototype.js を使わず、HttpXMLRequest を生成して非同期通信を行うよう変更。
・showyou という namespace を利用するように変更。
・wikiフォーマットで書き出したときのh2,h3の閉じタグがh1になっていたのを修正。
地味な変更ですが、prototype.jsを使用しなくなった分だけ扱いやすくなったかと思います。
ダウンロードはこちらから↓どうぞ。
以前にこのブログでも紹介したことのあるiBATIS が CodeZine で特集されていました。
CodeZine:iBATISを使ったO/RマッピングによるDBアクセスの実例(O/Rマッピング, フレームワーク, java)
まとめに書かれている4点の中で、以下の3点は重要だと思います。
・SQL文をJavaソースコードから分離することができます
・SQLの埋め込みパラメータを、JDBCよりも分かりやすく指定できます
・検索結果をオブジェクトに格納する機能が付いています
SQLがソースから分離されていることで、開発中のSQLの修正がやりやすくなりますし、埋め込みパラメータもパラメータの順番を意識することなく指定することができます。
O/Rマッピングフレームワークとしては、Hibernate や S2Dao が注目されていて、iBATIS は今ひとつの知名度なので、もう少し利用者が増えればなぁと思います。
先日の Google Developer Day 2007 で発表されましたが、Google が iGoogle のガジェットコンテストを実施します。
iGoogleガジェットコンテスト
CodeZine:Google、「iGoogleガジェットコンテスト」開催(イベント)
asso-ball.net の Google ガジェットを出品しようかとも一瞬思ったんですが、未発表の作品ってことなので、ちょっと微妙だなと。
というわけで、またネタ繰りして出品してみようと思います。
mash up award 2nd は賞の数が多かったので受賞できましたが、今回の枠は少ないので、あまり期待せず、自分が使いたいおもしろいガジェットを作りたいと思います。
ITmedia Biz にてメールのマナーについての記事が掲載されていました。
ITmedia Biz.ID:新入社員のためのメール術~ビジネス編
そう、メールが問題なのは、人によって常識が違うということなのです。
確かにそう。
例えば、メールの添付ファイルのサイズも、人によって上限(マナー上の)は様々だったりします。
HTMLメールも良くない、ということを良く聞きます。というか、僕自身もちょっと前までその考えだったのですが、時と場合によっては別にHTMLメールもありなんじゃないかと思っています。
そう言えば、ちょっと前に「HTMLメールは悪いのか? (でぃべろっぱーず・さいど)」なんて記事を書いていました。
HTMLはテキストに比べて表現力がありますから、要点や伝えたい部分を強調したりするのに使えば良いような気もしています。
さて、上記 ITMedia の記事最後にて問いかけられていた 2 つの質問に答えておこうかと思います。
1.「複数の人に一斉にメールをする時、1人をto、残りをcc」 それとも「全員をto」にしますか?
ある特定の人に向けて情報を発信し、それ以外の人は僕がその人に情報を伝えたよ、ということだけ知っておいて欲しいときは、1人をtoにそれ以外をccにしますね。
逆に、全員に向けてのメッセージのときは、全員をtoにします。
2.「複数の人に一斉にメールをする時 to内の順番は大切」 それとも「気にしない」ですか?
これは気にしませんね。
toの中の順番って自分自身気にしたことありませんし。
逆にここに載っていなくて自分が気を付けていることは、アドレス帳の登録名かなぁ。
以前、ものすごく失礼な感じで登録されていた名前がそのまま送信されているのを見たことがあるもので。
メールのアドレス帳って、携帯電話のアドレス帳の感覚で登録していると、痛い目にあうかもしれません。
@nifty のメール容量が 3G になりました!
ニフティが容量3GB、保存期間無期限の無料メールサービス開始 - GIGAZINE
ニフティ、無料で使えるメールサービスの提供を開始|ニフティ株式会社
うちのプロバイダも @nifty なので、これは嬉しいニュース。
1年前まで、容量が数Mだったことを考えると、超劇的な進歩ですね。
それにしても、gmail を超える 3G を提供とは思い切ったものです。
久しぶりにアクセスしてみたら、デスクトップアプリ風のWebメールアプリも、以前より快適に動くようになっていました。
頑張ってるなぁ。
最近、@niftyラボも面白いサービスを出していますし、ちょっと息を吹き返してきた感があります。
これからももっと頑張って良いサービスを提供して欲しいですね。
Google Developer Day 熱で、この週末はasso-ball の Google Gadjet 化、そして英語化に取り組んでたんですが、勢い余って、Mapplet まで手を出してしまいました。
利用したのは、前から使おうと思っていた「楽天トラベルのWebservice」です。
簡単なところで、施設情報をマップ上に表示する Mapplet にしてみました。

使い方ですが、Mappletはまだ開発者向けにしかリリースされていないので、普通の Google Maps 上には表示されません。利用するときには、以下のURLにアクセスします。
http://maps.google.co.jp/preview
ここで、Map の上のタブに「検索結果」「マイマップ」と並んで「マップレット」があるので、これをクリックします。
そこから「コンテンツを追加」をクリックすると、iGoogle のガジェット追加のような画面になるので、画面上部の検索欄右側にある「URL を指定して追加」をクリック。URLの入力欄が表示されるので、以下のURLを入力して「追加」をクリックすればOK。
http://www.chrisryu.com/rakutentravelmapplet.xml
追加後、画面左上の「Google マップに戻る」をクリックすると、先ほどの「マップレット」タブのところに、「楽天トラベル ホテル検索」が表示されているはず。
チェックボックスにチェックを入れるか、文字をクリックすると、下部にマップレットが表示されて利用することができます。
参考にしたのは以下のブログの記事です。
・Yoshioriの日記: Google Mapplet 作った♪
・速報ダム日和
・Myrmecoleon in Paradoxical Library. はてな新館 - 所蔵図書館マップのMappletを作ってみた。
・Google Maps の Mapplets 用に「防犯マップ大阪 -Mapplet版(beta)-」を作ってみました (feedtailor Inc. 大石裕一の開発ブログ)
・月と六ペソ: Mapplet etc.
作っていて気づいたこと/思ったこと
1." Mapplet Scratch Pad " を使うべし!
マップレットのコンテンツディレクトリの左側に「Developer Tools」というリンクがあるので、これをクリックすると、" Hello World " を始め、" API Reference" や " Mapplet Scratch Pad" などのツールがあるので、これを一通り追加しましょう。
今回、僕はこれに気づかず、PCで作成したXMLを一々サーバへupload して、コンテンツを追加して、デバッグしていたんですが、これがかなりめんどくさい。PC側でデバッグしてからUPってことができないので、これどうにかならないかなぁとか思っていたら、開発の終盤に" Mapplet Scratch Pad"を見つけました。
これがあると、Google Maps の左側にエディット欄が表示されて、ここにしこしこソースを書いて「Preview」ボタンを押すと、すぐにそのソースの実行結果が分かるというすぐれもの。これにもっと早く気づいていれば・・・。
ちなみに、このツール、他のMapplet のソースを読み込んで編集する、なんてこともできるので、「このMapplet 使い勝手が悪いなぁ」とか思ったら、自分でちょちょいと修正できちゃうわけです。
2.吹き出しに情報を詰め込みすぎるとエラーになるっぽい
マーカをクリックするとホテルの情報が書かれた吹き出しが表示される仕様にしたのですが、作っていく途中でマーカをクリックするとエラーが発生するようになりました。Firefox だとfirebugにエラーをはきつつ吹き出しは表示されるんですが、IEだと吹き出しすら表示されないのですね。
なんでだろうなーとか思っていたら、API Reference に" Content is restricted to approximately 4kB "とか書いてありました。どうやらあんまりたくさん情報は表示できないようです。
リッチなコンテンツを表示させたければ、iframe でも切ってあげるしかないんでしょうか。
3.Mapplet は流行るか
で、実際に作ったMapplet がこれからどうなっていくのかと。
個人的には、この楽天トラベルホテル検索Mapplet によって、アフィリエイトでがっぽがっぽ、みたいなことを夢想してたりするんですが、それはしばらく無理なんじゃないかと思っています。
理由はいくつかあって。
1つは、Google Maps を利用している日本人が少ないということ。マップレットどころか、マイマップとかもまだ知らない人多いんじゃないかな。Mapplet 使って、アフィリエイトやって稼ごうと思ったら、いかに多くのユーザに利用してもらえるかが勝負なわけで。
一般の人は、YahooとかGoogleの検索欄に旅行会社の名前を入れるか、「○○の宿」とか入力して検索した結果表示される、普通のサイトで何かしらのコンテンツを得るのが、まだまだ続きそう。
ただし、これはGoogle がこれからやろうとしているユニバーサル検索(画像とか動画とかの検索を一つの画面でやっちゃうやつ)で変わってくるかもしれないのは確か。
Gadjet やMap は使ってなくても、検索はよく利用しているという人に対して、通常のページの案内だけでなく、「ホテル情報の検索はこのMappletが便利ですよ」とか、Mapplet に対しての導線を貼ってくれるだけで、可能性は劇的に広がりそうです。
もう1つは、iGoogle の Gadjet と違って、MapのMapplet って、いつもいつも見るものじゃないってこと。
とっさに情報を得たいとき、いちいちMapを表示して、Mappletで何かするって人は、Google のヘビーユーザでもまだまだいなさそうです。
4.とりあえず海外で通用するもの作った方が良いかも
で、この話なんだけど、利用者の少ないニッチなフィールドで勝負するより、もっと大きな市場を見た方が良さそうだということ。
Mapplet の利用率は少なそうだ、とはいえ、母数が増えれば、それだけ利用者は増えるわけで。
英語が苦手という人も、ちょっと頑張って英語圏向けのMapplet なり Gadjet なりを作った方が、得られるものは多そうです。
asso-ballのGadjet を海外仕様にしたのもそれが理由だったりします。
昨日、asso-ball を Google Gadjet 化したばかりですが(asso-ball を Google Gadget 化しました。 (でぃべろっぱーず・さいど))、この勢いに乗って、今日は英語版を作ってみました。
英語版では、とりあえず関連語をひっぱってくるのに米Yahoo! のAPI を利用してます。
また、出現する言葉にランダム性を出すため、wacaal で取得していた「今誰か検索している言葉」は、これに対応する英語のサービスがなかったので、Technorati の「ブログにつけられたタグ」ランキングから英語のものだけを取得して表示しています。
なので、日本語版ほどのどえらい展開はありませんが、なんとなくインターナショナルな雰囲気になりました。
表示方法ですが、↓以下の「+ Google 」ボタンから、自分の iGoogle に追加していただき、iGoogle のページを表示しているときに、url の "hl=ja" の部分を "hl=en" に書き換えてページを再表示していただければ英語版を見ることができます。
今後利用するAPIの検討を含め改良していくかもしれませんので、ご意見ご感想をお待ちしています。
というか、英語版は海外の人に使ってもらいたいのですが、どうしたら良いんだろうか。
おまけですが、今回 Technorati から「ブログにつけられたタグ」ランキングから英語のものだけを取得するというところで、ちょっとだけトリッキーなことをしています。
というのも、このランキングは全世界のブログをターゲットにしているため、日本語とか結構な割合で混ざっているんですね。
ところが、僕が利用しているActionScript2.0 だと、デフォルトで利用できる正規表現がないわけです。
文字列を1文字ずつ評価しようかとも思ったんですが、 string.toUpperCase と string.toLowerCase を比較して、一致していなければ「英語」と見なすという、かなーりおおざっぱなことをしています。
そんなわけで、たまにアラビア語っぽいものが混ざってしまいますが、それはご愛敬と言うことで。
というわけで、昨日予告したとおり、まずは asso-ball.net を Google Gadget 化してみました。
Google のコンテンツディレクトリに公開する前に、テスト版としてここで公開することにします。
↓以下の「+Google」ボタンで、ご自分の iGoogle に追加することができます。
是非、遊んでみてください。
また、↓以下のコードを利用することで、ご自分のページにも asso-ball を設置することができます。
こちらもまたよろしくお願いします。
Gadjet 化は思っていたより簡単でした。ありがとう、Google の Sophia さん。