Living in the Flat World

「世界はフラットになっている」と考えれば、世の中の変化も少し違った見方ができるはず!その考え方のもと、ITを中心に日常生活から世界のニュースまで幅広い題材を取り上げるブログ。

XenApp 6.5 Mobility Pack (2) ~iPad上のWindowsはこう変わる~

前回のエントリでは、Citrix Receiverのような「Windows環境をiPad上で動作させる」仕組みだと、「タブレット特有のタッチ操作に特化したGUIが一般的には使えない」ことを説明した上で、最後に「タッチ操作に最適化するようなGUIの改善の方法もある」ことを動画で示した。(下のイメージをクリックすると、YouTubeの動画ページにジャンプ)
YouTubeでのXenApp Moblity Pack
その方法とは、「XenApp 6.5 Mobility Pack」と名づけられたCitrix XenApp 6.5の追加モジュールを導入することなのだが、ちょうど前回のエントリと相前後して Citrixから公式発表でも「XenApp 6.5 Mobility Pack」 が紹介されている。こちら(ITMedia)こちら(ZDNet)のページなどでも、Citrixの2012年の事業戦略の一環として紹介されている。

今回のエントリでは、この「XneApp 6.5 Mobility Pack」について、もう少し詳しく見てみたい。

■何ができるか?
まずはWindowsのデスクトップ環境の見た目が変わり、スタートメニューなどがタッチ操作に適したメニューに変更される。

下図が、Citrix Receiver for iOS を使って、iPad上に普通にWindowsの仮想デスクトップを表示させたときのイメージ。
Citrix ReceiverによるiPad上のWindows
画面上部中央の黒い逆台形(Citrix Receiverの機能を設定するためのボタン)が、仮想デスクトップであることを示しているが、その他は通常のWindows画面と変わらない。しかしこれをそのままiPadで使うと、スタートメニューの深い階層にあるアプリケーションを起動する際にメニューの幅が狭くなり、タッチ操作に若干不便を感じる。

「XenApp Mobility Pack」を適用した、仮想デスクトップ環境では、Windowsが下図のように変更される。
XenApp Mobility Pack適用後
スタートメニューが改変されていることが、すぐにお分かりいただけると思う。このスタートメニューは、メニューの深い階層に行ってもメニュー間の幅が狭くならずに一定を幅を持つように出来ており、よりタッチ操作に適したスタートメニューとなっている。


次に、元々はマウス操作に最適化されたWindowsアプリケーションのプルダウンメニューが、タッチ操作に最適化されたプルダウンで操作できるようになる。

下図が、典型的なWindowsアプリケーションのプルダウンメニューの例。(実際のWebページは、こちらで見ることが出来る)  
通常のWindowsプルダウンメニュー
このままiPad上で操作すると、各メニュー項目間の幅が狭すぎて、タッチ操作だと意図しない隣のメニューを選んでしまうことがよくある。

「XenApp 6.5 Mobility Pack」を適用して、iPadデバイスからWindows仮想環境を使うと、下図のようになる。
XenApp Mobility Packで改変されたプルダウンメニュー
元々のWindowsのプルダウン(左側)にオーバーレイ(上から重ねて表示すること)する形で、別のプルダウンメニュー(右側)が表示されるようになる。左側のオリジナルのメニューと比べれば分かるように、オーバレイされたメニューは、項目間に十分な幅があり、間違わずに素早くタッチ操作ができるようになっている。

さらには、アプリケーションのテキスト入力フィールドや、メモ帳やMS Wordなどのテキスト入力アプリケーションなどを起動した場合は、iPadのソフトウェアキーボードが自動的にポップアップするようになる。
自動的に出てくるキーボード
「XenApp 6.5 Mobility Pack」を使わない場合、iPad上で表示される仮想Windows環境は、単に画面を写しているだけであり、テキスト入力状態か否かを判別できないために、自動キーボードポップアップが出来ずにいた。「XenApp 6.5 Mobility Pack」を適用することではじめて、この自動キーボードポップアップ機能が、仮想Windows環境でも使えるようになる。


■Mobility Packを使うために何が必要か?
まずはCitirix XenApp 6.5 を用意していただく必要がある。XenApp 6.5は、2012年2月時点でのXenApp最新バージョンである。残念ながら、それ以前のバージョンのXenApp では、Mobility Packの利用は出来ない。

XenApp 6.5が稼動可能な状態に出来たら、いよいよ次は「XenApp 6.5 Mobility Pack」をインストールする。Citrix XenApp 6.5 のライセンスをお持ちのお客様であれば、「MyCitrix」サイトから無償でダウンロード可能だ。なお、XenApp 6.5 を利用可能なCitrix ライセンスをお持ちのお客様であれば、Mobility Pack のための追加料金は一切必要ない。

また、「ライセンス購入前に動きを確認してみたい。」と言う場合は、Citrixの販売パートナー様にお問い合わせいただきたい。Citrixでは、90日間無償で製品を評価可能な「評価版」を提供しているが、2012年2月現在では、販売パートナー様を経由しての提供のみ行っている。

Mobility Packをインストールすると、XenAppのポリシー設定に、下記のような項目が追加される。
XenApp Policy
右下に表示されるHelpの説明を参照しながら必要な設定をすれば、iOSまたはAndroidでアイスからの接続時にのみ、これらの設定が有効になる。

Mobility Packのインストール方法、インストール後の設定方法に関する詳細は、こちらの CitrixeDocs (オンラインマニュアル)を参照いただきたい。残念ながら、2012年2月時点では、英語の記述しかないが、手順自体はそれほど難しいものではない。

Mobility Packのインストール、および必要な設定さえ行えば、あとはiPhone/iPad/Androidのような、モバイルデバイスからXenApp 6.5に接続するだけで、動画でご覧いただいたような操作が実現できる。なお、通常のPCからの接続の場合は、Mobility Packの機能は使えない。


■まとめ
以前から書いていることの繰り返しになるが、iPadは使い勝手やコストの面で素晴らしいデバイスであり、このデバイスを企業内での特定業務利用に使いたい要求は必ずあると思う。ところが、「その上で動かすアプリケーションをどうするか?」と言うことが、担当者の悩みのタネとなる。iPadネイティブアプリ開発は、そのひとつの解決策ではあるが、課題もあることはこちらのエントリで述べた。

私からの提案は、Citrix Receiverを使って、既存のWindowsアプリをiPadに転用したり、もしくは新規開発するにしてもWindowsベースで作ってiPadに転用すること。パフォーマンスは十分なものが得られることはこちらの動画で示したし、転用アプリのGUIの面でもネイティブアプリに遜色ないことが、今回のエントリで分かっていただけたのではないかと思う。



XenApp 6.5 Mobility Pack (1) ~Windows環境のタブレットへの最適化~

今月に入ってからの一連エントリで、iPadでWindowsアプリケーションが使えること、それは特に「業務アプリ」と呼ばれる企業内アプリケーションの活用に適していることを説明してきた。

特に前回のエントリでは、iOSネイティブアプリを新規開発するよりも、Windowsベースで開発したほうが、アプリケーションのライフサイクル管理の点で利点があることを説明した。

しかしながら、iPadのようなタブレット端末を使うことを大前提とした場合、ネイティブアプリケーションを開発したほうが良い点も、もちろんある。そのひとつは、「タッチ操作に適したGUI」だ。WindowsアプリのGUIがタッチ操作に十分に最適化されておらず、タブレットでそのまま使うには、使いにくい面が多々ある。特にiPhone/iPadのネイティブアプリケーションは、タッチ操作に対して素晴らしく適合したGUIを持っており、その差は大きい。

そのことを具体的な例を挙げて見てみよう。

下記のイメージは、Citrixのダウンロードページの一つであるが、ページ上に「プルダウンメニュー」あるいは「ドロップダウンメニュー」と呼ばれるメニュー選択のGUIが複数ある。(画像クリックで実際のページにジャンプ)
プルダウンのあるWebページ


これらプルダウンメニューは、Windows上で動作するWebブラウザでは下図のように表示される。
Windowsのプルダウン


このメニューの表示は、マウスでの操作を前提に作られており、マウスで使う分には全く問題は無い。しかしこの表示のままでタッチ操作を行うと、少々不便を感じる。メニュー間の幅が狭すぎて選択が正確に行い難いのだ。この表示は、特定のWebブラウザに依存しているわけではなく、IEでもFirefoxでもChromeでも、Windows上で動くWebブラウザなら概ね同じように表示されるし、Windowsに限らずLinuxでもMacintoshでも大きくは変わらない。 

ところが、全く同じWebページのプルダウンメニューが、iPad上のSafariブラウザだと下記のように表示される!
iPadのプルダウン


さらには、iPhone上のSafariブラウザだと下記の通り。
iPhoneプルダウンメニュー


いずれもメニュー間の幅がうまく調整されていて、タッチ操作による選択が実にやりやすい。特にiPhoneの場合は、画面のサイズやiPhoneを操作するときの指の使い方まで良く考えられたGUIで、本当に本当にうまく作られていると感心する。

残念ながら、私がこれまでのエントリで紹介してきた方法(Citrix Receiverを使ってWindowsアプリをiPad上で動かすやり方)では、これらiPhone/iPadが持つ素晴らしくタッチ操作に適合したプルダウンメニューは、(基本的には)使えない。あくまでマウス操作を前提とした、幅の狭いプルダウンメニューを使うことが基本なのだ。


でもここからが本題!!

上記で思わせぶりに(基本的には)と書いたが、「基本」から良い方向に外れることもできるのだ。Windowsアプリでも、iOS特有のタッチ操作に適したプルダウンメニューを使うことはできる!!

とにかくまずは、下記動画を見てほしい。




 
このエントリのタイトルでもある、「XenApp 6.5 Mobility Pack」と言うものを使っているのだが、詳しい説明は次回のエントリにて。 


iPadで業務アプリ ~ネイティブアプリの開発についての考察(下)~

前回のエントリでは、企業内の特定業務利用を前提とした iPadネイティブアプリ開発の良さげな特徴を述べた。今日のエントリでは、その課題と解決策について書いてみようと思う。

【実際には大きな課題も残るiPadネイティブアプリ開発】

しかし実際に企業の「業務アプリ」を、iPadネイティブアプリケーションとして開発、そして維持・運営するには大きな難題もある。その難題とは、「Visual Basic」と「塩漬け」と言う、おそらく多くの企業内業務アプリケーションに付随する、2つのキーワードのことだ。

課題1:iPadアプリはVB(Visual Basic)で開発できない
「何を当たり前のことを!」と多くの人は思うだろう。私もそう思っていた。しかし、当Blogに「iPad VB」もしくは「iPad Visual Basic」と言うキーワード検索で訪れる人の多さを目の当たりにして、改めてこのプログラミング言語の普及の度合いと、そのニーズの多さに驚いた。
Visual Basic入門

「プログラマ」と呼ばれる人々の中には、超人的な能力を持つスーパープログラマもいれば、学校を出たての初心者プログラマもいて、そのレベルの差は極端に大きい。その中で、いわゆる「業務アプリ」を作る人々の大多数は、どちらかと言うと「底辺」に位置しており、その人々の「数の力」で業務アプリは支えられている。そしてそのようなプログラマ達にとって、慣れ親しんだVisual BasicやWindowsの世界から抜け出て未知の世界に踏み出ることは、相当に勇気のいることなのだ。もちろん全ての業務アプリプログラマがそうだと言えず、積極的にiPadネイティブアプリ開発に乗り出すプログラムもいるにはいるだろう。しかし、圧倒的多数派のプログラマにとっては、言語もAPIも文化もまるで異なるApple iOS SDKの世界に踏み出すのは簡単なことではない。仮に勇気を出して踏み出したとしても、その世界で今以上に仕事になるかどうかは、誰も担保してくれないのだ。間違いなく言えることは、企業がiPadネイティブアプリを開発しようと思った際に、それが出来るプログラマを安い単価で調達するのは、依然として難しいと言うことだ。

課題2:iPadの世界では「アプリの塩漬け」はできない
「塩漬け」なんて、IT(情報技術)の世界とは縁の無さそうな言葉に聞こえるかもしれないが、企業ITの世界では頻繁に使われる「俗語」である。
塩漬け

ITの世界での「塩漬け」とは何か?
それは、一度作って(とりあえず)動作したソフトウェアやシステムを、全く改変を加えることなくしばらくの期間(短くて4年以上)使い続けることを言う。中でも「全く改変を加えない」と言うところが重要だ。例えば、動き始めた当初に使っていたOSがWindows XPだった場合、Vistaや7を使うためには「ソフトウェアの改変」が必要になるので、ずっとずっとWindows XPを使い続けることになる。それどころか、Windows OSの「Service Pack」なんて代物も、適用するとOSの動作が変わってアプリの「改変」が必要になりかねないので、SPの適用もせずに使い続けることになる。

実際に業務アプリの世界では、この「塩漬け」が実によく行われている。「ソフトウェアのメンテナンスコストを抑える」と言う点では、それなりに合理的な判断だからだ。

一般的にソフトウェアを開発し利用するうえでは、「新しく作るときのコスト」よりも、「メンテナンスのコスト」のほうが高くつく場合が多い。ここで「メンテナンス」とは、実際に使い続けることで見つかるソフトウェアの障害(バグ)を、ひとつひとつ修正していく作業を指す。ソフトウェア使い始めて最初は問題が無さそうに見えても、しばらく使い続けて初めて問題が顕在化することはよくある話だ。特に何らかの「新しいことをやる」場合に、新たな問題が見つかることが多い。上述した「OSの変更」や「OSのService Pack」の適用もそのひとつだ。

不特定多数の場面で使われる「パッケージソフトウェア」であれば、この種のメンテナンスは避けて通れない。しかし特定の企業内だけでしか使われないソフトウェアであれば、とにかく同じものを同じように使い続けることによって、新たな障害が顕在化することを防ぎ、結果としてメンテナンスコストを抑制することは十分可能だ。

いまだに企業ITの世界では、「Windows XPを使いたい」と言うニーズが極めて大きいことは、過去のこのエントリでも書いたし、そのエントリは当Blogの人気エントリのひとつになっている。これも「システムの塩漬け」をしたいがために古いOSを使い続けたいのである。

ところがだ!
Windowsの世界では出来た「塩漬け」も、Apple iOS(iPadやiPhoneのOS)の世界では出来ないと思ったほうが良い。

ご存知の通り、iOSは比較的頻繁にアップデートを行うし、そのアップデートによってかなり大きな「仕様変更」も行われる。これはまさに「塩漬け」を阻害する要因になる。

であれば、「iOSのアップデートそのものをやらなければ良い」と思えるかもしれない。旧機種を何年も使い続けられるのであればその通りだが、ハードウェアの故障や追加調達などで新たなデバイスを調達したい場合は、残念ながらそう言うわけにはいかない。運用を始めて1年もすれば、ハードウェアの仕様もOSの仕様も大きく変わったデバイスしか手に入らないかもしれないのだ。

iPadネイティブアプリの業務利用で、「塩漬け」が通用するのは下記の2つの条件を両方とも満たす場合だけだろう。
1) 将来の利用デバイスの「追加」は絶対に無いと断言できる
2) デバイスが故障した場合の「バックアップ用デバイス」を当初から余分に購入しておく

1)はともかく、2)を実施するのはかなり非現実的だ。iPadのハードウェア的な寿命がどれくらいかは未知数だし、またどれくらいの割合で故障するのかも、誰も分からない。どれくらいの台数をバックアップ用として揃えておけば良いのか決めようがないのだ。

結論としては、業務アプリ用のプラットフォームにiPadを使い、ネイティブアプリケーションの開発を選択した場合は、ハードウェアやOSのアップデートに合わせて、業務アプリのメンテナンスを続けるしかないのだ!!こちらのサイトにも、業務アプリをiPadネイティブで開発する際のリスクとして、アップデートのリスクが述べられているが、まさにその通りだと思う。 



【「塩漬け」がしたいのであれば】
結局のところはこちらのエントリで紹介した方法に戻ってくる。業務アプリは「塩漬け」の効くWindowsベースで開発し、端末デバイスとしてだけiPadを利用すればよいのだ。下のデモのように。 




 

iPadで業務アプリ ~ネイティブアプリの開発についての考察(上)~

前々回のエントリでは、Citrix Receiverを使ってWindowsアプリケーションを、iPadで動かす方法について紹介した。このエントリを公開してから2週間近くが経つが、おかげさまで赤丸急上昇の人気エントリになり、かなり多くの人に読んでいただいている。

他の多くのBlogと同様に当Blogでも「アクセス解析」を行っているのだが、これによってどのような検索によって当Blogに来ていただいているのかが把握できている。それによると、「iPad 業務アプリ」や「iPad VB」、「iPad Visual Basic」といった検索キーワードでBlogを訪れる人が前々回のエントリ公開後に激増している。私の想像以上に「iPadの業務利用」の関心は高いようだ。

今回のエントリでは、Citrix Receiverの利用はひとまず片隅に置いておき、ネイティブのiPadアプリを開発して、それを業務アプリとして使うことに関して考察してみたい。


【一見すると魅力的なiPadネイティブの業務アプリ開発】
まず最初に、今まで私が間違って認識していて、今回このエントリを書くために色々調べて初めて分かったことを紹介したい。おそらく以前の私と同じように間違って認識されている人も少なからず居るのではと思う。それは・・・
「iPhone/iPad 用のアプリは、別にApp Storeで公開することが必須ではなく、社内の特定業務用途で利用する目的で、限定された人にのみアプリを配布することは可能だ」
と言うことだ。

こちらのサイトにそのことが書かれているのだが、本家Appleによって「iOS Developer Enterprise Program」というプログラムが用意されていて、これによって「社内特定業務用アプリ」の開発・配布が可能になる。プログラムの加入には、年間24,800円の参加費が必要になるのだが、本気になって業務アプリを開発するつもりの企業にとっては格安の価格と言えるだろう。

iPadで「社内に限定した特定業務アプリの配布も可能」と分かれば、次は実際のiPad用のアプリ開発がどの程度のものかと言う議論になる。これに関しては、既にアマチュアプログラマーの作ったiPhone/iPad用のアプリがApp Store上に溢れていることからも分かるように、アプリ開発は十分に現実的なことだと言える。それが「簡単」か「難しい」かの判断は人によるだろうが、入門から実践のための情報は、Webや書籍などに溢れかえっている。全くの初心者には、こちらのページから読むのが良いだろう。書籍も、例えばこちらなどが評判が良さそうだし、他にも初心者向けから上級者向けまで相当に出揃っている。
基礎からのiOS SDK

色々調べて感じたのは、「Appleが、アプリ開発者を物凄く大事にしている」と言うことだ。iPhone/iPadアプリの開発には、まずMacintoshパソコンが必須なのだが、それを入手して必要な登録さえ行えば、開発ツール類の入手や必要な技術情報の入手はほとんど無料で出来るし、作ったアプリを販売するための手助けさえもしてくれるのだ。
iPhone SDK
話を業務アプリでの利用に戻すと、こちらこちらの記事で、実際にiPadアプリネイティブアプリを開発して、特定業務用途で運用している事例を紹介してくれている。特に前者の三菱重工業の事例で紹介されたアプリは、ネイティブアプリによるiPadの利用がまさにぴったりのケースだと思える。工場の生産ラインで使われるだけに極めてシンプル(単純)なインタフェースのアプリだと言うことが写真から分かるが、これくらいならネイティブアプリの開発にもそれほどのコストはかからないだろう。また、工場の生産現場では、汎用パソコンによるキーボード操作よりも、タッチパネル操作のほうが適していることも容易に想像できる。


・・・と、ひととおりiPadのネイティブアプリケーション開発の良さげな特徴を述べたうえで、次回のエントリでは、その課題と解決方法について述べたいと思う。<続く>


超快適!iPad で Windows7

前回のエントリでも紹介した下の「iPadでWindows」の動画デモに関して、どのように撮影したかを今日のエントリでは説明したい。 

 

このデモの中心となるのが、Citrix XenDesktop だ。

Citrixのことや XenDesktopのことを始めて見聞きする人には、リンク先のCitrixの製品紹介ページは少々難しすぎて、軽く読むだけでは内容が多すぎてなかなかピンとは来ないかもしれない。そこで誤解を恐れずに少々乱暴な説明かもしれないが、シンプルで分かりやすい説明をするならば、次のようになるだろうか。

「Citrix XenDesktop とは、Windowsのリモートデスクトップのように、遠くにあるWindows OSをネットワークを使って遠隔操作するためのソフトウェアである。Windowsリモートデスクトップとの最大の違いは、3Gモデムのような比較的低速なネットワーク環境でも快適な遠隔操作ができることと、iPadやAndroid、Macintosh、Linuxのような非Windows端末からでも遠隔操作が可能であること。」

なんとなく分かっていただけたのではないだろうか。
もちろんこの説明は前述したように少し乱暴な説明であるので、多機能なCitrix XenDesktopの全体像を半分も伝え切れていないのだが、最も本質的な部分は押さえていると思う。さらに詳しく知りたければ、少し我慢してこちらのページを読んでいただきたい。

さて、冒頭に紹介した動画デモでは、XenDesktopの特徴をフル活用して、私の自宅(横浜緑区)にあるiPadから、インターネットを経由して約30km離れた東京霞が関のシトリックス東京オフィスにあるWindows7を遠隔操作している。
概略図を書くと次の通り。
デモ構成図


私の自宅のインターネット環境は、KDDIのマンション用光ファイバー回線で、1Gbpsを約100世帯で共有して使っている。まあ、ごく普通の一般家庭用のインターネット回線と言えるだろう。さらにこのインターネット回線を、1万円以下で購入したBUFFALOの無線LANルータを使ってiPadとインターネットを繋げている。
無線LANルータ


iPadには、「Citrix Receiver」と呼ばれるソフトウェアをインストールしてある。このCitrix Receiverは、リモートデスクトップクライアントに相当する遠隔操作用のクライアントソフトであり、これをダウンロードしてインストールすることは全くの無償となっている。iPad/iPhone用のCitrix Receiverは、App Storeからのダウンロードとなるが、当然無償アプリである。

  この通り、操作する側の端末にインストールするCitrix Receiverは全くの無償だが、操作される側のWindowsにインストールする「XenDesktop」は、基本的には有償となっている。それでも必要な登録さえ行えば、既にクラウド環境に出来ているXenDesktop(英語版)を一定期間無償でお試しできる「Virtual Computing Demo Center」や、機能限定ではあるがやはり無償で使えるExpress Edition(こちらは登録に加えて、サーバーなどの環境の用意が必要)も用意されている。是非とも実際に触ってiPad版Citrix Receiver と XenDesktopの操作感を体験していただきたい。


---------------------------------- 

ところで、単に「iPadでWindows(またはWindowsアプリ)を使う」ことだけを目的とするなら、これまでに紹介したCitrix XenDesktopのような「ネットワーク越しの画面転送&遠隔操作」と言うアプローチの他に、iPad上で仮想マシンを作り、その上でWindowsを動かす「Parallels Mobile」のようなアプローチもある。直感的に考えると、こちらのほうがネットワークのボトルネックが無い分スムーズに動作するようにも思える。
ただYouTubeにアップされた動画を見る限りは、iPad自体の性能の制限からか、Parallelsの動作は相当にゆっくりに見える。 
 


もういちど冒頭のXenDesktop&Citrix Receiverのデモに戻って、そのスピードを実感して欲しい。


このBlogについて
シトリックス・システムズ・ジャパン
(株)
に勤務し、自社製品をこよなく愛する山田晃嗣のブログ。

このブログで表明されている見解は、私(山田晃嗣)個人のものであり、シトリックスによって承認されたものではありません。
また、必ずしもシトリックスの見解を反映したものでもありません。
The views expressed here are
mine alone and have not been
authorized by, and do not
necessarily reflect the views
of, Citrix.

ブログ作者山田晃嗣のプロフィールはこちらのページをご参照ください。

アクセスカウンター
  • 累計:

記事検索
  • ライブドアブログ