僕は発展途上技術者

Kanji Fandom Facebook 版 on SiMPLE*SiMPLE

Kanji Fandom Facebook 版が SiMPLE*SiMPLE に載ってたのを発見!!


といってもキャプチャ画像の中の話ですが。。。


fb.png

↑ 真ん中あたりに Kanji Fandom のアイコンが!!


» FacebookがWindowsみたいになっていた | SiMPLE*SiMPLE


田口さん、ありがとうございます!!


外国人の名前を漢字に変換できる


» Kanji Fandom Facebook 版


の宣伝でした。通常の Web 版の


» Kanji-Fandom


もよろしければ、どうぞ。


「ハッカーの驚くほど多くは物書きとしても有能です」

Eric S. Raymond氏によるハッカーになろう (How To Become A Hacker)からの一節。



母語できちんと文が書けるようになること(わたしが知っている最高の連中を含め、ハッカーの驚くほど多くは物書きとしても有能です)。


「ハッカースタイル」の1つとして上記が挙げられている。


» 【急募】ウェブサービス開発のプログラマとデザイナー - p4lifeのメモ


を読んで、久々にこの「ハッカーは物書きとしても有能」の一節を思い出した。



ワイアードは,最先端の技術を盛り込んだ華やかなWeb2.0系サービスの開発を志向していません.

ユーザの視点に立ってサービスを設計し,その上で,利便性や使いやすさを実現するためにちょうど良いやり方を選択することが重要と考えています.


「ちょうど良いやり方」なんて、憎いこと書きます。


父親の面目丸つぶれ

衝撃!!もう引退かも。


Wii スポーツのボウリングを家族でやった結果です。


sany0016.jpg

↑長男圧勝、妻、次男、僕と続くの図


7歳の長男にはいつも負けてはいたのですが、4歳の次男にも負けてしまうとは。。。

しかも逆転負け。


(スコア結果を写真に撮ってブログに貼りつけて気づいたのですが、結果画面には名前が表示されないのです。これって、家族や友人の名前は公開したくないけどスコアだけは写真に撮ってブログとかに貼りつけたいというケースを考慮してのことなのでしょうか。だとしたら、よく考えられています。)


リアルな問題を解決する Getting Real なサービス - アルバイトシフト管理「シフター」

リアルな問題を解決するサービス


Web サービスには「バーチャルな問題を解決するサービス」と「リアルな問題を解決するサービス」の2種類があると思っています。


Web 2.0 的なサービスと言われるものの多くは前者であり、どちらかというと Web に詳しいごく一部の人たちがターゲットです。


それはそれで良いとは思うのですが、僕の価値観では、世の中の一般の多くの人が抱えている問題を解決する、後者の方にずっと大きな価値があると思っています。


そんな「リアルな問題」と言っていいアルバイトのシフト管理の煩雑さ、これを解決する「シフター」というサービスを、知り合い二人がやっている会社がリリースしました。


» シフター - アルバイトのシフト管理の悩みを解決! -


まだ開発途中の段階でデモをみせてもらったとき、コンセプトと製品(特にUI)ともにとても良いなあ、と感じたのを覚えています。


「機能を削りに削った」「自分のおかんでも使える」


シフト管理画面は以下のような感じ。シンプルでわかりやすく、シフトを入力したり時間をずらすといった操作は、Google Calendar のようにマウスでスイスイーッとできるのが気持ち良さそうでした。


top_img_03table.png


アルバイトのシフト管理、という解決すべき問題に一点集中、限定されているところ、それと使いやすさをとことん追求している姿勢が良いと感じます。


その姿勢は、


» おかんでも使える? ワイアードのアルバイト勤務管理サービス「シフター」 - ITmedia Biz.ID


の記事の下記引用部分からもうかがい知れます。



「これ1つで何でもできるような、多機能で高機能なサービスではない。むしろ機能を削りに削った」(ワイアードの石原明彦社長)。勤務時間(シフト)を組むことだけに特化したユーザーインタフェースで、「普段はPCを使わない人でも使える、自分のおかんでも使える。そんなサービスを目指した」という。


「機能を削りに削った」と「自分のおかんでも使える」は名言です。


Web サービス作りの教科書 Getting Real


僕が「シフター」をいけてるなあ、と思うのは、個人的に Web サービス作りの教科書だと思っている Getting Real(*) に書かれていることをかなり忠実に実行しているからなんだと思います。


» Getting Real(日本語版はこちら)


* シンプルで使いやすい便利サービスをいくつか提供していて、Ruby on Rails の開発元でもある 37signals がそのノウハウを惜しげもなく披露している PDF 本。いまは HTML 形式ならば無料で読めます。


「機能を削りに削った」なんかはそのまま、Build Less(少なく作る) に書かれていますし、機能を特化している点は、What's the Big Idea?(それは結局何をするものなの?) に忠実と言って良い。


プロモーションサイト


シフターのプロモーションサイトもかなりいけてるのですが、プロモーションサイトはこうあるべきということが書かれている A Powerful Promo Site(いけてるプロモサイト) の素晴らしい見本と言えます。


利用者の声つきの導入事例あり、スクリーンキャプチャあり、メディア掲載情報あり、と充実しているのですが、なかでも秀逸なのが、


» CiFTR(シフター)-経営者のメリット


のページです。


ここで、シフト管理がちゃんとされていないがために、時給1000円のアルバイトの人が1人6時間週2日余計に働いてしまった、というありそうなストーリーを語っています。


そうすると余計な人件費が一ヶ月で


6時間 x 2日 x 4週 x 1,000円 = 48,000円


かかってしまう計算です。


シフターの年間契約は 49,800円(2008/9/12現在) なので、一年間かかる費用だけで、ひと月のロスをチャラにできますよ、という提案をサイト上でおこなっているのです。


まさに Web サイトが営業マンに成り代わっています。しかも24時間365日休まず働く営業マンに。


最後に残念な点をちょこっと


ちょっと残念な点は、試用するためには、簡単ではあるが店舗名などを登録し、連絡を待つ必要があること。それで本当に導入を検討しようというユーザーだけをある程度フィルタリングできる、ということもあるのでしょうが、ちょっと UI だけでも試してみたい、というユーザーが気軽にアプリケーションに触れることができる仕組みもあってもいいのではないだろうか。(実際、このレビューも、製品に関してはデモをみせてもらったときの記憶をたよりに書いていて、今現在のバージョンを試しに触りながら書くことができていない)


Getting Real では、そのあたりのことが Free Samples(無料サンプル) に書かれています。


とはいえ、トータルで非常によくできているサービス。こういった「リアルな問題を解決するための Web サービス」はどんどんでてきて欲しいし、僕もそういうサービスを作りたいと思っています。


「シフター」にはそのいいロールモデルになってほしい。応援しています。


コーポレートサイトっぽいものを Ruby on Rails で構築してみた

フリーランスとして働き始め、もうすぐ2年になろうとしています。


企業が会社案内のホームページを持つように、僕もこのブログとは別にホームページを作るべきだったのですが、やろうやろうと思いつつ、あまり乗り気がせず、そのままにしていました。


この夏体調を少し崩していた間、自分はいったい何をやりたいのか、など見つめ直す時間がありました。良い機会なので、その間に考えたことなどを反映させ、Ruby on Rails でコーポレートサイトっぽいもの(個人事業主なのでコーポレートではありませんが。。)を作ってみました。


» Champierre(シャンピエール) - ミッション


デザインは超シンプルでショボショボですが、機能的には結構満足いくものができたので、ポイントを簡単にですが以下にまとめておきます。


1. Ruby on Rails で作る


静的ページばかりだから HTML ベタ書きでもいいんじゃないかという気がしますが、ヘッダーやフッターなどどのページにも同じく表示されなくてはいけないパーツがあったり、ひとつのページのなかでも繰り返し登場する部分があったりするので、動的にページを作成できるようにしました。それが可能ならば、言語やフレームワークはなんでもいい、自分が得意なものを選んで使えばいいと思います。


Ruby on Rails、あるいはほかの言語 + フレームワークを習得中であれば、今後自分が一番良く使い、見ることになるホームページをその道具を使って作ってみるのが良いと思います。


2. Active Scaffold で管理画面を作成


サイトを作ったはいいけれども、更新されずに放置されてしまうというのが結構ありがちなパターン。そうならないよう、手軽に更新できる仕組みを作りました。


Page というモデルを作り、1ページを1オブジェクトに対応させて作ったので、ページ追加も編集もDBのデータをいじるだけ。管理画面は僕しかさわらないので、ActiveScaffoldを使ってサクッと作りました。


active_scaffold.png


管理画面には僕だけがアクセスできるよう、Rails 2.0 から手軽に実装できるようになったBasic認証と、アクセス元のIPアドレスをチェックするようにして、アクセス制限を設けました。


3. お問い合わせフォーム


» Champierre(シャンピエール) - お問い合わせ


メールアドレスを表示するだけでもよかったのですが、せっかくなので ActionMailer を使ってお問い合わせフォームを実装。この手軽さは Rails ならではかもしれません。


4. キャッシュ


動的にページ作成といっても、僕が管理画面で変更したあとはずっと同じページを表示するだけ。表示するたびにページを作成するとその分反応が遅くなってしまうので、Rails のページキャッシュの仕組みを使ってほぼすべてのページをキャッシュしました。


5. Capistrano で簡単デプロイ


繰り返しになりますが、サイトはいかに更新がしやすいかが大事だと思っています。コンテンツは管理画面から簡単に更新できるようにしましたが、そのほかの部分でもちょっとした修正や機能追加をしたいな、と思ったとき、少しでも手間がかかるとそれがおっくうになってしまいます。


FTPサーバーから該当ページのHTMLファイルをダウンロードしてきて、ローカルで修正、FTPサーバーにアップロードして戻す、という作業は数分でできますが、その数分が結構面倒に思えてきてしまいます。


Capistranoを使うことで、ローカルの開発環境で修正、動作確認、その後コマンド一発で変更を本番環境に反映させることができます。この便利さを知ったあとでは、Subversionによるバージョン管理とCapistranoを使ったデプロイなしの開発には戻れません。


以上、同じような簡単なサイトをサッと作りたいときに参考にしていただければ。。。


404 Not Found をちゃんと返そうという話といろいろと試す場となる Web サービスを運用してみようという話

最近ブログで情報発信してなかったなあ、というわけで久々のエントリー。



「ソフト404」で返すのはやめようよ、という趣旨のGoogle公式ブログの記事。 → Official Google Webmaster Central Blog: Farewell to soft 404s(2008/8)


なんのことだかわからん。英語じゃなおさらわからん。 という方には筆者が何年か前に書いた 「ステータス200なのに「その商品はありません」」がほとんど同じ話なのでおすすめです。


» Web屋のネタ帳: さよなら「ソフト404エラー」


「ページがありません」「商品がありません」のようなエラーページでは、HTTPヘッダでも 200 でなく 404 Not Found をちゃんと返そうよ、という話なのですが、さらに一歩すすめて Google が提供するツールを利用し Enhanced 404 pages にしようというのが大変参考になりました。


さっそく「あとで行く」に実装してみました。


http://atodeiku.com/page/show/12345 のように ID の部分をめちゃくちゃな数字にした URL にアクセスしてみると以下のようなページが表示されます。


enhanced404.png


Google お得意の、「もしかしてこっちなんじゃなんじゃないの?」というわけで似ている URL をすすめてくれます。親切になりました。


Javascript のコードをペロッと貼付けるだけ、ものの数分で実装できてしまうのですが、こういう知識って頭に入れておくだけでなく、実際に手を動かしたほうが格段に身に付きやすいと思っています。


そういうわけで、こういうことをいろいろと試せる場となる自分のサービスを作って運用するのがおすすめ。


でも、自分で Web サービスを作るのってモチベーションを維持するのが大変。そこでコンテストに出すことを目標にして作るわけです。


ちょっと強引な展開かな?ま、いいや。


Mashup Award 4th、締め切りもうすぐです。僕も間に合うよう、がんばって作ります。




Mashup Award 4th


スター・ウォーズ/クローン・ウォーズ

試写会で観てきました。(大人の?)映画を観に行ったのは結構久しぶり。楽しめました。









スター・ウォーズ/クローン・ウォーズ (2008)


【監督】デイヴ・フィローニ




★★★☆ [70点]「ファンとしては見逃せない」


2Dアニメ版の「クローン大戦」を観たときは、「うわー、やめてくれー。シナリオそのままで、日本のアニメーターに描かせてくれー」と思いましたが、この3Dアニメ版は、はるかにまし、というかむしろよくできていると思いました。


なんであんなヘタ絵で描くんだろうという人物の顔はあいかわらずなのですが、登場する戦闘機、ドロイドやエイリアンはとても綺麗に描かれています。


そして、メカ、ドロイドが入り乱れる地上戦や空中戦の戦闘シーンにいたっては、実写とほとんど変わらないクオリティに感じられました。音響効果も迫力あります。まあ、実写といえどもほとんど CG で描かれている部分を今回は CG だけで表現すればいいのだから、当然と言えば当然なのかもしれませんが。。。


旧三部作で描かれている親子の闘い、新三部作では悪に堕ちてしまう善、といった人間ドラマめいたものはいっさいなく、ただひたすら戦闘シーン、メカの美しさを楽しむ作品という感じなので、ファンでない人にはどう映るか疑問ではあります。


終わったあと、エンドロールを眺めているとスタッフに名を連ねているのは中国名ばかり。制作会社として「ルーカスフィルム・シンガポール」という名前が登場して納得しました。シンガポールの人件費はそれほど安いとは思えませんが、ハリウッドのそれと比べればやはり安いのでしょう。C3PO のアンソニー・ダニエルズやサミュエル・L・ジャクソン、クリストファー・リーの名前は声の出演のところに見受けられましたが、ユアン・マクレガーっぽいなと思えたオビワンは違う人がやっていますし、声のそっくりさんをそろえればギャラだって節約できているはず。監督も脚本も別の人にまかせ、できあがった作品全体をジョージ・ルーカスがチェックすれば出来上がり、といういわば量産体制を作り上げるための実験的な作品にも思えました。


その実験の最初の作品としては、スターウォーズの世界観をちゃんと維持できてますし、クオリティもほとんど落とすことなく、成功しているんじゃないかなと思います。


もともとルーカスが、エピソードIIIであっさり殺されてしまった性格、人種が異なるさまざまなジェダイ達に活躍の場を与えるために、このアニメシリーズ(この後のシリーズは全米で30分のアニメシリーズとしてTV公開されるそうです)を用意したと聞いています。これからたくさんのエピソードが用意されているはずで、それらをクオリティを維持しつつ作り続けるためには、フルCGアニメ・アウトソースといったコストを抑える工夫が必要なのかなと勝手に思っています。その手法に賛否両論はあるでしょうけれど、ファンとしては、これからもスターウォーズシリーズが楽しめるのだから、それでいいんじゃないかと思います。



Posted by pierre on 2008/08/12 with 映画生活


PlaceEngine JavaScript API を使おうとしたところ、IEで「操作は中断されました」エラー

モバイルマップ」に PlaceEngine の現在地取得機能を追加するにあたり、はまったところを共有しておきます。


PlaceEngine のページに用意されている以下のチュートリアル(Sample2: PlaceEngine + Google Maps の部分)にならって実装したところ難なくできたような気がしました。


» PlaceEngine JavaScript API


ところが、Mac の Safari と Firefox で確認したあと、PC の IE で見ようとしたら、「操作は中断されました」というエラーが出て撃沈。


untitled.png


この謎のエラーメッセージのほかには何の手がかりもありません。


ググってみると見覚えのあるエントリーが。。


» GOGA - doodle開発記: インターネットサイトは開けません。操作は中断されました。


けもの会議仲間の ishimaru さんがちょうどそのままずばりのエントリーを書かれていました。



結局レンダリングのタイミングでIEの気に障る部分がでるとこのエラーが出るようで、iframeで呼び出すかbody onloadで呼び出すと出なくなるというのが解決策の模様。


ということで、結局 PlaceEngine + Google Maps のサンプルを以下のように書き換えたところうまく表示されるようになりました。


PEngine オブジェクト生成部分を onload で呼び出す形に変更しています。書き換えた部分は赤字にしてあります。



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>PlaceEngine + Google Maps</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=...." *1
type="text/javascript"></script>
<script src="http://www.placeengine.com/javascripts/pengine.js" type="text/javascript"></script>
<script type="text/javascript"> *2
//<![CDATA[
var map = null;
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
map.setCenter(new GLatLng(35.67134, 139.76516), 17);
}
}
function loadPe() {
pe = new PEngine({
onGetLocation: function(x, y, r, info) { *4
if (map != null) map.panTo(new GLatLng(y, x));
if (document.getElementById("pestatus")!=null) {
document.getElementById("pestatus").innerHTML = info.addr;
}
},
idstatus:"pestatus",
appkey:"....." *5
});
}

//]]>
</script>
<style type="text/css">
.peui input {margin:0 0 -4px 0;}
</style>
</head>

<body onload="load();loadPe();" onunload="GUnload()">

<h1>PlaceEngine + Google Maps</h1>

<div id="map" style="width: 500px; height: 300px"></div>

<div class="peui">
<input alt="位置を教える" src="http://www.placeengine.com/images/wide_bt2.png" type="image"
onclick='pe.registerLocation(map)' /> *3
<input alt="現在地を取得" src="http://www.placeengine.com/images/wide_bt1.png" type="image"
onclick='pe.getLocation()' />
<span id="pestatus"></span>
</div>

<script type="text/javascript">
var pe;
</script>

</body>
</html>

「LOCATION VIEW」というサービスが凄過ぎる

先日、第2回ジオメディアサミットに参加してきたのですが、そこで紹介されていた「LOCATION VIEW」というサービスが凄過ぎてとても印象に残りました。


» 映像地図 | LOCATION VIEW (360゜ハイブリッドマップ)


端的に言うと、Google Maps のストリートビュー日本版なのですが、二つの地点を選んでその間を移動するという機能を使うとまるで本当にドライブしていると感じる動画になるくらい、道路上くまなく非常に細かい粒度で撮影されているのです。


ドライブ中に流すBGMを選択できるというおまけつきで、機能的にもユーモアでもいまのところは Google Maps ストリートビューより上をいっている感じです。


「開発者用の API を準備中」という話がジオメディアサミットでは出て、非常に楽しみ。API が公開されたらぜひ使ってみたい。




↑ デフォルトの日比谷周辺の映像。ぐるっと全方位眺めることができます (移動したりするには上記リンクからログインする必要があります)


「モバイルマップ」に PlaceEngine の位置情報取得機能とビジネスサービスの情報を追加しました

告知が遅れてしまいましたが、開発に関わっている日経BP社PC Onlineの「モバイルマップ」に、PlaceEngine の位置情報取得機能とビジネスサービスの情報を追加しました。


» モバイルマップ|PC Online ビジネスパーソンのパソコン活用情報サイト


bpmap.png


PlaceEngineは無線LAN(Wi-Fi)の電波から現在位置を求めることができる技術。ノートパソコンなど無線LANを搭載している機器なら、GPS を使わずに今いる場所がわかるのです。


実際にモバイルマップで試してみてください。ちゃんと自分の場所が検出できると驚きです。(無線LANが入り、なおかつPlaceEngine側にデータが存在する場所でないと位置を特定できない場合があるようです)


MBE(MAIL BOXES ETC.)オフィス・デポの店舗を、新たに検索できるようにもなりました。出先で書類をコピーしたり、PC をレンタルしたいといったときに役立ちます。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ