2016/03/29

Pebble Time Manager for Windows 10 Mobile

しばらく前にこんなアプリが公開されていた。
Pebble Time Manager - Microsoft Store
Windows 10 Mobileで動くPebble Time用のアプリだ。通知機能がアプリ内購入になっているような記載があったのでインストールしてたんだけど、特にアクティベーションするような設定項目はない・・・

良く情報を追っていくと、通知等の追加機能については作者のページを見るようにというような話っぽいので早速行ってみた。
Meusesoft - Pebble Time Manager
早い話が、通知機能を組み込んだアプリはStoreの審査でひっかかっちゃうから、Store版は一部機能を省いたもので、このサイトからダウンロードできるものが本命って事らしい。インストールは以下のガイドを参照してねって事らしい。
Pebble Time Manager - Installation guide
ガイドではVisual Studio 2013 (Express)をインストールしてWindows Phone 8.1 SDKを入れて"Windows Phone Application Deployment 8.1"を使えって話だ。

手元の環境ではVisual Studio Community 2015でWindows Phone 8.1の開発環境はインストールしていなかったから、「Windows 10 SDKのWinAppDeployCMDでなんとかできない?」って聞いてみたけど「そのコマンド全然知らないからガイド通りにやってよ」って言われたので、しかたなくVS2015の構成のWindows Phone SDKを追加インストールした。

とゆーワケで・・・少なくともWindows 8.1以降の64bit環境(もしかしてProも要る?)がないと使えないって話ではあるんだけど、一応Win10MなLumia 930にもガイド通りの手順でインストールができた。

あとの使い方は基本同じなので、先にLumia 930とPebble Timeをペアリングしておいて、アプリを起動する。20160327以降のアプリだと起動時に通信できるPebble Timeが登録される。

メイン画面は3枚。
Watch Face
Watch Apps
Status Message
Face、Appともに「+」をタップするとストアに接続する。Pebbleアカウントのログオン周りは実装されてないっぽいので、Pebble側にインストール済みのFaceやAppsのリストとかは同期してくれない。(そのうち実装されるのだろうか?)
あと、このブログエントリ時点ではストアからのFace/Appのダウンロード/インストールがうまくいかない。バグなのか手元の環境によるものなのかはまだ切り分けられない。

あとログ表示画面の下に「Connect」ボタンがあって、これタップするとPebbleとの通信を開始するのかなー?とか思ったんだけど・・・
なんかエラーメッセージが出てきてどうにも接続できた感じがない。
感じがしないんだけど、どうやらこのままでもちゃんと通知が来るっぽく、このConnectボタンはそういう風に使うものではないっぽい事が分かった。
じゃあどうやって使うのかと聞かれると・・・良く分からない(ぉぃ

下段右側にある歯車ボタンをタップすると設定画面が現れる。
紐付いてるPebble Timeの情報。
複数のPebble TimeをAssociateできるかは不明だけど、フツーのヒトは複数できなくてもいいはず(笑)。「Undo」で解除(削除)できる。
隣が「Timelineの同期」の設定。
「なし」「15分毎」「30分毎」「60分毎」の幅で設定できる。
その隣が「通知」設定。
「Apps」にチェックを入れるとサードパーティ製のアプリの通知を飛ばしてくれる。なんか最初の時点ではちゃんと飛んでこなかったんだけど、再起動した後はちゃんと飛んでくるようになった。
で通知を飛ばすアプリの選択。
まぁ、このあたりはAndroidとかも同じような感じかな。
あと、温度と距離。(天候情報とかに使うのかな?)
摂氏/華氏、km/milesの選択ができる。

バッテリ節約の関係なのかBTスタックの制約なのか、そもそもLumiaとPebbleは常時接続されない。アプリ側から通信を開始すると都度BT接続してデータを送るっぽい。従ってPebble側からWPデバイスへ通信しなければいけないような機能は実質使えない。
Pebble TimeもLumiaもBTLEをサポートしていて、LE接続なら接続が途切れないんだけど、確かPebble SDKの方がまだLE接続をサポートしてないんじゃなかったかな?
Pebbleとスマートフォンの間がLEで接続して使えるようになればもっと便利になるんじゃないかな。

とゆーワケで、"Pebble Time"ならWindows Phone (Windows 10 Mobile)でもちゃんと使えそうだよ!って話だった。インストールにVS2013以上が必要ってのが難点だけど、環境が揃うヒトは入れてみるといいよ!

2016/03/19

Windows 10 MobileでQtQcuikアプリを動かしてみる。

と、まぁ、仰々しいタイトルにしてあるけど8割は釣り。
とりあえずはツールを揃えて、インストールするだけ。
Windows 10 Proな環境で、とりあえず以下の2つをインストールした。
  • Visual Studio Community 2015
  • Qt 5.6
VS2015のインストールは「カスタム」インストールにし、「Windows開発とWeb開発」→「ユニバーサルWindowsアプリ変換ツール」を指定してWindows 10 SDKやモバイル回りのツールがインストールされるようにしておく。
これでSDKもインストールされるんだけど、ふつーにやるとデバッガまではインストールされないっぽい。んで、とりあえず「プログラムのアンインストールまたは変更」からSDKを選択。
変更押して「change」選択してデバッギングツールを選択。
インストールしておく。うむ。

んで、このあいだリリースされたばかりのQt 5.6.0を入れてみよう。
今回はVS2015を入れた訳だから、言われるまでもなくmsvc2015な奴を選択。今回の目的はWin10Mなデバイスでアプリを動かすことだから、WinRTな奴をチェックするのを忘れてはいけない。うむ。

まぁ、そんなこんなで一応ツール類は整ったはず。とりあえずQtCreatorからテキトーなプロジェクトを立ち上げてみる。

この状態でデフォルトで4つのKitが登録されている。Windows Phone 8.1とかの時はKitの中にPhone用のものがあったけど、どうやらMobile用のキットは標準では入ってないっぽい感じ。
細かいことは省略するけど、「オプション」→「デバイス」を見るとちゃんとエミュレータ類とかもあって使えそうに見えるんだけど、手動でKitを設定してデプロイ先にエミュレータを指定してもなんかうまく動かなかった。
で、ググったところ去年のQtWSでこんな発表がされていたので、以下はコレを見ながらやってみた。

QtWS15- Developing for Windows 10 With Qt, Maurice Kalinowski, The Qt Company

まずはQtCreatorで新規プロジェクトを作成する。この辺りの処置はまだよくわかってないんだけど、とりあえずKitはWinRT x86とWinRT armを指定しておく。
画像の中にはWin10のEmulatorみたいなKitがあるけど、「追加してみたけど撃沈した」名残だったりする(笑)

一応KitにWinRT x86を指定して走らせるとRT用のエミュレータが起動して動作が確認できる。
で、ここまでで一旦QtCreatorを終了させる。

次にコマンド プロンプトを立ち上げて、さっき作ったプロジェクトのディレクトリに移動して、以下のようにコマンドを実行する。
C:\path\to\project> C:\Qt\5.6\winrt_x86_msvc2015\bin\qmake -tp vc CONFIG+=windeployqt
実行するときには、Win10SDKのx86にPATHを通しておく必要があるので注意。
C:\> PATH = %PATH%;C:\Program Files (x86)\Windows Kit\10\bin\x86\
コマンドが正常に終了すれば、VS2015用のプロジェクトファイルとビルドに必要なディレクトリ等が現れるはずだ。

ここまでできたら、今度はVisual Studioを起動して、このプロジェクトを開く。
右側に見えている「ソリューションエクスプローラ」に表示されてるプロジェクト名を右クリックして「SDKの再ターゲッティング」を選択し、SDKを指定しておこう。初回にこれやっとかないと実行の時に「選択しろ」って怒られる。
とりあえず、Release、x86を指定して、エミュレータ上で実行してみる。
うまく動いた。

実機の方で動かすときは、winrt_x86_msvc2015じゃなくてwinrt_arm_msvc2015のqmakeを使うと、プラットフォームのところがARMになってて実機にデプロイできる感じ。
一つのプロジェクトでx86とARMを切り替えながら・・・ってのは、なんかうまくいってない。そのあたりはこれから確認だ・・・
なんにせよ、手元ではWP8.1の時はうまく動かせなかったXmlListModelとかあの辺が今回はうまく動いてるのが確認できたから、Win10Mで動くqippisっぽいのを作って試してみるつもりだ。

去年はマウスコンピュータが"MADOSMA"を国内リリースしたのを皮切りに、秋には日本マイクロソフトがWindows 10 Mobileな端末の投入を発表したりして、(Lumiaは来ないにしても)国内にも大手を振ってWP端末が売られてる。
とりあえずWin10Mなアプリ作るだけならここまで書いた通りフリーなツールで作れるワケだから、ここらでみんな一つQtQuickでアプリ作ってストアでリリースとかやってみようよ!
みんな、期待してるよ!(他力本願

2016/03/10

Jolla Tablet:日本語環境

おいらはJolla Tabletは入手できていないんだけど、日本からキックスターターでオーダーした人達の一部にはJolla Tabletが届いたりしているようなので、Tabletでの日本語環境についてちょこっと書いてみようと思った。

と言っても、まぁ、やることは基本的にJolla Phoneと同じだ。

Jolla: さて、日本語・・・

日本語リソースのパッケージはnoarch(アーキテクチャに依存しないパッケージ)だし、フォントの変更もCPUの種類は関係ないから、基本的に同じ手順で日本語環境が整う。
ただ、Phoneはarmv7hlでTabletはi486なので、アプリ(というか、バイナリを含むパッケージ)はi486用のものを使う必要がある。

とゆーことで、その差分等々メモしてみる。

日本語リソースをインストールするときに使うTablet用の"Warehouse"はコレ。

Warehouse for Jolla Tablet | OpenRepos.net

コレをインストールしてJapaneseで検索すれば日本語リソースが出てくるので、あとは元記事と同じようにインストールすればOK。

で、実は日本語入力(Jolla-anthy-jp)もこの検索でちゃんとリストアップされるんだけど、残念ながらi486なパッケージがOpenReposに登録されていないのでそのままインストールはできない。

SailfishOS SDKをインストールした環境があれば、比較的簡単に自力でi486用のパッケージをビルドできる。

SailfishOS IDE (QtCreator) 経由でもVirtualBoxのコントローラ経由でもいいので、mersdkのVMを起動しておく。

そいでは、anthy本体のビルドから。
$ ssh -p 2222 -i ~/SailfishOS/vmshare/ssh/private_keys/engine/mersdk mersdk@localhost
$ git clone https://github.com/BeholdMyGlory/libanthy-qml-plugin.git
$ tar xvfz libanthy-qml-plugin/anthy/anthy-9100h.tar.gz
$ cd anthy-9100h
$ mkdir rpm
$ cp ../libanthy-qml-plugin/anthy/anthy.spec rpm/
$ mb2 build 
ビルド中、サブディレクトリで何か中間処理をしようとしているところでエラーが出ることがある。大抵手動でツールを実行すれば良さそうだった。

"./mkdepgraph"の実行時にエラーが出て止まったら、こんな感じ。
$ cd depgraph
$ ./mkdepgraph
$ cd ..
$ mb2 build
同じように"./mkworddic -f ./dict.args"の実行時にエラーが出て止まったら、こうする。
$ cd mkworddic
$ ./mkworddic -f ./dict.args
$ cd ..
$ mb2 build
更に"./calctrans -c ./corpus_info ./weak_words"の実行時でエラーが出たらこうする。
$ cd calctrans
$ ./calctrans -c ./corpus_info ./weak_words
$ cd ..
$ mb2 build
これでrpmパッケージができてさえしまえば動いてるっぽいので、多分大丈夫じゃないかな。

で、次のlibanthy-qml-pluginをビルドするのにこのanthyのパッケージ自体が要るから、ビルドターゲット(Sailfish-i486)の環境にインストールする。
$ sb2 -t SailfishOS-i486 -m sdk-install -R zypper install ./RPMS/anthy-9100h-1.i486.rpm
そいでもって元の環境でlibanthy-qml-pluginをビルドする。
$ cd ~/libanthy-qml-plugin
$ mb2 build
最後にjolla-anthy-jpをビルドする。
ただし、rpm/-.specの頭の方のところに"Buildarch: noarch"を加えておく。
$ cd ~/
$ git clone https://github.com/BeholdMyGlory/jolla-anthy-jp.git
$ cd jolla-anthy-jp
$ vi rpm/jolla-anthy-jp.spec ← "Buildarch: noarch"を加える
$ mb2 build
上記手順で手元でビルドしたのがコレ。
元から動作保証はされていないアプリだけど、こっちも無保証です。
このパッケージを使って何か起きたとしても、もちろんおいらは責任とれないけど、ましてや作者のBeholdさんに文句言ったりしちゃダメだからね。
あくまでも自己責任で使おう!おっさんとの約束だ!(何

上のパッケージをanthy、libanty-qml-plugin、jolla-anthy-jpの順番でインストールするか、全部まとめてダウンロードして"pkcon install-local *"で一度にインストールすればいいはず。
あとは一応再起動すれば、ローマ字打ちでの日本語入力が可能になるはず。

Phoneサイズだとやっぱりフリックの方が良い訳だけど、このサイズならやっぱりローマ字打ちの方がいい感じに思う。フリックもATOKのタブレットモードみたいに右か左に寄せて10キーを配置するようなレイアウトを組めれば、それはそれで使えるのかもしれない。

ま、そんなこんなで、Jolla Tabletを手に入れた日本語圏の方々にはぜひ楽しんでもらいたい。