Feeds:
投稿
コメント

Posts Tagged ‘Office 2013’

タイトル考えるのだけは楽しいですね

Office 2013は現在もっともWindows 8のデスクトップアプリケーションのあるべき姿をとっているということができると思います。そもそも現在Windows 8向けのデスクトップアプリケーションというものはないのではないかと思います。というのもたいていはWindows 7以前向けのアプリケーションを使っているためです。
しかしOffice 2013は完全にWindows 8を意識して作られています。これはWindows 8、ならびにこれからのWindows デスクトップアプリケーションのあるべき姿である、そんな風に思います。というわけでOffice 2013のUIなどを見ながらどうしていけばよいかなんかを考察していきます

・増える入力形式
今までのWindowsでは基本的にマウスとキーボードの入力が主流でした。Windows 7からマルチタッチをサポートしましたが実際には対応したデバイスが多く出なかった点や単純にWindows 7をそのままタッチデバイスに持って行ったためあまり操作性が高いといえるものではありませんでした(標準のコントロールのpxとかうんぬん)

しかしWindows 8からはタッチとペンも主流の入力形式としてサポートしていく形になります。これが示すことはつまりどんな入力デバイスからでも操作できる可能性 というものが必要になってくるわけです。たとえば11pxのListBoxのアイテムを直列に並べたらどうなるでしょうか? 間違えずにちゃんと押せるのか といわれると間違えるかもしれない という回答になることでしょう。最低でも何たらpx以上とかなんとかってどこかにあった気がしますが本当にWindows 8などに対応したデスクトップアプリケーションを作るうえではとても大事になっていくことと思います

・UI表示方法を変えるタッチモード
タッチモードはすべてのOffice製品に追加されているUIレイアウトを変更するモードです。次の二つの画像を見てみましょう

現在のOutlook 2013の画像です。上が標準モード、下がタッチモードです。タッチモードのほうはオレンジで囲ってある部分が変更部分です。リボンUIのボタンレイアウトが通常より大きめにとられているのが分かると思います。またリストアイテムも大きめになりよく使うコマンドは右側にコマンドバーとしてまとめられているのが分かると思います。さて、この時どのようなことが行われているのかをもうちょっと検証してみましょう。次に4枚の画像を示します

はい、ということでリボンUIコントロールとリストアイテムを拡大して横にルーラーを配置したものです。どちらも先が標準で後がタッチモードです
リボンUIのほうはわかりやすいように適当に選択してみたのですがこれに誤差があるとすればボタンの大きさは同じといえることが分かります。リストアイテムの方は17px→26pxとなり事実上大きくなってはいますがフォントサイズはどちらも11pxとまったく同じです
つまりタッチモードで調整してるのはマージン部分である という風に言えると思います。マージンとグリッドが大きくなっていますが中のコントロール自体はそのままになっているためタッチへの対応はマージン調整を行えるようにするだけでもだいぶできるのではないかという風に感じます

・シンプルなアイコン
Office 2013になってからリボンUIのアイコンはだいぶシンプルになりました。これはModern UI(だっけ?)に影響を受けたものといえるかもしれません。 2010と2013のリボンを並べてみるとこんな感じです

アイコンの形なんかも結構シンプルになりましたね。まあこの辺は手間が大きい可能性もあるしなんともいえないですけど

・IMEから見るキーボードとタッチの違い
情報そのまま垂れ流しです。タッチキーボードと通常のキーボードではIMEの予測変換の出方が違います。タッチでは縦に並べると誤操作が多くなるため横にならべていてキーボードだと縦となっています

UIのコンテキスト依存
これなんかもはや調べてない…
Office 2013では特定のメニューにおいてタッチで開くかマウスで開くかに応じてメニューのレイアウトが切り替わるというものがあります。おもにはコンテキストメニューやカラーピッカーなどとなります。参考としてはhttp://blogs.technet.com/b/microsoft_office_/archive/2012/08/14/office-office.aspxなんかがいいと思います。私のこの記事の全部の内容が書いてあります(

・実際どうしたらいいのか
どうせ対応するなら今からやっとくといい気もしますがその辺は滑らないことを願いつつ
デスクトップアプリケーションは現状マウスとキーボードのみをターゲットとしてるものが多いので新規に作るときにこういう点を考えてもいいかもしれません。既存のアプリケーションに加えるならやはりOfficeみたいにタッチモードの導入が一番いいかもしれません。またはリボンUIみたいにコントロールが大量に列挙されるようなものでないなら最初からタッチモード的な形で作成する という手もあると思います。情報量少し減るのでその辺はよく考える必要はあるかもですが
Officeでタッチモードと標準が共存してるのはリボンUIがスペースとりすぎるという問題があるためなのでそういう問題がないならタッチモード一本で組んでしまうのは十分ありではないかと思います

UIのコンテキスト依存要素についてはControlクラスにMouseDownイベントTouchDownイベントの二つがあるのでこれを使い分けていくという方法がありかなと思います

重要な選択肢は横に並べる方が正確性が出る っていうのも割と大事かもしれませんね

おまけ:リングメニューという新しいメニュー
おまけですがWindowsストア向けのOneNoteにはリングメニューという特殊なメニューが実装されています。これはフリックに近い操作でコンテキストメニューの操作を行えるやたらとすごい代物です。タッチの時代に合わせて新しくコンテキストメニューに代わるものが出るのかもしれませんね


とりあえず今回はここまでで
こんなタイトル負けした記事でよいのか…

とりあえずここまでで

広告

Read Full Post »

Apps for Officeは果たして私の心を揺り動かすものなのか!?

というわけでMSC2012の2日目に取り上げられた新しい開発モデル、Apps for Officeについての記事です
VSTOより優れてるなら使ってみたいですよね

※この記事は2012年9月29日現在の情報を少しまとめたものです。筆者による推測なども当然含んでいます。この記事の内容が正しいということはありませんし突然変わる可能性もありますがそれらについて筆者は一切の責任を負いません

さて、Office 2010までのOffice開発手法には何があったかという話ですがこんな感じ
・VBA(Visual Basic for Applications)
・BCS(Business Connectivity Services)
・Add-ins(Excel,COM)
・Fluent UI(UIカスタマイズ)
・Office Services(SharePointとか)
・Open XML(ファイル操作)

VSTOではAddinとFluent UIができますね。BCSとOffice ServicesはよくわかりませんけどSharePointとか企業向けっぽいのはわかりました。Fluent UIは名前知らなかったけど内容はまあ一応扱ったことある内容

じゃあここに加わるApps for Officeは何を担当するのかという話ですが、それにはまずOffice 2013で何が変わるのかという話から始まります
Office 2013ではこれまで以上にプラットフォームの壁がなくなります。つまりはWindowsだけという時代は終わるわけです
これを実現するためにOffice Web Appsというものがあります。Web上のプラットフォームですね
またスマートフォンなどのデバイスなどにもOfficeは対応するようになっていきます
そんなこんなで新しいデバイスに対応するOffice 2013ですが、これら複数のデバイスでも拡張機能が利用できるようにするためには既存の方法では不可能です(.NET4を動かすとかそもそも無理だったりVBAはセキュリティ面でまずかったり)
ということでセキュリティ面を担保でき複数のデバイスで実行できる拡張機能というものが新しいOffice開発モデルであるApps for Officeです
ちなみに開発手法とかについてはこんな画像があったり

・Apps for Officeの開発方法とは
ということで上でいったようなのがApps for Office(私から見たイメージ)となります
これの開発にはすべてのプラットフォームで使えるという点からHTML5、JavaScript、jQueryが使えます(CSS3が使えるって聞いた覚えがあるんですけどMSDNに書いてない…)
これにより使い慣れた開発ツールを用いてOffice向けのアドインを作ることができます。作ったアドインはOffice Storeに公開することができて、それをユーザーはストアからインストールできるようになります。またこれをSharePoint上?(Exchange?)にInternalなストアを作成してそれをインストール などもできるようになります。
このアドインはドキュメントには一切干渉できません(詳細不明)。またWeb appsにもデプロイできます

・実際どこまで使えるのか
MSC2012のKeynoteなんかではApps for OfficeのデモとしてOutlookに搭載されたApps for Officeの拡張を見たことと思います。そこを見たらやべえ時代来る!とか思ったりします
じゃあどんなことができるの? って話ですよね。現状コンテンツとタスクペイン、メールの3つが主となります
ちなみに現状Apps for Office使えるのがWord,Excel,Outlook,Projectの4つです
チャートに応じて地図を出したり~とかはほんと便利かなぁとか思ったりしますけど何ができるのか! を見てみましょう

・JavaScriptがサポートするREST API
http://msdn.microsoft.com/en-us/library/fp142185(v=office.15).aspx
というところにリファレンスがあります。これを見てみるとそこまでできることが多くなさそうに見えてしまいます
実際一応の用意はされているように思うんですけどなんかOutlook重視感がすごい気がします
Projectはこれサポートしてるのかしてないのかわからないんですけど…

・使い道はあるのか
現状だとOutlookカスタマイズには使えそうなんですけど実際本当に使えるかというと微妙な感じです。API増えないことには話にならない感じはありますね
さすがにBetaという状態で判定下すのは早すぎる気もしなくもないところはあります。しかし今まで干渉不能だったWeb AppsやOffice Mobileを拡張できることを考えると非常にメリットは大きそうです

ちなみにApps for Officeはたぶんどの現状の拡張とも相反しないものな気がしますので(そもそもターゲットプラットフォームが違う気がします)今までの技術は引き続き残るのではないかと思います
ただVBAやFluent UI、Open XML、Addin的な面を将来的にすべてカバーできるなら、どんどん置き換えて行ってすべてのプラットフォームで同じ使い勝手を実現 というのはありかもしれません。現在の状況だとWeb Appsなどの拡張に絞ってリッチクライアントはリッチクライアントで拡張したほうがいいかなと

まとまってないけどこんな感じで

Read Full Post »