投稿キャンペーン

self memo

私にとっての越境

この記事はDevLOVE Advent Calendar 2014 「越境」の11/18分の記事です。

●自己紹介
はじめまして。藤村 新(@aratafuji)と申します。
Advent Calendar 初挑戦です。
一昨日で39歳になりました。
現職で9社目(フリーランス含む)でして、出戻りも2回経験してます。
そんなフラフラしている私ですが、ここ2年ほどはアジャイル開発について腰を据えて学び続けていました。

※現職で取り組んできたことは、以下のスライドにまとめてます。
アジャイル開発導入のためにやってきたこと



●私にとっての越境
DevLOVE Advent Calendarに参加させて頂くに当たり、私にとっての越境ってなんだろうと考えてみた結果、頭に浮かんだのが、「アジャイルなオフショア開発」でした。
この越境には以下の2つの意味があります。
  • 国境を越えた開発という意味での越境
  • オフショア開発という、自分にとって未経験な分野に対して挑戦するという意味での越境

●アジャイルなオフショア開発への取り組み
今年の初めにベトナムへ出張し、アジャイル開発やスクラム等についての研修を行なったり、部署内では浸透してきていたスクラムのやり方をそのままアジャイル開発に導入しようと試みましたが、なかなかうまくいきませんでした。
そこで、今一度現場の問題点を洗い出し、その改善施策として考えてみたのが「RFCモデル」という開発モデルです。
RFCモデル」はリーンカンバンを拡張した開発モデルでして、「頑張っても効果が薄い事は諦める」という考えのもと、以下を諦めます。
  • 一度のやり取りでの完成を諦める
  • 精度の高い見積もりを諦める
  • オフショア側での完成を諦める

またリーンカンバンのDoingのフェーズを、
  • Rough:70%程度の完成度を目指す(オフショア)
  • Fill:95%程度の完成度を目指す(オフショア)
  • Closing:完成させる(国内発注者)
の3つのフェーズに細分化したモデルとなってます。

※「RFCモデル」については、以下のスライドにまとめてます。
アジャイルなオフショア開発


●越境した結果
上記したスライドをSlideShareにアップロードしてみたところ、色々と嬉しい事がありました。

1.尊敬している方々からコメント頂けた

2.楽天Tech Talkでお話しさせて頂いた

楽天Tech Talkというイベントを主催している川口さんさとりゅうさんからお声がけ頂き、先日お話ししてきました。
※楽天Tech Talkについては、以下の川口さんの記事をご参照ください
Tech Talk という社内イベントをボチボチと続けている話

3.オフショア大学の勉強会でお話しさせて頂くことになった
以下のようなツイートを見かけたので連絡させて頂いた結果、第51回 オフショア開発勉強会という勉強会でお話しさせて頂くことになりました。

●まとめ
このように一つの境界を越境してみると、何かしらのフィードバックが得られ、その結果自分の世界が変わるという事が往々にしてあると思います。
思い返してみれば、アジャイル開発を学ぼうと考えた時も同じでした。

本を読んでいるだけでは生きた知識が得られないと考え、まずはPMI日本支部が募集していた「アジャイル・プロジェクトマネジメント研究会 立上げプロジェクト」に応募してみました。
幸いにもプロジェクトへの参画を認めて頂き、その会合でアジャイルコーチとして活躍されている木村さんにお会いしました。
木村さんが主催する「アジャイルサムライ横浜道場」に参加させて頂き、そこでCSMCSPOを持っている方々のお話しを聞いて是非自分も研修に参加したいと思い、認定スクラムプロダクトオーナー研修と認定スクラムマスター研修を立て続けに受講しました。
その後もアジャイル、スクラム関連の勉強会やカンファレンスに参加することにより、少しずつ"生きた知識"を得ることができ、その知識を活かすことによって所属する部署にも変化が現れ始めました。
私自身越境しようと思う時は、とても億劫な気持ちになり、可能な限り変化したくないと思ってしまうのですが、その気持をグッと抑え、勇気を出して越境してみた結果、とても良い方向に自分の世界が変わってきたと感じています。

40歳も近くなり、今まで以上に越境する事が億劫になってくると思いますが、越境した先にはより良い世界が必ず待っていると考え、今後も越境し続けていきたいと考えています。

■  [PR]
# by aratafuji | 2014-11-18 00:00 | つぶやき

号泣

今日のごきげん怒っている
LINE POPでハートが無くなりプレー出来なくなって号泣。

■  [PR]
# by aratafuji | 2013-04-21 10:32

号泣

今日のごきげん怒っている
半分個したパンを食べられて号泣。

■  [PR]
# by aratafuji | 2013-04-13 21:26

イベントへのタイムシフト参加を実現するために必要なもの

色々とお世話になっている方と、almost.atについてメールでお話しする機会があったので、その時に考えた事のメモ。

Almost.at: 各イベントの現場に実際にいる人からのTwitter発言だけに関心のある人には嬉しいサービス

このサービスを始めて見た時の印象は、2ch Viewerの実況モードを見ている感じに近い。
サービスのコンセプトはニコニコ動画と同様なのだろうが、テキストストリーミングという意味で。

イベント参加者の多くがTsudaり始めたら、人間の能力ではとてもじゃないけど処理しきれないだろうな。
けれどもそれは、リアルタイムと同じスピードでイベントに参加する場合に限っての事であって、イベントへのタイムシフト参加?する場合は特に同じスピードで参加する必要は無い。

時間的、物理的に参加不可能だったイベントに、好きな時間に好きな場所で自分にあったペースで参加できるようになる。これが実現できたら楽しそう!

それを実現するためには、やはりVRのような技術が不可欠なのだろうか。

試合の行われていない国立競技場とかに集まってオーロラビジョンの映像を見ながら熱狂的に応援するサポーターや、ZARDの追悼コンサートに集まるファンとかを見る限り、実際にイベントが行われている会場をとことん疑似体験させる必要は無いのかもしれない。
けれども、カンファレンスのムービー(ライブストリーミングでは無く、録画したムービー)を後から見るだけでは、イベントに参加してる感は全く得られない。

その違いは、参加者同士のインタラクティブ性だろう。
この際、イベントの主体とのインタラクティブ性はどうでもいい感じがする。
どうせ実際のイベントに参加していても、主体とのインタラクティブ性はあまり望めない。

では、イベントへのタイムシフト参加において、どうやったら参加者同士のインタラクティブ性を生み出すことが出来るだろうか。

時空を超えて、対話することは無理だ。
後からムービーを見たユーザーから話しかけられた時に、メールやメッセに転送するとかはどうだろう。
メッセならまだしも、メールの場合は著しくインタラクティブ性が低下する。

常にメッセ立ち上げたPCの前に、自分の分身を座らせておければなー。
お!、自分の分身ボットを作れば良いのか!

完全に人工知能を搭載したボットなんて必要無い。
メッセのログを与える事によって、この状況で、こう言われたら、こう返す、というような学習をさせ続けることは可能だろう。

ということで、イベントへのタイムシフト参加を実現するために必要なものは、自分のコピーボットという結論に達した。

早速IRCボット周りの勉強や、積読状態の集合知プログラミングを読み始めてみようと思う。

■  [PR]
# by aratafuji | 2009-06-03 12:54 | 記事メモ

IEのバグ?

以下の記事を読んだ。

Internet Explorerでページが真っ白になるバグ

パッと見した時点で、
title要素でマルチバイト使う前にchasetを指定しなきゃダメに決まってるじゃんか!
それをバグと言われたらIEかわいそう!
と思ったのだがちょっとだけ調べてみた。

まずはW3C勧告文書のHTML 4.01仕様書(日本語訳)を確認。

以下が該当部分かと思われる。
5.2.2 文字符号化方法の指定
以上を要約すると、本仕様に適合するユーザエージェントは、文書の文字符号化方法を決定する場合に次の 優先順位を守らねばならないということである。優先順位の高いものから低いもの順に以下の通り。

1. HTTPヘッダのContent-Typeフィールドの、charsetパラメータ。
2. META要素で、http-equiv属性値がContent-Typeかつvalue属性の値にcharset情報があるもの。
3. 外部リソースを指している要素に設定されているcharset属性値。

という事で試してみた。

環境は以下の通り。
ブラウザ:IE7
テスト用HTML
<html>
<head>
<title>Internet Explorerでページが真っ白になるバグ - IDEA*IDEA ~ 百式管理人のライフハックブログ ~</title>
</head>
<body>
test
</body>
</html>

※charsetはUTF8

最初にHTTPヘッダのContent-Typeフィールド未出力でアクセス。
確かに何も出力されない(ページが真っ白)。

次に、.htaccessに以下を追記。
AddType "text/html; charset=utf-8" .html

IEを再起動してアクセスしてみると、ページタイトルもコンテンツも正常に表示された。

IDEA*IDEAの人の環境(IEのバージョン、HTTPのレスポンスヘッダ、外部リソース内のcharset)が書いていないので何とも言えないが、自分が確認する限り、(今回の点に関しては)IE7はW3C勧告に準拠してると思う。

これについてちゃんと書いてる人がいた。
charsetに関する注意書き
というわけで、「HTML文書公開者に、META要素でcharsetを指定するように啓蒙する」のは正しくありません。HTTPサーバ管理者に、HTTPヘッダにcharsetを付けるように啓蒙しなければいけません。

気を付けます…。

Tags:# # # 
■  [PR]
# by aratafuji | 2009-04-02 12:39 | レポート

新規サービスリリース完了

前職であるエキサイトから発注してもらっていた新規サービス(キッチン)のリリースが無事完了。
一昨日リリースし、昨日引き継ぎを行い、今日から自社に復帰。

直近での業務が無かったため、今日は以下のような事をしてた。
- 作りたいiPhoneアプリがあるので、目指せ!iPhoneアプリ開発エキスパートを見ながらサンプル作成
- ついでにiPhone Dev Centerのドキュメントもパラパラと閲覧
- 次に作るサービスはぜひRailsで作りたかったので、RailsによるアジャイルWebアプリケーション開発Rubyレシピブックでお勉強
- Rails使うならAptanaだと前に聞いてたので、とりあえず自前のサービス(PHP)をsamba経由でプロジェクトとして読み込み、ちょいっと編集

自前のサービスにFlashを組み込みたいと思っていたが、AS3、Flexの勉強は放置中ー。
OpenID, OAuth, OpenSocial辺りも勉強したいとは思ってるけど、出来てないー。
うーん、学ぶべき事多すぎ…。
まあ、それが楽しいからWebアプリケーションエンジニアを続けていると信じたい。
■  [PR]
# by aratafuji | 2009-04-01 18:38 | つぶやき

年末年始に考えた

年末に以下のエントリーを読んで、とても同感した。
「はてな」がWeb制作を「ものづくり」と呼ぶことにかなり違和感を感じるのはなぜなんだろう?
※別にはてながどうこうというわけではなく、自分がやっているWebアプリケーション開発という事自体をとても「ものづくり」とは言えないなという意味で。

年始にテレ東で放送していた世界大工王決定戦という番組を見てて、拘り持って家を作っている職人さん達が、何だかとても羨ましく思えた。
※鳶やってた友達に話したら、人前で喧嘩するなんてあんなの職人じゃねーと言っていたが…。

この2つのインプットを通して(はまちちゃん同様)ぼくの中でなにかがハジけた。

よくシステム開発は建築に例えられるが、自社サービスに限った場合、自分がやっている事なんてどっかしらで無料で手に入るパーツを自分の家の庭で組み合わせて、ちょっと外観を飾り付け、少しだけ珍しい家具が置いてあるだけみたいなものだ。
こんなんでは、とても自分は「ものづくり」をしていますと胸を張って言えない。
受託は食いつなぐためにやらざるえないけど、いずれは自社サービスのみで食っていけるようになりたいなんて安易に言っていた自分が恥ずかしい。

当たり前の話しだが、クライアントが他人ならば受託開発であり、クライアントが自分(自社)ならば自(社)サービスになるわけで、システム開発部分でのやること自体は全く変わらないはずだ。

安直に、受託開発はつまらないし大変だから極力避けたい、自社サービスは作ってて面白いからやりたいなんて考えず、お金を払ってでもシステムを作ってほしいと考えているクライアントがいるのであればとことん拘ってシステムを構築し、自分がお金を払ってでも作りたいと思うサービスがあるのであれば、自分自身がクライアント兼請負業者になれば良いんだろうな。

そういう視点で考えると、今まで自社サービスとしてやりたいと思っていた(もしくは作った)サービスの中で、お金を払ってでも作りたいようなサービスがはたしてあったんだろうか…。

とても当たり前の事を書いている気がするが、そんな事も分かっていなかった。

- クライアントが他人ならば受託開発、クライアントが自分ならば自サービス
- どちらもやる事自体は同じであり、品質、モチベーションが変わる事自体が適切ではない
- 自サービスを考える上で、自分自身お金を払ってでも作りたいサービスかどうかという点を基準にする

こんな当たり前の事をしっかりと心に刻み、今年も頑張っていこうと思う。
■  [PR]
# by aratafuji | 2009-01-06 20:45 | つぶやき

「一日一選」というサービスを作ってみた

先週から今週にかけての間で、「一日一選」というサービスを作ってみた。
一日一選
モバイル向けのみだけど、何とか動くようになったかと。

このサービスの主な機能は、モバイルから画像をメール投稿出来るだけだ。
ただそれだけ。
しかも、1日に投稿できる画像は1枚のみっす。
※同日に再投稿すれば、上書きされる

元はといえば、このサービスは奥さんの企画だ。
珍しく奥さんと意見が一致した、記念すべきサービスなのである。
これぞ正しく、"初めての共同作業"。

私のように、携帯のカメラ機能を全く使えていないような人がもしいたら、お気軽に使ってみて頂けるとありがたいっす。

継続してみると、面白い物が出来るはず!と信じて、まずは自分だけでも使ってみようと思います。
■  [PR]
# by aratafuji | 2008-12-17 00:31 | つぶやき

日本人受けするWebサービスの要素

前職の上司だった方と、日本人受けするWebサービスの要素って何だろうと話した機会があったので、その時に考えた事のメモ。

個人的に、以下の3要素ではないかと考えた。
1.習慣化
2.匿名性
3.ゆるい繋がり

1.習慣化
個人的に、ここ1年ほどの間で習慣化した事として、"体重、体脂肪測定"、"家計簿"がある。
"体重、体脂肪測定"は毎回の結果をカレンダーに記述しており、一日でも忘れる(カレンダーに穴が開く)と、とても残念な気持ちになる。
"家計簿"はフリーのソフトウェアを使って付けているが、こちらは1日忘れると、翌日がかなり面倒になるので、極力その日の収支はその日中に入力するようにしている。
これらの作業は、始めた頃こそ意識しないと忘れてしまっていたが、頑張って続けていくうちに、夜風呂からあがったら"体重、体脂肪測定"⇒カレンダーに記述、寝る前⇒"家計簿"という行動が習慣化され、今では決して忘れる事は無くなった。
※覚えていても、面倒だからパスする日もあるが…

上記の例のように、一度習慣化させ、後は無意識に行動させる事が重要ではないだろうか。

自分が関わったWebサービスの中で、この習慣化がうまく働いたと思われる例が2つほどあった。
一つはモバイル向けの懸賞サイトである。
そのサービスはただ単に一日一回リンクが着いたメールが携帯宛に送信されるだけのものだ。
リンクを押すと、何のエフェクトも無しに、98%ぐらいの確率で"はずれ"とだけ表示されるのだが、そのサービスのCTRは70%近くあったと記憶している。
私自身、システム確認用に登録していたのだが、毎日大体決まった時間にメールが届き、リンクを押し、はずれを見て携帯を閉じるという行動が、習慣化されていた。
※時たま"当たり"が出ても、いつもの習慣で携帯を閉じてしまう

もう一つはレシピサイトだ。
こちらのサービスは、毎週月曜日に一週間分のレシピが更新されるのだが、他の日に比べて月曜日のアクセス数は群を抜いていた。
きっと、月曜日にそのレシピサイトにアクセスして、その週の献立を考えるという行動が習慣化されたユーザーの方々が多かったのではないだろうか。

ちなみに、この"習慣化"と"日本人向き"との関連性は不明…。


2.匿名性
個人的には"実名"のメリットを感じているのでとても残念なのだが、やはり日本では"匿名性"を前面に押し出していかないと流行らないのだろうと感じている。
犯罪予告でもしない限りは身元がばれないような安心感を出していった方が、やはりユーザーに受け入れられるのであろう。


3.ゆるい繋がり
多くの人がmixiのガッツリとした繋がりに疲れているのではないだろうか。
mixiで日記を書いているユーザーは、この日記を誰が読んでいて、それを読んだらどう思うかを、多少なりとも考えていると思う。
だからこそtwitterのように、基本は誰も見てないだろうというようなミニブログがある程度受け入れられたのではないだろうか。
2chでいうならば、"この速さなら言える!"というノリである。

twitterのような、自分の友人関係でグルーピングするようなミニブログは腐るほどあるからもう需要は無いかと思うが、他の切り口でグルーピングするようなミニブログはまだいけるのではないだろうか。
※スレッドという要素でグルーピングしたのが2ch、動画コンテンツという要素でグルーピングしたのがニコニコ動画というイメージ
そのグルーピング要素の一つとして位置情報があるかなと考えている。

結論として、上記3要素を満たす、最も日本人向きのWebサービスは、やっぱり2chだったか。


書いているうちに、何だかとっても当たり前の事を書いている事に気付いた。

しかしながら、何か新しいサービスを考える際に、とっても当たり前の事をすっ飛ばして、"こんなサービス面白いかも"、"こんなサービスがあれば便利かも"などと考えてしまう事が多々あるので、自分への戒めの意味で投稿しておく。


■  [PR]
# by aratafuji | 2008-12-09 05:37 | つぶやき

CakePHPでのサービス開発

今日からCakePHP(1.2)を使って、新しいサービスを作り始めてみた。

今日やった事のメモ。

Net_UserAgent_MobileをcakePHP1.2RC2で使う
[cakePHP1.2]モバイルサイトとPCの切り分け その2
CakePHP 1.2で携帯用ビューを表示する
CakePHP 携帯専用サイトを作成する
上記の記事を参考にして、以下のコンポーネントを作成。
app/controllers/components/mobile.php
App::import('Vendor', 'pear_ini');
App::import('Vendor', 'Net/UserAgent/Mobile',
array('file' => 'Net' . DS . 'UserAgent' . DS . 'Mobile.php'));

class MobileComponent extends Object {
function startup(&$controller) {
$this->controller = $controller;
$mobile = &Net_UserAgent_Mobile::factory();
// 非モバイル
if ($mobile->isNonMobile()) {
// PCからモバイル用のURLにアクセスがあった場合は、PCのURLにリダイレクト
if(preg_match("/^m\//", $this->controller->params['url']['url'])){
$url = '/'.preg_replace("/^m\//", "", $this->controller->params['url']['url']);
$this->controller->redirect($url);
}
// モバイル
}else{
// モバイルからPC用のURLにアクセスがあった場合は、モバイルのURLにリダイレクト
if(!preg_match("/^m\//", $this->controller->params['url']['url'])){
$url = '/m/'.$this->controller->params['url']['url'];
$this->controller->redirect($url);
}
// Docomoでguid=ONが付いていなかったら付ける
if ($mobile->isDoCoMo()) {
if(!isset($this->controller->params['url']['guid']) or
$this->controller->params['url']['guid'] != 'ON'){
$url = '/'.$this->controller->params['url']['url'].'?guid=ON';
$this->controller->redirect($url);
}
// 全てのリンクに、guid=ONを付ける処理
output_add_rewrite_var('guid', 'ON');
}
// UID取得
$this->controller->uid = $mobile->getUID();
// SoftBankは下15桁を使う
if ($mobile->isSoftBank()) {
$this->controller->uid = substr($this->controller->uid, 1, 15);
}
}
}
}
?>

このコンポーネントを、app/app_controller.phpで読み込むようにした。
app/app_controller.php
class AppController extends Controller {
// 共通コンポーネント
var $components = array('Mobile');

// 共通ヘルパー
var $helpers = array('Html', 'Xml');

// UID
var $uid;

function beforeFilter() {
}
function beforeRender() {
if (isset($this->params['prefix']) or isset($this->uid)){
// モバイル用レイアウト設定
$this->layout = 'mobile';
// モバイル用ヘルパー設定
array_push($this->helpers, 'Mobile');
}else{
// PC用レイアウト設定
$this->layout = 'pc';
}
}
}
?>

prefixの設定は、以下の通り。
app/config/routes.php
    Router::connect('/m/', array('controller' => 'pages', 
'action' => 'index', 'prefix' => 'mobile'));
Router::connect('/m/:controller', array('prefix' => 'mobile'));
Router::connect('/m/:controller/:action', array('prefix' => 'mobile'));
Router::connect('/', array('controller' => 'pages', 'action' => 'index'));

※本来は下2行だけで良いはずなのだが、それだとモバイルのTOP(/m/)にアクセスすると、うまく動かなかったため、暫定的に上2行も記述。こちらは引き続き調査する。

後は、各コントローラーにPC用のアクション(index)とモバイル用のアクション(mobile_index)を実装し、各ビューも、PC用のビュー(index.ctp)とモバイル用のビュー(mobile_index.ctp)を作成。

ここまでで、PC、モバイルのアクション、ビューの切り分け、モバイルの場合はUID取得まで出来るようになった。

一番はまったのは、エラー(404とか)用ビューの切り分け。
上記prefixの設定で、PCでの404はapp/views/errors/error404.ctp、モバイルでの404はapp/views/errors/mobile_error404.ctpが呼び出される事を期待したが、うまくいかず…。
携帯サイトの404ページの作成方法
こちらを参考にしてみても、
$this->viewVars['code']
には何もセットされない…。
[php][CakePHP]viewVarsって使っていいの?
これとか見ると、そもそもviewVarsは参照しちゃダメっぽかったので、結局はエラー用のビューを以下のようにして、PCとモバイルを切り分けた。
app/views/errors/error404.ctp
if(isset($this->params['prefix'])){
echo $this->renderElement("mobile_header");
}else{
echo $this->renderElement("header");
}
?>
ページが見つかりません
if(isset($this->params['prefix'])){
echo $this->renderElement("mobile_footer");
}else{
echo $this->renderElement("footer");
}
?>


今までCakePHPはチュートリアル見てサンプル程度しか書いた事無かったけど、いざ使い始めてみるとかなり楽しい!

明日からも没頭して、今週中にサービスを立ち上げたいと思う。

■  [PR]
# by aratafuji | 2008-12-09 02:38 | レポート

はてラボの新サービス

はてラボに新サービスが追加された。
はてラボに3つの新サービスを追加しました
サラっとしか見てないけど、かなりの脱力感を感じた。

・全く面白いと思えない。
・全く便利だと思えない。
・全く先が見えない。

これらのサービスをラボで試してみたフィードバックを、一体何に活かしていこうと考えているんだろう?
はてラボって、はてな社員の砂場なのか?
はてなカウンティングの受けが良かったら、ブログパーツでも量産するのか?
はてなニュースのターゲットは、bogusnewsなのか?

gooラボペパボカヤックEDGEえがちゃん.netなどの試みの方が全然面白いし、興味深い。

勝手にはてなを特別扱いしてたけど、サービスの企画力という面では全然大した事ないのかもしれないと思った。

■  [PR]
# by aratafuji | 2008-12-04 20:39 | つぶやき

コメントを頂いた

前回の記事でトラックバックさせて頂いた社長さん(と思われる方)からコメントを頂いた。

非公開コメントだったので内容は伏せておくが、とても真摯なメッセージだと感じた。

この社長さんのような著名な方と私のような一エンジニアが、数行のテキストとはいえ意見を交わす事が出来るなんて、やっぱりインターネットは素晴らしい!

ウメダモチオイズムのエバンジェリストとして、今後も頑張っていこうと改めて思えた。
Webエンジニアとして、今後も頑張っていこうと改めて思えた。
■  [PR]
# by aratafuji | 2008-11-14 19:03 | つぶやき

'梅田望夫の「はてブがバカすぎる」議論について'を読んで

梅田望夫さんのつぶやきが議論をよんでいるみたいだが、ウェブ進化論 本当の大変化はこれから始まるや、シリコンバレー精神 -グーグルを生むビジネス風土を読んで気分アゲアゲになった私は、梅田望夫さんの肩を持ちたいと思う。

色々と批判的な記事を読んだが、特に以下の記事が引っかかった。
梅田望夫の「はてブがバカすぎる」議論について:
実行する勇気もない犯罪予告がいっぱいあって、
海外に行ったこともないのに、韓国・中国の批判をして、
英語のニュースを読めないのに、反米主義を唱えて、
発売前の本やゲームの批評がアマゾンにいっぱいあって、
つきあったことないのに、女性をスイーツ(笑)呼ばわりして、
彼女いない暦=年齢なのに、結婚は無駄だと延々と議論していて...

このように、インターネットの現状を徒然に書いているが、そんな事は言われなくたって知っている。
問題はその現状を認識した上で、どのように行動を起こすかではないのだろうか。

この社長さんは、そんなインターネットの現状が理想とするインターネットの姿なのだろうか。
であれば、それでも良いだろう。

しかしながら、私は今のインターネットが決して理想の姿だとは思えない。

「買ったことのない本に対する書評の批判」が溢れるより、該当の記事を読んで興味を持ったのであれば、まずは対象の本を読み、自分自身で考え、その上で会った事も無い人達と熱く議論できるような世界にしたいと考えている。

不条理な現実に遭遇した際に、"そんなもんだよ"なんて冷静に受け流すような人間にはなりたくない。
少しでもその不条理な現実に立ち向かっていくような、熱い人間であり続けたいと思う。

この社長さんのプロフィールを見たら、
好きな言葉は「C言語は世界を救う」。

とあった。
社長さんの経歴を読む限り、この'世界'とはインターネットの事だけを指しているわけではないだろう。
しかしながら、このような熱い言葉を好きな言葉に掲げている方が、このような冷めたコメントをしてしまう事が残念でならない。

■  [PR]
# by aratafuji | 2008-11-10 13:31 | つぶやき

はてなブックマークリニューアル発表会レポートを読んで

はてなブックマークリニューアル発表会が行われたとの事で、以下のレポート等をざっと読んだ。

はてなブックマークのリニューアル発表会に潜入してきた
はてなブックマーク新バージョン速攻レビュー!
はてなブックマークリニューアル発表会見に行ってきた。検索すごかった。
はてなブックマーク2 ──「はてなブックマーク」リニューアル発表会

※増田にもまとまってた
はてなブックマークリニューアル発表会レポート一覧


検索が凄いとか、UIが便利になってるとか、「お気に入り」が強化されたとか書かれているけど、率直な感想としては、"ユーザーの能動的なアクションを期待しすぎ!!"という一言に尽きる。


私ははてなブックマークを2つの目的で使ってきた。

1つは個人的なブックマークとしての機能だ。
会社のPCでも家のPCでもネットサーフィンをするので、使っている環境(PC)を意識する事無く気になった記事をブックマークする事ができ、どの環境からでも過去にブックマークした記事を探す事ができるのはとても便利である。

2つ目は、今のネットのトレンドを追いかけるためだ。
人気エントリーと、注目エントリーのFeedをRSSリーダーで常に見ていれば、大体のトレンドをつかむ事ができると思っている。


前者に関しては、UIの向上、検索機能の強化はありがたいと言えばありがたいが、別に今のままでも特に困った事は無い。
私が今後のはてブに期待していたのは、後者のフィルタリングについてである。

人気エントリーと、注目エントリーを見ていても、タイトルで興味を持つのは5件に1件程度、実際にリンクをクリックして元記事を読むのは10件に1件程度だと思う。
興味が持てない残りの8割程度の記事を、自分専用にフィルタリングして表示しないようにしてくれたら、どんなにありがたい事だろう。

もちろん新機能どころか、今現在の機能を使う事でもある程度のフィルタリングを行う事は可能なのかもしれない。
しかしながら、ぶっちゃけそれらの能動的なアクションは、とても面倒でならない。

私がはてなに対して、何の情報も与えずに"フィルタリングしろ!"と言っているのであれば、それは無茶な話だ。
しかしながら、私ははてなに対して大量の情報を与えている。

- 私がWeb開発関連のTipsがあればリンクをクリックし、高い確率でブックマークしている事をはてなは知っているはずだ。
- 私が新しいWebサービスに関する記事があればリンクをクリックし、たまにブックマークしている事をはてなは知っているはずだ。
- 私が英語の勉強法に関する記事があればリンクをクリックし、たまにブックマークしている事をはてなは知っているはずだ。
- 私がネットで炎上しているような話題があればリンクをクリックし、滅多にブックマークしていない事をはてなは知っているはずだ。
- 私がアニメやゲーム等の記事があれば、全てスルーしている事をはてなは知っているはずだ。
- 私が3次元のエロネタがあれば、夜間、休日に限ってリンクをクリックし、決してブックマークしない事をはてなは知っているはずだ。

これほどの行動履歴情報をはてなに与えているにもかかわらず、それでもなおユーザーに対して能動的なアクションを期待するというのだろうか。

ベイジアンをカテゴリー分けに生かすのも良いけど、ぜひユーザー固有のフィルタリングとしても応用してもらえないものだろうか。

私が理想と考えている人気エントリー、注目エントリーのUIは、Gmailに近いものだ。
- 記事に対して、タグを付ける事ができる
- 特定の単語や、元記事のドメインを元に、記事に対して自動でタグを付ける事ができる
- 自分にとっての不要な記事は、spamと認定する事ができる
- システムによってspamと判断された記事は、spamフォルダに振り分けられる
- spamフォルダに振り分けられた記事に対して、spam認定を解除する事ができる

名づけて、"パーソナライズドホッテントリ"。

mailと違ってspam基準が個人によって全く異なるため、難易度は高いであろう。
しかしながら、技術力が売りのはてなが発表会まで開くぐらいならば、これぐらいの事をして欲しかった。
今後に期待したい。

■  [PR]
# by aratafuji | 2008-11-05 15:25 | つぶやき

BOOK OFF最高!

会社帰りにぷらっと立ち寄ったBOOK OFFで、以下の本を購入。

RESTful Webサービス
Leonard Richardson / / オライリー・ジャパン
ISBN : 4873113539


ネットワークセキュリティHacks 第2版 ―プロが使うテクニック & ツール 100+
Andrew Lockhart / / オライリー・ジャパン
ISBN : 487311327X


なんと、どちらも105円だったので、計210円で購入完了。

「せどり」なんていう小遣い稼ぎが成り立つわけだ。
■  [PR]
# by aratafuji | 2008-10-22 00:46 | つぶやき

PHPで文字列に絵文字が含まれているかを判別する方法

PHPで、変数内の文字列に絵文字が含まれているか否かをシンプルに判別する方法が無いかなーと、PHP×携帯サイト デベロッパーズバイブルを読んでいたら、以下の記述が目に止まった。
○PHPで絵文字を使う
絵文字を扱うためには、そのすべてにおいてCP932を利用できる環境を用意する必要があります。PHPでこのCP932を利用するには、Shift_JISの代わりに「SJIS-win」を使うことで利用することができるようになります。
[P.140]


てことは、こんな感じで判別出来ちゃうのかなーと、試しに以下のコードを書いてみた。
// $sourceに絵文字が含まれているか否かを判別
// 文字エンコードはSJIS
if(mb_convert_encoding($source, 'SJIS-win', 'SJIS') == $source){
print "絵文字なし";
}else{
print "絵文字あり";
}

意図したとおりに動いてる…。

うーん、こんなんで良いのか?
何か大きな事を見落としているような気がしてならない。

誰かツッコミを入れてもらえると、とてもありがたいっす。
■  [PR]
# by aratafuji | 2008-10-16 00:25 | つぶやき

Ezサービスイン&SoftBankキャリア試験合格

徹夜作業となってしまったが、何とか無事にEzでサービスインする事が出来た。
疲れた体に鞭打って、再度SoftBankのテスト環境を構築し、昼過ぎに帰宅。

ギネスビールで一人祝杯をあげながらメール受信すると、なんとSoftBankからキャリア試験の合格通知が!
良い事も続くもんだ。

今日はただただぐっすり眠りたい。

■  [PR]
# by aratafuji | 2008-08-21 16:03 | つぶやき

SoftBankキャリア試験(再度)不合格

昨日に引き続き、SoftBankキャリア試験に落ちた…。
胃に穴が開きそう。

今回の落第理由。

着うたフルファイルが「着うた・メロディ」フォルダにDLされます。着うたフルファイルは「ミュージック」フォルダにDLされるご対応をお願い致します。

納得できん。正直、全く納得できない。

SOFTBANKの仕様書には、確かに"保存フォルダの指定"方法が記載されている。
Separate Deliveryを利用して配信する場合、暗号化前のコンテンツのMIME型が"audio/mp4"であるファイルは、保存先のフォルダをCP様で指定して配信することも可能である。

可能である。
可能なのは分かった。

そして、ダウンロード方法の部分には、以下の記述が。
保存先フォルダ指定値(パラメータ名は、キャリア固有の名称なので、伏せておく)は省いても構わない。

省いても構わない。

「保存先を指定できるよ、省略も可能だよ。」というパラメータが未指定だったからと試験に落とすなんて、納得できん。

"コンテンツチェックのポイント"なるドキュメントも再度確認したが、着うたフルファイルを「ミュージック」フォルダにDLされるようにせよなんて記述は見当たらない。
※大量に存在するドキュメントのどこかにひっそりと書いてあるのかもしれないけど…。

サービスのリリース日に影響が出る可能性が高くなっちったー。
確かにシステムのせいなんだけど、、、。

めっちゃ憂鬱な気分どす。
■  [PR]
# by aratafuji | 2008-08-19 23:00 | つぶやき

SoftBankキャリア試験不合格

2つ目の山場だったSoftBankのキャリア試験で不合格になった。
こちらの試験は、直接サービスのリリーススケジュールには(今のところ)影響しないとはいえ、かなりショック…。

不合格の理由は、下記2点。

1.Separate Delivery方式を利用したコンテンツ・キー課金を行うと、端末に"無効なコンテンツのためダウンロードできません"と表示され、課金、ダウンロードとも行えない。

こちらに関しては、今朝の時点でCPさんからも指摘されていた。
不可解なのが、昨日までテスト用に使っていたSoftBankの920Pでは再現しない事だ。
CPさんは、923SH、824SHでも同様の現象が発生したとの事。
世代(C型、P型、W型、3GC型)で挙動が異なる事は覚悟(そして対応)していたが、同じ3GC型でも挙動が異なるとなると、かなり辛い。

コンテンツのダウンロード部分は、DRMをかけているとはいえ直接抜かれる事を避けたいため、phpで認証の上、レスポンスヘッダとともにバイナリを出力するようにしていた。
やはりこの部分が怪しいので、取り急ぎコンテンツ自体をドキュメントルート配下に移動し、コンテンツのダウンロード部分はApacheに任せるように変更。
CPさんに再度確認を依頼すると、やはりうまくいったとの事。
セキュリティ的な理由と、コンテンツのダウンロード履歴をダウンロードphp内で行っている理由から、なんとか現状の作りで対応したいと考え、とりあえずうまくいく時とうまくいかない時のレスポンスヘッダを比較する事に。
モバイルサイトをPCで見るためのツールやFirefoxアドオンを参考にして、Proxomitronと、SwitchProxy Tool(FFのアドオン)をインストール

●うまくいく時のレスポンスヘッダ
HTTP/1.1 200 OK
Date: Mon, 18 Aug 2008 04:16:49 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11 mod_perl/2.0.2 Perl/v5.8.8
Last-Modified: Fri, 15 Aug 2008 02:52:36 GMT
ETag: "c038c-304dd-b6c3c500"
Accept-Ranges: bytes
Content-Length: 197853
Content-Type: application/vnd.oma.drm.message; boundary=boundary-1


●うまくいかない時のレスポンスヘッダ
HTTP/1.1 200 OK
Date: Mon, 18 Aug 2008 04:07:09 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11 mod_perl/2.0.2 Perl/v5.8.8
X-Powered-By: PHP/5.2.0-8+etch11
Pragma: no-cache
Content-Length: 197853
Content-Type: application/vnd.oma.drm.message; boundary=boundary-1


まずは、
"Accept-Ranges: bytes"
がないということで、ダウンロードphpに
header('Accept-Ranges: bytes');
を追加。

次に、"Etag"出してないということで、313.PHP で Apache 風 ETag の生成を参考にして、
$stats = stat( $_SERVER['SCRIPT_FILENAME'] );
$etag = sprintf( '"%x-%x-%x"', $stats['ino'], $stats['size'], $stats['mtime'] );
header('ETag: '.$etag);
を追加。

次に、うまくいかない時の"X-Powered-By: PHP/5.2.0-8+etch11"が鬱陶しいので、php.iniの中でexpose_phpをOnからOffに変更し、Apacheリスタート。

こうする事で、レスポンスヘッダは以下のように変わった。
HTTP/1.1 200 OK
Date: Mon, 18 Aug 2008 05:27:12 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11 mod_perl/2.0.2 Perl/v5.8.8
ETag: "c038c-304dd-b6c3c500"
Accept-Ranges: bytes
Pragma: no-cache
Content-Length: 197853
Content-Type: application/vnd.oma.drm.message; boundary=boundary-1

よし、"Pragma: no-cache"以外は同じになったという事で、再度CPさんに確認依頼。
すると、なんとまだ駄目だとの事…。
なぜだ!

ふとDRMかけたdm(drm.message)ファイルの中身を見ると、マルチバイト文字が含まれてる!
phpが出力時に変換している事が原因に違いないと考え、ダウンロードphpに、
mb_http_output("utf-8");
を追加し、再度CPさんに確認依頼。

すると、なんとまたもや駄目だとの事…。
なんだってんだ!!

やばい、時間が無い。
とりあえずdmファイルをドキュメントルート配下に配置する事によりダウンロードは出来るが、履歴が取れない。これも致命的。

ここで、ダウンロードphpでの対応を諦め、SoftBankからダウンロード完了通知を受け取るようにパラメータを追加し、受け口の履歴書き込み用phpを慌てて作成。

再々度CPさんに確認依頼すると、今度はOKとの事。
なんとか目的は達したが、かなりSoftBankに依存した作りになってしまった。
この対応を完了したのが今日の16時ぐらい。

後からログを見て分かったのだが、SoftBankが試験をしていたのは今朝の10時頃だったので、時既に遅し。


もう一つ試験に引っかかった点。

2.C型端末でアクセスすると、UIDを通知していても、"UIDを通知して下さい"とのエラーメッセージが表示される

あーーー、やっちまった。
そもそも今回のサービスの対応端末は、3GC型のみという仕様だったので、C型端末からUIDを取得する処理を入れていなかったのだが、エラーチェックする順番が、
1.UIDが取れるか?
2.対応端末(3GC型)か?
という順番にチェックしてたので、C型端末にて"対応端末ではありません"とのエラーを表示できていなかった。
これは、完全に俺のミスだ。
エラーチェックの順序を、
1.対応端末(3GC型)か?
2.UIDが取れるか?
に変更し、C型端末がUIDを通知してようがしてまいが、"対応端末ではありません"を表示するようにした。

何とか次の再試験で通ってくれー!

---------- 追記(2008/08/18 20:37) ----------
うまくいく時とうまくいかない時のレスポンスヘッダを改めて見てみたら、"Last-Modified"を出力してないじゃん!という事に気づいたので、
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
を追記。
そうする事により、レスポンスヘッダは以下のようになった。
HTTP/1.1 200 OK
Date: Mon, 18 Aug 2008 11:33:43 GMT
Server: Apache/2.2.3 (Debian) mod_perl/2.0.2 Perl/v5.8.8
Pragma: no-cache
Accept-Ranges: bytes
ETag: "bd04d-27b5-48a95dd1"
Last-Modified: Mon, 18 Aug 2008 11:33:43 GMT
Content-Length: 176819
Content-Type: application/vnd.oma.drm.message; boundary=boundary-1

希望を持って、再度テストするも、やはり駄目…。

お手上げっす。


■  [PR]
# by aratafuji | 2008-08-18 20:09 | つぶやき

本買った

元同僚の影響で、本を2冊購入。

[24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ) (WEB+DB PRESSプラスシリーズ)
今まではインフラ部任せにしていた部分も、今後は自力で何とかしなくてはならないと思い購入。



集合知プログラミング
今後作っていきたいサービスに生かせそうと思って購入。



ユーザーのデモグラフィー、サイコグラフィー、ジオグラフィーなどを元に、無数にあるWeb上の情報からユーザーに最適な情報をレコメンド出来たら面白そう。

問題は、どうやって情報を集めるかだなー。
ユーザーが自らの情報を与えれば与えるほど、本当に価値あるレスポンスを得られるようなサービスが作れれば、おのずと情報は集まると信じたい。

■  [PR]
# by aratafuji | 2008-08-10 15:58 | つぶやき

Ezキャリア試験合格

転職して3週間が経過。

最初の山場だった、auのキャリア試験に無事合格。
モバイルの公式サイト構築の経験が無かった事と、サービスリリース日の都合で試験に落ちる分けにはいかなかった事もあり、かなり緊張したが、無事通って本当に良かった。


試験前日になって動作確認済みだったデジタルコンテンツのダウンロード部分で急にエラーが多発し、泣きそうになった部分の対応メモ。

着うたと着ムービーのダウンロード時だけ、auからのリクエストに、"Range"というヘッダが含まれてくる。

Range: bytes=1-1023
のようなリクエストヘッダを受け取った時は、
HTTP/1.1 206 Partial Content
Content-Range: bytes 1-1023/200000
Content-Length: 1023
Accept-Ranges: bytes
のようなレスポンスヘッダを返すとともに、着うたや着ムービーのデータの1バイト目から1023バイト目までを出力する必要があるので、その対応を行っていた。
※値は適当

ダウンロードがうまくいくときは、上記のレスポンスを返すとすぐに、次のRangeのリクエストが来るのだが、ダウンロードエラーが発生しているときは、次のRangeのリクエストがauから来ない状況に…。
※うまくいくときは、"Range: bytes=1024-2047"のようなリクエストがすぐに来る

リクエスト来なきゃ、プログラム側じゃ対応できねーと思いつつ、無視されるからにはレスポンスに問題があるのだろうと、レスポンスヘッダに関して再度調査。
このページ見てたら、あれ?"Last-modified"返して無いじゃん!
という事で、レスポンスヘッダに"Last-modified"を追加したら、再現しなくなった…。

auさんのせいにしてて、ごめんなさい。

Tags:# # # 
■  [PR]
# by aratafuji | 2008-08-10 15:36 | つぶやき

今後のblogサービスの方向性を考えてみた

今後のblogサービスの方向性を考えてみた。

blogサービスという大きな括りで考えると、なぜか実現したところで自分では使わないだろうなと思うような機能しか浮かばない。

ここは一旦思考をクリアにし、技術的な実現可能性や、ビジネスモデルなどを全く無視して、どんな体験が得られれば自分はワクワクするだろうかという観点で考えてみた。
先日、とりあえずホットスポットおぼえがきで知った、紫陽花カフェへ、PCを持って出かけた。
店に着き、テラスに腰掛、ギネスビールを飲みながらPCを起動し、利用可能な無線LANアクセスポイントを調べたところ、なぜか見当たらない!あっれー、なんでー?
店員さんに聞いたところ、無線LANのサービスを止めたとの事!!!
ちょーショックー。おしゃれカフェのテラスでビール飲みながらネットサーフィンするのが夢だったのに…。
気を取り直し、"さつまいものハニーマスタード"と"ピリ辛エビマヨ"をオーダー。
うめー、ちょーうめー。
無線LANが使えなかったのは残念だったけど、ビールもうまいし、飯もうまいし、大満足。
こちらが、紫陽花咲く庭の写真です!
[紫陽花の写真]
ひとしきり店内にいる犬と戯れた後、紫陽花カフェを後にし、第2候補だったcafe Cherirに移動。
こちらの店は、電波良好!
コーヒーを味わいながら、思う存分新サービスの開発に没頭する事が出来ましたー。

例えばこんなクソエントリーがあったとする。
※こちらの内容はノンフィクションです

私がこのクソエントリーをPOSTした瞬間に、未来のblogシステムが起動する。

●POSTしたクソエントリーを、早速自分で確認してみると、[紫陽花の写真]の下に、"他の画像を見る"リンクが表示される。リンクをクリックすると、他のユーザーが撮影した紫陽花カフェの写真や明月院の紫陽花の写真が、一通りスライドで見ることが出来た。
●今週末に三宿付近のカフェでネットサーフィンを楽しもうと思っていたAさんにメールが届く。メールには、"紫陽花カフェの無線LANサービスは終了。cafe Cherirの電波は良好。by aratafuji"と書いてあった。
●今週末に三宿付近のおしゃれカフェに行こうとしてたBさんにメールが届く。メールには、"紫陽花カフェの紫陽花は今が満開!ハニーマスタードとピリ辛エビマヨがお勧めですよ。by aratafuji"と書いてあった。
●週明けに私が自分のblogにアクセスしてみると、Aさん、Bさんから感謝のコメントが届いていた。
●週明けに私が登録しているアフィリエイトサービスにアクセスしてみると、紫陽花カフェとcafe Cherirからのアフィリエイト報酬が振り込まれていた。

ここまで連動しておいて、blogの投稿インターフェースが現状のままってのもなんだが、こんな感じでユーザー通しが繋がれたり、システム連携する事が出来たらきっと面白い。ワクワクする。

技術的な実現可能性を無視して考えてはみたものの、個々の機能を実現する事はそれほど難しい事ではないのかもしれない。

■写真のリンク表示に関しては、現状のタギングでも実現出来るだろうし、今後セマンティックWebが実現していけば、img自体が意味を持つようになる。それとは別に、画像検索テクノロジーを組み込む事で、ますます精度は高まるであろう。

■AさんやBさんへの通知に関しても、オンラインカレンダーと連動すれば、実現できる。

■アフィリエイトに関しても、お財布ケータイが進化して、決済情報(カフェでの支払い情報)とライフログ(この場合は、私のblogを閲覧したという履歴)を連携させる事が出来れば実現は可能であろう。

何だか楽しくなってきた。

"今後のblogの方向性を検討する"なんてお題で、自分は使うかどうか分からないけど、何となく使われそうな機能をダラダラ考えていても、決してイノベーションは生まれない。

もっとシンプルに、"こんな体験が出来るならば、自分なら絶対使う!"っていうような熱い思いをベースに、サービスを考えていきたいと思う。

■  [PR]
# by aratafuji | 2008-05-28 01:03 | レポート

出会い系サービスを考えてみた

出会い系サービスを考える機会があったので、必要だと思う要素を自分なりに考えてみた。

結論としては、以下の8点が重要なのではないだろうか。

1.マッチングの精度
2.アクションを起こすと、期待以上のレスポンスが得られる事
3.ノイズ(出会いたくない人)を混ぜない
4.参加する事への疚しさを排除
5.遊びの要素も必要
6.リアルタイム性が重要
7.インターフェースはシンプルに
8.目的毎に分ける

1.マッチングの精度
一番重要な事は、マッチングの精度であろう。
詳細なプロフィールを登録してもらい、ただ単に検索出来るようにしたところでうまくいくとも思えない。
レコメンドのアルゴリズム(協調フィルタリング、ベイジアンネットワークとか)や、行動ターゲティングの仕組みとかを組み合わせて、マッチングの精度を高める事が重要であろう。

2.アクションを起こすと、期待以上のレスポンスが得られる事
アクション(プロフィール掲載、メッセージ送信など)を起こしても、何もレスポンスが得られなければ、ユーザーはアクションを起こしてくれなくなる。
あるユーザーのアクションは、別のユーザーのレスポンスにつながるわけだから、その辺りを活性化させる仕組みが必要であろう。

3.ノイズ(出会いたくない人)を混ぜない
クラブでナンパして、"私、音聞きに来てるから~"って言われると凹む。
その場合、音聞きに来てるギャルにとっては、ナンパ男はノイズであるとともに、ナンパ目的の者にとっては、音聞きギャルはノイズなのだ。
※単なる断る口実の可能性も否定できないが…。

4.参加する事への疚しさを排除
かなり前に、電波少年企画のチューヤンプロデュース、"後楽しいガーデン"というイベントに参加した事がある。
完全な出会い系イベントであったが、大盛況だった。
私も、一緒に行った友人達も、そのイベントに参加した事に対して全く疚しさは無い。
※当時の彼女には秘密にしていたが…

ネタ的な楽しさや面白さ、参加する事のロイヤリティを高める等で、疚しさを排除する事も出来るのではないだろうか。

5.遊びの要素も必要
こちらも"後楽しいガーデン"での経験だが、後楽園遊園地内の至る所で数々のイベントが行なわれており、見知らぬ男女が楽しく遊べる工夫がされていたからこそ、かなり面白いイベントになったのであろう。
ただ単に出会いたい者同士を同じ空間に押し込めても、参加者に苦痛を与えるだけだ。

6.リアルタイム性が重要
人間の気分などすぐ変わる。
出会いたい!と思っても、"書類を郵送してください"、"プロフィールの承認に1日かかります"とかでは、テンション下がりまくりであろう。
セキュリティが重要な事は言うまでも無いが、リアルタイムでもセキュリティを保てるような仕組みを考える必要がある。
機能としては、マッチした相手とすぐにIMが出来るとかが望ましい。

7.インターフェースはシンプルに
セカンドライフで、見知らぬ外人の女性と話したことがあるが、セカンドライフの複雑なインターフェースにアップアップしていたため、気軽に会話を楽しむ事が出来なかった覚えがある。
一方、以前あったAIM(AOLのIM)の検索機能を使って、見知らぬ外人の女性と会話した時は、かなり楽しく話しこめた覚えがある。
コミュニケーションを求めている者にとっては、仮想空間など不要なのである。

8.目的毎に分ける
同僚に、どんな出会い系サービスが良いですかね?と聞いたら、"すぐに会えりゃいんじゃね?"と言われた。
上記2と同様だが、じっくり恋愛相手を探したいユーザーにとって、この同僚はノイズ以外の何者でもない。
じっくり恋愛相手を探したいユーザーと、この同僚をマッチさせない仕組みが重要であろう。


まあ、ウダウダ考えてはみたものの、どれも当たり前の事か。
個人的には"後楽しいガーデン"のような体験をWebサービス(+ リアル)で実現してみたい。

彼女のいる自分にとっては不要なサービスだけど…。

■  [PR]
# by aratafuji | 2008-04-19 17:27 | レポート

「春のMySQL祭り2008」に行ってきた

先日、MySQLのセミナー(春のMySQL祭り2008)に行ってきた。

全体的に、Sunの宣伝のような内容で、ぜひMySQL Enterprise Server(有償)の契約をして下さいというような感じ。
この辺りは、かなりOracle化してきた印象を受ける。

カイ・アーノさんという、MySQLのコミュニティ担当の方のお話しは、MySQLがとてもコミュニティを大切にしているという雰囲気が伝わってきて、好感が持てた。

MySQL社は、ほぼ全ての社員をコミュニティから採用しているそうだ。
社員全員MySQL大好きマニアなわけだから、そりゃうまく回るだろう。

うちの会社も思い切ってオープンソースにし、コミュニティを形成してみたらどうだろうか。
だめか…。


特別ゲストで日本MySQLユーザ会の人もプレゼンをしていた。
Sunへの要望をほのぼのと聴衆に訴えていたのだが、こちらに言われてもどうしようもない。

Sunの社長、MySQLの社長等と同じ場でほのぼの話せば話すほど場違い感が増し、少しかわいそうに感じた。


そんな感じのセミナーだった。
■  [PR]
# by aratafuji | 2008-04-11 18:34 | レポート

友人関係をXFNで表現するだけのサービスを作った

自分の友人関係をXFN(XHTML Friends Network)で表現するだけのサービスを作ってみた。

My Friends Network


[概要]
Join!で、適当なアカウント、適当なパスワード、自分自身を表すURL(twitterとか)を入力すると、ユーザーページ(http://testtu.be/mfn/user/[アカウント])が生成される。
aratafujiのページ

・友達を登録すると、登録時に設定したXFN形式でリンクが生成される。

・ユーザー、友達とも、Fooo.name!!から関連URLを取得できれば、合わせて表示する。
※Fooo.name!!に関しては、開発者blogを参照


ただそれだけ…。
Social Graph APIに取り込んでもらえれば、ハブ的な意味も少しは有るような、無いような。


なお、久々にPerlを使ったら楽しかったので、YAPCに申し込んでみた。
今のPerlのトレンドと自分のスキルとの間にどのくらいの開きがあるのか、確かめてみたいと思う。

■  [PR]
# by aratafuji | 2008-03-29 00:16 | レポート

「Web 標準セミナー」にて考えたデザイン不要論

本日、アップルジャパン主催の「Web 標準セミナー」に行ってきた。
概要は以下の通り。

━━━━━━━━セミナー概要━━━━━━━━
第一部(13:30-16:30)
講 師:益子貴寛(株式会社サイバーガーデン 代表取締役)
Website: http://www.cybergarden.net/
1. Web標準とは何か
2. Web標準とXHTML+CSS
3. Web標準とブラウザ
4. Web標準と制作ワークフロー
5. Web標準のメリット -ケーススタディ-
・クロスブラウザ表示の実現
・アクセシビリティの向上
・SEO効果の向上
6. Webサイトの品質保証とソースコードの検証
7. ソースコード検証ツールの紹介
8. ブラウザやツールを品質保証に活かす方法
9. 質疑応答

第二部(16:45-17:30)
講 師:アップルジャパン株式会社ワールドワイドデベロッパリレーションズ 永松正人
1. Safari概要
2. Safariと標準
3. Safariのデバッグツールの紹介
4. Apple Developer Connectionの紹介

感想を一言で言えば、"ミスマッチ"。

エンジニアの自分は、完全に対象受講者では無かった。
そしてデザイナー、コーダーの方々もまた対象受講者では無かったと思われる。

では誰向けのセミナーだったかというと、"Webマスター"もしくは"Webディレクター"と呼ばれる方々向けだったのではないだろうか。
デザイナー、コーダーの方々の苦労を理解出来ていない"Webマスター"もしくは"Webディレクター"と呼ばれる方々には、ぜひ聞いて頂きたい内容だった。

なお、第一部に関しては、(自分はミスマッチだったが)決して内容が悪かったわけではない。
自己紹介を聞いて知ったのだが、講師の益子貴寛さんという方は、自分も活用させて頂いているWeb標準の教科書の著者であり、知識、経験も豊富な方である印象を受けた。

第二部は、、、。ただの宣伝だったので、割愛。


第一部で印象に残った内容は、クロスブラウザー対応、各種デバイス対応に関してであった。

- 各種ブラウザ(IE,Firefox,safari,netscape)毎に、cssファイルを分けて対応しましょう
- ブラウザの各種バージョン(IE5、5.5、6、7、…)毎に、cssファイルを分けて対応しましょう
- 各種デバイス(screen、プリンター、プロジェクター、Wii、DS、iPod touch、…)毎に、cssファイルを分けて対応しましょう

一体、何種類のスタイルを準備しろと…。

Webデザインのセミナーに出ておいて何だが、
Webデザインってそんなに重要?
そんなにコストかける必要ある?
という疑問が浮かんできてしまった。

デザインにかける膨大なコストを、コンテンツにかけた方が有益ではないのか?

非常にしょぼく、見辛いけど、有益なコンテンツを含むサイトと、とってもおしゃれで、全く内容が無いサイトのどちらが必要かと考えれば、私は間違い無く前者を選ぶ。
私が普段Webを巡回している理由は、おしゃれなデザインを見たいからでは無く、有益な情報にアクセスしたいからに他ならない。

ここは思い切って、コンテンツプロバイダーはXHTMLのみ出力するというのはいかがであろうか。

ブラウザやデバイス側で、(現状よりましな)デフォルトcssを適応してくれればそれで良い。
RSSリーダー程度のデザインであれば、それで十分だ。

リテラシーが高い者は、自分専用のcssを適用させれば良い。

そもそもユーザビリティなんて、人それぞれだ。
万人向けのユーザビリティなんて試行錯誤する暇があったら、肝心のコンテンツに注力するべきであろう。
ユーザーは、自分がもっとも使い勝手の良いcssを全てのサイトのXHTMLに適応させれば、今よりももっとユーザービリティが向上するのではないだろうか。

時代に逆行している気もしないではないが、Webがそんな方向に進んでも良いのではないかと思った。

決して、クロスブラウザー対応、各種デバイス対応が面倒だからこんな事を考えたわけではないと、自分で自分を信じたい…。

■  [PR]
# by aratafuji | 2008-03-18 20:57 | レポート

自分の進むべき道

昨日のエントリーに対して、champlasonicさんがコメントしてくれた事に対する自分のコメント。
コメントありがとうございます!
<中略>
このまま行くと、1⇒7⇒8⇒9のような流れの、(悪い意味で)普通で、ありがちな、つまらなく、救いようが無い、ダメ企業になってしまいそうな事を危惧しています。

この宴明けの二日酔い状態で書いたコメントを改めて読み直して、やや反省。
自分のような立場の者が、上場企業の行く末を危惧したところで、何も変わらない。
これぞ正しく新橋の赤提灯の店で愚痴るサラリーマン。

昨年ミスった冠婚葬祭で不要になった品々の売却を試み、元手の1/20程度にしかならないという現実を思い知らされた頭で、改めて自分の進むべき道を考えてみた。

■1.会社のビジョンなんて身分不相応な事など考えず、与えられた業務を淡々とこなす傍ら、(勤務時間外で)副業に精を出す
[メリット]
- 小遣い程度の副収入ならば容易
- 副業がうまくいっちゃったら、明るい未来が待っている
[デメリット]
- 倫理的葛藤
- 業務規則違反における、解雇のリスク
- 人生の1/3程度を占める労働時間において充実感を得られない
- 睡眠時間、趣味に費やす時間を削減する必要有り

■2.会社のビジョンなんて身分不相応な事など考えず、与えられた業務を淡々とこなす傍ら、趣味に没頭
[メリット]
- ストレスフリー
- 健康的な毎日
[デメリット]
- 人生の1/3程度を占める労働時間において充実感を得られない
(定時、週末を心待ちにするだけの日常)
- お先真っ暗

■3.会社のビジョンなんて身分不相応な事にも関わらず声を上げ、行動で示す
[メリット]
- (自己満足による)充実した毎日
- 「熱いね~」、という褒め言葉なのか馬鹿にされているのかが良く分からないような言葉を頂ける
- うまくいけば、愛する企業の業績が好転する可能性も有る(と考えたい…)
[デメリット]
- 多大な労力を伴う
- ただの勘違い野郎になる可能性(大)
- 同僚に迷惑をかける可能性(有)

■4.見切りをつけ、ビジョンに共感できる新天地を求める
[メリット]
- 人生の1/3程度を占める労働時間において充実感が得られる
[デメリット]
- 採用されないリスク(志の高い企業は、その分敷居も高いであろう)
- 入ってみなけりゃ分からない

■5.見切りをつけ、ビジョンを自らが創造する
[メリット]
- 労働時間など関係無く充実した毎日
- ハイリターン
[デメリット]
- 全てにおいてハイリスク

■6.上記1~4全てを含んだハイブリット型(気分変動)
[メリット]
- 上記1~4のメリットの断片を得られる
[デメリット]
- 全てにおいて、中途半端

現状の自分は、モロ6番な中途半端野郎である。

考えてみて思ったが、そもそも"メリット"、"デメリット"という軸のみで自分の進むべき道を考える事自体がナンセンスなのであろう。

在籍する企業のビジョンを創造する部分に、全く関われない立場にいるという評価を真摯に受け止め、いい加減"決める"事をしなければ。
しかし、0x20歳、すなわち32歳あたりを過ぎても「自分が見つからない」人々は、無理矢理にでも自分を決めてしまった方がいい。「自分を決めた者」を、自分探しをしている人々が嗤うのは確かだが、嗤わせておけばいい。
探すな決めろ - 書評 - 自分探しが止まらない

なぜならば私も0x20歳。
弾の教えに従うまでである。

<追記>
ごちゃごちゃ言ってるけど、勇気がないだけじゃん
要は、勇気がないんでしょ?

この方(実際はその友人?)が仰っているように、確かに「だせぇ」と思うので、とりあえず環境を言い訳にするような妄想は止めました。
■  [PR]
# by aratafuji | 2008-03-16 16:31 | レポート

ビジョン欲

現在の自分を取り巻く環境を妄想してみた。
1.企業のビジョンが不明

2.組織体制や雰囲気から、各自が企業の方向性を想像

3.想像した方向性において、各自で何が出来るかを模索

4.実行

5.想像が違っていたため、評価されず、うまく実行もできず…。

6.判定
ループがi回未満なら2へ
ループがi回以上なら7へ

7.やる気無くす、想像しても分からないから指示を待つ

今までは、企業のビジョンなんて大して重要に考えていなかった。
辛い状況になって、初めてビジョンの重要性を痛感した。

ビジョンがあれば、短期的な方向性もぶれないであろう。
ビジョンがあれば、短期的な方向性に疑問も生じないであろう。
ビジョンがあれば、意思決定もぶれないであろう。
ビジョンがあれば、意思決定も迅速であろう。
ビジョンがあれば、組織体制に疑問も生じないであろう。
ビジョンがあれば、組織体制が頻繁に変わる事も無いであろう。
ビジョンがあれば、本音と建て前の使い分けなど不要であろう。
ビジョンがあれば、各自が今何をすべきかが明確になるであろう。
ビジョンがあれば、評価も明確になるであろう。
ビジョンがあれば、他部署との意思疎通も容易になるであろう。
ビジョンがあれば、ミーティングの回数も減るであろう。
ビジョンがあれば、社員同士の一体感も生まれるであろう。
ビジョンがあれば、働いてて楽しいであろう。
ビジョンがあれば、幸せだろう。
ビジョンがあれば、ビジョンさえあれば…。

ビジョンは危険だ。
怪しい新興宗教と紙一重だ。

しかしながら、"Don't be evil."であれば、それでも良いのではないだろうか。
何が正義で何が邪悪か、それは誰が決めるのか?
そういう物事の理は百人の平均的な人に尋ねてみれば、だいたい一致するだろうとシュミットは語ります。

と梅田さんも書いていたことだし。

流行によってコロコロ変わるような、バズワード的なビジョンなんていらない。

心の底から信じられるようなビジョンが欲しい。

■  [PR]
# by aratafuji | 2008-03-15 08:50 | レポート

"ウェブ時代 5つの定理"の対象読者

ウェブ時代 5つの定理を読んだ。

自分探しが止まらないを読んでフラストレーションが溜まっていた私は、いかにもな「自己啓発書」と思われる本書を読めば、ノリノリな気持ちになれると信じていた。
けれど、ノリノリになれなかった…。

なぜだろうか?
結論からいえば、私は本書の対象読者では無かったからであろう。

私が思う、本書の対象読者は以下の何れかに該当し、かつ「働く充実感」を得られていない者だ。
- 才能溢れるAクラスの技術者
- 豊富な経験を積んでいる者
- 大金持ち

残念ながら、私は上記対象に該当しない。

まえがきには以下の記述がある。
現代社会で働くすべての人が、仕事に活路を見出していくうえで座右に置き、仕事のさまざまな局面で手に取り、この金言を何度も繰り返し実際に使えること、生きるヒントを得られること、仕事に活かせること。それを、本書は目指しました。

これを読んでた頃は、ワクワクだった。
なぜならば、私は現代社会で働いている。

期待に胸膨らませて挑んだ第一の金言は、以下だ。

もしフラストレーションが報酬よりも大きかったら、
そして、失敗の恐れよりも欲のほうが大きかったら、
そして、新しい技術や製品がつくれるのなら、始めよ。
<以下略>
-- ゴードン・ベル

注目すべきは、これら3つの条件式が、"and"な点だ。
1番目、2番目の条件は主観的な条件なので、何とかなる。
さらっと書いてある3番目の条件、これは厳しい…。

やや動揺しつつも読み進める。

Aクラスの人は、Aクラスの人と一緒に仕事をしたがる。
Bクラスの人は、Cクラスの人を採用したがる。
-- シリコンバレーの格言

上記した通り、私はAクラスの人ではない。
決して、"採用面接を受けるならば、Bクラスの面接官がいそうなところに行け"と言いたいわけではないところをみると、この格言から何を学べというのだ。
Aクラスでなくとも、"Aクラスの人は、Aクラスの人と一緒に仕事をしたがる。"事ぐらい分かる。
サイボウズラボの人の記事を読むと、そんな甘いなものではないのかもしれないけど…。

その後、シリコンバレーやGoogleに、世界中から「最高に優れた技術頭脳」が集まっている様を表す金言?が続く。
そんな事も知っている。
知りたい事は、「最高に優れた技術頭脳」を持っていない私はどうするべきかなのだ。

P.191~192にかけては、boldでさらに追い討ちをかけられる。

第4定理までで、私は本書が対象とする技術者では無い事を思い知らされた。

そして、第5定理の"大人の流儀"。
ここで定義されている"大人"とは、"十分な経験を積んだ者"、"投資する余裕のある大金持ち"ではないだろうか。

こちらも前述した通り、私は該当しない。

ページを読み進める度に、今までの人生で一体自分は何をしてきたんだろうか、というような後悔の念だけが強まる。

最後の最後で、著者から私のような者に向けられたと思われる記述が現れる。
それは、以下の格言を受けてのものだ。
自分がやらない限り世に起こらないことを私はやる。
-- ビル・ジョイ


しかし、この言葉はそんな一握りの天才だけに許された言葉なのでしょうか。
私はそうは思いません。
どれほどの数の人がいても、一人ひとりの個性や経験や環境はすべて異なります。さまざまな個性や志向性を組み合わせていけば、「自分がやらない限り世に起こらないことをする」ことは必ずできる。

ここまででケチョンケチョンにされてきた私に、もはやこの言葉は響かない。
そして、読了。

本書を読んだ事で、きっと私の人生は変わらないだろう。

これまでだって、それなりに努力してきた。
そして、これからもそれなりに努力し続ける。

本書に以下の記述がある。
個に徹底的に自由を与える。結果としての平等を求めるのではなく、すべての人にすべての情報があまねく与えられる環境整備をして、機会を均等に与えたい。インターネットとはそういうことを実現できるものなのだ、

機会が平等に与えられている事も、知っている。
与えられた機会を生かせていないのは、自分のスキルの問題だ。

"今のままの君でいいよ"なんて欠片も思わせてくれなかった事は、感謝するべきだろう。

■  [PR]
# by aratafuji | 2008-03-05 00:52 | レポート

"自分探しが止まらない"の落とし所

自分探しが止まらないを読んだ。
とても読みやすく、一気に読めてしまった。
Danさんや、「自己啓発書」が好きな人が述べているように、膨大な資料が提示されているのは確かだが、やはり"資料をまとめただけじゃない?"と思ってしまう。

著者は、まえがきの中で、以下のように述べている。
「自分探し」にハマりこまないためのヒントを示すところまで持っていきたい。

そして、そのヒントが以下である。
筆者は自己啓発セミナーや海外放浪など安易にポジティブ・シンキングに逃げ込む姿勢を批判してきたが、ポジティブ・シンキングそのものを否定しているわけではない。むしろ、こういう世の中を生きるために欠かせない武器こそ、「自分探し」に振り回されず、前向きに生きる姿勢であると信じている。
"ポジティブ・シンキング"と、"前向きに生きる姿勢"を同意と考えると、安易じゃないポジティブ・シンキングって何だ?ポジティブ・シンキングに至る過程が重要という事か?
散々事例を挙げた上での結論がこれだとすると、かなり残念である。

また、本書全体を通して感じるのは、著者の"カッコつけ"的な姿勢だ。
まるで甲子園(国立)を目指して練習に励む野球(サッカー)部員を嘲う帰宅部ヤンキーのような、本当は自分も何かに熱中したいのに、その対象を見つけられず、頑張っている人を茶化す事でしか自分の存在意義を示せないような…。
あとがきにもそのような記述がある。
僕の場合は運が良かったから職にありつけているだけだ。

頑張ったからではないのか?
汗水たらして努力したからこそ、今の著者があるのではないのか?

しかし、そのように書かざる得ない気持ちも分かる気がする。

"頑張って努力すれば、夢はきっとかなう"的な事を書いてしまうと、本書の中で散々嘲った"自己啓発本"になってしまう。

そういう意味で、本書の落とし所は大変難しい。

"海外行ったて、何も変わらない!現実逃避するな!現実を見ろ!お前に可能性なんて無い!"のような、思いっきりブルーな落とし所に持っていっても良かったかもしれない。
※中盤辺りまではそういう勢いを感じたのだが…

しかしながら、個人的には本書の中で"自分探し"とは対極な存在として挙げられていた三浦カズや野茂を"自分探し"の理想のゴール像として提示して欲しかった。

Danさんも書いている通り、嘲うべきは、"自分探し"をしている人ではなく、"決められない人"である。

三浦カズや野茂のように、"自分を探し"、"決め"、"突き進む"人達は、やっぱりカッコいい!

■  [PR]
# by aratafuji | 2008-02-28 17:58 | レポート

< 前のページ

次のページ >