Hatena::ブログ(Diary)

Tech Wonderland.

2012-01-14

スターターを増やそう。

スタートアップだと企業的な話になるので、個人でも始められるというところで、あまり気張らずスターターと、このブログでは呼ぶ。
この言葉は37signalsが書いた「小さなチーム、大きな仕事」に書かれていることに触発されたものだ。
気取らず、実態に即した言葉。

もっとも尊敬されるべき人は実際に行動を起こした人であり、そしてそれが成果に結びつけることの出来た人である。
口だけ動かすのが達者になることは、まあ政治家などでは良いかもしれないが、エンジニアとしての立場で言えば最悪な部類である。


「芸術家は製品を出荷する」と語ったのはジョブズだが、デベロッパーもプロダクトをリリースする。

上のスターターと同じように、エンジニアプログラマーではなく、作り手のことをそのままデベロッパーと呼びたい。

エンジニアだけがサービスやアプリを作れる訳じゃない。
デザイナーがデザインのオマケでコードを書いて出荷したとしても、それが役に立つのであれば立派な製品であり、それはデベロッパーと言っても差し支えない。

大きな枠で見て、作り手という意味で今後はデベロッパーという言葉を積極的に使うつもりだ。


私は、シリコンバレー型のスタートアップを雛形として見るのは、歓迎したくない。
ここはサンフランシスコじゃない。
日本だ。
確かに、一発当ててでっかくなれたら、そりゃうれしいだろうけど。
でっかい夢を語ることが大切なのは分かっているが、それでもこの挑戦は宝くじに当たるようなもので、ほとんど夢物語に近い。


ITがもたらした最大の恩恵は、小さな企業でも小さな投資で、スタートを切れるようになったことだと思っている。
それはつまり、既存企業によりかかるのではなく、仕事を自分たちで作り出すことが容易になったということではないか。

若年失業率が上昇し続ける昨今、若者が仕事を自ら生み出し、一市民として責任を持って生きていけるようになれば素晴らしいじゃないか。

その仕事がたとえ企業になるほどの規模に成長しなかったとしても、自身が作り出したサービスやアプリで、自分一人でも養えれば、それは本当に立派なこと。


最終的には雇用が増えれば何でもいいとは思っている。
そして、出来れば一人一人が自立の道を歩んでもらえれば、市民社会として成熟への道が開けるんじゃないかと企んでいる。
だから、私はスターターを応援したい。
自分一人だけが生き残るためのプロダクトであったとしても、一人分の雇用を生み出している訳だから賞賛に値する。


仕事を創造する力を養いたいと思っている人を、応援するブログにしたい。

2011-10-31

道具の感覚。日本らしさ。

なぜ?

  • 日本人の「ものづくり」が発揮出来なくなったのはなぜだろう。
  • 近年では、最終的なプロダクトとしてではなく、あくまでも中間材としてしか発揮できていない。
  • 日本車がそれほど良いとは思わない。魅力がないのだ。
  • 日本人が退屈なものしか作れないとも思わない。
  • 日本刀や茶器や日本家屋や庭園や、そういった美しいモノを作り出してきた前例はあるのだから。
  • 何か別の要因があるはずだ。

使う者を選ぶ道具

  • 日本人がものづくりの感覚を強く発揮出来るものは何かというと、素朴なモノではないだろうか。
  • 素朴、と一言でいうけれど、それは素材そのものに近い、もしくは素材として感じられるほど簡素な状態。
  • 持ったとき、素直に感応してくれる道具が素晴らしいと思わないだろうか。
  • 道具に魂が宿るというけれど、本当に宿る訳ではなく、使うものの心がそのまま「反応」してくれるような感覚。
  • 初期のウォークマンってそういう感覚があったのではないだろうか。
  • ホンダのカブにもそういうところがあるのではないか?

素直で誠実な道具

  • 今の日本のプロダクトの問題点は、道具が「おもてなし」をしようとしているところではないか。
  • 「おもてなしの心こそ日本の強みだ」という意見があるが、ものづくりに関してはそんなもの要らない気がする。
  • むしろ何もしない。ただし、使い手に対して素直に反応すること。
  • こういった道具の特徴は、使う人間次第で、道具の力を引き出せないこともあるということ。
  • だれにでも平等でない道具。使うのに、使う者の誠実さを問われる道具。
  • でもどこか、そんな道具が日本らしいと思えないだろうか。

「おもてなし」しない

  • おもてなしとしての多機能性について。
  • 例えばテレビ。またはDVDレコーダー
    多機能なものが、いきなりリモコンに並んでいる。「おもてなし」の精神だ。あなたに選ばせます。
  • くそくらえだ。
  • 今のテレビは、僕たちに反応してくれない。いちいち「何しますか?」と「おもてなし」してくれる。二流のデパート店員みたいに。

センスがない

  • 道具の感覚に鈍い人たちが、その道具のプロダクトデザインを決定しているという問題。
  • 組織は道具の感覚を持つ人を信じない。なぜならば彼らは「言語化」しないから。正確には出来ないのだが。
  • こうした人材は組織管理上「厄介な」人材となる。評価しづらい。マネージメントに不適切なのだ。
  • 日本がどんどん真面目になるにつれて、つまらないモノが作られるようになったのは、こういう組織の問題があったのかもしれない。

ハイコンセプト時代に適応する

  • もう一度感覚を持つ人を信じてみないか。
  • マーケティングも大切。ビジネスも大切。それはわかる。
  • でも使う人が驚きも発見も得られないモノを作り続けるのは作り手としてとても空しい。
  • もしかしたらこれからの時代、「ものづくり」の感覚はひとつの教養になるのかもしれないと思った。
  • そんな、ハイコンセプト的なはなし。
ハイ・コンセプト「新しいこと」を考え出す人の時代

ハイ・コンセプト「新しいこと」を考え出す人の時代

2011-10-25

ビックカメラでPS3を買ったけど、今後買う人はAmazonで買いましょう

楽天ブックスでも良いですけど。

ビックカメラと言えば「ポイント10%還元!」だと思い込んでいたので、いざPS3をレジにもっていったら「5%ですね」と言われて驚いた。
クレジットカードで購入するつもりだったので、それで2%引かれるとたった3%しかポイントがつかない。
3%って消費税以下ですよ。
ポイントは800ポイントちょっとだったかな。
そのあとアマゾンを確認したら6%引きで売っていた。
重い荷物を持って帰ることを考えると、3%の割引であったとしてもやはりアマゾンを選択するだろう。

ネット通販の時代に電化製品の店は窮地に立つなとつくづく思う。
生き残るとしたら、例えば携帯の売り場のように、実際に手に取って確認したい、販売員に積極的に質問したい、という状況が必要になる。
スペック通りのものが手に入ればいい、という人はネット通販で十分だ。
故障率もすくない製品であれば、自分の眼で確認する必要もないですし。

通販でも買えるけど、実店舗で買ってしまうものを記録しておくと、今後どういったものがリアル店舗で生き残るかを予測出来るかもしれない。

自分の場合は本や筆記用具は実店舗で買うことが多い。

あと服でしょうか。

機能を提供するだけのものは、手に取る必要もなく、ポチッとやって届けてくれる方が楽である。

体験は店舗で、購入はネットで、という人が増えてくると家電量販店はどうなるのだろう。

ドキュメントは価値ある仕事である

ドキュメントを読めば、誰がやっても同じ成果を上げられるようになる。
そんなドキュメントが書ける人は希少であり、コモディティにならないという意味でも、今後身につけたい技術である。

その人がいないと出来ない実務というものを作らない。
資料や説明書などのドキュメントを読めば誰でもある程度できるようになる。
これを書けるか、書けないかが今後の収入にも影響するんだなと思った次第です。

2011-09-09

CoffeeScriptで作成したClassにグローバルからアクセスできない -> 解決

CoffeeScriptClassを作った場合、そのクラスをグローバルから参照出来ないんじゃん思った。

例えば、

class Hoge
  constructor: (@param) ->
    @name = @param.name
  
  setName: (name) ->
    @name = name
  
  getName: ->
    @name

このCoffeeScriptコンパイルすると以下のようなJSファイルが出力される。

(function() {
  var Hoge;
  Hoge = (function() {
    function Hoge(param) {
      this.param = param;
      this.name = this.param.name;
    }   
    Hoge.prototype.setName = function(name) {
      return this.name = name;
    };  
    Hoge.prototype.getName = function() {
      return this.name;
    };  
    return Hoge;
  })();
}).call(this);

このとおり即時関数によって、グローバルスコープから切り離されている。

このままだと、

var hoge = new Hoge(); // -> undefined

ということになり、外部から使い物にならならない。
格好悪いけど、最初のCoffeeScriptのソースに以下の文を追加する必要がある。

@Hoge = Hoge

これによりグローバルからアクセス出来る。
出力されるJSファイルは以下の通り。

(function() {
  var Hoge;
  Hoge = (function() {
    function Hoge(param) {
      this.param = param;
      this.name = this.param.name;
    }   
    Hoge.prototype.setName = function(name) {
      return this.name = name;
    };  
    Hoge.prototype.getName = function() {
      return this.name;
    };  
    return Hoge;
  })();
  this.Hoge = Hoge;
}).call(this);

でも、こんなことするのはカッコ悪いよなあ、などと思って少し調べたらやっぱりやり方を間違っていました。。。

一体何を間違えていたのか。

オプションです。今まではこうやっていました。

$ coffee -c hoge.coffee

これでhoge.jsを出力していました。

ただし、-cオプションだけだと即時関数でスコープを区切られてしまいます。

なので以下のように-bオプションも付け加えます。

$ coffee -cb hoge.coffee

以下のように出力される。

Hoge = (function() {
  function Hoge(param) {
    this.param = param;
    this.name = this.param.name;
  }
  Hoge.prototype.setName = function(name) {
    return this.name = name;
  };  
  Hoge.prototype.getName = function() {
    return this.name;
  };  
  return Hoge;
})();

オプション(-b)を指定することでグローバルに登録されるという訳です。
始めからちゃんとドキュメントを読んでいればこんな問題にぶつからずに済んでいたのですね。

ドキュメントにはちゃんと目を通しましょう!

Mac Lion にCoffeeScript用のvim環境セットアップするメモ

はい。CoffeeScriptを始めましょう。

http://jashkenas.github.com/coffee-script/

インストールまでの流れはこちらのサイトがわかりやすいかも。

http://mitukiii.jp/2011/04/15/coffee-script-on-mac-with-emacs/

ぼくVim派なんで、vim-coffee-scriptをセットアップしたいと思います。
でもそのまえに、Vim用のBundle、Vundleをインストール

https://github.com/gmarik/vundle

リンクのQuick Startどおりにやれば動きます。

 $ git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

.vimrcを編集する。

 set nocompatible               " be iMproved
 filetype off                   " required!

 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()

 " let Vundle manage Vundle
 " required! 
 Bundle 'gmarik/vundle'
 Bundle 'kchmck/vim-coffee-script'    " これがCofffeeScript用のプラグイン

" あとはご自由に設定してね

ここまでやったら一度閉じて、何でも良いからvimを再度開く。
そんで :BundleInstall を実行。

すると、.vimrcで設定したBundleを勝手にインストールしてくれます。インストールされたか確認したい場合は、

$ ls ~/.vim/bundle/

で確認できる。

これでCoffeeScript向けのVim環境は整ったと思います。

他にも便利なプラグインあるみたいなので、いろいろ探してみてね。

僕は面倒なので、ここで満足したけど。

2011-08-31

久しぶりにプレイしたPSPのゲームから、なぜソーシャルゲームが流行り、スマートフォンでゲームする人が増えるのかを思い知るの巻

サカつく買いました。
往年のファンなので。

J.リーグ プロサッカークラブをつくろう! 7 EURO PLUS

J.リーグ プロサッカークラブをつくろう! 7 EURO PLUS

このゲーム自体は好きだし、これからも続けていくつもりだけども、久しぶりにPSPゲームをプレイした感覚から「こりゃスマホのゲームに移行するな」と思いました。
そのポイントを以下に挙げていきます。

  • (処理的な意味で)始めるまで長い。
  • (ゲームのデザイン的な部分で)始めるまで長い。
    • 設定が多かったりして、とにかくゲーム本編を始めるまで長い。ゲームデザインとして、ゲームに集中できていないという何か矛盾したものを感じる。
  • ボリュームを水増すための不要なイベントが多彩(ウザい)。
    • これはサカつくの話ですが、ボリューム感を出すためにイベント満載です。正直言ってイベントがありすぎて、何が日常かわからないくらい。SOS団じゃないんだから、そんなにたくさんイベント要らない。
  • いちいちロードがウザい。
  • セーブが必要。
    • iPhoneのゲームでセーブが必要なものでも、オートセーブだったりする。スマホが電話という制約もあるからだが、わざわざユーザーに手間をかけさせないというのは気楽で良い。

大きく分けるとPSPという端末の問題と、ゲームデザイン&UXの問題の二つになりそう。

PSPの問題は、光メディアによるロード時間の長さというところが一番大きい。
これが大きいストレスとなっている。

ゲームデザイン&UXは、今までのゲームの習慣をそのまま引き継いでしまっているという問題が見受けられる。
スマートフォンのゲームに慣れたユーザーからすると、何かとステップが必要になるPSPのゲームは手間がかかる=面倒くさいゲームという認識になるのではないかと思う。

遊びたいと思うゲーム要素を不要な修飾でゴテゴテにされたうえ、鬱陶しいイベントを押し付けられたりしたらもうやる気にならない。

なぜソーシャルゲームやスマートフォンにゲームが移行しているか。
理由は単純、簡単にゲームが始められるからだ。

コンシューマーゲームの制作者からすると、今のユーザーはせっかちだと思われるかもしれない。
もし本当にそう考えているとしたら、それは認識を誤っている。
昔は機体性能の制約から本体にカセットを挿入したり、CDの読み込み待ちをしないとゲームが出来なかった。
待たなければゲームができないということを理解していた。
つまり待つという習慣が身に付いていたからこそ、色んな設定やイベントの待ちを許容できたのだと思う。

今は言い訳無用でレスポンスが速い。
回線も速いし、十分な容量を端末自体が積んでいるからインストールも出来てしまう。
待たせる理由はなく、待たせていることを誤摩化すためのマジックも必要ない。
最速でゲームをすることができるのなら、それを提供しなければいけない。

これは本質への回帰ではないかと思う。
純粋にゲームを作るということが問われているのだ。

だから是非ともサカつくもドリキャスあたりの頃のシンプルさでiPhone版をリリースしてほしいと思う。