nantekkotai achieves

過去記事置き場

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

なぜ?

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

使う者を選ぶ道具

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

素直で誠実な道具

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

「おもてなし」しない

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

センスがない

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

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

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

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

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

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

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

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

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

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

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

あと服でしょうか。

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

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

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

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

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

とあるFacebookページの失敗からコミュニティデザインを考える

とあるFacebookページが失敗した(おそらく運営者の意図を達成することが出来なかった)という現象を目の前に見て、優れたコミュニティデザインとは何だろうと改めて思いました。
続きを読む

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

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

例えば、

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環境は整ったと思います。
他にも便利なプラグインあるみたいなので、いろいろ探してみてね。
僕は面倒なので、ここで満足したけど。

僕はサッカーを見る目がない=才能がないのだと思う

日本代表はかろうじて北朝鮮に勝ちました。
試合中も適当なツイートを投げていた訳ですが、つくづくサッカーに関しては知識はあるけれど、見る目がないなと思いました。
続きを読む