Living in the Flat World

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

visual

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のビジネス利用 ~VBで作った「レガシー業務アプリ」をiPadで動かす~

言うまでもなく、AppleのiPadは素晴らしいデバイスである。iPadの素晴らしさを語ろうと思えばいくらでも語れるのだが、既にWeb上で多く語られているので、あえて私が追加する必要もないだろう。

今日のエントリでは、この軽くて、薄くて、美しくて、操作性が良くて、十分な性能があって、バッテリの持ちが良くて、それでいて手頃な価格のこのデバイスを、ビジネス分野においてもっともっと有効に、かつ簡単に活用する方法について紹介する。具体的には、いわゆる「業務アプリ」の分野で、iPadを活用する方法について書いてみたい。

【そもそも「業務アプリ」って何?】
「業務アプリケーション」とか、それを略した「業務アプリ」とか言う用語は、日本のIT業界で働いていれば必ず耳にするほどよく使われる用語だ。ところが改めて調べてみると、正確な定義がどうも定まっていないらいしい。Googleで「業務アプリケーション」と検索しても、その定義を明確に説明しているページはなかなか見つからない。(もしご存知のかたがいたら、是非コメント欄かメールにて教えてください)
ちなみに、「業務アプリケーション」のGoogle検索でトップに表示される(2012年2月5日現在)のは、こちらのブラックユーモアたっぷりのページである。鋭く本質を捉えているので、是非ごらんあれ。

さて、私が理解している範囲で「業務アプリケーション」とは、"特定企業"の"特定業務"での用途(例えば「コンビニエンスストアの在庫管理用途」)のために個別開発されたアプリケーションのことである。反対の意味を持つのが「パッケージアプリケーション」で、これは例えば勘定奉行などのように、広く一般に売られているアプリケーションのことを言う。世の中には、特定企業での利用だけのために個別に開発された「業務アプリ」が、おそらく国内だけでも何千種類もあるのではないかと思えるくらいたくさんあるのだ。

「業務アプリ」には興味深い特徴もいくつかあって、外見的な特徴として、普通に売られているパッケージアプリケーションとはかなり趣が異なるGUIを持っている。典型例が下図だ。
典型的な業務アプリ
(この図はGoogleイメージ検索で「業務アプリ」と探して見つけたもの)

たいていはVisual Basicを使って造られており、開発コストを抑えることと、ユーザ操作を単純なものにすることを狙って、凝ったGUIは使われず、「大きな字の書かれた大きなボタンによる操作」が好まれてよく使われている。

また、これもパッケージアプリケーションとは違って、「汎用性」はあまり考慮されていない。そのため、「Windows XPでは問題なく動作するが、Windows 7 だと問題が出る」と言うようなことがしばしば起こり、Windows OSのライフサイクルに担当者は悩まされることになる。


【業務アプリでのiPad利用の可能性】
さて、こんな「業務アプリ」であるが、携帯性と操作性を両立させたiPadのようなデバイスとの相性が良い業務は、相当数ありそうだ。すぐに思いつくのが在庫管理業務であるし、こちらのページでは、業務アプリにiPadを活用した「成功事例」が、多数紹介されている。

ところが、実際に「業務アプリ」でiPadを使うには、かなりの難題を克服する必要がある。

まず第一に、現在使われているほとんどの「業務アプリ」は、Visual Basicで造られたWindowsアプリケーションであり、当たり前と言えば当たり前だが、そのままではiPadでは動かせない。普通に考えれば、iPadを利用するためには、アプリケーション自体を作り直す必要があるが、これはほとんどの企業にとっては不可能に近い話だ。Windows XP からWindows 7への変更でさえ、多くの企業が四苦八苦しているのが現状であるのに、iPadのような根本的に異なるアーキテクチャのプラットフォームへの移行など、想像だにできないだろう。

仮に百歩譲って、ある企業がiPad用の業務アプリケーションの開発を決断したとしても、それは平坦な道のりではない。iPhone/iPadアプリケーションを造れるプログラマの絶対数は、まだまだWindowsプログラマの数には遠く及ばないはずで、開発を請け負ってくれる業者のほうも需要予測ができずに手探りの状況らしい。

【解決策:Citrix Receiver】
別にiPad用のアプリをわざわざ開発しなくても、今のVisual Basicで作ったWindowsアプリケーションのままで、「端末デバイス」としてのiPadは十分に利用可能だ。それを示すのが、下記のデモ動画。



これを使えば、「Windows XPで動作するアプリケーション」であれば、今すぐにでもiPadを端末デバイスとして利用可能だ。

技術的なバックグラウンドについては、次回のエントリにて。


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

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

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

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

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