2013年12月24日火曜日

次期Windowsの 『Threshold』のWinRT APIについて考えてみる

 Windows 8.1がリリースされたばかりだというのに、気が早いもので次期バージョンのウワサがささやかれているようです。コードネーム『Threshold』と呼ばれる次のWindowsは予定通りにいけば2015年の春にリリースされるそうです。

 ま、いままでの例で行くとリリースされたWindowsの評判がイマイチな時ほど、次のWindowsのウワサが早くでてくる傾向があるので、Windows 8.1の動向も気になるところでもあります。

 さて、今のところ分っている次期Windowsでのトピックは大きく以下の2つです。

  1. スタートメニューが戻ってくるかも。
  2. モダンスタイルのアプリがデスクトップアプリのようにウィンドウで使えるようになる。

 Windows 8の登場以来、世間を騒がせているのはスタートメニューの廃止による一連の操作方法の変化なので(1)のスタートメニュー復活が気になる方も多いかもしれませんが、日曜プログラマの私としては(2)のモダンスタイルのアプリがウィンドウで使えるようになるという点は結構重要だと思うのです。

 モダンスタイルのアプリとはメトロスタイルと呼ばれていたスタートスクリーンから実行するアプリケーションです。見た目や操作方法がかなり違うので、そっちに注目がいってしまいますが、実はAPIと呼ばれるプログラムの根本部分が異なっているのです。

 APIについて話すと長くなりますが、一言で言えばプログラムがOSの機能を使うために用意されたモノです。例えばファイルを読み書きしたり、画面に何かを表示させたり、そういったことを実現するために必要なものです。

 WindowsはWindows NT 3.1の時代からWin32 APIとよばれるAPIが搭載されていました。新しいWindowsが登場する度に新しい機能が使えるようになるので、Win32 APIはどんどん増えていきましたが、昔からあったAPIは基本的にはそのまま使えます。これがポイントです。

 新しいWindowsでも古いアプリケーションが動くのは、そのアプリケーションが使っているAPIが新しいWindowsでも古いWindowsと同じように使えるからです。もちろん、様々な理由で必ずしも全てのAPIが新しいWindowsでも古いWindowsと全く同じように動作できないため、時々動作しないアプリケーションもありますが、簡単なアプリケーションであれば期待できるものです。

 対応したアプリケーションがたくさんあるので、多くの人がWindowsを使っていて、逆に多くの人がWindowsを使っているから、対応アプリケーションもたくさん作られる。これがWindowsのエコシステムと呼ばれるものです。良い方向の循環ですね。

 話を元に戻しましましょう。モダンスタイルとよばれるアプリは、Win32 APIとは異なるWindows Runtime(以下WinRT API)と呼ばれる新しいAPIが使われています。Windows RTでは、従来のデスクトップアプリケーションが使えないのは、Windows RTがWin32 APIをサポートしていない(使えない)からです。

 Win32 APIはWindows NT 3.1からですが、登場から20年近くも経ったAPIです。それこそ開業以来つぎ足しつぎ足し使ってきた秘伝のたれのごとく、その時々で拡張されてきたため纏まりがつかなくなってしまいました。また、ハードウェアもソフトウェアもWin32 APIが設計された当時とは別世界になっていますから、そろそろ新しいAPIが必要になったとも言えます。

 実は、Microsoftはこの20年間、APIについて何もしていなかったというわけではなく、10年ほど前から.Net Frameworkというjavaに近い発想の新しいAPIをWindowsに搭載したりしています。アプリケーションの動作環境に書かれていたりするので知っている方も多いと思います。

 この.Net Frameworkの以下のような特長があります。

  1. 比較的簡単にバグの少ないプログラムを作れる。
  2. うまくいけばWindows以外のプラットホームでも動かせる。(javaのような感じ)

 (2)に関しては10年経ってもWindows以外では使えるようになったとは聞かないのでうまくいかなかったということでしょう。プロジェクト自体は継続しているかもしれません。

 そして、この新しいAPIでWin32 APIを置き換えるという壮大な計画を実行しようとしたのが、開発コードネームLonghornとよばれるWindowsで、後のWindows VistaとよばれるOSになるハズだったものです。なるハズだったというのは、この計画自体が失敗して一旦開発をリセットさせて、作り直したのがWindows Vistaだからです。これが開発期間が長かった理由の一つです。

 結局.Net Frameworkは搭載されていますがWin32 APIを置き換えるには至らず、.Net Frameworkは内部でWin32 APIに変換されてWindowsに引き渡されるようなっています。現在もこのスタイルを引き継いでいて、APIの面ではWindows XP以前と大きく変わってはいません。

 とはいえ、置き換えには至らなかったものの、.Net Frameworkが(1)のように、プログラムが作りやすく、バグが出にくいというメリットがあるため、徐々にこのAPIを使ったアプリケーションが増えてきてるのも事実です。

 まだ、Win32 APIと.Net Frameworkという2つのAPIがある状況ですが、そこにを登場したのが新顔のWinRTです。WinRTの特長はざっくり言えば以下のような感じになります。

  1. 簡単に高機能でカッコイイアプリを作ることが出来る。
  2. うまくいけばパソコン以外でも動かせる。

 .Net FrameworkはWin32 APIを置き換えることができるくらいの、かなり細かいこともできるAPIでしたが、WinRTどちらかというとWEBアプリのように高機能なアプリを簡単に作るのが目的のAPIのようです。また、移植性が高いので少なくとも近い将来、WindowsとWindows Phoneで共通に動くようになるハズです。

 さて、話を戻して『Threshold』でした。Thresholdは、このWinRTで作られたモダンなアプリが、普通のデスクトップアプリケーションのように、ウィンドウ表示ができるようになります。そして、たぶんスマホ用のWindows(Windows Phone)とタブレット用のWindows(modern consumer[Windows RT相当])では、今のモダンアプリのように動作すると思われます。

 つまり、まとめるとこんな感じになると思われます。

  1. 1つのアプリでパソコンからタブレット、スマホまでカバーできるようになる。
  2. WinRTのような高機能なAPIでデスクトップアプリケーションが作れるようになる。

 WinRTは高機能でカッコイイアプリを作ることができますが、ハードウェアに依存することや速度を求められるものには向いていません。言ってみればカレーのルーのようなものです。野菜とお肉を入れれば美味しいカレーはできますが、大衆食堂ならいざしらず本格インドカレー屋さんレベルになると力不足というワケです。

 ですから、デスクトップアプリケーションとして使えるようになっても、Win32 APIや.Net Frameworkを置き換えるようなことはないと思われます。ただ、いたずらにAPIをたくさん維持するのは作る側(Microsoft)も使う側(プログラマ)も大変なので、Win32 APIの動向は気になるところです。

 ただ、Microsoftはこの手のことに一貫性があんまりないのは昔からでして、ついこないだも鳴り物入りで導入されたSilverrightというWEBアプリ用のフレームワークもトーンが低くなってしまいましたし、Vistaで導入されたガジェットもWindows 8で廃止になってしまいました。

 余談ですが、ガジェットは、『Windows Vistaで最初サイドバーに固定』 → 『Windows 7でデスクトップアプリのように自由に配置』 → 『廃止』 という流れでした。『Windows 8でスクリーンに固定』 → 『次期Windowsでデスクトップアプリのように自由に配置』 → 『?』 と考えると穏やかではないですね。

 そもそも、WinRTにはいくつか課題もあります。まず、特長である(1)に関しては、既にHTML5とJavaScriptが存在しています。こちらはブラウザ間での対応状況を整える必要があるとはいえ、Windowsに限らず、それこそブラウザさえサポートしていればプラットホームを選びません。

 Windowsはパソコンでは圧倒的なシェアをもっていますが、スマホもタブレットも厳しい状況ですからエコシステムの力は頼れません。WinRTのモダンアプリがHTML5+JavaScriptにどう優位性を出せるかがポイントになります。

 また、(2)に関しても、そこそこシェアのあるだろう古いOS(ここでいうとWindows 7など)では動かないというデメリットや、ソースコード(プログラムが記述されたモノ)やプログラマの知識などの資産を捨ててまで乗り換えるメリットがあるかが問われるわけです。

 とくに後者に関してはWin32 APIから.Net Frameworkに完全移行できていない大きな理由の一つで(もう一つが動作速度)、そういった意味ではやや前途多難かもしれません。

 今後、じわじわと『Threshold』の情報がでてくると思いますが、APIが話題になることは少ないと思ったのでつらつらと書いてみました。Microsoftの方も試行錯誤しているようですし、そもそもパソコンやタブレットなどのライフスタイル自体が『Threshold』の登場するころには大きく変わっているかもしれません。

 そんな、未来を楽しみにしながら、Win32 API 消えないで欲しいなぁとささやかに祈ることにします。ずっとWin32 APIでプログラムを書いている日曜プログラマとしては。

2013年7月7日日曜日

1:5の法則からドコモを考えてみた

 私は技術屋なので経営とかそういった類のことは詳しくないのですが、1:5の法則とか5:25の法則とかはそんな私でもよく聞きます。

 1:5の法則は、新しいお客さんを開拓するのに必要な費用は、今のお客さんに継続して利用してもらうために必要は費用の5倍もかかるというヤツです。赤いアレよりも倍率が高いのは注目ですね(笑) 5:25の法則はその応用で、顧客離れを5%改善できれば、収益は25%アップするという法則です。

 新しいお客さんを開拓するよりも、今のお客さんにこれからも継続して使ってもらう方が安上がりというわけです。だから顧客満足度が重要で、囲込みなんてこともよく行われているワケです。

 ところが、国内の携帯電話キャリアは昔から新規顧客に投資するのが多かったと思います。0円ケータイなんかが良い例で、今でも継続よりも新規とMNPだけ極端に端末が安かったりしますよね。

 もちろんこれから市場を広げていく黎明期にはこの作戦は効果的です。ソフトバンクのようにこれからシェアを広げていく『挑戦者』の場合でもアリだと思います。でも、お年寄りから小学生までケータイを持つくらい普及した今、シェア最大手のドコモがとる戦略ではないでしょう。

 失ったシェアを取り戻そうとMNPに力を入れた戦略でさらなる顧客離れを起こしている姿は、ギャンブルで失ったお金を取り戻そうとドツボにはまっているのと同じように見えます。

 ドコモは土管屋(お客さんから見えない通信部分だけ行う業者)にはなりたくないと言っています。たしか今は総合サービス企業を目指しているハズです。

 私はドコモのサービスは基本的なもの以外はあまり使ってないですが、一番使っているのはSPモードメールでしょうか。お噂はかねがね伺っていらっしゃるかと思いますが、ええ、最悪ですね。

 最初の頃はともかく登場から3年も経っているので、Windows Vista → Windows 7ぐらいの改良が加えられても良さそうなものです。いくら追加料金が取れないからと言っても、ドコモユーザーの多くが使っている基本サービスがあれでは総合サービス企業の実現はまだまだ先になりそうです。

 それとドコモの『新しいサービス』の多くが『新しいスマホ』でしか使えないことが多いのも課題だと思います。ハードウェアのメーカーなら分ります。サービスもハードウェアを売るためのサービスですから当然です。でも、ドコモは違うハズです。

 既存の顧客を大事にし、既存のサービスも抜かりなく、既存の顧客が使っているスマホでもしっかり使えるサービスの提供。

 これは、長らくドコモユーザーである既存の顧客からの、ささやかな願いです。

2013年2月25日月曜日

MDからパソコンに音楽を取り込む。 - CMT-M35WM編

 ついに、SONYがMD対応の音響機器から撤退するみたいです。

http://www.itmedia.co.jp/news/articles/1301/31/news092.html (IT Media)

 DSCF8118

 たしかに、最近では手軽に聞くならパソコンとiPod/ウォークマンで、音質にコダワルならCDで、とリスニングスタイルが変化して、MDの活躍する機会はほとんどなくなりました。お店でもMD対応のオーディオ機器やMDのメディアを見かけることが少なくなりました。これも時代の流れなのでしょう。

 しかし、問題は過去の資産達。音質とかはともかく、懐かしい思い出のMDがたくさんあるわけです。ふと目をやると、そこには再生する手段がなくなったオープンリールのテープの山。早めにダビングしておいて、テープの二の舞にはならないようにしなければ!

ダビング先は、パソコンのデータ以外に選択肢はないでしょう。パソコンのデータにできればあとは簡単にCDにもできます。

MZ-RH1で直接取り込む

 もっともスマートなのは、パソコンに直接取り込める機器を使うこと。『MZ-RH1』などが対応機器です、というかHi-MDではない普通のMDをパソコンに取り込めたのは、この機種以外にはなかったように思います。

http://www.itmedia.co.jp/lifestyle/articles/0603/23/news044.html (IT Media)

 とはいえ、すでに生産終了していますし、もう衰退しつつあるポータブルMD機器に4万円はちょっと。。。

パソコンで一曲づつ録音

 一番スタンダードなのは、MD再生機の出力とパソコンのライン入力をケーブルでつないで、録音する方法でしょう。録音するのにソフトが必要ですが、フリーウェアでも良いソフトがたくさんあります。音質にコダワルなら、オーディオインターフェース機器をパソコンに追加することもできます。

image DSCF1643

 とはいえ、完全なアナログ作業で一曲づつ聞きながら録音していって、波形を見ながら曲の編集をしなければなりません。時間も根気も必要な方法です。

CMT-M35WMとウォークマンを使ってダビング

 前ふりが長くなりましたが、これが今回の本題です。今回SONYが3月に出荷を終了するという最後のMD対応機器になるCMT-M35WMというコンポは『ウォークマン専用USB端子』を搭載していて、ワンタッチでCD/MD/テープからダビングができるようになっています。

 つまり、
 1. MDからウォークマンにダビング
 2. ウォークマンからパソコンにコピー

 この2段階を踏めば、めんどくさい編集作業なくパソコンに取り込めるのでは?と考え至ったワケです。幸い、このコンポを親が持っていたので試してみました。

DSCF8116DSCF8117

 結論から言えば成功です。

 曲ごとに分けられているのはもちろん、MDにタイトルなどを入れていれば、それも反映されていました。(スバラシイ!)

 ただ、ダビングは等倍速なので時間はそれなりにかかります。もっとも、全部終われば自動的に停止するので、パソコンで録音する時のように、前で待っている必要はありません。ラクチンです。

 パソコンに取り込む作業はx-アプリを使います。転送ボタン一発で簡単に取り込めます。こちらはデータのコピーなので、それほど時間はかかりません。なお、ウォークマンの中身をエクスプローラで覗いてみましたが、ドラッグ&ドロップで直接コピーするのは難しそうでした(がんばればできるかもしれませんが)。

 1

 取り込んだ曲はMP3ですが、ファイルの場所はデフォルトではちょっと奥深くにあります。取り込んだ曲(上のスクリーンショットでは左側の曲のリスト)を右クリックしてプロパティを表示させると『ファイル情報』のタブに場所が書かれています。下の図では真ん中辺に長々と書かれているのがソレです。

2 

 ちなみに、x-アプリの設定で保存先を変更することもできます。もう少し分りやすい場所に移動するとよいかもしれません。

3 

<考察>

 ダビングの仕様に関してはわかりませんが、『等倍速』であることからMZ-RH1のようにデジタルで劣化なく取り込んでいるのではなく、アナログでダビングしているのではないかと思います。さらに、録音の設定が128kbpsのMP3なのでお世辞にも高音質であるとは言い難いです。

 以上のことから、この方法は音質にコダワリ、できるかぎり劣化なくダビングする方法ではなく、手軽に手間をかけずにMDをパソコンに取り込む手法と言えると思います。

 ハードウェア的にも、CMT-M35WMとウォークマンが必要になります。ウォークマンはともかくCMT-M35WMはメジャーな機種とは言えないでしょうから、ややニッチな方法になると思います。

 ただ、実売2万円程度で手軽に使えるコンポなのでダビング目当てに買って、終わったらパソコンが苦手な親などにプレゼントするというのも一つの手かもしれません。ウォークマンはこれからも使えるので、MDのダビングが終わったら使い道がないMZ-RH1よりもオトクなのではないでしょうか。

 なお、同様の方法でカセットテープのダビングに関しても、パソコンで直接やるよりも手軽にできると思います。曲ごとに切れるわけではないので、片面で1曲という構成になりますが、後からパソコンで編集することができます。

2013年2月2日土曜日

デスクトップはコマンドプロンプトに成り果てるのか?

 『Windows』が登場する前は、『DOS』というOSが普及していました。真っ黒な画面に、白い文字があって、カーソルが点滅しているアレです。

image

 『Windows』が登場した後も『DOS』でなければできないことも結構あって、とくに『Windows』のインストール作業などでは、最近まで『DOS』の活躍機会がけっこうありました。

 『Windows』が出てきた当初、パソコン上級者の中には『DOS』の方が使いやすいと言う人も多かったですし、そうでなくても『DOS』でしかできない機能がある以上、『DOS』が『Windows』に完全に取って代わられることはないと考える人が大半でした。

 しかし、『DOS』でしかできない機能は徐々に少なくなり、『Windows』のインストールも分りやすいグラフィックとマウス操作でできるようになりました。『DOS』の名残になっているコマンドプロンプトも、『ファイル名を指定して実行』の代わりくらいにしか使っていません。

 『Windows 8』とともに『モダンUI』が登場し、今までのデスクトップは一つの『モダンUI』アプリのような扱いになってしまいました。もっとも、肝心な『モダンUI』がイマイチなせいか、『Windows 8』自体がやや黒史入りがカウントダウンな状況。

 とは言え、今までもパソコンに精通した上級ユーザーこそ、新しい時代の流れを真っ先に否定してきたのも事実です。もっとも、本当に失敗に終わったものも結構あるので、今後どうなるかはわかりません。

  いずれにせよ、今回の『デスクトップ』の動きは過去の『DOS』の動きによく似ています。当時も『Windows』を否定する話も少なくなかったですが、結果はみなさんがよく知っている通り。 

 今回は『Windows』が登場した時とことなり、すでに『モダンなUI』を搭載する先行するOSが存在していることが異なる点でしょうか。あちらはブレない『コンセプト』と洗練された多数の『アプリ』という強力なアドバンテージがあります。

 私は『Windows 8』や『モダンUI』を推進するつもりはありません。どちらかというと否定派だと思います。

 とはいえ、過去のDOSの一件を考えると、『Windows 8』の評価は従来のアプリケーションの使い勝手で決めるべきではなくて、『モダンUIのアプリケーションの使い勝手そのもの』で公正に判断しなければならないと思うのです。

 現状の『モダンUI』アプリはアレですが、もし今後デスクトップアプリよりも使いやすいものに昇華していった時、デスクトップがレガシーになって、コマンドプロンプトのようになる日がくるかもしれません。

 

 

 ま、個人的にはなってほしくないですが(笑)