<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>korelab</title>
	<link>http://wp.korelab.com</link>
	<description>korelabのブログ Twitter Balloon</description>
	<pubDate>Sat, 26 Apr 2008 14:52:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>
	<language>en</language>
			<item>
		<title>Twitter Balloonのクロスドメイン問題が解決</title>
		<link>http://wp.korelab.com/2008/04/26/twitter-balloon%e3%81%ae%e3%82%af%e3%83%ad%e3%82%b9%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e5%95%8f%e9%a1%8c%e3%81%8c%e8%a7%a3%e6%b1%ba/</link>
		<comments>http://wp.korelab.com/2008/04/26/twitter-balloon%e3%81%ae%e3%82%af%e3%83%ad%e3%82%b9%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e5%95%8f%e9%a1%8c%e3%81%8c%e8%a7%a3%e6%b1%ba/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 14:52:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Twitter Balloon]]></category>

		<category><![CDATA[開発]]></category>

		<category><![CDATA[ブログツール]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/04/26/twitter-balloon%e3%81%ae%e3%82%af%e3%83%ad%e3%82%b9%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e5%95%8f%e9%a1%8c%e3%81%8c%e8%a7%a3%e6%b1%ba/</guid>
		<description><![CDATA[2008年3月9日にTwitterがcrossdomain.xmlを変更してFlashからのメッセージ取得を制限しちゃってからというもの、Twitter Balloonを何とか存続させるために、CGIを作ったり改良したりしてきた訳ですが、ユーザ数が増えてくるとどうしてもサーバの負荷を気にしなければならないので、ユーザが増えて欲しいような欲しくないような中途半端な気持ちで過ごしてきました。
今日、この問題が解決しました。解決方法はというと、Twitterの中の人であるAlex Payneさんに頼んでTwitterのcrossdomain.xmlに*.korelab.comを追加してもらうという最も簡単かつ基本的な方法です。
もちろん私がAlexさんを個人的に知っている訳ではなく、Twitter Development TalkでAlexさんにお願いしたところ、快く引き受けてくれました。
Thank you ,Alex.
ということでTwitter Balloonのユーザが増えてもサーバの負荷を心配する必要もなくなりました（現在Twitter Balloonのユーザは1300人、1日に12万アクセスがあります）。
一時はTwitter Balloonの公開を中止することも考えましたが、これで継続していくことができそうです。
今後ともTwitter Balloonをよろしく。
]]></description>
			<content:encoded><![CDATA[<p>2008年3月9日にTwitterがcrossdomain.xmlを変更してFlashからのメッセージ取得を制限しちゃってからというもの、<a href="http://wp.korelab.com/twitter%E3%81%AE%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E7%94%BB%E5%83%8F%E3%81%A8%E3%83%95%E3%82%AD%E3%83%80%E3%82%B7%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E3%83%96%E3%83%AD/">Twitter Balloon</a>を何とか存続させるために、CGIを作ったり改良したりしてきた訳ですが、ユーザ数が増えてくるとどうしてもサーバの負荷を気にしなければならないので、ユーザが増えて欲しいような欲しくないような中途半端な気持ちで過ごしてきました。<br />
今日、この問題が解決しました。解決方法はというと、Twitterの中の人であるAlex Payneさんに頼んで<a href="http://twitter.com/crossdomain.xml">Twitterのcrossdomain.xml</a>に*.korelab.comを追加してもらうという最も簡単かつ基本的な方法です。<br />
もちろん私がAlexさんを個人的に知っている訳ではなく、<a href="http://groups.google.com/group/twitter-development-talk">Twitter Development Talk</a>でAlexさんにお願いしたところ、快く引き受けてくれました。<br />
Thank you ,Alex.<br />
ということでTwitter Balloonのユーザが増えてもサーバの負荷を心配する必要もなくなりました（現在Twitter Balloonのユーザは1300人、1日に12万アクセスがあります）。<br />
一時はTwitter Balloonの公開を中止することも考えましたが、これで継続していくことができそうです。<br />
今後ともTwitter Balloonをよろしく。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/04/26/twitter-balloon%e3%81%ae%e3%82%af%e3%83%ad%e3%82%b9%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e5%95%8f%e9%a1%8c%e3%81%8c%e8%a7%a3%e6%b1%ba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Balloonの修正</title>
		<link>http://wp.korelab.com/2008/04/22/twitter-balloon%e3%81%ae%e4%bf%ae%e6%ad%a3/</link>
		<comments>http://wp.korelab.com/2008/04/22/twitter-balloon%e3%81%ae%e4%bf%ae%e6%ad%a3/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 18:17:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Twitter Balloon]]></category>

		<category><![CDATA[開発]]></category>

		<category><![CDATA[ブログツール]]></category>

		<category><![CDATA[twitter]]></category>

		<category><![CDATA[DreamHost]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/04/22/twitter-balloon%e3%81%ae%e4%bf%ae%e6%ad%a3/</guid>
		<description><![CDATA[3月9日にTwitterがcrossdomain.xmlを変更してFlashからのメッセージ取得を禁止しちゃったので、3月10日からサーバ側でTwitter APIを使ってメッセージを取得するようにしました（このあたりの話はこちらを参照）。
しかし、1日に10万回位Twitter Balloonからのアクセスがあるのでサーバへの負荷が高く、このままだと制限をかけるというお達しがサーバを借りているDreamHostから来てしまいました。
何とか負荷を下げないとならなくなったので、Twitterのメッセージをキャッシュするようにしました。そのため、Twitterのメッセージを更新してからTwitter Balloonに反映されるまでに最大1時間くらいかかることがあります。どうしてもすぐに反映させたい場合は、自分のTwitter Balloonを表示させてReloadボタン(真ん中のボタン)をクリックして下さい。
技術的な話をすると、CGIでキャッシュを読み込む方式ではCGIの起動回数は変わらないので、404 Error proxy cache方式（勝手に命名）にしました。
例えば、Twitter Balloonがkorelabのメッセージを取得する場合、Twitter Balloonがkorelab.xmlを取得しようとします。でもkorelab.xmlなんていうファイルは存在しない。
そうすると404 Not Foundエラーが発生します。
404 Not Foundエラーが発生した場合に、通常エラーページが表示されるのですが、このエラーページは自分で作った独自のエラーページにすることができます。そして、この独自のエラーページの替わりにCGIを起動することもできるので、ここでCGIを起動します。
CGIでは元の要求を環境変数REQUEST_URIを通して知ることができるので、元の要求であるkorelab.xmlからID korelabを取り出し、Twitter APIでメッセージXMLを取得してそのまま応答します。
このときに応答したメッセージXMLをkorelab.xmlとしてファイルに保存します。
すると次からTwitter Balloonがkorelabのメッセージを取得する際には、korelab.xmlファイルが存在するのでCGIを起動することなく静的なXMLファイルとしてメッセージを取得できるという訳です。
キャッシュファイルはcronで１時間おきに削除していますので、メッセージを更新してから約1時間以内には最新のメッセージが表示されます。
]]></description>
			<content:encoded><![CDATA[<p>3月9日にTwitterがcrossdomain.xmlを変更してFlashからのメッセージ取得を禁止しちゃったので、3月10日からサーバ側でTwitter APIを使ってメッセージを取得するようにしました（このあたりの話は<a href="/category/twitter-balloon/">こちら</a>を参照）。<br />
しかし、1日に10万回位Twitter Balloonからのアクセスがあるのでサーバへの負荷が高く、このままだと制限をかけるというお達しがサーバを借りているDreamHostから来てしまいました。<br />
何とか負荷を下げないとならなくなったので、Twitterのメッセージをキャッシュするようにしました。そのため、Twitterのメッセージを更新してからTwitter Balloonに反映されるまでに最大1時間くらいかかることがあります。どうしてもすぐに反映させたい場合は、自分のTwitter Balloonを表示させてReloadボタン(真ん中のボタン)をクリックして下さい。<br />
技術的な話をすると、CGIでキャッシュを読み込む方式ではCGIの起動回数は変わらないので、404 Error proxy cache方式（勝手に命名）にしました。<br />
例えば、Twitter Balloonがkorelabのメッセージを取得する場合、Twitter Balloonがkorelab.xmlを取得しようとします。でもkorelab.xmlなんていうファイルは存在しない。<br />
そうすると404 Not Foundエラーが発生します。<br />
404 Not Foundエラーが発生した場合に、通常エラーページが表示されるのですが、このエラーページは自分で作った独自のエラーページにすることができます。そして、この独自のエラーページの替わりにCGIを起動することもできるので、ここでCGIを起動します。<br />
CGIでは元の要求を環境変数REQUEST_URIを通して知ることができるので、元の要求であるkorelab.xmlからID korelabを取り出し、Twitter APIでメッセージXMLを取得してそのまま応答します。<br />
このときに応答したメッセージXMLをkorelab.xmlとしてファイルに保存します。<br />
すると次からTwitter Balloonがkorelabのメッセージを取得する際には、korelab.xmlファイルが存在するのでCGIを起動することなく静的なXMLファイルとしてメッセージを取得できるという訳です。<br />
キャッシュファイルはcronで１時間おきに削除していますので、メッセージを更新してから約1時間以内には最新のメッセージが表示されます。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/04/22/twitter-balloon%e3%81%ae%e4%bf%ae%e6%ad%a3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>携帯向け多言語翻訳サービス</title>
		<link>http://wp.korelab.com/2008/03/31/%e6%90%ba%e5%b8%af%e5%90%91%e3%81%91%e5%a4%9a%e8%a8%80%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/</link>
		<comments>http://wp.korelab.com/2008/03/31/%e6%90%ba%e5%b8%af%e5%90%91%e3%81%91%e5%a4%9a%e8%a8%80%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 16:25:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[language]]></category>

		<category><![CDATA[開発]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/31/%e6%90%ba%e5%b8%af%e5%90%91%e3%81%91%e5%a4%9a%e8%a8%80%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/</guid>
		<description><![CDATA[Google AJAX Language APIがなかなか面白いので、あれやこれやしてJavaScriptを使わないようにして携帯向けの多言語翻訳サービスを作ってみました。

多言語翻訳サービス http://tr.korelab.com/

入力された文章を指定の言語（日本語、英語、中国語（繁体字）、中国語（簡体字）、オランダ語、フランス語、ドイツ語、ギリシャ語、イタリア語、韓国語、ポルトガル語、ロシア語、スペイン語）に翻訳します。
翻訳結果をそのままメールすることもできるようになっています。
とはいえ、AUのW41HとiモードHTMLシミュレータIIでしか検証していないので他の携帯でどの程度使えるかは不明です。
韓国語やアラビア語は携帯にフォントがないので表示できませんでした。
ギリシャ語やロシア語は意外といけます。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/apis/ajaxlanguage/">Google AJAX Language API</a>がなかなか面白いので、あれやこれやしてJavaScriptを使わないようにして携帯向けの多言語翻訳サービスを作ってみました。<br />
<strong><br />
<a href="http://tr.korelab.com/">多言語翻訳サービス http://tr.korelab.com/</a><br />
</strong><br />
入力された文章を指定の言語（日本語、英語、中国語（繁体字）、中国語（簡体字）、オランダ語、フランス語、ドイツ語、ギリシャ語、イタリア語、韓国語、ポルトガル語、ロシア語、スペイン語）に翻訳します。<br />
翻訳結果をそのままメールすることもできるようになっています。<br />
とはいえ、AUのW41Hと<a href="http://www.nttdocomo.co.jp/service/imode/make/content/html/tool2/">iモードHTMLシミュレータII</a>でしか検証していないので他の携帯でどの程度使えるかは不明です。<br />
韓国語やアラビア語は携帯にフォントがないので表示できませんでした。<br />
ギリシャ語やロシア語は意外といけます。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/31/%e6%90%ba%e5%b8%af%e5%90%91%e3%81%91%e5%a4%9a%e8%a8%80%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google AJAX Language APIのエラーメッセージ</title>
		<link>http://wp.korelab.com/2008/03/26/google-ajax-language-api%e3%81%ae%e3%82%a8%e3%83%a9%e3%83%bc%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8/</link>
		<comments>http://wp.korelab.com/2008/03/26/google-ajax-language-api%e3%81%ae%e3%82%a8%e3%83%a9%e3%83%bc%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 01:20:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[開発]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/26/google-ajax-language-api%e3%81%ae%e3%82%a8%e3%83%a9%e3%83%bc%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8/</guid>
		<description><![CDATA[Google AJAX Language APIを使ってみるにあたって、いろんなサイトのサンプルコードを参照させてもらいましたが、エラーメッセージの取得方法がどれも間違っているみたい。
Google Codeのサンプルにはエラーメッセージを取得しているものは見当たらなかった。
サンプルコードはこんな感じ
var source = document.getElementById("source").value;
google.language.translate(source,"ja","en",
  function(result) {
    if (result.error) {
      alert("Error:" + result.message);
      return;
    }
    document.getElementById("result").value = result.translation;
  });

このコードだとエラーが発生すると&#8221;Error:undefined&#8221;って表示されてしまいます。
間違っているのは
      alert("Error:" + result.message);

の個所で、以下のようにしなければならない。
     [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/apis/ajaxlanguage/">Google AJAX Language API</a>を使ってみるにあたって、いろんなサイトのサンプルコードを参照させてもらいましたが、エラーメッセージの取得方法がどれも間違っているみたい。<br />
Google Codeのサンプルにはエラーメッセージを取得しているものは見当たらなかった。</p>
<p>サンプルコードはこんな感じ</p>
<pre><code>var source = document.getElementById("source").value;
google.language.translate(source,"ja","en",
  function(result) {
    if (result.error) {
      alert("Error:" + result.message);
      return;
    }
    document.getElementById("result").value = result.translation;
  });
</code></pre>
<p>このコードだとエラーが発生すると&#8221;Error:undefined&#8221;って表示されてしまいます。<br />
間違っているのは</p>
<pre><code>      alert("Error:" + result.message);
</code></pre>
<p>の個所で、以下のようにしなければならない。</p>
<pre><code>      alert("Error:" + result.error.message);
</code></pre>
<p><a href="http://wp.korelab.com/translate.html">私の作った多言語翻訳サービス&nbsp;http://wp.korelab.com/translate.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/26/google-ajax-language-api%e3%81%ae%e3%82%a8%e3%83%a9%e3%83%bc%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google AJAX Language APIを使って多国語翻訳サービス</title>
		<link>http://wp.korelab.com/2008/03/25/google-ajax-language-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e5%a4%9a%e5%9b%bd%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/</link>
		<comments>http://wp.korelab.com/2008/03/25/google-ajax-language-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e5%a4%9a%e5%9b%bd%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 14:19:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[開発]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/25/google-ajax-language-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e5%a4%9a%e5%9b%bd%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/</guid>
		<description><![CDATA[Google AJAX Language APIを使って多国語翻訳サービスを作ってみました。http://wp.korelab.com/translate.html
こういうサービスがありそうでなかったので（あるかな）。サービスというほどのものでもないが。
英語を中間言語として多国語間の翻訳が可能です。
対応言語は、日本語、英語、中国語（繁体字）、中国語（簡体字）、オランダ語、フランス語、ドイツ語、ギリシャ語、イタリア語、韓国語、ポルトガル語、ロシア語、スペイン語です。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/apis/ajaxlanguage/">Google AJAX Language API</a>を使って多国語翻訳サービスを作ってみました。<a href="http://wp.korelab.com/translate.html">http://wp.korelab.com/translate.html</a><br />
こういうサービスがありそうでなかったので（あるかな）。サービスというほどのものでもないが。<br />
英語を中間言語として多国語間の翻訳が可能です。<br />
対応言語は、日本語、英語、中国語（繁体字）、中国語（簡体字）、オランダ語、フランス語、ドイツ語、ギリシャ語、イタリア語、韓国語、ポルトガル語、ロシア語、スペイン語です。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/25/google-ajax-language-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e5%a4%9a%e5%9b%bd%e8%aa%9e%e7%bf%bb%e8%a8%b3%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Static Maps APIを使ったアプリを作ってみた</title>
		<link>http://wp.korelab.com/2008/03/16/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f-2/</link>
		<comments>http://wp.korelab.com/2008/03/16/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f-2/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 18:08:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Map]]></category>

		<category><![CDATA[OpenLaszlo]]></category>

		<category><![CDATA[開発]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/16/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f-2/</guid>
		<description><![CDATA[Google Static Maps APIを見てすぐにOpenLaszloで何か作ってみたいと思った。
Google Static Maps APIのよいところは、GIFのイメージが直接取得できるので、JavaScriptが不要なのはもちろん、クロスサイトドメイン制約に引っかからないこと。
逆にあまりよくないところは、APIキーを取得しないとならないし、その上Google Static Maps APIで作ったイメージを公開するとAPIキーも公開されちゃうところ。
APIキーは、何度でも取得できるのであまり大事にするほどのものでもなさそうだけど、ちょっと気持ち悪い。
とりあえず動くものができたのでkorelab Map α版としました。
しかし、誤算が2つあった。
まず1つ目は、携帯で使うことを想定して作っていたのに携帯で使えそうにないというところ。
OpenLaszloではFlash7形式とFlash8形式のswfファイルが作成されるのですが、携帯のFlash Lite2はFlash7相当なのでFlash7形式で動くものにしないとならない（はず）。しかし、GIFファイルがNativeサポートされているのはFlash8形式の方だけで、Flash7形式では肝心の地図が表示されない。
実際のところ、Flash Lite2対応の携帯を持っていないので試していません。誰か試してみてコメントくれると非常にうれしい。
お試し用のURLは以下の2つ。
SWFの直指定 http://wp.korelab.com/korelab_map.swf
OBJECTタグで指定 http://wp.korelab.com/korelab-map/
もう1つの誤算は、地名などから緯度経度を取得する際に使うGoogle Maps APIのGeocoding Serviｃｅが使えなかったところ。
クロスドメイン制約で使えない。
予測できたはずのことなのですが、Google Static Maps APIがクロスドメイン制約なしで使えることで、なんとなくGeocodingサービスも使えるような気がしてしまった。
そこでここの情報（非公式だが使えるYahoo! Japan Geocoder API）を元にYahoo Japanの情報を使わせてもらうことにしました。
しかし、それでは海外に行けないので、他のGeocoding APIを探していたらGetNamesというのを見つけました。ここの情報量はすごい。800万件を超える地図情報を持っているらしい。しかも日本語の地名も通る。
korelab Map α版では、地名等を入力してSearchボタンが押されると、まずGeoNamesで探して、見つからなかったらYahoo Japanで探すようになっています。
候補が複数見つかった場合には、最初に見つかったものをそのまま表示しています。
このユーザインタフェースをどうするかが今後の課題。
]]></description>
			<content:encoded><![CDATA[<p>Google Static Maps APIを見てすぐにOpenLaszloで何か作ってみたいと思った。<br />
Google Static Maps APIのよいところは、GIFのイメージが直接取得できるので、JavaScriptが不要なのはもちろん、クロスサイトドメイン制約に引っかからないこと。<br />
逆にあまりよくないところは、APIキーを取得しないとならないし、その上Google Static Maps APIで作ったイメージを公開するとAPIキーも公開されちゃうところ。<br />
APIキーは、何度でも取得できるのであまり大事にするほどのものでもなさそうだけど、ちょっと気持ち悪い。</p>
<p>とりあえず動くものができたのでkorelab Map α版としました。<br />
しかし、誤算が2つあった。<br />
まず1つ目は、携帯で使うことを想定して作っていたのに携帯で使えそうにないというところ。<br />
<a href="http://www.openlaszlo.org/">OpenLaszlo</a>ではFlash7形式とFlash8形式のswfファイルが作成されるのですが、携帯のFlash Lite2はFlash7相当なのでFlash7形式で動くものにしないとならない（はず）。しかし、GIFファイルがNativeサポートされているのはFlash8形式の方だけで、Flash7形式では肝心の地図が表示されない。</p>
<p>実際のところ、Flash Lite2対応の携帯を持っていないので試していません。誰か試してみてコメントくれると非常にうれしい。<br />
お試し用のURLは以下の2つ。<br />
SWFの直指定 <a href="http://wp.korelab.com/korelab_map.swf">http://wp.korelab.com/korelab_map.swf</a><br />
OBJECTタグで指定 <a href="http://wp.korelab.com/korelab-map/">http://wp.korelab.com/korelab-map/</a></p>
<p>もう1つの誤算は、地名などから緯度経度を取得する際に使う<a href="http://code.google.com/apis/maps/documentation/services.html#Geocoding">Google Maps APIのGeocoding Serviｃｅ</a>が使えなかったところ。<br />
クロスドメイン制約で使えない。<br />
予測できたはずのことなのですが、Google Static Maps APIがクロスドメイン制約なしで使えることで、なんとなくGeocodingサービスも使えるような気がしてしまった。<br />
そこで<a href="http://usingapi.com/archives/13">ここの情報（非公式だが使えるYahoo! Japan Geocoder API）</a>を元にYahoo Japanの情報を使わせてもらうことにしました。<br />
しかし、それでは海外に行けないので、他のGeocoding APIを探していたら<a href="http://www.geonames.org/">GetNames</a>というのを見つけました。ここの情報量はすごい。800万件を超える地図情報を持っているらしい。しかも日本語の地名も通る。<br />
korelab Map α版では、地名等を入力してSearchボタンが押されると、まずGeoNamesで探して、見つからなかったらYahoo Japanで探すようになっています。<br />
候補が複数見つかった場合には、最初に見つかったものをそのまま表示しています。<br />
このユーザインタフェースをどうするかが今後の課題。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/16/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Static Maps APIを使ったアプリを作ってみた</title>
		<link>http://wp.korelab.com/2008/03/15/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://wp.korelab.com/2008/03/15/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 00:51:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Map]]></category>

		<category><![CDATA[OpenLaszlo]]></category>

		<category><![CDATA[開発]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/15/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/</guid>
		<description><![CDATA[Google Static Maps APIを使ってOpenLaszloでアプリケーションを作ってみました。
携帯向けに作っていたのですが、OpenLaszloのFlash7形式では動かなかったのでFlash8形式にしました。ということで、携帯のFlash Lite2では動かないかも。
developed by korelab
]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/apis/maps/documentation/staticmaps/">Google Static Maps API</a>を使って<a href="http://www.openlaszlo.org/">OpenLaszlo</a>でアプリケーションを作ってみました。<br />
携帯向けに作っていたのですが、OpenLaszloのFlash7形式では動かなかったのでFlash8形式にしました。ということで、携帯のFlash Lite2では動かないかも。</p>
<div style="width:228px;text-align:center"><embed src="http://wp.korelab.com/korelab_map.swf" quality="best" name="korelab_map" scale="noscale" salign="lt" width="228" height="352" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /><br /><span style="font-size:x-small; color:#0033CC;">developed by <a href="http://wp.korelab.com/" target="_blank">korelab</a></span></div>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/15/google-static-maps-api%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%9f%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter BalloonでGIF画像が表示されない</title>
		<link>http://wp.korelab.com/2008/03/15/twitter-balloon%e3%81%a7gif%e7%94%bb%e5%83%8f%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84/</link>
		<comments>http://wp.korelab.com/2008/03/15/twitter-balloon%e3%81%a7gif%e7%94%bb%e5%83%8f%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 00:30:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[OpenLaszlo]]></category>

		<category><![CDATA[Twitter Balloon]]></category>

		<category><![CDATA[開発]]></category>

		<category><![CDATA[ブログツール]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/15/twitter-balloon%e3%81%a7gif%e7%94%bb%e5%83%8f%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84/</guid>
		<description><![CDATA[Twitter BalloonでGIF画像が表示されなくなっていました。
Twitterのcrosdomain.xmlが変更されたことによる対応時に、Twitter BalloonのSWFファイルの入れ替えに失敗していたようです。
OpenLaszloではFlash7形式のSWFとFlash8形式のSWFが作られるのですが、Flash7形式のSWFをアップロードしていました。Flash7形式ではGIF画像が表示されません。
GIFの画像を使っていた方ごめんなさい。
今は直っているはずです。
]]></description>
			<content:encoded><![CDATA[<p>Twitter BalloonでGIF画像が表示されなくなっていました。<br />
Twitterのcrosdomain.xmlが変更されたことによる対応時に、Twitter BalloonのSWFファイルの入れ替えに失敗していたようです。<br />
OpenLaszloではFlash7形式のSWFとFlash8形式のSWFが作られるのですが、Flash7形式のSWFをアップロードしていました。Flash7形式ではGIF画像が表示されません。<br />
GIFの画像を使っていた方ごめんなさい。<br />
今は直っているはずです。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/15/twitter-balloon%e3%81%a7gif%e7%94%bb%e5%83%8f%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Balloonにメッセージが表示されなくなった</title>
		<link>http://wp.korelab.com/2008/03/11/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-3/</link>
		<comments>http://wp.korelab.com/2008/03/11/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-3/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 17:03:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Twitter Balloon]]></category>

		<category><![CDATA[開発]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/11/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-3/</guid>
		<description><![CDATA[サーバ側のPerlのCGIでTwitter APIを叩いてTwitterのメッセージを取得するようにしましたが、やはり負荷が高いのでFastCGI化しました。いまのところよい感じです。
]]></description>
			<content:encoded><![CDATA[<p>サーバ側のPerlのCGIでTwitter APIを叩いてTwitterのメッセージを取得するようにしましたが、やはり負荷が高いのでFastCGI化しました。いまのところよい感じです。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/11/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Balloonにメッセージが表示されなくなった</title>
		<link>http://wp.korelab.com/2008/03/10/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-2/</link>
		<comments>http://wp.korelab.com/2008/03/10/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-2/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 13:58:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Twitter Balloon]]></category>

		<category><![CDATA[開発]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://wp.korelab.com/2008/03/10/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-2/</guid>
		<description><![CDATA[このままにしておくとTwitter Balloonも終わりになってしまうので、Twitter APIをサーバサイドで呼び出すよう修正しました。
サーバの負荷がちょっと心配。
]]></description>
			<content:encoded><![CDATA[<p>このままにしておくとTwitter Balloonも終わりになってしまうので、Twitter APIをサーバサイドで呼び出すよう修正しました。<br />
サーバの負荷がちょっと心配。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.korelab.com/2008/03/10/twitter-balloon%e3%81%ab%e3%83%a1%e3%83%83%e3%82%bb%e3%83%bc%e3%82%b8%e3%81%8c%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
