LED通信事業プロジェクト エンジニアブログ
Windows Phoneの思い出 前編
記事更新日 2024年5月14日
はじめに
会社の業務都合上、小型機器(携帯電話や組み込み)用のWindowsっていうのをかなり昔から扱っていました。多分、最初はWindows XP Embeddedだったと思います。その後も、様々なWindows系のデバイスを扱ってきました。私はこのブログでF#の連載をしているのでも分かるとおり.NET言語も初期の段階から扱ってきたので、前述の小型機器用Windowsのアプリも趣味程度ではありますが、かなり初期から開発してきました。(尚、ここでは、小型機器用=電話、PDA、小型コンピューター等を指します。)
しかし、近年になって小型機器用として開発するのは、Raspberry Pi(ラズパイ)かArduinoのいずれかのみ。特にラズパイは、.NETでも開発できるようになったため、Windowsとかラズパイとか、OSの違いを気にすることなく開発できるようになりました。これは、本当にすばらしい!
けど、そんなある日、ふと思い出したのです。そう言えば、小型機器用のWindowsってあったよな。それどころか、Windows Phoneってあったよな?あれ?Windows Mobileだったっけ?思い出が風化するのは早いもので、もはや私は、Windows PhoneなのかWindows Mobileなのか、その違いすらも忘れてしまっていたのでした。あれだけ、いろんな機器持っていたのに!
「そう言えば、今、小型機器用のWindowsがどうなっているのだろうか?」
現在、通常(intel CPU用)のWindows以外に、ARM用Windowsがあって、Microsoft(MS)はそれに注力していることは知っています。しかし、現在のARM用WindowsはフルバージョンWindowsを動かすためのものであり、私のイメージしている小型機器用のWindowsとは違います。小型機器用と言えば、もう大分前にWindows Phoneが販売終了になったのは、当時盛んに報道されていましたし、記憶にもあります。じゃあ、ラズパイとかで動くWindows IoTの方はどうなったのか?私は早速ググってみました。
結果は、Windows IoTも終了をしていました。Windows IoT Enterpriseという、通常のWindowsと変わらないフルスペックの組み込み用Windowsは現役でしたが、小型モジュール、つまりARMで動かすWindows IoT Coreと呼ばれるバージョンは、すでにサポートまで終了していました。これは、すなわち小型機器用のWindowsというものは、完全に消滅してしまったことを意味します。
「まあ、そうなるよね・・・。 .NET Coreがあれば、別にOSなんて何でも良いからね。」
と、前振りが長くなりましたが、最近、久々にWindows IoTを思い出して検索した結果、小型機器用のWindowsの完全終了を確認したので、追悼というわけではありませんが、私の小型機器用Windowsの思い出を書いてみたいと思いました。日の目を見なかったもう一つのWindowsの歴史を、気楽に読んで頂ければと思います。尚、私の歴史ですので、私が当時考えていたことを書かせていただきます。真のWindowsの歴史とは異なっているかも知れませんが、そこのところはご容赦を。
先行したんだけどな・・・
私の小型機器用Windowsアプリ開発は、.NETからスタートしました。.NETは通常のWindows用アプリ用の開発言語だったのですが、結構早い段階からCompact Frameworkといって、Windows CE用の.NETが存在していました。Windows CEというのは、小型電子情報端末、当時はPDAと呼ばれていた機器向けに作られたWindowsの事です。PDAは電子手帳とも呼ばれていました。今で言うスマートフォンから電話を抜いた感じの機器です。もちろん、スマートフォンほど多機能ではありませんが。さて、話を.NETに戻しますが、当時PCで動く通常版.NETとCE用の.NETの違いは大きくなく、私レベルのプログラマーが使う初歩レベルのAPIは、ほぼすべてCE用.NETでも使えたため、アプリ開発はほぼPCと同じように出来ました。特殊な操作は多くなく、本当にPC用と同じ感覚で作れば良かったんですよ。
Windows CEのモバイル機器用バージョンは、やがて2003年にはWindows Mobileと呼ばれるようになり、後のスマートフォンに繋がっていきます。しかし、当時のWindows Mobileは、PC版のWindows XPのUIをそのまま画面を小さくした感じでした。スタートボタンを押すと、メニューや起動できるアプリなどが表示されるという挙動はWindows XP(含め今のWindows 11)と変わらず、そのスタートボタンが、左下ではなく左上に配置されていた程度で、アイコンやらなんやらはWindows XPと似たようなものでした。そのため、指だけで操作するのは難しく、タッチペンによる操作が必須であり、かといってPCの代わりには力不足で、正直マニア以外にはお勧めできる代物ではありませんでした。
ただ、PCと変わらないという点にはメリットもあり、アプリの開発という面では、前述の通りほぼPC版Windowsと変わらず、ちょっと画面サイズとタッチで操作しやすいような工夫が必要なだけで、開発の制限も少なく、作りやすかったのを覚えています。その頃、モバイル機器のプログラミングと言えば、他にはi-mode等携帯電話のアプリ開発しかないわけで、モバイル機器で自由に開発できていた私は、社内で結構重宝されて、いろんなアプリを作った記憶があります。
Windows Mobileがある程度認知されてくると、台湾HTCが結構おしゃれな端末を出してきたりして、Windows Mobile搭載の携帯電話はスマートフォンと呼ばれるようになっていました。そう言えば、イー・モバイル(現ワイ・モバイル)の最初の端末もWindows Mobileベースの端末※1でした。これから、Windows Mobileの端末が増えていって、ガラケー(といっても当時はそんな呼び名はありませんでしたが)に取って代わるんだろうな、私はそう考えていました。
ちなみに、下の写真はWindows Mobile実機を十数年ぶりに動かしたところ。残念ながら、この画面以降動かずに、起動を断念しました。ぐぬぬ・・・
完全な敗北
しかし、そんなWindows Mobieの僅かな先行者利益は、は2007年(日本では2008年)のiPhone発売により全てが吹き飛ばされてしまいました。
先ほども書いたとおり、Windows MobileはUIがダメダメでした。どれだけいけてないUIだったかは、こちらのページを見て頂くのが早いと思います。PC版Windowsを無駄に踏襲したUIをモバイル機器の画面に押し込んだため、Windowsのスタートボタンは豆粒のように小さく、ペンがないと操作は不可能でした。もちろん見た目も洗練されていない。HTCは、独自のちょっとかっこよいUIをWindows上にかぶせていて、見た目は僅かに良くなっていましたが、一皮むくと、あのWindowsが出てきてしまう。ブラウザもIEそのもので、こちらもスクロールとか表示とかに難があり、普通の人ならPCサイトを見ようとは思えない、そんな出来でした。
しかし、iPhoneは違いました。洗練されたUI。スワイプ、ピンチ、フリック等、指だけでストレスなく操作できる画期的なタッチパネル。PCサイトが普通に読める高性能ブラウザ。さらに、iPhone3Gからはアプリストアも。そういえば、Windowsの延長であったWindows Mobileにはアプリストア的なものがなかった・・・ まあ、それ以外にもiPhoneの素晴らしさというか、当時の革命的な出来映えって言うのは、至る所で書かれていると思うんでこれ以上書く必要はないと思います。当然私も、初めて仕事で触った※2ときは、かなり衝撃を受けました。いや、むしろWindows Mobileをよく知っていたからこそ衝撃は大きかったと思います。今までのもの(=Windows)は何だったのか?これがタッチパネルの本当の使い方なのかと。当然iPhone3Gは発売前に予約して、ソフトバンクへNMPしてまで買いました。そして、妻のiPhoneが購入後二日でいきなり文鎮化し交換となったのも良い思い出・・・
言うまでも無く、Windows Mobileとは何もかも出来が違うんで、iPhone発売以降はWindows Mobileなど話題にも上がらなくなりました。今まで頑張ってきた、業務用端末(レストランのオーダー受付端末等)なんかも、iPhoneに根こそぎとられていきました。一気にひっくり返された原因の一つに、Windows Mobileには、PCのWindowsと連携するって要素が全く無かったという部分もあるかと思います。iPhoneにはiPodからの資産であるiTunesというアプリケーションが存在していましたが、Windows Mobileには、そんなアプリも、Windowsと繋げることでのメリットもありませんでした。折角のWindowsのシェアを、全く活かしてなかったんですよね。マイクロソフトは油断していたのかな・・・
とにかく間違いないのは、スマートフォンという名前は、もともとWindows Mobileのものだったのに、いつの間にかスマートフォンがiPhone(後にAndroidも)を指す言葉になっていた、ということです。
なぜ後発者がその戦略??
iPhoneやAndroidの後塵を拝したWindows Mobileは、UI等も全く刷新し、Windows Phoneを発売しました。それは、iPhone発売からおよそ3年が経過した頃でした。やっと、今どきなUIを装備し、性能と見た目だけはiPhoneとAndroidに対向できるOSとなりました。
うん、結構悪くない。タイルUIはおしゃれだ。iPhoneよりもUIはイケてるかもしれない(便利とは言っていない)。持っていれば、他人と差別化もできる。何より、.NETで開発できる。当時、iPhoneはC系の言語(しかもMacが必要)、AndroidはJava系の言語が必須で、.NET住民としてはなかなか手を出しずらかったのです。しかし、Windows Phoneによって、やっと.NET開発者も今どきの「スマートフォン」向けのアプリが開発できる!と私は喜びました。が・・・
「Windows Phoneのアプリを開発するためには、年間9800円必要です」
は?後発も後発で周回遅れのOSが、何故開発の敷居を上げてるの?バカなの?アホなの? 先行しているAppleが言うなら分かる。いや、百歩譲ってWindows Phoneだとしても、アプリをストアに上げるためだけに必要な料金というなら、それも(高いけど)理解できる。他社も取ってるしね。けど、Windows Phoneは9800円払わないと、スマートフォンの実機でデバッグすることすらできないんです※3。金払わないと電話とPCが繋げられないんですよ。個人であっても金払わないとデバッグさえできないって、どういうことよ?私は一気にWindows Phoneアプリの開発する気がなくなりました。もちろん、9800円にはストアへの登録料も含まれているんですが、私はちょっとした自作業務アプリを試す程度で、ストアで公開する気なんてなかったですし、だからこそ、そのためだけに9800円/年は払いたくありませんでした(貧乏ですいません)。
この開発者料金は、後に19ドルに値下げされ(私はこのタイミングで登録)、さらに無償化されるのですが、まあなんかセンスない方策ですよね。結局無償にするなら、最初から無償にしておけば良かったのに。いや、せめてストア登録とは別にして、実機のデバッグは自由にさせてくれれば良かったのに。実機で試すからこそ見えてくる、出てくるアイデアって沢山あると思うんですよね・・・ それにしても、ユーザー数で明らかに不利だったのに、アプリ開発のハードルを上げるって、どういう意図があったんでしょうね?普通逆ですよね。未だに私には理解できません。
次回予告
新しいスマートフォンOSの出来は良かったが、シェアの巻き返しには至らなかった。ただでさえ少ないアプリ開発者は、次々と脱落していく。そして、スマートフォンOSの争いは、やがてPC向けOSをも巻き込んでいくのであった。エンジニアブログ。次回、「恐怖!起動Windows 8」。 君は生き延びることが出来るか?
※1; EM ONE
※2; 最初のiPhoneは2G(GSM)対応だったため、日本では発売されなかった。そのため、日本で最初に購入できた端末はiPod(iPhoneの電話機能無い版)だった。
※3; 米ドルで99ドルだった。