今年の締めくくりにマイレージ登録、の巻

今年は前半に色々あったためそれほど走行距離が伸びませんでしたが、ようやく8,500kmまで来たのH.O.G.(ハーレーオーナーズグループ。BRAGが無くなったので加入してます。)のマイレージ登録をすることにしました。盗難防止プログラムのこともあり、なんだかんだで更新を続けているH.O.G.ですが、来年もライディングレッスンがあるといいんですけどねー。(昨年は手首クラッシュで行けなかったから。。。)クリスマスということで、HD調布は完全にクリスマスモードでした。当日納車される人もいたみたいで、最高のクリスマスプレゼントになったことでしょう!マイレージの方はようやく5,000マイルとなりましたが、来年は一年で5,000マイル(総走行距離16,000を超えるために8,000km走る)ぐらいはやりたいです。とにかく、どこにでも乗っていくことにしよう!

今年を振り返ってみると、BUELL生産中止以後の不安感というか寂しさというか、そんなもんからどうしても他のバイク(特にSS系)が気になって仕方ない時もありましたが、最終的にはあんなに変なバイクなかなかどのメーカーも作らないし、結局は気に入ってるんだなぁと再認識しております。SSだったら、買うとしても125ccぐらいでしょうね。実は諸事情があって、一度下取りを出すことを検討する必要があり、見積をお願いしたところ残念なぐらいの値段にしかならないことがわかり、これは乗り続けるのがいいのだろうなぁと勝手に思い込んでます。盗難保険も次年度でまだ80%出る(車両購入巻だけど)し、結局はH.O.G.の更新もしていくのかな。そういえば、確かこのぐらいの時期に今のバイクに乗ることを決めたんですよね。

という訳で、来年もBuellにたくさん乗っていきたいと思っております!皆さん是非よろしくお願いいたします!

IMG_2311
[ フリーダムナナさんに残っていた大きなワッペン。乗るさ!壊れるまで! ]


NetAdvantage for XAML 11.2 の Resource Washer のご紹介

おまたせ致しました!昨日 XAML 系製品をリリースし、2011 Vol.2 全体のリリースが完了しました!本リリースを含め、弊社では「Ease-of-use :使いやすさ」「Performance :パフォーマンス」「Styling :スタイリング」の3本の柱に注力をしております。

その中でも、以前の BLOG 記事でもお伝えした「スタイリング」については、ユーザーインターフェイスに統一感を持たせて、一貫性のある UX を提供するにあたって重要な要素であるといえます。以前の記事では Windows Forms における AppStylist や jQuery の theme roller の話もさせて頂きましたが、 XAML 系製品に新たに搭載された Resouce Washer について紹介させて頂きました。これに関しまして、実際にどんな事が行われているのか、といったご質問を幾つかいただいておりましたので、 本社の BLOG に掲載されていた記事を和訳し、意訳を加える形で再度ご紹介させていただきたいと思います。(個人的にはこの機能はかなり気に入っております。是非実際の動作をサンプルでお確かめ下さい!)


原文:Introduction to Resource Washing in NetAdvantage for Silverlight 11.2 Thanks, Damyan!

トライアルダウンロード:http://jp.infragistics.com/dotnet/netadvantage/ultimate.aspx

サンプルファイル:こちらからダウンロードください

リソースウォッシャーは XAML によるクロスプラットフォームのコンポーネントです。目に見える形のあるものではありませんが、外観についての機能となります。この機能は、単色あるいは複数色を指定された XAML のリソースディクショナリを指定した単色で「染める」ことで、 UI のスタイル適用においてドラマチックな効果を得るためのものです。

リソースディクショナリで提供されるため、アプリケーション全体のカラースキームを変更することが可能になります。この機能はオリジナルのブラシ/カラーを変更するのではなく、ディクショナリのコピーを作り、設定に従ってコピーに対して変更を行います。そのため、オリジナルのディクショナリを変更することなくランタイムにて処理されます。リソースディクショナリは、アプリケーションの中のコンポーネントによって使われるスタイル/テンプレート/カラー/ブラシなどの共有オブジェクトのコレクションを含んでおり、リソースウォッシャーはそれらに対して単色指定により選択されたモードに従って色の変更を加える処理になります。

ウォッシュモード

リソースウォッシャーは2つのモードを備えています。

  • SoftLightBlend - これはデフォルトのモードで、RGBのそれぞれを指定された単色と混ぜ合わせることをしています。これは服などを色のついた水で染めるような処理であると想像すれば分かりやすいでしょう。下記の実例をご覧ください。

背景に LinearGradientBrush を適用した2つのボーダーがあります。元々の設定ではこのような状態でした。

これに対して、「赤」でランタイム時にリソースウォッシュするとこのようになります。

見ての通り全域に「赤色」が混ざり、カラーパレットが変更された状態になっています。

  • HueSaturationReplacement – このモードは、 一色のみを混色することでは十分に色が支配的な状態にならない場合に、一色を使って色相( Hue )と彩度( Saturation )を入れ替えてしまいます。そのため明度のみが残り、濃淡だけでグラデーションがつくことになります。

上記と同様のボーダーをこのモードでシアンを指定した場合:

今度は全体がシアンと明度だけで染められています。

リソースウォッシャーを利用する

このコンポーネントを利用する最初のステップは参照とネームスペースの設定です。リソースウォッシャーは、ベースのアセンブリに含まれています。 Silverlight の場合は InfragisticsSL4.v11.2.dll です。かつネームスペースを以下のように設定してください。

  1. xmlns:ig="http://schemas.infragistics.com/xaml"

そして、スコープに従って該当コンポーネントのリソースとして参照します。(例えば UserControl の中です)基本的な設定は XAML とコードの中に設定できます。プロパティは「読んで字のごとく」のものばかりです。 WashColor , WashMode, そして AutoWash です。最後の一つが SourceDictionary となります。 XAML で記述し、オートウォッシュを利用するとこのような形になります:

  1. <UserControl.Resources>
  2.     <ig:ResourceWasher x:Key="resWash" AutoWash="True" WashMode="SoftLightBlend" WashColor="Azure">
  3.         <ig:ResourceWasher.SourceDictionary>
  4.             <ResourceDictionary Source="Styles.xaml"/>
  5.         </ig:ResourceWasher.SourceDictionary>
  6.     </ig:ResourceWasher>
  7. </UserControl.Resources>

コードで制御するやり方の利点は、処理を動的にできることです。上記の例ではオートウォッシュが設定されており、アプリケーションの起動時に設定されるため、 styles.xaml で設定されたオリジナルの状態が表示されることはありません。このコンポーネントのプロパティはデフォルト値を持っており、 WashColor のデフォルトカラーは透明であるため、このままではなにも表示されなくなってしまいます。ウォッシュの実行のために2つの方法があります。

  • AutoWash を false に設定し、リソースウォッシャーの WashResources() メソッドをイベントハンドラでコールします:
  1. using Infragistics;
  1. private void Button_Click(object sender, RoutedEventArgs e)
  2. {
  3.     ResourceWasher resWash = (ResourceWasher)this.Resources;
  4.     resWash.SourceDictionary = Application.Current.Resources;
  5.     resWash.WashResources();
  6. }
  • WashColor を設定せず、AutoWash を設定しません。(デフォルトは true です。)その後イベントハンドラの中で WashColor を設定します。リソースウォッシャーはこの設定で自動的にリソースを変更します:
  1. private void Button_Click(object sender, RoutedEventArgs e)
  2. {
  3.     ResourceWasher resWash = (ResourceWasher)this.Resources;
  4.     resWash.WashMode = WashMode.HueSaturationReplacement;
  5.     resWash.WashColor = Colors.Cyan;
  6. }

更なるカスタマイズ

  • アタッチドプロパティ

Styles.xaml のリソースディクショナリの中には、他にも幾つか有用なものがあります。:

  1. <ResourceDictionary
  2.    ...
  3.    xmlns:ig="http://schemas.infragistics.com/xaml">
  4.        <SolidColorBrush x:Key="ReallySolid" Color="DarkGray" ig:ResourceWasher.IsExcludedFromWash="True"/>
  5.     ...
  6. </ResourceDictionary>

リソースウォッシャーはブラシに対して2つのアタッチドプロパティを追加しています。一つは true に設定することでウォッシュ処理の対象外にするものです。

もう一つのプロパティは、ブラシをグループに設定するものです。

  1. <SolidColorBrush x:Key="grp1" ig:ResourceWasher.WashGroup="WashGrp1" Color="Coral"/>

これらのグループは、リソースウォッシャーの WashGroupCollection の中で設定され、グループごとに個別のウォッシュ処理の設定を行うことができます。

  1. <ig:ResourceWasher x:Key="resWasher">
  2.     <ig:ResourceWasher.WashGroups>
  3.         <ig:WashGroupCollection>
  4.             <!--This group will be washed in Blue instead and in HueSaturationRelacement mode-->
  5.             <ig:WashGroup Name="WashGrp1" WashColor="AliceBlue" WashMode="HueSaturationReplacement" />
  6.             <!--This group will be washed in Magenta and with the default mode-->
  7.             <ig:WashGroup Name="WashGrp2" WashColor="Magenta"/>
  8.             <!--This group will be washed in default colour(black) and mode-->
  9.             <ig:WashGroup Name="WashGrp3"/>
  10.         </ig:WashGroupCollection>
  11.     </ig:ResourceWasher.WashGroups>
  12. </ig:ResourceWasher>

是非皆さんの UI にてリソースウォッシュをお試しください!

リソースウォッシャーを利用するメリットは、色の変更を簡単に行えることではありますが、最も効果を発揮するのは xamGrid のような複雑なスタイリングが適用されたコントロールのスタイル制御を一括して行えるところです。手動でも確かに可能ではありますが、設定が多ければ多いほど変更が面倒な作業となります。ランタイム時に xamColorPicker と組み合わせればユーザーに自由な配色設定をする機会を与えることができ、全体のバランスを崩さずにパーソナライズされた体験を提供することが可能になります!

XAML は大変自由度が高いだけに設定できる項目も多く、スタイル設定に難しさを感じている方もいらっしゃるようです。そんなかたに是非こちらのリソースウォッシャーを使っていただきたいと思います。まさに目から鱗の簡単さです。

いや、そうではなくて配色そのものに迷ってしまう??もしそうであれば、是非是非弊社の UX ワークショップ の受講もご検討ください!一般的な UI における配色の基本/どうしてあの色はある程度ウケがいいのか?などもお伝えしております!次回パブリックワークショップは2月23日(木)24日(金)を予定しており、皆様のお申し込みをお待ちしております!

Windows Storeの登場は何を意味するのか?

//build/ 以後詳細な情報が公開されていなかった Windows Store ですが、遂に先日サンフランシスコにてイベントが行われ、ビジネスモデルなどの計画が明らかになりました。


Windows Store のビジネスモデル

多くのスマートフォンにおけるストアタイプの利益構造と同じで、初期の利益シェアは70%であるものの、25,000ドル以上を売り上げた場合80%に上昇するようです。多くのアプリの平均的な金額がどのあたりになるのか気になるところです。もちろん最大のインパクトとになるのは、このストアの対象になるのが現在4億を超えるPC全体に対するものになることです。Windows 8 自体が普及するのには時間がかかるのかもしれませんが、ARM CPU ベースの Windows 8 デバイスが出荷されることになれば、かなりのスピードで分母が増えていくことでしょう。既に Windows Live をベースにして課金可能な安定した基板を持っており、XBOX Live などでも応用をしているマイクロソフトですから、インフラが問題になることも無いのではないでしょうか。個人的にも、どのようなアプリケーションがストアに並ぶことになるのか、非常に楽しみです。エンタープライズ用途向けにはストアを経由しないアプリケーション配置の方法も用意されるようです。とはいえ、企業向けのアプリケーションであっても、ストア経由のアプリケーションから様々な影響を受けることは間違いないでしょう。


開発組織に対するインパクトは?

それでは、この動きは開発組織に対してどのようなインパクトをもたらすでしょうか。直近のスマートフォン市場を例にして考えてみます。現在非常に元気のよいスマートフォン市場ですので、新たにネイティブアプリケーションの開発に着手されている会社も多いようです。しかし、多くのケースで「これまでの開発とのスピード感の違い」について違和感を覚えておられます。これまでであれば、たとえコンシューマー市場向けのアプリケーションであったとしてもある程度バージョンリリースで開発期間を固定できたのに対して、スマートフォン向けアプリとなった場合には終わりのないアップデートが待っています。ストアというインフラを通じて販売機会がこれまでになかったほど広がるのと同時に、多くの選択肢の中から選択され続ける努力を怠ることができない、待ったなしの環境に踏み込む事にもなるのです。

そうなってくると、これまでの開発の速度/体制では顧客からの要求に追いつけなくなってしまうケースも多く出てくることでしょう。そんなタイミングであるからこそ、インフラジスティックスとしては UI コンポーネントを利用して開発生産性をこれまで以上に高めることで、この流れに是非乗って頂き、他社との差別化を行い、機会の増大による新たな利益を手に入れていただきたいと考えております。


インフラジスティックスがお手伝いできることは何か?

実は、入社してからの数カ月の間に多くのお客様とお話させていただいた結果として、弊社の製品にご満足いただき、大変うまく活用していただいているお客様にはある共通点があることがわかりました。それは「設計の段階で要件を UI コントロールで満たすことが出来るかを評価」され、それによって開発の難易度を判断し、機能開発の可否判断をされていることです。大変シンプルな事実なのですが、いざ開発に入ろうとする瞬間に生産性をあげるために UI コントロールを探され、結果として弊社の製品にたどり着いて効果を上げる場合ももちろんあるのですが、ユーザインターフェイスに関わる仕様が開発の手戻り要因の多くを占めることは明らかであり、設計の段階で正確なイメージを持っていただくことが難しい領域の一つです。この段階で、弊社の UI コントロールとその機能をひな形として使って頂き、これで十分か、これ以上に必要なところはあるか、と仕様を詰めていただくと、多くのケースで認識齟齬が少なくなり、正確な見積もりをしていただくことが可能になります。もちろん、 UI コントロールを積極的に使っていただくことでプロジェクト期間全体を短くしていただくことが可能です。(仕様を詰める段階で、弊社のサンプルブラウザを使っていただいてるお客様もいらっしゃいました)

effective way to utilize UI controls

ラフな形でコントロールを並べた状態をプロトタイプとして捉え、前述のような設計の推敲に活かされているお客様もいらっしゃいます。やり方はともかく、弊社の UI コントロールを使っていただくことで「UI 開発における手札が多く増えた状態」になるはずですので、設計時点で具体的な状態を意識して頂ければ一層効果が期待できると思われます。また、設計時点での可否判断において弊社のサポートをうまく利用して頂ければ、一層効率よくその後の開発プロセスを進めていただけるはずです。(ある特定の仕様が弊社の UI コントロールで実現できるか?といった内容でサポートへの問い合わせをしていただくケースも多くございます。)

また、そのようなお客様では、年に2回以上行われている弊社の製品アップデートに関しても、新たに手札が増え、既存の環境に対しても新たに価値提供できる可能性があると考えていただいているケースが多く、弊社の製品アップグレードがそのままお客様の製品の価値向上につながっている状態になっているケースもあり、インフラジスティックスとしても大変嬉しく感じております。

もちろん、最初から弊社のコントロールを購入して頂いて手札を増やしていただけると大変嬉しいのですが、それが難しい場合でもトライアルを利用していただくことで、20日間サポート付きでご利用頂けますので、この期間を有効活用していただいてうまく設計工程を進めて頂き、結果として弊社のコントロールが役に立つとわかれば購入していただく、という流れが自然かつ満足度が高いのではないかと思います。

また、要件から実際の実装される姿を想定して設計する時に、 UI コントロールを利用したどのような実装パターンがあるのかについても検討することになるかと思います。弊社はこれまでも Quince という UI パターンブラウザを提供して参りましたが、それらを具体的にどのように UI に落としこんでいくかについて UXワークショップにおいて詳しくお伝えしておりますので、こちらへの参加も合わせてご検討いただければと思います。

Metro の原則でも出てきましたが、あくまでも重要なのは「何を見せるか=コンテンツ」であり、皆様のアイデアから生まれる創造的な部分です。これに対してインフラジスティックスは様々な「ひな形=パターン」を提供し、皆様が本当に差別化出来るポイントに集中していただくためのお手伝いをしたいと考えております。是非弊社の製品/サービスの活用をご検討いただければと思います。


今回は非常に抽象的な内容となってしまいましたが、この数ヶ月感じていたことを Windows Store の報道をきっかけとしてまとめて書かせて頂きました。つい先日NetAdvantage 2011 Volume 2 をリリースさせていただいたところですが、今後も更なる価値向上を目指してアップデートを続けていき、定期的に私を含めたチームBLOGにてご案内していきますので、是非よろしくお願いいたします!

久しぶりにバイク屋をはしごの巻

今日は、関西への帰省に伴って月曜日まで仕事はお休みを頂いており、一日ゆっくり出来ました。朝も寝坊気味で起き、娘を送り出してからあまりの天気の良さにBuellで散歩に出かけました。

本日は前々から気になっていたスーパースポーツを見学しに久しぶりにYSP三鷹へ。なんと店長の若松さんは今年の鈴鹿8耐を完走してしまっている現役ライダーさんなんです。なので、SSのことを聞くならこちらですね。前々から思っていたことなのですが、もしスーパースポーツを手に入れるとしたら絶対国内仕様がいいと思っていました。いきなり逆輸入の200馬力近いフルパワーを手に入れたところでもちろん使いこなせるわけもなく、国内のディーラーでの保証やサービスの問題もあるので、国内仕様の中古とかだろうなぁと。(注:ここまで完全な妄想の世界です)

行ってみると、R1は新車と中古車の両方がありました。新車は12年モデルがトラクションコントロールとか付いて発表されたので、現モデルの在庫があればかなり安く新車を手に入れられるらしいです。(乗り出し120万円位?)中古のエンジン音を聞かせて頂きましたが、シンプルな4気筒とはまた違った、説明しにくい音がしてまして、オーナーの方は所有満足度が高いだろうなぁと思いました。ツーリングにも使ったりするのであれば、R6よりもR1がおすすめだそうです。というのも電子制御のモード選択があって、意図的にマイルドにできたりするらしく、街中だったりツーリングでゆっくりという時はそちらにしておくとギクシャクしなくていいそうです。ポジションもR1の方がゆったりしてるらしい。実際に跨ってみると、リア周辺のボリュームにビビります(欠に二本出ししてるから当たり前だ)が、足つきやポジションはそれほどきつくはなかったです。あと、シートもちゃんとシートになっていた(輸入車のSSってただの板切れみたいだったりするので)のも良かったです。いいですねー、と呪文のようにつぶやいておりました。

それよりも、今日びっくりしたのはこれです。

YZF-R125

YZF-R125です。新車乗り出しで50万円を切ってます。隣のR1と比べても堂々の車格。鋭角なデザインが素晴らしく格好良かったです。ブレーキもBremboだったりして、プレミアムな感じ。アプリリアとかKTMが125を出してきてますが、もっと盛り上がってもよさそうなクラスですよね。セカンドバイクとしてボーナスで!とかいう人もいるんじゃないでしょうか。使いきれる/きれないという話しであればこのクラスですら怪しいし、車体はオーバースペックなレベルなわけだからこんなのも楽しいでしょうね。

YZF-R125

その後、これまた久しぶりにHD調布へ寄らせてもらいました。色々雑談をさせていただきつつ、ちょっと気になっていたことなどを聞かせてもらって、他のお客さんがBuellをどんな感じで楽しんでるのかなんかも聞き、ディーラーってこういうところも大事だなぁと思った一日でした。今日行った2つの店はぜんぜん違うお店なんですが、どっちも信用できるお店で、頼りにしています。

そうそう、今日発進の時に、回転高めでスポンと繋いだら思い切り前輪が浮いてびっくりしました。もしかして、タイア変えたせいなのか?ウィリーしたいわけではなくて、引き出せていないパワーがもっとあるんだなぁと思い、もっと頑張って乗っていようと思いましたとさ。


帰省中にHYOD Osakaに行ってきた、の巻

久しぶりに関西へ帰省してきました。実家は空港から近い池田というところなんですが、どうもHYODのお店が近くにあるようだったので行ってみました。

20111204-182404.jpg

いやー、オフィシャルショップということもあって、かなり充実の品揃え!いつもシーズン前に季節ものがなくなってしまいますが、ここにはほぼ全てある感じで盛り上がりました。特に二階に置いてあるレザースーツの充実がすごいです。ええなー、と思いつつももちろんレザースーツを買って帰れるわけもなく、ウェアのハンガー(重いから普通のやつだと持たないんです)だけ買いました。ここで奥様、店員の人に「わざわざ東京から来たんです!」とアピールしてくれて、なんやかんやでステッカーもらいました。妻よ!偉いぞ!

数日の滞在でしたが、帰りも空港からなので帰宅時にも寄りました。何故かというと:

20111204-183048.jpg

カガヤマ選手が来てたんですよね!記念の写真をとっていただきました。キーホルダーや、あまりこっちで売ってるのを見たことがない白のスライダーなどもついでに購入しました。一回浜松の店にも行って見たいです。ヘルメットもかなり良かったなぁ。