7月 14, 2016

C#, OpenGL, HMD

 旧Poderosaを実装していたころは、単に「WindowsのGUIアプリを作るにはC#が手っ取り早い」というだけの理由でC#で書いていました。当時はスマホは世の中に存在せず、ガラケーの時代でした。

 Poderosaをリニューアルする企画を最初に考えたのは2014年くらいだったと思いますが、iOS/android版を作るとしても、「果たしてスマホでSSH操作をしたいか?」という疑問がやはり残りました。外出先から緊急対応でスマホからログイン、というシチュエーションは一応ありますが、サーバアプリの再起動くらいはともかく本格的な情報収集や障害対応をスマホでやるかというと大いに疑問です。
 タブレット+Bluetoothキーボード、という環境まで作ればiOS/android版でもPCとほぼ同等の操作感を達成できますが、そういう環境の人はかなり少数でしょう。

 そういった判断から一度はリニューアル企画はボツにしたのです。iOS/android版にするなら描画はOpenGLだよな、ということでOpenGLの勉強をちょこっとやってアニメーションの試作とかをして終了になりました。

 状況が動いたのは2015年、ViveやOculus RiftのようなHMDのハードウェアの情報が出てきて、アプリを実際に体験してからのことです。
 この環境だと、従来のキーボードやマウスに加えて、首振りや視線の移動も入力デバイスになるので、シェルの作業効率は大きく高まるだろうし、没入感が高いため、仕事中に余計なWebやメールを見たりせず、仕事に集中できるというのは確実なメリットだろうと感じました。映画「マイノリティ・リポート」に出てきたような世界はすぐそこです。

 さらに、HMD用のメジャー開発環境であるUnityがC#を使っていること、XamarinがMicrosoftに買収されてC#/.NET界隈のオープン化が進みそうなこと、というタイミングも重なったので、Poderosaをマルチプラットフォームにしてリニューアルする方針が決定されたのです。

 正直、2015~2016年現在のHMDのハードウェアでは、解像度の低さ等から、シェルの操作を常用するには厳しいものがあります。ですが、ハードウェアの問題は数年で解決し、遅くとも2020年には十分な解像度・性能のHMDが手ごろな値段で入手できるようになるでしょう。HMDをやるなら「ついで」にiOS/androidもできてしまうでしょう。新Poderosaはそれを見据えています。

 まあ、HMDの本命コンテンツがゲームやアダルト系である、というのはそのとおりだと思いますが、ソフトウェア開発者やネットワークエンジニア向けにもそこそこ有力です。VisualStudioがHMD対応したらすぐPoderosaの開発をそっちに移行しますよ!