2016年1月26日火曜日

ログイン手段再考: OAuthよりもメールアドレス認証がいいんじゃない?

最近は色んなウェブサイトでOAuthを使った登録やログインが用意されるようになってきました。

それに伴い、OAuthを使ったサイトでID/パスワードとは違う別の不便さを感じるようになってきました。


確かにID/パスワードは、認証方法としてはセキュリティ的にあまり望ましいものではありません。なぜならパスワード使い回しによって、セキュリティが弱いウェブサイトでパスワードが露呈すると、全てのウェブサイトへのアクセスが破られてしまうという恐れがあるからです。

もちろんこれはパスワードを使い回すユーザが悪いのですが、しかしユーザがどのようなパスワードを設定するかを制限しなければ、使い回したり、異常に簡単なパスワードを設定されてしまうことは防げません。

そうした問題や、またユーザ登録の面倒くささなどを防ぐためにOAuthを使ったサイトが増えているのだとは思います。


しかしOAuthにも別の問題があります。

多くのウェブサイトではOAuthのサービスプロバイダとしてGoogle, Facebook, Twitterなどをサポートしていますが、こうしたウェブサイトは単なるID認証のためにOAuthを提供しているのではなく、API連携をするためにOAuthを提供しています。

そのためOAuthでログインしたユーザは、自分が単に認証するためだけのつもりが、不用意に個人情報をウェブサイトに渡してしまうことになりかねません。

また、私が個人的に困っていることとして、ログイン手段としてGoogle, Facebook, Twitter, メールアドレスなどが用意されていると、どれで登録したかを忘れてしまう場合があることです。この場合、アカウントへのログインはほぼ絶望的になります。

私としては、もしOAuthを認証手段として使うのであれば、思い切ってサービスプロバイダの種類を一種類に限定してしまい、ログイン手段を忘れないようにすることをお勧めしたいところです。

(それでもGoogleだとAppsのアカウントとgmailのアカウントの二種類があったりするので、どちらを使ったのか忘れてしまう危険はありますが)

ちなみにこれまで使ったOAuth対応サイトの中で最悪だなと思ったのはpixivです。OAuthを使って登録を促しているのに、実際に登録しようとするとIDやパスワードなどの登録フォームが出てくるという意味不明な作りです。こんなことをするくらいなら最初からメールアドレスを入れるようにすればいいのではないでしょうか?

マーケティング上の理由などで、メールアドレス確認の手順をなくして登録途中での離脱を減らしたいなどあるのかもしれませんが、ユーザにとってプライバシーを失うだけでメリットのないようなOAuthの使い方は避けるべきではないでしょうか。


私が最近思うのは、どうせメールアドレスという情報は必要であり、かつメールアドレスにパスワードの再発行などを送るようになっているのだから、メールアドレスに認証を委ねてしまえば良いのではないかということです。

ID/パスワードなどをユーザに管理させるのではなく、ログインするときにもしパスワードが分からなければメールアドレスにメールを送って、そこのリンクからログインしてもらえば良いと。

弊社では、いまはユーザが登録したときにパスワードをこちらで自動生成して送って、それをそのまま使ってもらうようにしています。ユーザがパスワードを設定しないほうがずっと安全であると思っています。

これまでは、メールで送信すると、どうしても平文で送られることになるので、セキュリティ上の問題があるという意識を持つプログラマは多かったでしょう。しかしどっちにしろ多くのウェブサイトではメールアドレスを最終的なアカウントの確認手段として使っているので、それが脆弱であると見なして仕様を決めるのは難しいです。

さらにインターネットのメールサーバ同士の通信が盗聴されるということは現実的にはかなり低いリスクでしょう。そう考えると実質的に脆弱なのは、ユーザが危険な通信路(公衆Wifiとか)を使って、暗号化していないPOPでメールを取得するような場合だけです。しかし、いまどき大多数のユーザは、ウェブメールかPOP over SSLを使っているのではないですかね?

今後、開発するウェブシステムに関して言えば、もうパスワードなどというものを全廃してしまい、メールのリンクからのログインだけに絞りたいくらいの気持ちです。実際にはモバイルやAPIのアクセスなどもあるので、単純なログインリンクだけでは駄目ですが、そこは工夫して乗り越えたいところです。

もしセキュリティを高めるのであれば、二因子認証(スマホやSMSを使うone-time password等)を併用する方がベターでしょう。

また、むやみにセッションを失効させるウェブサイトも考え物です。ユーザにログインを促せば、それだけ利便性が下がり、離脱率が上がってしまうわけですから、セッションはデータベースの能力が許す限り長期間保持するべきでしょう。

ログイン手段については旧態依然とした考え方がまかり通るこの業界ですが、そろそろ全面的な再考が必要ではないでしょうか。色々とご意見などもらえればありがたいです。

2016年1月17日日曜日

twitter始めました。そしてブログの名前も変えました。

こんにちは、新井です。

いまさらながらtwitterを始めましたので、こちらのアカウントをもし良かったら気軽にフォローして頂けると嬉しいです。いまならたぶん全員フォロー返します。

そしてこちらのブログの名前を「日に以て親しむ-新井俊一ブログ」という名前に変更して、今後はもっと気軽な記事を増やしていこうと思います。


主要な狙いとしては、今年はもっとネット上の知人を増やしていきたいと考えています。

この10年くらい、自分の会社の仕事ばかりして、仕事していないときはひたすら海外旅行をしていたので、だいぶ社会との接点を失ってしまっていたことに気付きました。

私の最も好きな漢詩の一文に「去る者は日に以て疎く 来る者は日に以て親しむ」という言葉があります。まだまだ元気に生きているのだから、もっと多くの人と交流していこうという意気込みをもってタイトルを付けました。

仕事が忙しく、なかなか人と飲みに行ったりする時間が取れないので、ネットを活用して交流していこうと考えています。いまさらtwitterやブログを始めたからと言って、多くの人が読んでくれるかはわかりませんが、とりあえず今年一年は頑張りたいですね。


また気軽な記事を増やす理由としては、本ブログの開始時には「良質な記事だけを書いて、固定読者を増やそう」と思っていたのですが、RSSリーダーというものの衰退に伴い、ブログの固定読者というものを獲得するのが難しくなった現在では時流に合わないと思いました。

(たまに数万ページビューを稼ぐような記事を書いたとしても、それを読んでくれた人が固定読者にならない。昔だったらなったと思うのだけど。)

そこでtwitterなどを活用して気軽に思ったことを書いていく方式に改めることにしました。ただ、自分の考えを垂れ流すことになるので、あまり妄言やデタラメばかりにならないようには気をつけたいと思っています。

今後とも宜しくお願いします。

2016年1月4日月曜日

今話題のブロックチェーンとは何なんだ? 部外者の技術者として考察してみる。

一行でまとめ: 暗号通貨は面白いけど、ブロックチェーンはそれ以外には使い道がないだろうと僕は思ってるよ。暗号通貨はダメでブロックチェーンは有用という奴らは何も分かってない。


最近、IT業界を取り巻くメディア(日経BPとTechCrunch等)ではブロックチェーンなる技術が話題です。

ブロックチェーンとは、bitcoinを構成する技術であり、それ自体が金融システムを変革するものなどと言われています。しかしメディアではブロックチェーンの本質について説明しない記事が目立ちます。

現状の大きな問題として、ブロックチェーンやbitcoinについて解説する記事の多くは、bitcoin関連の仕事をしている起業家や研究者などの利害関係者による記事が多いというバイアスがあります。また技術者ではないジャーナリストが書いた記事も、技術的な本質に突っ込めていないものが目立ちます。

本記事では、bitcoinに関して利害関係を持たない一技術者として、ブロックチェーンに関して考察を試みようと思います。私はbitcoinの専門家でもなんでもないので、認識等は間違っているところも多々あるかもしれませんので、ご指摘頂ければ幸いです。

ブロックチェーンとは何を実現する技術なのか


さて、まずブロックチェーンとは何なのかですが、bitcoinを構成する技術であり、具体的にはbitcoinの取引履歴を記録した巨大な台帳ファイルのことを指します。

しかし、一般記事ではブロックチェーンという名称で、bitcoinを可能にしている分散P2Pトランザクションなどの幅広い技術を指すことが多いようですので、以下、本記事でもブロックチェーンという場合は、幅広くbitcoinの技術全般を指すことにします。

さて、そもそもブロックチェーンとは、科学的に見て何が新しいのでしょうか?

ブロックチェーンは、中央の特権サーバが決済履歴を管理することなく、さらに特殊な電子機器を用いることなく、決済(トランザクション)の二重実行防止を実現した点で画期的な技術と言えます。

電子マネーというのは、通常、支払を行うのに中央のサーバと通信して支払を指示する必要があります。なぜなら電子マネーを持っている人が、直接に他の人に支払を行った場合、その裏付けとなる電子マネーを二重に支払いに使っていないかどうか確かめる手段がないからです。(電子データは複製が自由に可能なので、二重支払が自由にできてしまう)

通常の場合は、サーバが決済データを一元管理して、同じマネーが二回支払われていれば拒否するようになっています。これが通常の電子マネーの実現方法です。要するに銀行振込と同じですね。

場合によっては、電子マネーは特殊な電子チップに格納され、支払を行うと、電子チップの中の電子マネー情報が消去されることにより、二重支払を防止する場合もあります。この場合は、電子チップが正しく製造され、第三者が改竄出来ないことを前提にしています。

この二重支払の防止を、中央サーバも特殊な電子機器もなく実現したのがブロックチェーン技術です。

(ちなみに単なる電子契約を行うのにブロックチェーンは不要です。契約書は裏付けとなる資産を保証するものではありませんから、公開鍵暗号方式を使えば普通に実現出来ます)

ブロックチェーンはどうやって二重支払防止を実現するのか


ブロックチェーンの二重支払防止技術は、基本的に多数決による認定に頼っています。多くのbitcoin参加者が取引を監視し、その結果として、二重支払がもし行われた場合であっても、取引を監視している人の採択結果により、どちらが正しい決済として認められるかが決まります。

そのさいbitcoinでは不特定多数の人が市場に参加出来ますので、多数決をする場合の投票権を持つ母集団が定められません。そのためbitcoinでは、コンピュータによる計算量を投票権として採用し、採決をした人に報酬を支払うというルールにより、多くの人が監視して正しい採決が行われるような仕組みにしています。

(IPアドレスごとに票を持たせるような仕組みでは、IPアドレスを多数持つ人が有利になってしまうので、特定の人に投票権が偏らない仕組みとして計算量を採用している)

この「計算量」により投票権が決まるという仕組みがブロックチェーンの肝といえる技術です。これは暗号学やP2P分野の研究において大きな新発明と言えるでしょう。

但しブロックチェーンの大きな弱点として、計算量によって投票する仕組みなので取引ごとに膨大な計算量が無駄にされるという点と、採決が複数回繰り返されることによって決済が確定するので、決済が確定するまでに10分以上の時間を要してしまうという点があります。

この計算量が無駄にされるという性質はかなり致命的なものです。なぜなら計算を行うにはサーバ機器代と電気代がかかるのであり、貴重なエネルギーやサーバなどの資源を無駄に浪費していることになります。これは非常に困った性質です。

ではP2Pのメリットとは何なのか


bitcoinはそれほどまでに特殊な技術を用いて、中央サーバが存在しないP2Pトランザクションを実現していますが、そのメリットはなんなのでしょうか?

じつはbitcoinは匿名性を実現するためにP2Pにしているわけではありません。取引の履歴は全て公開されており、誰でも取引の履歴を追っていくことが可能なのです。これは通常の中央サーバを用いても実現可能です。

中央サーバがないことによるメリットは、主に規制に従う義務を負わなくなるということの一点に尽きると思います。

中央サーバがある場合、その運用者は、電子マネーの運用主体であると見なされ、様々な法的義務を負うことになります。すなわち規制にがんじがらめにされ、もし何か政府とトラブルになった場合には、最悪サーバが差し押さえられる危険があるということです。

しかし中央サーバがなく、さらにソフトウェアの開発もバザール方式で行われていれば、電子マネーの運用主体が存在しないということになりますので、法的規制を受けなくなります。事実、日本でもbitcoinビジネスを行うことは2016年1月現在では法的に自由のようです。

ここがbitcoinのとても面白い点ですね。開発者は無政府主義的な思想を持っていることが伺われます。実際にTorという暗号化インターネットの中では、bitcoinを使ったアングラ通販サイトが存在し、ヘロインの塊1kgなどを通販で売っているのを目にしました。

で、ブロックチェーンは金融機関などの一般社会で使えるの?


最近では、ブロックチェーンが金融機関や一般社会での取引に使えるという説を唱える評論家が数多くいます。しかし私はそうした説に極めて懐疑的です。

まず金融機関や一般社会での取引には、中央サーバがあってはいけない、P2Pが望ましい利用場面というのが全く存在しないというのが最大の理由です。

中央サーバによる決済は、ブロックチェーンを使った決済よりも圧倒的に速く安く確実かつ簡単に実現できます。

ブロックチェーンにより、決済システムがより安く高速に実現出来るという論を唱える評論家がいますが、そういう人が技術的根拠を提示しているのを一切みたことがありません。

そもそも、単純に通貨の価値を他に移転するだけのトランザクションなど極めて低コストであり、最近のサーバ費用を考えれば、わざわざコストを下げるような必要など一切ありません。

銀行のシステムが高額なのは、極めて複雑なビジネスロジックを実現しているからであり、bitcoinのような単純な価値移転とは比べものになりません。

P2Pや分散技術というのは、基本的に極めて高度な技術を必要とするものであり、それによる性能へのオーバーヘッドも多くあります。どうしてもP2Pや分散が必要となるやむをえない理由がなければ、単一のサーバで処理するほうがずっと楽に行うことができます。

とくにP2P技術(多数の信頼出来ないコンピュータが協調するもの)は、ほぼ現実社会で使い物になる技術ではないと私は考えます。あまりに複雑すぎて構築も運用も極めて難しいだけでなく、性能へのオーバーヘッドが大きすぎるからです。

一時期はWinnyなどのP2P技術が持てはやされましたが、今でも実際に使われているものはBittorrentくらいではないでしょうか?

残念なことに大学や研究所などの研究者にとっては、複雑で実現困難な技術であるほど、自分たちの研究論文を書きやすいので、往々にしてこういう「筋の悪い」技術をあえて推奨する研究者が多くいるのです。筋が良くて簡単に実現出来る技術はいくら優れていても彼らの飯の種にはならないのですね。

でもブロックチェーンはbitcoin形式だけじゃないのでは?


※本章で主に批判している対象はこちら → ブロックチェーンの正体 | TechCrunch Japan

ブロックチェーンの本質は「分散型台帳」であり、bitcoinとは違う使い方が出来るなどという人が最近増えていますが、それは全く計算機科学について知らない素人の妄言に過ぎません。

まず第一に分散型のデータベースに関して言えば、計算機科学においてこれまでもずっと研究されてきています。

分散型トランザクションにおいても、参加者が信頼できるのであれば、quorumなどという多数決による投票のアルゴリズムが昔から存在します。AmazonのDynamoDB分散データベースのようにquorum的な多重化で故障を防ぎ性能を向上しているシステムは既に存在します。[論文]

ブロックチェーンがこうした技術について新たに付け加える点は何一つありません。


で、参加者を中途半端に信頼して、弱い計算量のブロックチェーンを導入するということを提案する人もいますが、それはセキュリティの観点から見れば愚の骨頂です。

計算量を投票に使う方法は、あくまで不特定多数の参加者が、報酬につられて膨大な計算量を投入しているからできる方法なのです。特定少数のノードが中途半端な計算量を投じても、何の保証にもなりません。誰かが不正をする気になれば、そんな計算量など一瞬で破ることが可能でしょう。

もしどうしても特定多数の100%信頼出来ないノードで投票を行うのであれば、一人一票方式の方がずっとマシなのではないでしょうか。中途半端な計算量ならその気になればいくらでも投入可能ですが、特定のちゃんと身元が割れた参加者であれば一人一票以上を手にすることはできないのですから。わざわざ計算量を投票権に使う意味は全くありません。

(それでも不正のインセンティブがあれば、LIBOR不正事件のように結託して不正を行う場合もあるでしょうから、きちんと管理された中央サーバを使う方がずっと安心だと思いますが・・・)

ブロックチェーンというのは計算機科学における一つの基礎技術を指すのであり、それを専門外の評論家や弁護士などが表面上の点だけを捉えて、間違った情報を流布するのは良くない傾向だと思います。

ITについて専門外の人が論考する自体は良いことだと私は思いますが、計算機科学について知識のない人が、科学技術上の観点について憶測で論考するのは望ましくないですね。

とくにセキュリティに関わる場合は、致命的な事故を招く場合もあるので危険です。

IT技術者が立場にとらわれずに技術的な論考を表明をすることがもっと求められているかもしれませんね。


参考リンク:
  1. ブロックチェーンをもう一段深く理解する
  2. Busting 7 Blockchain & Bitcoin Myths - Crowdfund Insider 
  3. BitCoinとBlockChainにまつわる誤解ーそんなことはできない - Qiita (2016/1/10追加)
  4. なんでもかんでもブロックチェーン?何をもってブロックチェーン?ブロックチェーンの用語の混乱を整理してみる(議論たたき台) | ビットコイン&ブロックチェーン研究所 (2016/2/15追加、大変優れた整理なのでお勧めします。私はこの整理でいうとフルコンボのブロックチェーンは面白いと捉えますが、他のものには極めて懐疑的です)
  5. ブロックチェーンという言葉に騙されないために - いもす研 (imos laboratory)  (2016/12/10追加)

この記事が広まったので補足: (2016/1/7 15:45 バンコク時間)

私はブロックチェーンやbitcoin自体を否定するつもりでこの記事を書いたわけではありません。世の中で、技術的裏付けを全く提示せずにブロックチェーンが「ゼロダウンタイムのトランザクションを低コスト」で実現する技術だとか言うようなジャーナリストなどが目立つので、それに対して疑問を呈する意味で書きました。

一般的な(bitcoinに詳しいわけではない)技術者として見ると、bitcoinやそれに関連する技術が「ゼロダウンタイムのトランザクションを低コスト」で提供するような技術とは、そもそも目的からして全くかけ離れており、そうした紹介がされることには強い違和感があります。しかし世の中の記事では、その違和感を埋めてくれるような技術的説明が全くありません。それに一石を投じたかったということです。

ただし、現時点で技術的に説明されてないとしても、ベンチャー企業などがその技術を開発中であり開発成功する可能性はありますし、そうした可能性を否定する意図は全くありません。

ましてやbitcoin関連技術やブロックチェーンが単なる分散データベース以外のもっと新しい用途で使われることを否定する意図はありませんし、そのような記述をしたつもりもありません。私の筆の滑りもあるでしょうが、その点については、慎重に読んでいただければ理解していただけると思いたいところです。

2015年12月29日火曜日

台北に三ヶ月住んで中国語を学んだが、台北生活も台湾料理も合わなかった話

もう1年前の話なのですが、去年の冬、台北に三ヶ月住んで現地の学校で中国語を学びました。しかし、はっきりいってその選択肢は大失敗だったなー、と痛恨しています。

ネガティブな話を書いても読む方は不愉快になるだろうと思って、一年ほど書かないでいたのですが、同じような体験をした人にとっては読んだらちょっと気休めになるかと思って書いてみることにしました。台湾嫌いとか台北嫌いとか台湾料理が薄味すぎるよねと言う人はあまり見ないので。

ちなみに最初に注意点なのですが、僕は、寒い冬になると気分が低調になるので、そのせいで実際よりも台北が悪く見えているところはあるかと思います。冬の台北は南国なのにかなり天気悪いし寒いです・・・。持病が悪化して、だいぶ体調も悪い日々が続いていました。


一応クラフトビア屋や台湾クラフトビアはある
まず台北で最も嫌だったのは、街に飲み屋などがほとんどなく、飲食店でもビールすら置いてない店がほとんどで、お酒を飲む文化がないということ。僕は基本的にお酒を飲んで他人と仲良くなる人間なので、お酒を飲まないという時点で、かなり凹んでしまいました。

もともと中国の文化には居酒屋やバーみたいな概念はあまりないのかもしれませんが、仮に文化的にローカル飲み屋がないとしても、お洒落なバーくらい普通の国にはもっとあるもんです。台北で飲み屋街といえば、日本人街の林森北路くらいのものです。

そして現在の台北の街の人々はすごくせかせかしていて、まったくフレンドリーではありません。飲み屋もなく、あるのは軽食店ばかりなので、友達を作るのはかなり難しいです。料理の注文すら注文用紙に書くので、注文ですら言葉の練習になりません。語学学習のために行ったのに、なかなか話す機会がなかったのは痛恨でした。


あと台湾料理も全く口に合いませんでした。僕は、タイ料理や韓国料理や四川料理のようにスパイシーで味付けの濃厚な料理が好きなので、台湾料理のように極めて薄味で塩の薄い料理を毎日食べていると気が狂いそうになります。政府の減塩運動が成功したため、塩分がとても薄くなったんだそうです。

私も台湾の料理の一品一品では好きな料理はいろいろあります。臭豆腐もいいし、蛋餅もいい、葱油餅もいい、どれも単品としては美味いです。しかし問題はどれも超薄味で極めてシンプルな味付けなこと。だから2~3日の台湾旅行なら、誰でも美味しく楽しめるでしょうが、3ヶ月続くと人によってはかなり厳しいでしょう。

あと、こちらの「運び屋」さんのブログにも書いてありますが、台北の飲食店は、美味しくしようとする努力が全く感じられない店が多いのですよ。食べると「あちゃー」となるマズい食い物が多数あります。

涼麺。マズいがハマる。
この涼麺という料理は、本当に信じられないくらい不味い店が多いので逆に面白いです。でもマズいのになぜか食べたくなる中毒性のある料理なんです。僕は好きですね。涼麺。死ぬほどマズいけど。

というか、全般的に台北の食い物好きなんですよね。もし食べるのが一日だけでいいのなら。毎日食べてると、その薄味さだけじゃなく、サービスが皆無な点や、店がとても汚かったり殺風景な点などに、どんどん心がやられてきます。

いくら安食堂だって、毎日通ってるんだから、「こんにちは」とか「元気?」くらい言ってくれたっていいじゃありませんか。それが、紙に注文を書いて渡して、どんっと料理を置かれるだけ。それじゃあねえ。

その点、近所で深夜営業をしていた涼麺屋は、ほんっとーにマズいのですが、おばちゃんがなんだかんだ話しかけてくれたりして、常連扱いしてくれたこともあるし、マズい涼麺にすっかりハマって毎日食べてしまいました。


台北で一番よく食べたのはバインミー
他にも色々と気に入らない点は多々ありましたが、まあ、細々と愚痴を書いてもつまらないだろうからやめておきます。

折角の海外生活があまり楽しめないし、中国語も十分に実践出来なかったのは、とても残念な話でした。台北は先進国の大都市なので、みなドライですし、そこに溶け込むためには、かなり努力してあちこち動き回らねばならなかったのでしょうが、体調が悪くて、とてもそれどころではありませんでした。

結局のところ、最後の頃には林森北路の居酒屋で飯を食ったあとに日本人がやっているワインバーに行って、日本人とばかり話をするような生活になってしまい、ほんっとーに何をやってるんだ、という感じです。

昔、2004年にソウルで三ヶ月韓国語を学んだときはどこでも大歓迎されてとても楽しかったのですが、最近はソウルに行くと、とても人が冷たくなった、情がなくなったと感じます。やはりどこの都市も大きく発展してしまうと、そのようにドライになるのかもしれませんね。台北ではなくて、台南のような地方都市に滞在すれば、また違ったかもしれませんね。

あと、たぶん私が贅沢になり臆病になっているのも原因なんでしょうね。2004年の僕は、誰でも外国人と話せれば、それだけで楽しいと思っていました。もっと若くてオープンだったと思います。店に行って、常連扱いされないなど当たり前のことだと思ってました。

今の僕は、日本でもタイでもどこでも常連扱いされるのになれきっています。どこにいってもお店の人と一言二言話して、二回目に来ればもう常連として扱ってくれますからね。若くてコミュ障だった自分とは大違いです。それが台北では通用しなかったのでショックなんでしょうね。


今年はいつも通り、南国のバンコクに滞在しています。やはり乾期のバンコクは天気が良くて暖かくて人々も穏やかで最高です:) やっぱりバンコクサイコーです。

韓国とタイの空港鉄道が全く同じ大失敗。どこの国も政府はアホだ。

本ブログはなるべく良質の記事だけをお届けしようとした結果、あまりに記事が減りすぎてしまったので、ちょっと気軽に書ける雑な記事を増やしていこうかと思います。

さてソウルの仁川国際空港と、バンコクのスワンナプーム国際空港は、どちらも古くなった旧空港から新しい場所に移転した空港です。いわば成田空港のようなものでしょうか。仁川空港は成田空港と同じく、かなり離れた場所にあります。

仁川国際空港にもスワンナプーム国際空港にも、わりと最近になって待望の空港連絡鉄道が完成して運用されています。どちらもタクシーやバスに頼らないで済むので、旅行者にとっては安心して利用出来る乗り物です。

しかしどちらも致命的な運用上の欠点のせいで、空港への到達時間を短縮することには完全に失敗しています。それどころか仁川空港への空港鉄道は深刻な経営危機に見舞われています。


この二つの空港鉄道には、どちらも急行と鈍行があり、鈍行は頻繁だけど、かなりゆっくり走ります。急行はたまにしか来ないけど、わりと高速に走ります。

困った問題は、鈍行と急行で料金が違い、さらに改札口やプラットホームまで違っているため、ホームにいって急行が来たらそれに乗るということができないのです。そのせいで、たまにしか来ない急行を当てにして急行ホームに行く人は誰もおらず、急行はガラガラどころか乗客がほぼゼロの状態です。

ついにはバンコクのエアポートレールリンクでは急行の運行を取りやめてしまいました。

どちらも京成スカイライナーなみの160km/hの設計速度を持っており、本来は空港への到達時間を大幅に短縮するはずなのに、なぜこのような事態になってしまったのでしょうか?

推測出来る理由としては、韓国もタイも、日本のような郊外鉄道網を一切持っておらず、地下鉄のような都市内鉄道と国鉄の二系統しかないために、郊外高速鉄道の運営経験が全くないということがあります。

そのためアホなコンサルタントか誰かに騙されて、急行と鈍行の料金を変えようという、馬鹿な価格差別化を設定してしまったのでしょう。しかし一体誰が、10分~20分程度の時間短縮のために、たまにしか来ない急行列車を待って、わざわざ高い運賃を払うというのでしょうか? あまりにもアホすぎます。鈍行に乗った方が普通は早く着くんですから。

その結果、仁川空港鉄道の急行は一日2000人しか乗らないのに、ガラガラの列車を意味もなく運行しつづけているというアホ状態です。せめて失敗を明らかに認めただけバンコクの方がずっとマシです。


この話はアホ過ぎてビジネスの教訓にはならないかもしれませんが、政府や公共部門が本当に愚かな振る舞いをするのは日本に限らず、どの国も一緒ということです。

政府公共部門や大企業などの大組織において、どのようにガバナンスを効かせて、まともな意思決定や組織運営が行われるようにするかというのは、21世紀における最も重要な問題ではないかなと思います。全てのニーズが自由市場だけで解決するわけではありませんから。

また、世界における貧困問題や紛争などの問題は、99%は政府部門がアホすぎるせいで発生しています。べつに空港鉄道が多少アホでも人が死ぬわけではないので、まあ、大した問題ではないのです。しかしこの地球上の多くの領域では、政府がアホすぎるせいで、多くの子供達が飢えや病気や戦争で死んで行っています。

政治と経済という領域が21世紀の最も重要な課題であると私は信じます。ですが、残念ながら政治学も経済学も完全に停滞しており、それを解決する方法はまだ全く見つかっていません。

あれ、なんかタイと韓国の空港鉄道を気軽に馬鹿にするだけの記事のはずが、なんか偉そうになってしまったので、ここで筆を置きます。まあ、世の中、どこの国にも、理不尽なことや愚かなことは沢山ありますねと。


余談: ちなみに成田空港のようにそもそも空港自体がとてつもない大失敗である件に比べればずっとマシな話です。成田空港は悲惨すぎて馬鹿にする気にもならないですね。考えると気分が暗くなってしまうので。逆に空港と空港鉄道が模範とすべきなのは香港国際空港ですね。あれは素晴らしい。

2015年10月31日土曜日

サルサDJを始めるための基礎知識

私がサルサDJを始めてから数年が経ちました。福岡では新しくDJを始める人が大勢いて盛り上がってきています。ここで友人知人やその他で、サルサDJを始めたい人のために基礎知識を書こうと思います。世の中にDJの情報は色々ありますが、サルサDJは、他のジャンルとは全く異なるので、あまりネット上の情報は役に立ちません。

サルサDJは、他のジャンルのDJと異なり、DJとしての特別な知識や技量は必要ありません。サルサの音楽を愛しており、沢山の曲を持っていて、さらに家で普段から良い音でサルサを聴いているサルサダンス上級者であれば、すぐにでもDJを始めることができます。

(ちなみにこれはサルサDJが簡単という意味ではないです。色々な趣味を持つお客様を広く満足させるのは、かなり大変ではないでしょうか。特別な技量が要らないだけに、DJの曲の知識と趣味が直接問われますし、批判も多いです。さらにバーでプレイするなら、お酒の売り上げも増えるように考えなければなりませんしね。)

・機材

サルサDJの機材は、パソコンにUSBオーディオ出力インタフェースを接続して行うのが基本と思います。オーディオ出力インタフェースがないと、再生中に次の曲を探すためにヘッドホンでの試聴が出来ないので、オーディオ出力インタフェースは必須です。

他のジャンルのDJと異なり、サルサでは決して曲をミックスしてはいけませんので、DJコントローラーは不要です。

パソコン用のオーディオ出力インタフェースには、DJ専用のもの、オーディオ用のもの、安価なパソコン周辺機器のものなどがあります。

音質にシビアでなければ、安価なUSBオーディオデバイスをヘッドホン用にして、パソコンのヘッドホン出力からスピーカーに再生すればいいでしょう。本当に安いものであれば、1000円以下でも探せると思います。Amazonで「usb オーディオ」などで検索すればでてきます。

もちろん定期的にDJをするのであれば、お客様のためにも当然1万円くらいのちゃんとした製品を買うほうが良いとは思いますが。

タブレットやスマートフォンからDJをするのはちょっとトリッキーです。USBのような標準の外部インタフェースがありませんので、専用機器と専用ソフトウェアを接続して行うことになります。iOS用であればTraktor Audio 2などの製品がありますが、Android用のDJ製品があるのかどうかはちょっと良く分かりませんでした。

・ソフトウェア

DJ用ソフトウェアは、サルサDJならば何でも良いのではないかと思います。私の周りではVirtual DJを使っている人が多いようです。私はTraktor Proを使っていますが、どうもプレイリストの自動再生機能がちょっと使いにくいので、いまいちサルサDJには向いていないように思います。

・曲を入手する

サルサDJをする上で、一番難しいのが曲を入手することです。

ラテンの曲が一番揃っているのは、iTunes Storeの米国版かと思います。iTunes Storeの米国版を使うには、米国版iTunesカードを購入してそれで支払をするしかありません。割高だし、面倒なのですが、現在の所は他に方法がないので仕方が無いですね。私はこちらのサイトからカードを購入しています。

他には、日本のAmazonダウンロード販売でダウンロードしたり、Amazonから普通にCDを購入したり、ラテン音楽ネットなどの専門サイトからCDを購入したりする方法があります。

一つ注意点としては、クラブの大音量で再生するときは音質が問われますので、家でもなるべく良い音で普段から音楽を聴く方が良いかと思います。世の中には音質が悪かったり、演奏の質が悪かったりする曲もあるけれど、そういうものはきちんとした音で聴かないと分からなかったりするものなので。

あとiTunes Storeなどでは、有名な曲を検索すると、多くの無名演奏家によるカバー演奏が掲載されていることにも注意が必要です。よほどの理由がなければ、名曲のカバーをわざわざ選んでプレイする必然性はないでしょう。皆が知っている元の名曲をかけるべきです。

・曲を選ぶ

サルサDJの仕事は、とにかく曲を選ぶことに尽きます。どんな曲をかけるかは、もちろん趣味の問題ですから、私がアドバイスできることはありませんが、あまり趣味に走りすぎず、多くのお客様が楽しめる名曲をかけるようにしたいものですね。

サルサであれば、BPM (Beat Per Minute, 曲の速さ)は97あたりが標準で、90~100くらいが普通に踊りやすい範囲でしょう。フロアが初心者ばかりであれば、80~90もアリだと思います。105以上のBPMは、とても速いので、たまに盛り上がったタイミングでかけるくらいが無難だと思います。(もちろんメレンゲとバチャータは全く別のテンポです)

(BPMは曲をDJソフトウェアに投入すると自動的に解析されて表示されます)

曲の長さは、4分くらいがベストです。実際には、そこまで短い曲は少ないので、4~5分の曲を選んでかけることになるでしょう。5分を超えると、踊っている方としては、結構長く感じます。6分の曲は、ごくごくたまにかけるくらいならアリでしょうか。7分以上の曲は絶対にやめたほうがいいですね。

サルサDJは曲をかけてる最中はとくにすることはないでしょう。DJソフトウェアを使えば、音量なども自動的に適切なものに調整してくれますし、やることはありません。次の曲を選んで自動再生をセットしたら踊りにいってもOKです。

・曲を編集する

先ほど書いたように、サルサDJでは、踊る人の都合を考えると、曲はなるべく5分までの長さに抑える必要があります。

しかしDJとしては長くても「この曲は是非かけたい!」という曲もありますよね。そういうときに役に立つのが音楽編集ソフトです。これを使えば、曲を編集して途中を切断してつなぎなおしたりして、短く編集することができます。

私が使っているのはAbleton Liveというソフトですが、他にも色々なソフトがあると思います。こうしたソフトは、DJソフトと同じようにテンポ解析機能が入っているので、うまく行けば、あまり苦労せずに曲を切断してつなぐことができます。(ま、実際はかなり苦労したりしますが・・・)

プレイ中に、曲をフェードアウトしたり、曲の途中で他の曲に切り替えたりするDJもいますが、踊ってる方からすると途中で曲を切られるのはかなり違和感がありますので、なるべくやるべきではないでしょう。わざわざフェードアウトしなくても、世の中には5分以内で良い曲が沢山あるのだから、そういう曲をかけるべきです。

あらかじめ音楽編集ソフトで、不要なコーラスの部分などを切断してリミックスしておけば、現場で曲を叩ききるよりも、ずっと自然に気持ちよく踊ってもらうことができます。もちろん皆が知っているような有名な曲はリミックスするべきじゃないですが。曲を知ってる人は、それに合わせて踊りますからね。

どうしてもフェードアウトをするとしても、単にフェーダーを下げて曲を途中で終われば良いというものではなく、曲のちょうどよいタイミングで、ちょうどよい速度でフェーダーを下げなければならないので、あらかじめ編集しておけば、ずっと容易にスムースなフェードアウトをすることができます。

もちろん次の曲をミックスしてスムースに別の曲につなぐのは言語道断で迷惑千万なので、絶対にやってはいけません。サルサを踊る人ならご存じの通り、どこで踊るのをやめれば良いかわからなくなり、困惑して非常に嫌な気分になるからです。(ちなみにサルサを普段から外に踊りに行かない人はサルサDJをするべきではないですね)

2015年7月27日月曜日

意外と難しいSaaSの料金体系。どのようにすべきなのか?

新規ビジネスにとって料金設定(プライシング)というのは最も難しい悩みの一つだと感じます。料金設定を間違えてしまえば、どれだけ優れた商品であっても失敗してしまいます。

とくにSaaS(クラウド型ソフトウェアサービス)の料金設定は、まだ各社ともに試行錯誤ともいえる状況で、参考に出来る情報なども少ないように思います。

SaaSの料金体系には、ざっと思いつくだけで以下のような方式があります。
  • 初期費用
  • 月額費用
  • IDあたり費用
  • データ量あたり費用
  • 使用回数あたり費用
  • その他の従量費用
  • 料金プラン制

このなかで、罠と言えるのが「IDあたり費用」ではないかと思います。

ユーザIDの数が、ソフトウェアの利用価値と直結しているようなソフトウェアであれば、ユーザIDで課金することには合理性があります。しかし単純な顧客管理ソフトウェアなどは、アカウントを複数人で共有しても価値があまり変わらず、ユーザ数単位で課金することは顧客にとって納得性が低いものになります。

ソフトウェア業界の慣習としてユーザ数課金が行われてきましたが、多くのユーザが様々なデバイスからソフトウェアを利用する時代に、ユーザ数課金はそぐわない場合もあるかと思います。


さて、ここで可変的な料金設定にはどのような意味があるのかを基本から考えてみましょう。

IaaSと異なりSaaSでは、多くの場合は、ユーザの利用量によってコストが大きく変わるというわけではありません。

そのため顧客の利用パターンによって料金を変えるのは、より多くのお金を払っても良いと思う顧客から、より多くのお金を取るという意味になります。いわゆる価格差別やバージョニングと言われる概念です。(詳しくは「ネットワーク経済」の法則を参照)

通常は、顧客が得られる価値によって価格を変えるのが適切と思われます。

すなわち、もしユーザアカウントを増やすことによって価値が得られないのであれば、ユーザアカウントによって課金するべきではない、ということです。


データ量による課金や、従量制課金には、問題点として、どれくらいの料金がかかるのか前もってわかりにくいとか、複雑だということがあるかと思います。

データ量による課金とは、例えば、名刺管理ソフトなら、保有できる名刺データの最大枚数とか、そういったもので課金する方式です。これだと、活用している程度によって金額が変わるので、ある程度の納得感があります。

妥当性をもった予測可能な価格設定になっていれば、利用料金が変動すること自体は問題がないのではないかと感じます。(メイシーでの経験上)


料金プランの設定には注意が必要です。最近流行のSaaSですと、よく上中下みたいな3プランを用意しているものが多く見受けられます。

しかし、多様な顧客の要望にほんとうに3パターンだけで応えられるものでしょうか?

上中下で、上が月額5万円、中が月額1万円、下が月額2千円などとなると、あまりにギャップが開きすぎていて、そのあいだを望む顧客は失望することでしょう。

私は実際にOptimizelyというサービスを昔に使っていまいたが、料金プランに納得感がなくて利用継続をやめました。

複雑な料金体系であっても、細かい価格設定によって、納得感のある支払ができるようにしたほうが顧客のニーズに応えられると思います。

なぜなら、ビジネス利用されるお客様で「多少お金を余分に払ってもいいから、簡単な料金プランで分かりやすいようにしてくれ!」なんて考えるお客様は滅多にいないからです。(というか、もしそういうお客様がいたら特別プランを作成してあげればよろしい)


初期費用ですが、これは法人向け製品であれば、なるべく設定するべきだと思います。

その理由ですが、営業宣伝費用の早期回収につながることでビジネスの成長を圧倒的に速くできることがまずひとつあります。これは極めて重要です。

もうひとつは顧客にとって新規ソフトウェア製品の導入は、そもそも支払額以上に手間がかかりコストがかかるものなので、初期費用を払うことにはさほどの追加の抵抗感がないということです。

日本のお客様は、月額費用のように継続して発生する費用には抵抗感があることが多いものです。


最後に、価格設定一般の話になりますが、商品の価格は高ければ高いほど、ビジネスは楽になる、というのが私の考えです。

コカコーラやマクドナルドのように100円の物を売って儲けるのは、きわめて難しいことであり、多くの起業家にとってそのようなビジネスを作り上げるのは困難でしょう。なぜなら広告宣伝費や販売チャネル構築などの初期投資が多くかかること、大量生産と大量販売を行うには組織の能力が大きく問われるからです。

それに比べて、ソフトウェア受託開発業、人材派遣業、不動産業、コンサルティング業など、顧客単価が数百万円を超えるような商売では、超零細企業であっても生きていけますし、それどころか、ボロ儲けしてる場合すらあります。

(ただし、もちろん簡単に構築できるビジネスほど、労働集約性が高いので、商売のウマみは少なくなります。)

弊社の経験からも、通常の中小企業であれば、顧客単価は10万円を最低ラインと考えるのが良いかと思います。なぜなら顧客獲得単価は最低でも数万円はかかるからです。できれば、そのうち5万円くらいは初期費用として回収してしまえると、資金回転率が改善するでしょう。

できれば、一社から年間100万円以上の粗利を獲得できるようになれば、大幅にビジネスは楽になります。大企業のように安く沢山売ろうなどとは考えないことです。

さらに厳しいことを言うと、ソフトウェアの限界費用は0円なので、新規参入が増えれば増えるほど値段は安くなっていきます。儲けられるうちに儲けるというのは良い考えですし、価格を高くして面倒なことを引き受ければ引き受けるほど、新規参入者にやられにくくなります。

「顧客単価」を考えるだけで、ビジネスが無残にも離陸すらせずに墜落してしまうことが少しは避けられるのではないかと思います。参考になれば幸いです。


参考: ソフトウェアの価格について以前書いた記事もあわせてご参照ください。