NuAns NEO、1日使ってみて

さてさて遂に出ましたNuAns NEO。さっそく1日使ってみたので感想をば。OSやアプリ周りのあれこれについてはもうMADOSMAを使ってきているので比較とかそのくらいで。なお、iPhoneやAndroid端末を持たない純Windows Phone/Windows 10 Mobileユーザなので感想には偏りのある可能性があります。


我らが大正義MADOSMA先生。最近はもっぱらオレンジカバー。
WP_20160201_19_56_46_Pro
NuAns NEO起動ロゴ。

MADOSMAのバックアップを利用可能。

サイズ・形状

5.0インチはやっぱり大きい。MADOSMAと比べると、画面サイズは同じで、本体は縦が僅かに短く横が少し広い。持ちやすいデザインということで、しっかりグリップしたときの持ち心地は良い。グリップせず手に乗せるだけの使い方では滑りにくいオレンジカバーなMADOSMAの方が上(これはカバー選択によるか)。

やはり特筆すべきはその厚さで、MADOSMAのおおよそ1.3倍、IS12Tをも僅かに上回る(あの出っ張ったカメラ部分を除く)という近年稀に見る分厚さ。個人的には正直あまり薄さに対してメリットを感じてはいないのでこの厚さにして大容量バッテリーを載せるという選択はグッド。あとは画面サイズがもうちょっと小さいと片手持ち派としては嬉しいのだけれど。

カバー

ひとまず上下1セットを購入。そのうち追加で注文するつもりではいる。さわり心地は良い。触っていて上下の境目が気になるということもない。気づいた点としては、材質故なのだろうか、木材カバーは端の方の作りがやや粗い。それほど気にするレベルではないけれど。

あと、最初装着しようとしたとき、あれ、これサイズ合ってないんじゃないかというくらいキツかった。ただ、その後は特に苦戦することなく装着できている。

ボトムを木材にしたのだけれど、前述の通りさわり心地は良いのだが手との摩擦がちょっと小さいので、グリップせず乗せるだけの片手持ち運用にはあまり適していないかも。

バッテリー

さすがに大容量バッテリーを載せているということで、MADOSMAでは残量5%以下になって電源が切れていただろうくらいの使い方をしていたが20%を切らずに1日過ごせた。

Quick Charge 2.0対応の充電器を買ったので充電速度も凄く速い。届いたのがNEO到着の翌日(というかNEO届いてから充電器注文した)なので初回は普通の充電器を使ったのだが、比較すると段違いだった。QC2.0では30分で40%近く充電される。バッテリ容量がNEOより少ないMADOSMAを遙かに上回る速度。充電器もお値段高くないのでこれは買わない理由がないレベル。


トリニティのブログ掲載の品。6ポートあるのでNEOとMADOSMAとIS12T(退役検討中)が同時に充電できる上に更に増えても大丈夫。

画面の明るさ

MADOSMAより暗く出来る。良い。自動調整もMADOSMAより適切な明るさに見える。

輝度10以下に変化がないのはMADOSMAと同じ。再起動時に明るさが設定と一致しなくなったりするのも同様。MADOSMAは次期ファームウェアで修正されるっぽいような記載がある(「動作が不安定」という書き方なのでこの症状を指すのか不明)けれど……。

音量

大きい。イヤホン使用だと音量1〜2で十分。MADOSMAはいつも12くらいに設定しているのでその差は歴然というところか。逆に言うとこれ以上下げられないということなのだけれど。

Continuum

NEOといえばやはりこれ。なのでとりあえずさわりだけ使ってみた。

WP_20160201_22_31_51_Pro
推奨品のActiontec ScreenBeam Mini 2。注文時点で在庫残り1だった。
WP_20160201_23_48_15_Pro
接続し、Continuumの紹介ビデオが流れ終わっての初期画面。

NEO本体がタッチパッドになり、入力欄では通常のスクリーンキーボードも出現するのでマウスやキーボードがない場合でも一応使える。ただ本格的にContinuumを使うなら当然ながらマウスとキーボードはあった方が良い。

ちゃんと計測を行ったわけではなくあくまで体感ではあるが、遅延は0.1~0.2秒程度。反応速度が重要なゲームであれば望むべくもないが、WordやExcelの編集程度なら支障ないんじゃないかと思う。UWPアプリの普及次第な所はあるけれど、いろいろ使い道が広がりそう。

その他

気になったのは電源ボタンの反応。妙に鈍いことがしばしばある。NEO固有の問題としてはそんなところか。

初回の充電時に動作が不安定になったが、これは充電器との相性問題だろうか。安い充電器だったので供給される電気の品質が悪かったのかもしれない。新しく買ったQC対応充電器では大丈夫だった。

PCに繋いだUSB2.0ハブでは充電できず、認識さえされず。尤も、MADOSMAでは接続と切断を無限に繰り返す状態に陥っていたのでこれもNEOの問題というわけではなさそう。USB3.0直付けだと認識され、充電もされた(MADOSMAも同様。USB2.0直付けは空きポートがないため未確認)。

それ以外に音楽再生が何やらおかしい挙動をしていた(曲が切り替わり再生が続いているのに音が出ない。音飛びが起こる)が、こちらはファイル破損の可能性もある(未確認)ので現時点では保留。

WP7.5アプリ作成の思い出とUWP化雑感

Windows Phone / Windows 10 Mobile Advent Calendar 2015の22日目です。

2015年は本当に、2014年時点では想像も出来なかったような展開になりました。2015年? どうせまた何も展開ないんでしょ……みたいな雰囲気も漂っていた1年前、まさかこんな怒濤の端末リリースが予想できたでしょうか。2015年早々にWP8.1端末開発が発表され、6月に発売されて、そして11月末からはW10M端末が続々と発売される……。イレギュラーな手法ながら世界最速でのW10Mアップグレードという恩恵を受けた我らがMADOSMAを日々使いつつ、au回線のため生き残り続けているIS12Tの処遇も考えながら、この年末を過ごしています。

とはいえ、IS12Tから救世主MADOSMAまで大分期間が空いたわけで、昔公開したWP7.5用のアプリが暫く放置されたままになっていて……。

これまでに5つのアプリを作成、公開しているものの、「超!A&G+プレイヤー」以外の4つはWP7.5 Silverlightアプリという状態。もちろん依然として動作はするわけだけれど、しかしもうW10M用にしてしまいたいというわけで、時間を見ておいおい置き換えていくつもり。どこぞの大社畜には遠く及ばないものの、それでもやはりWP7.5アプリを作っていた頃と比べるとまるで時間が無いので、果たしてどれだけかかるやら……。

とりあえずは手始めに自分が一番よく使うアプリでなおかつWP8以降ちょっと不便になってしまったPhotocessorをまずは直していきたい。

画像加工系のアプリはそれこそWP7.5の頃から結構あったのだけれど、何でまた自分でそれを作ったのかといえばあの頃のOSの仕様というか制限が関係していました。……WP7.5では、ImageやBitmapImageで縦横いずれかが2048pxを超える画像を読み込むと、勝手に縮小されてしまうという仕様があったのです。それが2048pxぴったりになるよう縮小されるならばまだよかったのですが、実際は2048px以下になるまで1/2縮小を繰り返すというものでした。

これがIS12Tのカメラが撮る画像サイズとは相性が悪く、縦横1/4、画素数にして1/16まで縮小されてしまうために、横向きで撮影した画像をロック画面に設定すると画面サイズの800×480をも下回ってボケボケになるという残念なことになっていました。

で、それを解消するためにあらかじめJPEG画像のバイナリを読み取って縦横サイズを取得し、そのサイズでWriteableBitmapを生成してそこに画像を読み込むという手法を使って縦横2048pxを超える画像でも縮小無しで加工できるというのを売りにしていました。

……まあ、今はそんなことしなくても良いんですけどね。

というわけでPhotocessorの個人的一番の売りがOSの進歩により今は昔の状態となってしまっているわけですが、そんなことは気にしない。UWP版、作っていきますよ。

WP7.5から変化したことといえば、あと大きなのは解像度。かつては800×480固定だったけど今や何でもあり。スケーリングも100%から300%まで幅広く、その関係でアイコンも昔は透過PNG画像(それも1解像度分)で矩形をマスクしていたものが今は外字領域にアイコンを設定した埋め込みフォントを使うのが主流のようで。InkscapeとFontForgeを使ってフォントを作ります。InkscapeでSVGを作成し、それをFontForgeで取り込んでフォントとして出力。FontForgeにはスクリプト機能があるのでそれによって自動で処理をさせると楽ちん。

photocessor-uwp

あとはまあ、VisualStateManagerを使って各サイズに合わせたレイアウトにするとか、WP7.5では無かったあれこれを。とはいえ複数画面サイズに対応させるなんてのはWebではごく当たり前にやることでもあるのである程度コツを掴めばそこまで大変でもないかな。完成するのがいつになるかはわからないけれど!

さてさて、翌23日のWindows Phone / Windows 10 Mobile Advent Calendar 2015は、Xamarinでお馴染みの@ytabuchiさんです。残すところあと3日ですよ。

MADOSMAをWindows 10 Mobileにアップグレード

しました。

熾烈な国内最速合戦。満を持して最速を宣言したFREETELのKATANA01、その後に突如として現れたヤマダ電機のEveryPhone、そして直営店への持ち込みという変則的な手段により、世界最速でIPではないWP8.1→W10Mのアップグレードを提供したマウスコンピュータのMADOSMA……。

本当はOTAの配信(米国MSの準備が整わないと始まらないらしい)を待ってもよかったのだけれど、ちょうど都内に行く用事が出来たことだし、と秋葉原のマウス直営店へ行ってきました。

行ってきたのは11時過ぎ。わりと開店時間すぐだったはずなのですが、既にアップグレード手続をしている先客が……。私と同じくオレンジのカバーを付けていた人と、デフォルトの白いカバーを付けていた人がいました。さらに続けて他の人も来たりで、店員によるとその時点でどうやらもう7〜8台のアップグレード受付をしているらしく……。あなたたちどれだけ早くアップグレードしたいんですか!!

店頭でのアップグレードはいわばクリーンインストールのような形で、データの初期化が行われる旨、説明がありました。データは基本microSDカードに保存しており、定期的にバックアップも取得されているので、指示に従いmicroSDカードを外して本体を預けました。

電話番号記入欄もあったのでアップグレード完了したら連絡が来るのかなと思っていたのですが、特に来なかったので1時間半後に行ったら完了していました。MADOSMAの番号だと思ったのでしょうか。私は2台持ちですよ。

で、Windows 10 Mobileです。OTAによるアップグレード配信がIPを除いてまだ始まっていないので、まがりなりにも正式なアップグレードとしてはMADOSMAが世界最速になるわけですね、すごい! しかもビルド番号はLumia 950やEveryPhoneより新しいみたい。

よくなったところ

クイックアクションがたくさん表示できるようになった

クイックアクションはこれまで4つ(高解像度端末とMADOSMAは5つ)だったのが、W10Mでは「展開」をタップすることでいっぱい出てくるようになりました。展開しない状態での表示量はこれまでと変わりませんが、タップ1回だけで他のアクションも表示されるのは良い。

スケーリングが調整できるようになった(MADOSMAのスケーリング問題が直った)

スケーリングの度合いが設定で変更できるようになりました。MADOSMAにおいては変更できるようになったということよりも、スケーリングが他の端末と異なっていた(それにより色々と問題が生じていた)のが解消された点が大きいです。正常に表示されていなかったアプリやサイト(ジャンプ+とか)が正常に表示されるようになりました。自作アプリに突っ込んだスケーリング対策も不要になるかなぁ……。いや、OS標準で変更できるようになったということは、むしろその辺もちゃんと確認するようにしないといけなくなるか。どちらにせよMADOSMAのW10M化で国内的にはこれ以上WP8.1を対象としておく必要性がほぼ無くなったのでUWPとして作り直しですかね。

輝度設定が細かくなった

発売当初のMADOSMAは眩しいと言われていました。ファームウェアアップデートにより大分暗く出来るようにはなりましたが、そもそもWP8.1以前では輝度設定が低中高の3段階しかなかったため、より暗くしたいというのが出来ない状態でした。これがW10Mではなんと0〜100%まで1%単位で調整できるようになっており、個々人の好みや使用する場所によって細かく変えられるようになりました。

困ったところ

標準フォントがYu Gothic UI

横幅が詰まって縦長になってるUIフォントシリーズは好きじゃないんですよね。MS UI GothicしかりMeiryo UIしかり……。游ゴシックがあるんだから游ゴシックを標準にして欲しい。(そういえばW10MではYu Gothicが游ゴシックとは別物になりましたね)

WP7.xだとIEのフォントがMeiryo UIだったけれど、OS全体の標準はYu Gothic(現在の游ゴシック)だった。

今度はEdgeのフォントはYu Gochic(游ゴシックではない)で、OS全体の標準はYu Gothic UIと、7.xと逆の状態になっている。UIフォントの使いどころとしては7.xよりも正しくはあるけど、そもそもUIフォントが要らない子なんだよなあ……。字形を崩さない、もう少し自然な詰め方ならいいんだけど。

キーボードのキー配置が変わった

WP8.1と配置が変わっているので打ち間違える。ここは慣れないとなぁ。

パスワードのコピペ入力が出来ない

メール設定の際に(Googleアカウントは最初にログインしてアクセスを許可する必要がある)これが地味に不便で、逐一タップして手入力していかないといけない。原則として長い桁数のパスワードを自動生成させ、それをマシンに記憶させておくという運用を行っている身としては、そんなランダムなパスワードの手入力をするのはつらい。幸いにして間違えることなく入力できたけれど。

まだまだ試せていないところはいろいろありますが、とにもかくにも、Windows 10 Mobile、登場です! いやあ嬉しいなあ……。

おでコンに落ちたよ

さて、おでコンに応募してた超!A&G+プレイヤーが無事に落ちたよ! ということで。

まあ機能的にも大分少ないし、そもそもターゲットが超!A&G+リスナーかつWindows Phoneユーザーという限られたものではあるんだけど……でも公式アプリがまだ無い現在では唯一の専用プレイヤーなんですよこれ。

入賞は出来なかったけど、このプレイヤーのまさに根幹を成すライブラリであるRtmpClientの作者さんが言及されてて嬉しかったり。

いや結構よく出来たと思ってるんですけどねぇ……(どっちの料理ショーの敗者サイドのトーンで

今後もちょろちょろアップデートは掛けていきたいと思っていて、Twitterまわりとあと何よりバックグラウンド再生をどうにかしたいところ。ただTwitterは本来の機能からは外れるものでもあるしそこまですべきかどうか悩ましい。確かに現状だと見ながらツイート出来ないのがちょいと不便ではあるんだけど。バックグラウンド再生が実装できれば聴きながらツイートは出来るようになるしやりたい所なんだけどこれが上手くいかない。再生出来ないことはないんだけど数分でさようならしてしまう。何か他にちゃんとしたやり方あるのかなぁ……。

MADOSMAと他のWindows Phone端末とでアプリのスケーリングを合わせる

さて、エミュレータ含め、普通のWindows Phone端末ではアプリ(Silverlightアプリ除く)のPageは横幅400として扱われます。ところがMADOSMAではこの値が600となっているため、文字や画像が小さく表示されるばかりか、アプリによっては全体が小さく縮んだ変なレイアウトになってしまうものもあります。

修正するとクイックアクションの設定可能数が5つから4つに減ってしまうなどもろもろの事情によりどうやらこのままで行くようで、ユーザ側では簡単操作の文字サイズ設定で小さい文字を大きく補整することもできるのですが、しかし文字以外のサイズは依然として小さいままとなります。

で、まあアプリの側で対応しちゃいましょうと登場するのがViewboxです。Viewboxは、そのContentを自身のサイズいっぱいまで拡大・縮小するコントロールで、単純にはViewbox直下にGridなりを置いてその横幅を400にしてしまえばMADOSMAとそれ以外とでスケーリングが揃うことになります。

それだけでも縦幅が十分に小さい場合はいいのですが、ここでViewboxの縦横比よりその中身の縦横比の方が縦の比率が大きくなってしまうと、縦幅を基準にスケーリングされるようになってしまうわけで、つまり縦幅が伸びるごとにどんどん小さくなっていってしまいます。解決するためには縦幅も指定してやれば良いのですが、画面の縦横比は端末によって異なるため縦幅は一様に定まりません。というわけで算出する必要があります。

自動調整してくれるコントロール

テンプレートコントロールとして作ってしまいましょう。新規作成でテンプレートコントロールを選んで……。

AdjustmentViewbox.cs
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace Sample01.Controls
{
    public sealed class AdjustmentViewbox : ContentControl
    {
        private static readonly double BaseLength = 400;
        public AdjustmentViewbox()
        {
            this.DefaultStyleKey = typeof(AdjustmentViewbox);
            this.SizeChanged += AdjustmentViewbox_SizeChanged;
        }

        private void AdjustmentViewbox_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            if (e.NewSize.Height > e.NewSize.Width)
            {
                // 縦長
                AdjustedWidth = BaseLength;
                AdjustedHeight = e.NewSize.Height * BaseLength / e.NewSize.Width;
            }
            else
            {
                // 横長
                AdjustedHeight = BaseLength;
                AdjustedWidth = e.NewSize.Width * BaseLength / e.NewSize.Height;
            }
        }

        public double AdjustedWidth
        {
            get
            {
                return (double)GetValue(AdjustedWidthProperty);
            }
            set
            {
                SetValue(AdjustedWidthProperty, value);
            }
        }
        public double AdjustedHeight
        {
            get
            {
                return (double)GetValue(AdjustedHeightProperty);
            }
            set
            {
                SetValue(AdjustedHeightProperty, value);
            }
        }

        public static readonly DependencyProperty AdjustedWidthProperty = DependencyProperty.Register("AdjustedWidth", typeof(double), typeof(AdjustmentViewbox), null);
        public static readonly DependencyProperty AdjustedHeightProperty = DependencyProperty.Register("AdjustedHeight", typeof(double), typeof(AdjustmentViewbox), null);
    }
}
Generic.xaml
<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Sample01.Controls">

    <Style TargetType="local:AdjustmentViewbox">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <Viewbox>
                        <ContentPresenter
                            Width="{Binding AdjustedWidth, RelativeSource={RelativeSource Mode=TemplatedParent}}"
                            Height="{Binding AdjustedHeight, RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
                    </Viewbox>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

で、作ったらあとは使うPageのContentをまるまる覆う形にしてやればよし。

エミュレータ(720p)での表示
エミュレータ(720p)
MADOSMA実機での表示
MADOSMA実機

これでもう文字が小さいなんて言われずに済みますね。

注意点

  • 計算誤差かわずかに隙間が生じることがある
  • Viewboxの外側、上部ステータスバーや下部アプリバーのサイズは小さいまま

MADOSMAを1日使ってみて

さて、本日は我が国に於ける4年ぶりのWindows Phone端末であるMADOSMAの発売日。

というわけで、思いがけず1日早くフライング宅配されてきた我がMADOSMAを今日1日使ってみた感想などをば。Archに参加しても良かったんだけどその日に届くだろう端末を早く触りたかったのと仕事が終わるか判らなかったので見送ったら前の日に届くし仕事はここのところ定時帰り。

なお、比較対象に出来るものがIS12Tしかないので感想には偏りのある可能性があります。


レグザフォンやARROWSで一世を風靡していた頃の富士通東芝が出してきたまさかの良機種。欠点は流行らなかったことと後継が出なかったことくらいか。

配達日指定なし。火曜に発送され、留め置かれることなくそのまま翌日水曜に到着。サンキューNTT-X Store。サンキュー佐川。

サイズ

5.0インチ。デカい。まあデカい。IS12Tが3.7インチなので面積で言えば1.8倍ほどにもなる。片手操作で親指だけを動かして届く範囲はせいぜい画面の2/3程度しかなくてなかなか厳しい。

が、それを差し置いてもこの一画面に収まる情報量はなるほど魅力的。3.7インチ、480×800とは世界が違うレベルだなぁと思う。

それでも本当は3.7~4.0インチくらいの端末が出てくれると良いんだけどね……あれだけ種類のあるAndroidですらこのサイズは希少種な今の時代では難しいか。3.5インチで十分と言っていたiPhoneも順調にでっかくなってしまったし。需要ありそうなんだけど。

動作

IS12T同様スペックの割にぬるぬる動く。まあこの辺りはIS12Tの例もありWPフリークな界隈の前評判もあり心配はしていなかったけど。

発熱

熱くない。IS12Tより穏やか。

まあ3Dのゲームをやるみたいなガッツリ熱くなりそうな使い方まだしてないんだけども。

スクリーンショット

IS12Tでは開発者アンロックしてーの野良アプリいれてーの撮りたい時に起動してーのでスクショ撮ってたけどOS標準機能として備わっているので電源ボタンと音量プラスボタンでさっと撮れる。

この端末はそれら2ボタンが反対の面に付いているから押しやすい撮りやすい。……撮りやすすぎてスリープさせたい時に誤爆することがままあるのが難点。まあ、これは慣れか。

中華フォント

やっぱりあっちゃうのよねこれ。サードパーティ製アプリはまあもうそういうのあるよねなんだけど、MSN系のアプリにもなぁ……。

あとHTMLメールで画像が表示されていない時の「画像のダウンロード」とか。

バッテリー

結構持つ。ここの最近のIS12Tよりも激しく使ってるけどまだバッテリーセーバーが作動する基準になってない。IS12T(1460mA+経年劣化)だともうgood byeなレベルだけど、まあ2300mAだし大画面の消費電力差し引いても十分行けるのな。

ちなみに今日のIS12T(そう、WP2台持ち)は電話・SMS専用機と化した結果80%の残容量である。
昨夜充電している時になんか回復遅いなーと思ってたんだけどそりゃあ容量的にIS12Tの1.5倍掛かってもしかたないわな。


これを書く余裕まである。

Twitterアプリ

とりあえず引き続いてKrile入れてはみたけどさすがに7.x用だし古いしもう更新もないしちょいちょい不具合も見られるので何か良いの探してみる。

見つからなければ作るかな……O-ruri for WPを。

地図

gMapsかMapFanあたりを入れようねぇ。

自作アプリ

まあ動く。動くけど7.x用(解像度480×800のみ)だから上下に空白出来るし画像もぼやける。

あとPhotocessorがカメラロールから起動出来なくなってて使い勝手悪化してる。やっぱ早急に8.1対応版を作らねば。何より自分が頻繁に使ってるアプリだしな。

VPS移行

レンサバからVPSに移行してみた。

借りた当初は十分だったんだけど最近いろいろとやりたいことも増えてきたので思い切って移行。ついでに鍵マークが付くようにした。

結構いろいろと嵌まったりしたこともありつつ概ね出来た感じ。あとはメールだな……。

次の引き落としになる前にレンサバの方を解約しておかないと。

本当は人狼推理補助ツールのアップデートを先に行うつもりだったんだけどこうなった。そっちはもうちょい待ってね。

Cities: Skylinesやろうと思ってたのに全然やらないまま休日が終わるのである。

ときさし (山の日対応版)

ときさしWindows用ソフトときさしを更新。

ソフトそのものの更新は無し。祝日法の改正による山の日制定に対応するよう、「祝祭日.csv」ファイルのみを差し替えた。このファイル単体での配布もあり(ファイルサイズ的にはフルパッケージでも大したことないんだけど)。

まあときさし自体作り直してもいいかなぁとか思ってたりはするんだけどそこまであれこれ手を出す余裕はなさそうだ。

Analog Timer 0.1

Analog TimerAnalog Timer 0.1を公開。

名前通りアナログ式にダイヤルが回ってカウントダウンしていくタイマーアプリ。例によってWindows Phone アプリケーション トライアスロン キャンペーン用に作ったもので、とりあえず完走するため感がないとは言えないが、それでもまだなさそうなタイプのものを作ったつもり。……タイマーアプリいっぱいあるけど、見た限りどれもデジタルだし。知らないだけであるのかもしれないけど!

カウント範囲を変えるとき(60秒↔5分↔60分)のエフェクトが個人的に好み。