2016年2月19日金曜日

MacにWindowsキーボードを導入した顛末(その2:キーボード設定編)

以前、Microsoft謹製のキーボード、Microsoft Natural Ergonomic Keyboard 4000をMacにつなげてみた話を書きました。

本当は設定云々以前に、そもそもの購入のきっかけとなった手首の痛みの話を先に書くべきですが、まぁ1週間程度で劇的に良くなるわけでもなく、もっと言えば、エルゴノミックキーボードなんて眉唾だ、という説もあるわけで、この辺はまた後日お伝えしたいと思います。

さて、本題のキーボード設定です。これも前回書いたとおり、Windows用キーボードをMacで使うために、キーマッピングを一部変更する必要があり、そのためのツールとして2種類のアプリを導入します。そのうち、「Seil」はCaps Lockキーや、IME変更用のキーあたりをカスタマイズするもので、設定内容もそれほど多くなく、アプリダウンロードサイトの説明だけで事足りるのですが、もう一つのアプリである「Karabiner」が、いい意味で「厄介」です。カスタマイズを広範囲にできるのです。

では、ざっくりとカスタマイズした内容を説明すると、
・キーボード最下列の修飾キー群をMacキーボードと同じ並びにする
・Macキーボードには存在しない「半角/全角」キーを、IMEの切替用に(普段使わないが)
・リモートデスクトップで使うキーのカスタマイズ
です。そしてこの中で一番「厄介」なのは、リモートデスクトップ用カスタマイズです。

実は、このアプリは、Macのアプリ単位でもキーの配列を変えることができる機能が通常で存在します。また、更にコアなカスタマイズを、設定ファイルを作ることでできるようになったりするのです。非常に便利。

まずはこのサイトを参考に、リモートデスクトップのみで機能するキーマッピングを設定、更に、リモートデスクトップ先でのIME切替をMacキーボードの「英数」「かな」(それぞれWindowsキーの「無変換」「変換」に割り当て済み)に『Windows側で』アサイン、ひとしきりプログラミングをしてみると、ほぼ完璧に普段通りのキーマッピングが再現できました。スゲーよ先人たち。

とは言ったものの、Macと(仮想デスクトップの)Windowsを交互に使い続けること数日、ちょっとした違和感を感じるようになりました。

キーボードショートカットの使い方です。
例えば、今この記事はMacで書いています。文章の編集をしているので、いわゆる「コピペ」の作業が発生するのですが、Macのコピー&ペーストは「Command+c/v」を押すことになります。で、このCommandキーはWindows(リモートデスクトップ)では何にアサインしてあるかというと、「Windowsキー」にアサインしてあるのです。しかも、キーボード上には「Alt」の文字が。

ちょっとややこしいですが、そもそも(キーボード左下の)MacのCommandキーとAltキー(正しくはOption/Altキーですが)の並びがWindowsと逆になっているんです。・・・まぁこればかりはMacとWindowsのキーボードを並べて見てみないとわからない話で、しかも指の感覚というか記憶でなんとかなる話なのでおいておきますが。

話を戻すと、コピーやペーストをするとき、MacではCommandキーと何かを同時に押す、という作業をしますが、Windowsではどうかというと、Ctrlキーを使うわけです。コピーなら「Ctrl+c」です。ちなみにCtrlキーはキーボード最左列真ん中のCaps Lockキーにアサインされています。

要は、MacとWindowsでコピペをするときに指の位置が変わってしまうわけです。

当然、Karabinerにもその問題を解決するための選択項目があります。Command+なんとか、でWindows側でも扱えるようにする項目はあるのですが、まだそれを導入していなかったりします。理由は2つ。
・Windowsキーを修飾キーとして使うことがある
・そもそもMacのCommand+αキーが好きじゃない

コレばかりは手癖の問題もあるので、個人的には(Windowsの)左端のCaps LockキーがCtrl/Commandであり、MacでのControlキーもやはり同じ場所にいてくれるのがベストなんですが。ちなみに、MacのControlキー、ターミナルアプリを使うときに使うんです。Control+cでコマンドブレイクになるので。それだけなんですが。

それともう一つ。これは次回までの宿題なんですが、前回も書いたとおり、このキーボード、プログラマブルキーがいっぱいついてます。コレを使えないかな、と現在画策中です。使えないキーも多いっぽいところまでは調べているのですが、使えたら便利なので、いろいろ試しています。

2016年2月11日木曜日

MacにWindowsキーボードを導入した顛末(その1:キーボード購入編)

そもそもの話だが、普段はMac使いの私。仕事上Windowsを使うにしても、仮想デスクトップを使っているので、やっぱり目の前にいるのはMacなのです。

最近、特に趣味の筋トレをしていると、手首に痛みを覚えるようになりました。そこで、思い当たる理由を考えてみたところ、筋トレ自体には問題がなさそうなのですが(週1〜2回ですし手首に負担をかけるトレーニングメニューもほとんどないので)、毎日の生活で手首に負担をかける行為といえば、次の2つのことがありました。
・寝ている時に手首をひねっていることがある
・Macのキーボードを打つときに負荷がかかっているようだ
寝相の問題はいかんともしがたいのですが、Macに向かっていて、キーボードを叩く時間はおそらく一般の人達に比べても相当長いわけで、そこに原因があるかもと考えました。

私の使っていたキーボードは一般的なApple Keyboardというやつなんですが、結構キーが引っかかることが多く、そのため無駄に力を入れているのでは?という仮説が生まれました。

そこで、中古屋さんでたまたま見つけてしまったのが、
「Microsoft Natural Ergonomic Keyboard 4000」
でした。2,000円で購入。

なんと、このUSBキーボード、基本のキーを入力するだけならMacにケーブルを差すだけで入力ができます。ちなみにここまではなんの設定もしないまま使っていたりします。

ただ、MacとWindowsのキーボードはいわゆる「修飾キー」の配列が微妙に異なっているので、配列の違いをどのように吸収するか、そして、今までずっと悩んでいた、仮想デスクトップでのキーボード配列の勝手な変更をどう解消させるか、ということが次の問題になってきます。

調べてみると、そういう問題を解消してくれるソフトが存在するとのことなので、実際に導入してみることに。
  1. Karabiner(https://pqrs.org/osx/karabiner/index.html.ja)
    これはいわゆるキーボードカスタマイズツールです。OSレベルだけでなく、アプリレベルでも使えるとのこと。ただ、これを使うのはかなり難しいようで、未だにうまくいかない点が多いです。もう少しいじってみてから報告します。
  2. Seil(https://pqrs.org/osx/karabiner/seil.html.ja)
    これは、Macに存在してWindowsに存在しないキーである、「英数」「かな」キーを使えるようにするものです。Macのスペースキーの両隣にあり、Windowsでいうところの「半角/全角」キーの役割があります。
    私は、Macと同じようにしたかったので、スペースキーの両隣にある「無変換」「変換」がそれぞれ「英数」「かな」にアサインしています。
と、ちょっといじるだけでかなり使えるようになります。個人的にはオススメ、なのですが、問題は「修飾キー」の刻印と内容が微妙に違うこと、そして「ホットキー」と言われる、プログラマブルキーが使えないくらいでしょうか。

もう一つ、これは個人的な問題ですが、数字の「6」の場所です。
このエルゴノミックキーボードの大きな特徴は、キーボードの真ん中に空白の空間があることです。ブラインドタッチをする方はわかると思うのですが、右手で打つキーと左手で打つキーの間に大きな空白がある、ということなのですが、この分け方、アルファベットで言えば、T、G、Bの右に空間があるわけです。

まず左手の話をすると、指はA、S、D、Fに置かれ、それぞれの上下にあるキーはそれぞれの指で押されるわけです。そして、GはFを押す指と同じ指(具体的に言うと左手の人差し指)で押します。では、その上にあるキーは、というと、Tと5になるわけです。

では右手はどうかというと、右人差し指はJに置かれます。その上にあるキーはUと7になります。そして、Jの左隣にあるHの上はというと、Yと6になります。が、なぜかこのキーボード、6は左側にいるのです。


これはすごく困る、という問題でもないのですが、ちょっとした瞬間に「あれっ?」とはなります。なぜこうなったのやら、と思います。 

2016年2月10日水曜日

小ネタ:「スマホのアプリを作りたいんですが」という相談について

仕事柄、スマホアプリの作成を相談されることがあるわけです。

それが、業界にある程度詳しい方たちであれば、大体の予算感もわかるし、規模も理解されているわけで、こちらの見積などに対しても「それなりの」反応はしていただけるわけですが、最近はちょっと事情が違ってきているようです。

先日も、個人で仕事をしている方からそんな相談を受けました。全くITとは関係ない業界の方でしたが、一応話を聞いてみると、お客様のスマホにアプリを入れて自社の商品を売りたい、というものでした。しかもオススメ機能なども含めて欲しい、というお話。

そのうち、お話がだんだんとふくらんできたので、

「ちょっと待って下さいな」

と。そして、
・「スマホアプリ」はスマホだけで完結しないものもある(今回の件はそのパターン)
・作るのはいいが、どうやって配布するのか(値段はどうするか、という点も)
・アプリの公開によって収益がどれほど見込めるのか
なんて話をしたうえで、予算感を伝えたところ、

「そんな金額個人商店で出せるわけないじゃないの!」

と言われてしまいました。

意外かもしれませんが、「アプリ」と言っても、ただスマホの画面上にあるモノだけを作るわけではないんです。必要があればクラウドサーバなどへの接続を行ってみたり、お客様の情報を管理しているデータベースとの接続があったりするんですが、そういったのを作るのがプログラマとしての「腕の見せ所」なんです。そして、それが思っている以上に開発の料金に上乗せされるわけです。

そこまでは理解できている方でも、その次の話、「アプリと(商売の)収益」、という話になると今ひとつピンと来ない方が多いです。

例えば今回のお話で言えば、要するにAmazonアプリと同じものを作りたい、と考えているのだと仮定します。ちなみに、Amazonのアプリは無料で提供されています。もちろん、今回の方も「アプリは無料で配布したい」とおっしゃっていたのですが、そのアプリを使ってくれるというお客様は一体どれくらいいるのかを考えてみましょう。

Amazon(日本に限ります)の月間のユーザ数は、およそ5,000万人(2014/12のデータです)。この年の年間売上高が8,300億円ですから、一ヶ月平均690億円。一人あたりの売上は1,400円程度/月になります。

これを個人でやろうとするとどうなるか。お客様の数や販売する品物の種類にもよるのですが、月間ユーザが100人程度で、商品が1ヶ月で消費されるもの、価格は通常店頭で販売している価格が1,000円のものを同じ値段で買うと仮定すると、月間の売上は10万円になります。が、配送料を販売側が持つとすればその分利益が減る事になります。そして、開発費用が仮に100万円だったとすると、およそ1年分のアプリからの売上を持っていかれることになるわけです。

実は、私はいつもこういった相談を受けた際に、一応こういった説明をし、それを前提に見積をすることにしているのですが、やっぱり反応がすごいです。びっくりされて、「やっぱり無理かぁ」で終わることが多いです。やはりそれでも相談に乗って欲しいと思う方が多いというのは、それだけ「スマホのアプリ」が一般的になってきたから、そして、それを便利だと思って使っている方が多いからなのだろうな、と感じています。

私は作るだけでなく、マーケティングも多少かじっているので、どうしても「作りまっせ!」一筋では行かないんですよね・・・。