2017年9月17日日曜日

iOS 11 の AR

iOS 11のリリース日が19日に決まりました。

Flaskでは Standland, FitPort, Zones の3つのアプリがiOS 11の新機能を使ったアップデートします!
iOS 11 対応のアプリで、注目されるのはやっぱりAR?
...で、Standlandに試しに入れてみたのですが、実装してみて感じたことを書いてみる。


ARをどう使う?

どんな機能としてARを利用すると楽しいのか? が難しい!
なかなか心が決まらず、悶々としていましたが、最終的にはゆるーい簡単なものになりました。
家具を配置するとかの実用的なものはまだしも、ゲーム的なものはホント、誰得?ARである必要ある? と思うようなものしか想像できなくて。
ARKitとしてのトラッキングや平面認識の機能も、外の光の強さやテクスチャなどの環境に依存するので認識が遅かったり、できなかったり、おかしくなったりします。
(iPhone Xだとかなり良くなるのかもしれないですが...!)

な時間をかけて没入するよう機能は難しそうで、動きも不安定な所に課金要素を入れるのも苦しいし...ということで、お試しな位置づけで、あまり開発コストをかけないようにした。


影をつけたい

ARKitをつかってモノを配置する ということ自体はとても簡単に実装できます。
分からなくて困ったのは、影を作る方法。


まるで、そこに現実にあるかのように見せるには、影はとても大事。
staticな画像を底面に置くのもアリだけど、せっかくならキャラクターが動いたらそれに沿って影も動いてほしい...!
SceneKitの場合、影を作るにはSpotLightかDirectionalLightを当てる必要があるのだけど、床にも影を作る場合には、さらにShadowModeをdeferredにする必要がある。

本当は、キャラクター本体には影を付けず、床のみに影を付けたかったのですが、CategoryBitMaskを設定してもうまくいかず断念。deferredだからかな?

環境の光の強さと色はEstimateされた値が取得できるので、Lightに設定できる。つまり、太陽光の下と電球の下とでは色を変えたり、部屋が暗くなると一緒に暗くしたりできる。
環境の光の向きも取得できるのかと思っていたが、見当たらなかったのが残念。


ARのライフサイクル

初期化処理

ARのSessionを開始すると、初期化処理から始まり、これに数秒はかかる。
周りの環境のオブジェクトを認識してトラッキングできるようにするようなもので、カメラをある程度動かさないと処理が終わらないし、といって、動かしすぎてもよくない。
これをどーやってユーザに伝えるとわかりやすいか?が難しい。

平面検出

初期化処理が終わると、平面の検出が始まる。この検出処理もARKitがやってくれるので、検出できた平面情報を受け取ればOK。
平面が検出できていない or  平面ではない所 でもObjectは配置可能ではあるが、カメラを動かした時に追随してくれない可能性が高い。

平面の検出は、されやすい表面とされにくい表面がある。
暗い所や、表面が反射している素材、真っ白な素材もされにくい。
Apple Eventのデモでやっていたような、真四角の木の机はされやすい...と思う。

平面がなかなか検出されないってことは多くて、ユーザにとってイライラする所。
ポケモンGOはAR対応するって発表されていたけど、平面の検出させるのか?させないのか? がとても気になる。

セッションの中断

ARのセッション中は、カメラでトラッキングし続ける必要がある。
他のアプリに切り替えたり、画面の上に不透明なModal画面を表示したりして中断されると、それまでトラッキング対象だった情報の途中情報がなくなるので、引き続き処理をしていくのが難しくなる。
Apple のサンプルコードでも中断されたらSessionをやり直しするようになっている。

そのため、AR画面中にModal画面を表示したい時には、透明部分なしのModal画面であっても、overCurrentContext で表示するようにした。
例えば、ReplayKitを使って動画の撮影できる機能を入れているのですが、その動画プレビュー画面を表示する時とか。

UI

ARの画面では、操作ボタン類を配置せず、タップジェスチャーを使って直接配置したモノを移動したり、ズームしたり、回転させたりする感じがいい。
そういう意味で、UI構成の考え方は従来とはちょっと違う目線が必要だとも思った。

モノを配置するためのインジケーター
や、検出された平面の表示があるとユーザが操作し易いが、それを表示/非表示するタイミングも悩ましい所。



どんなARアプリが登場してくるのかが楽しみ!
実際にリリースするものを作成すると、他アプリを見る目が養われるのも実装した利点かもしれない。

• • •

2017年7月23日日曜日

knowを読んだ


野崎 まどのknowを読んだ。
2013年に発売とのことで、4年前の本です。

内容紹介を引用すると...
超情報化対策として、人造の脳葉〈電子葉〉の移植が義務化された2081年の日本・京都。
情報庁で働く官僚の御野・連レルは、
情報素子のコードのなかに恩師であり現在は行方不明の研究者、
道終・常イチが残した暗号を発見する。
その“啓示"に誘われた先で待っていたのは、ひとりの少女だった。
道終の真意もわからぬまま、御野は「すべてを知る」ため彼女と行動をともにする。
それは、世界が変わる4日間の始まりだった――
SFモノ。
時代背景が興味深かったので、ご紹介。

建物などの人工物には「情報素子」が組み込まれた「情報材」が使用され、モニタリングした周囲の情報が蓄積されていく。
そうして発生した幾何級数的に増加する有意、無意を問わない莫大な情報は、人類の脳で扱うのは限界になり、情報過多による病が蔓延。

世の中にあふれる情報量が増えていくのはその通りと思う。
だが、情報が多すぎるために人々が情報圧迫症みたいな病気に...はならない気がする。
人間の脳は賢いので、多すぎる情報はCUTするし、サボろうともする。
どちらかというと、検索すれば分かるから と、記憶や想像をしなくなり、脳を使わない病が蔓延しそうだ。


そこで、脳に直結した「電子葉」というデバイスを体内に組み込むことが義務化されることになる。
電子葉は、情報が必要になるとネットワーク経由で取得し選別された結果を、目の前に表示する。情報の取得だけでなく、個人情報を含む提供も強制的に行われる。
つまり、現在のように”個人情報は送信しない”という選択肢はなく、全て送信される。

私は個人情報も渡して便利な生活を送りたい派なので、そんな未来だったら素敵と思う。
ただし、安心できるシステム、管理先である前提。

knowでは、一人の天才がこのシステムを構築したという設定。
その教え子が、14年間そのコードを眺め続けた結果、バグはなく、ほんの数個だけ「こんな書き方、らしくないけど?」 というものが見つかったレベルで、しかもそれはわざと仕込まれた暗号だったという 凄さ。
なんとも羨ましい。そんな天才が現実にいて欲しいものだ。


取得可能な情報量、個人情報の保護量は、「階級」によって決まる。
レベルは0〜6まであり、通常はレベル2で、社会貢献度などにより上がっていく。
生活保護を受けている(税金を払っていない)人はレベル0 で、ほとんどの情報が得られないし、守られない。
レベル5以上は政府関係者のみに与えられる特権階級。

現在の日本で階級があるとすれば、どれだけお金をもっているか? だと思うが、それとは別に、情報の取得・保護量に差があるというのも面白い。
今の価値観では現実的ではないが、結構、今よりよい世界になるのかも?とも思ってしまう。

しかし、実はシステムを構築した天才は、「オープンソース」が理想像。
つまり全ての人がレベル0。全ての情報が開示され、取得できる社会。

安心・安全と便利 は、多くの場合、反対のベクトルを向いている。
「よいバランスで」 という結論となる話だが、思わず自分はどんな未来がイイと思うのだろう?と考えてしまった。

個人情報は保護されるべき という先入観を持ってしまっているが、
実名が必要なFacebookを使っているのはなぜ?
名刺って、強制的に個人情報をばら撒けと会社が指示をしてるようなもの? 代償に給料をもらっているから許せるの?
...とか。

SF作家さんは、現時点で垣間見える未来像を元に、想像する未来を、物語として文章にできるほど具体的にイメージしていくのが凄い。
だがら読み手は、たしかにそうなりそう!とか、これは違うと思う!とか、こうなって欲しい・欲しくない!とか思える。

knowの本筋のストーリーは、好き嫌いが分かれそうな感じ。
多分、これからはIoTだ!と叫ばれている時代に書かれたんだろうと思いますが、機械学習だ!と叫ばれている今、書かかれたらまた違うストーリーになったのかも?




• • •

2017年7月21日金曜日

iOS11の正式リリースはいつ?

iOS11対応 まっさかりの夏をお過ごしでしょうか?

新機能をいち早くアプリに取り込んで、「どやっ」ができるのもFlaskのような小さな会社&アプリのメリットなので、Day1 (iOSリリース日当日) のアプリアップデートを目指している。

だが、Betaはいくつまで進むのか、GMはいつリリースされるのかを予測しながら開発していくのは毎年ながら、ワクワクとキリキリする。

毎年、WWDCにてBeta1がリリースされ、9月に正式版がリリースされる。
それまでの期間は約100日。

過去のiOSリリース日は以下(現地時間)


Beta 1GM正式版
iOS 66月11日(月)9月12日(水)9月19日(水)
iOS 76月10日(月)9月10日(火)9月18日(水)
iOS 86月2日(月)9月9日(火)9月17日(水)
iOS 96月8日(月)9月9日(水)9月16日(水)
iOS 106月13日(月)9月7日(水)9月13日(火)
iOS 116月5日(月)


例年通りだとすると、iOS11は 9月6日にGMがでて、9月13日に正式版リリースってところだろうか。

現時点で最新のバージョンは、7月10日にリリースされた iOS Beta 3。
前回のiOS10ではBeta 8までいったが、基本的には Beta 5 が目安と思う。
基本的にはBeta 5 が最後のBetaだが、バグがあるようだったらBeta 6, Beta 7 .... と進んでいくイメージ感。
(※あくまで個人の感想)

つまり、iOS11 Beta 期間も折り返し地点を超えた感じ。

多分、例年通り、Beta 4 が7月下旬、Beta 5 が8月上旬 にリリースと思う。

Betaでは、想定通り動かない所が、仕様なのか?バグなのか?使い方が悪いのか? で苦労することが多い。
特に、Beta 1, 2 ではそういう箇所が多いのであまりハマらない方がいい。
だけど、Beta 4 を超えたら焦り始めないといけない時期になる。

焦り始める時期がもうそろそろくる.....

• • •

2017年7月19日水曜日

CubeがUSのAppStoreに載った

Cube をリリースして6日が経った今日、USのApp Storeの New apps we love に載っていた...!


左から2番目のいい位置にいる!
日本のApp Storeにfeaturedされるのももちろん嬉しいのだが、USのStoreというのはまた格別に嬉しい。

Standlandで、USのApp Storeにバナーが載ったことがある。
その時はいち早くSceneKitのApple Watchアプリを作ったから載ったのだが、そういう「何か」がないとなかなか載るのは難しい。

バナーではなく、この New apps we love の場合は単純にアプリの良し悪しで選んでいるように思える。前触れもなく突然載るのでびっくりするが、単純に嬉しい。

日本発のアプリの小さなアプリが世界に広まるには、USのApp Storeの人にどれだけ認知され、好きになってもらうかが一番の早道と思う。

ZonesがUSのAppleのプレスリリースの記事の中で名前を出してもらえたことがあるのだが、これはかなり嬉しかった。
頭の片隅にでも覚えててもらえてたのかと思うと、なんだが、奇跡だ。

もし、StandlandやZonesで、Flaskのことを知っていたから、Cubeにも目を向けてもらったのであれば嬉しいのだが、それは期待し過ぎかw

iOS11のリリースと同時に、App Storeが一新される。
GameとAppが別タブにきれいに別れる。
そして、Today タブが追加され、毎日アプリの紹介などの記事が掲載&更新されるらしい。

私達のような小さなアプリ開発者としては、とてもうれしい更新だ。
Todayにアプリの紹介をしてもらえるのを、今から夢見ている。



• • •

2017年7月12日水曜日

生理アプリ Cube をリリースしました


生理の記録と予測ができる、Cube(キューブ) をリリースしました。
生理周期を管理できる、ちょっとかわいいアプリです。ぜひ試してみてください!


コンセプト

女性なら、生理周期を把握して次回はいつか? を最低限知っておきたい。
日付の計算は面倒なのでアプリにお任せしたい所ですが、既にたくさんの生理アプリはあるものの、コレというのが見つけられずにいました。

理由は、
複雑で使い方が分からない とか
妊活/避妊目的が強すぎる とか
デザインが気に入らない とか。

私はめんどくさがりなので、生理開始日だけを記録していきたい。
経血量など、他の情報は記録しない。というかしたくない。続かないから。
なのに経血量の記録用に赤い血のアイコンがどーんと出てきたりすると、よりブルーになってしまう。

  • 「生理」というより、「周期」を管理したいだけ。
  • 周りに人がいる環境で使っても、恥ずかしくないものが欲しい。
  • 月に1度は必ず使うのだから、気持ちよく使えて、癒されるものが欲しい。

...という思いから作成したのが、この Cube。

妊娠 or 避妊 目的のアプリが溢れていますが、Cubeは周期の管理がメインのアプリ。
生理っぽい表示や表現をあえて無くしたのも特徴である、一風変わったアプリです。

たくさんの女性がいるのだから、目的に合わせたアプリを選べたらいいよね!と思うし、同じものを求めている人も多いはず。
そんな女性たちが、このアプリに巡り合ってくれたら嬉しいです。


ぷちカワCubeたち



アプリを立ち上げると、Cubeたちがモゴモゴ動いて数字の形に並び、あと何日か?を教えてくれます。
トップ画面はいろいろ情報を置きたくなる所なんですが、「やっぱり、かわいいのは正義よね!」といいつつ、バッサリ要素を切ってこの形になりました。

13個のテーマがあり、ネコやウサギなどのAniCubeたちがいます。
アプリアイコンもテーマに合わせて変える事ができます。
(先日Postした記事のアプリアイコン変更ネタはこのCubeでした)

リマインダーの通知も、Cubeの画像付き


通知にこの画像は無駄? いやいや....かわいいのは正義ですから!


生理の予測


メインの機能である、生理周期の予測については機能がしっかり豊富です!

  • 予測に使う生理期間や周期は、平均値 と 任意指定 から選べる
  • 特定の記録を、予測の平均値計算対象外にすることができる (薬で遅らせた時などに便利)
  • 年単位のカレンダーで、今後の生理予定をざっと見れる
  • 月単位のカレンダーで、iPhoneのカレンダー予定と一緒に生理予定を見れる

こういう痒いところに手がとどく機能って、機能豊富っぽいアプリでもなかったりしますよね...


安心のAppleヘルスケア

記録したデータはApple ヘルスケア(HealthKit)に保存しています。
外部サーバーにデータは一切保存していません。アカウント作成やログインなどもありません。
Apple ヘルスケアに生理日の情報を既に登録している場合は、まとめてインポートもできます。

いちユーザとしては、これがとても魅力的だったりします。
Apple ヘルスケアに登録しておけば、他のアプリからでも記録情報が参照できる。
iCloudで保存してくれるので、小さな会社にデータ預けるよりはよっぽど安心。
他のアプリへのデータ移動も(対応しているアプリならば)できる。


....ということで、
新たにFlaskアプリの仲間入りをしたCube、よろしくおねがいします!

Price: Free (アプリ内課金有り)
Compatibility: Requires iOS 10.3 or later. Compatible with iPhone and iPod touch.


• • •

2017年7月11日火曜日

iOS10.3のアプリアイコンの変更で気をつけること


Appleのカレンダーアプリは、今日の曜日と日付がアプリアイコンになる。
これはサードパーティのアプリでは不可能で、なんとも羨ましいと常々思っていた。

iOS10.3でその制限が少し緩和されて、サードパーティアプリでもアップデートなしでアプリアイコンが変更できるようになった。

該当のメソッドは、UIApplicationの setAlternateIconName
アイコン名を引数に渡す。UIImageのオブジェクトでは渡せない。
つまり、サーバーからダウンロードした画像や、アプリ内で作成した画像を設定することはできない。
Staticな画像をアプリに入れ、Info.plistに設定した名前を渡す必要がある。


Info.plistに設定が必要なのは少々面倒だが、アプリアイコンもレビューの審査対象になっていることを考えると、しょうがないのかもしれない。
とはいえ、できることが増えたのは嬉しい限り。

アプリアイコンを変更すること自体はすぐにできたのだが、混乱したのは変更時に表示されるダイアログ。


このダイアログは、setAlternateIconName で変更すると強制的に表示されるもので、削除することはできない。

「アプリアイコンが変更されたことをユーザに知らせるべきだろう」というAppleのポリシーは理解できるので、表示自体は問題ではないのだけれど、実は、このダイアログが表示されないパターンがある。

ダイアログが表示される/表示されない の差が何かは実はよくわからなかった。
このコードを呼ぶときに表示されている画面の種類に依存するような....?

ただ、iOS10では表示されないコードを、iOS11 beta2で試すと表示されたことから、表示されないということ自体がバグなのであろう と思う。

私がsetAlternateIconNameを最初に試した時、ダイアログが表示されないパターンだったためこのダイアログの存在を暫く気づかなかった。
気づいていない場合、とても危険なことをしてしまう可能性がある。
たとえば、setAlternateIconNameをアプリ起動時の度にを呼ぶ とか、一定時間たったら自動的に呼ぶとか。

ダイアログが表示される以上、
勝手に裏でアプリアイコンを変更する という仕様はNGで、
ユーザが画面上で「アイコンを変える」という操作をした時のみ変わる
ように仕様を考えないといけない...ということ。

罠には気をつけてお使いください!


• • •

2017年6月18日日曜日

サンノゼ事情


WWDC 2017に参加するためサンノゼに行ってきた。
来年もサンノゼで開催される予感がするので、サンノゼ情報を残しておく。


気候


サンノゼはサンフランシスコより南にあり、気候も温暖で治安も良く、町並みも南国の雰囲気が漂う。
日本のように湿度はないので暑くはないが、日差しはかなり強い。


似合うのであれば、サングラスを持っていくと良さげ。
日傘をさせれば随分楽なのだが、その文化がないのが残念。車社会だからか?

6月上旬に行ったのだが、朝晩は14度と寒いぐらいだが、日中は25度と暑かったりと、一日の中でも寒暖差がある。体感は、どれだけ日差しの下にいるかどうか?で変わるのだが。
私は、薄手のパーカーを2枚重ね着して暑くなったら一枚脱ぐ 感じで過ごした。
半袖にならなかった理由は、日差しよけという理由も大きい。
少々肌寒くても大丈夫な人は、ずっと半袖でもよいくらいの気候ではあった。

サンフランシスコに比べ、サンノゼの方が人々はとても優しかった。
どの国に行っても、都会より田舎の方が人が優しいもんだな。


サンノゼ国際空港


最寄りの国際空港はノーマン Y. ミネータ・サンノゼ国際空港 (SJC)。
車であれば、15分程度。公共交通機関を使えば40分でダウンタウンまでいける。
ただ、直行便はANAの1本しかないので早めにチケットを取る必要がある。

入国審査は2時間待ちだった。
小さ目の空港なので、複数の飛行機が着陸した場合は大混雑するが、とくに焦る様子もなく淡々と入国審査が行われる。
指紋の採取をセルフで行う端末は使われず、全て窓口で行っていたのも時間がかかった原因だと思うが、端末自体はあったように見えた...謎。

出国ロビーには飲食店や小さなお土産屋さんなどあるので、安心していい。
快適電源スペースも有る。



施設内で喫煙はもちろんできない。
ターミナルAのチェックインカウンターの建物を出て右に少し歩くとスモーキングスペースがあった。取り壊されず来年もあって欲しいものだ。
タバコを吸いながら撮影した景色はこんな感じのところ。




サンフランシスコ空港の場合は、たしか1番チェックインカウンター側の出口から出た所、屋根の下で吸えたが、サンノゼは完全な屋外。
撮影時はすごく稀な雨のタイミングだったが、日差しの下でなくて助かった。


交通事情

SJCからダウンタウンまで公共交通機関を使う場合。
  1. VTAバス(無料)で、空港からMetro/Airportへ
  2. VTAライトレール($2)で、Metro/Airportからコンベンション・センターへ
VTAライトレールは路面電車。駅は無人で検札なし。一律で$2。
道の真中にドーンと駅がある。



券売機があるので購入してから乗る。
Clipperカードの場合も駅にある端末にピッとかざして支払っておく。
降りたい駅でボタンを押してStop Requestする、バス方式。
ボタンは、細長すぎて一見ボタンに見えないので注意w
ちなみにバスは紐を引っ張ってStop Requestする。
バスは、サンフランシスコに比べて綺麗で乗りやすかった。

ダウンタウンはバスが多くあり、結構どこでもいける。
が、車社会の街であり、日差しも強いので、30分くらいの徒歩でも侮らず何かに乗るのをおすすめ。
元気な人は、レンタサイクルもよいかもしれない。


喫煙事情

カルフォルニア州では建物内は完全禁煙。
建物の出入り口ら25フィート(7.6m)離れなければいけないというルールがあるが、日本のように喫煙スペースは用意されていない。
なので、日本人的には携帯灰皿は必須。

今回宿泊したホテルの入り口には灰皿があったのでとても助かった。
こんなきれいな所でゆっくり吸えるなんてかなりラッキー。


上記の写真のような灰皿をよく見かけるのだけど、火をもみ消す所がない。たまに、灰皿の中で、火が消えないタバコがモクモクしてたりする。
不便と思わないのだろうか....謎。

サンフランシスコでもそうだったけど、吸っていると「タバコを売ってくれ」と声をかけてくる人がかなり多い。日本でそう声かけられたら絶対断るし...いつも迷う。みんなどうしてるんだろうな。


食べ物事情

到着すると、まずお水をガロンでいつも買っています。ペットボトルでちまちま買うよりお買い得。ウォーターボトルを持参すれば外出時にも対応できる。
今年は、Safesay というスーパーマーケットに行ってお水を調達してきた。
パンとかヨーグルトとかビールとか....心の支えを何か買っておきたい人には良さげなお店と思う。

夜9時を過ぎると、気軽に飲食できるお店がことごとく閉まっていくので注意。
WWDCイベント後に別のイベントに行ったりすると、帰る時間帯には食べ物難民になってしまうのだ。

今回、宿泊しているホテルで24時間軽食を注文できるサービスがあったので、それで生き延びた。いや、マジで。

W Santa Clara St. にも飲食店が多い様子。
次回には、San Pedro Square Market にも行ってみたい。


電波事情

モバイルWiFiは使わず、ソフトバンクのアメリカ放題 と ホテル提供のWiFiで過ごした。
観光などせず、コンベンションセンター周りで過ごしていた限りでは、Sprintは特に問題なく使えていたように思う。
そういや、SJCではフリーWiFiがなかったのは残念だった。



• • •

2017年6月2日金曜日

WWDC 2017の期待

WWDC 2017がとうとう来週から始まります。今年も行ってきますよ!
どんな発表が今年はあるでしょう?? 楽しみです。

新型 iPad Pro, Macbook や、Siriスピーカーなどのハード面の噂が色々。
が、私的にはヘルスケア系とApple Watchがとても気になります。

Siri スピーカー

Siriスピーカーが新しいハードとして発表されたら、盛り上がるかもー
もしかしたらApple TV に Siriスピーカー付くという方向も有るか?

んが! Google HomeやAmazon Echoと同じような物だったら、そこまで物欲沸かないのですよね。とはいえ、どんな機能があれば欲しくなるのかも思い当たらないのが苦しい所だけど。

Google IO 2017ではAI押し感が半端なかったですが、Apple はSiriスピーカーでAI的な要素を見せるのか、否か。

iPhone8のワイヤレス充電

くるかな? Qiのような置くタイプじゃなくて、部屋にいるだけで充電できるとかだと、凄く嬉しいなー。

Apple Watchで血糖値が測れる?

血糖値が測れるApple Watchバンドが、本当に出てきたら嬉しい!
バンドでなぜ測れるのかが、意味が分からないですが、汗とかですね? 測れたら画期的だなー!

Apple WatchのWatch Face

Watch Faceの作成がサードパーティでもできるようになって欲しい!
バッテリーの消費も随分改善されたので、Google Wearみたいな常時点灯モードも、そろそろ来てもおかしくない??

ヘルスケアのマルチデバイス対応

ヘルスケア(Healthkit)のデータは、iPhoneを母艦としてApple Watchと1週間分(?)同期しています。iPadやApple TVでは使えません。
Apple Watchでワークアウト中などでは細かな単位で測定できるようになったので、データ量がどんどん増えていくんですよねー。
このままの方針だと破綻しちゃうんじゃないか...と。
カレンダーのように、同期する期間を設定できて、マルチデバイスで同期できるようにして欲しい!

ヘルスケアデータの母艦をiCloudにしたら、イレギュラーな値を検知したら自動的に家族に通知がいくとか、病院に連絡いくとか できるんじゃないかな!

睡眠トラッカー

Appleは先日、睡眠追跡のBedditを買収したので、睡眠トラッカーとしての進展があって欲しい気もするけど、WWDCのタイミングで期待するのは時期早々か。

ヘルスケアのロック中アクセスの許可

iPhoneのロック中は、ヘルスケアの情報が取得できません。
そのため、Todayウィジェットには表示できないし、1,000歩歩いたタイミングで通知するようなこともできない。
個人的な情報なのでそうしているポリシーは理解できるのだけど、歩数ならいいんじゃん?とかも思う。
「歩数はロック中のアクセスを許可する」 とユーザが指定できるような機能を追加してほしいー!
そうすれば、Standlandで要望の多い通知機能も実装できるのにーーー。

通知をもう少し賢く

iPhone をActiveしたまま放置中に通知が届いたので、気づかなかった というのが多い。
ActiveであったとしてもiPhoneを見てるとは限らないし、通知を見るどころじゃないよ今は!って時もある。
Apple Watchを持っている私としては、
Apple Watch装着中は常にWatchに通知が届く。iPhoneではポップアップ表示は無しで通知センターを見れば並んでいる という使い方ができると嬉しいんだけどなー。




• • •

2017年4月7日金曜日

疲れた時にオススメな少女漫画2選

お仕事について一喜一憂する毎日で、たまーに心が荒んだりするわけですが、そんな時には気分転換に漫画を読んでいたりします。
そこで今回は、お仕事で疲れた人にオススメする2つの漫画を紹介です。
※ どちらも未完だし、がっつり恋愛系ではないのはご了承を。


QQスイーバー / クイーンズクオリティ


 

悪意=虫を駆除する掃除屋さんのお話。
掃除屋さんには特別な必殺技があるわけでもなく、地道に自分を強くする鍛錬...実際にお部屋のお掃除を愚直に繰り返す... という設定がイイ。

「強い自分になりたい」 といつも思うわけだけど、一朝一夕で手には入らない。自分はその努力を続けているのか? と改めさせてくれる。
恋愛は少なめなので男性の方も楽しめると思うけど、悪意の定義や対抗方法などに共感しやすいのはやっぱり女性なのかも?

悪意は伝染する

  • 感染るかどうかは自分の状態に依存する。風邪に似ている。
  • 人は誰でも少なからず悪意を持っていて、他人の悪意に呼応して増幅してしまうことがある。
  • 悪意と思っていなくても、悪意として伝わる事がある。


悪意に感染しないために

  • 身だしなみや生活をリズムを整える(=自分を整える)こと。
  • お掃除などで「きれいになって嬉しい」と思うような、いい状態を積み重ねて糧とすること。
  • 自分の中の悪意を認め、毒出しておくこと。


悪意に対抗する

  • 心に留めるほどでも無いちっぽけなもの と突き放すこと。
  • 手紙を捨てるようにさっと忘れること。


こんな、ちょっと心に残るようなモノが散りばめられてます。



私は悪意を向けられることにとても恐怖を覚えるタイプ。
できるだけ、そういうものには近寄らないようにしていて、いつのまにかに悪意に気づかないフリをすることを身に着けてたように思います。
気づかないフリしていると、本当に自分でも気づかなくなっていくんですよね。
そして、ちょっと気づくと、どっぷり心を持っていかれて、何も手がつかなくなったりする。
自分の中にいつのまにか溜まっているものを、認識して、対抗して、整理していくのも大事だな。なんぞと思った次第。



コレットは死ぬことにした




薬師のコレットは忙しさのあまりに現実逃避したくなり、偶然、冥界にたどり着く。
冥界にいるハデス様達とのふれあいの中で、見落としていたもの、諦めたものの存在に気づいていく という物語。

この漫画のいい所は、みんな誇りをもって働いていること。悪い人がいないこと。
自分に重ね合わせやすいし、ホッコリします。

コレットは、村にいる唯一の薬師。助けを求めてくる人に対応して寝る間もない毎日。
弟子はいるけどまだ頼りない。自分が頑張らなければと仕事も気持ちも抱え込んでいる。
ハデス様は、冥王であることを誇りに思うが故に、人に弱みを見せない、頼らない、犠牲にしてしまった事 がある。
家来のガイコツ達は、凄く優秀だけどハデス様に嫌われたくないからこその間違いをしてしまったり...。



お仕事で忙殺した日々を送るのは、正直、快感です。アドレナリンが上がるというか。
だけど、その中で感謝の言葉を忘れていたり、自分や他人を労ることを忘れてしまったりしがち。
忙しいからと犠牲にして良い事なんて実はほとんどなくて、そういうことを考えるのが面倒になっているだけのことが多かったりする。

私はよくこの状態になりがちで、仕事で忙殺される快感をヤメれそうにはないのですが...それは自分にとって楽な道を進んでるだけなんですよね。
多忙に流されるのは楽ではあるけども、モチベーションが上がるわけでもない。
たまには...新しい事してみるとか...初心を振り返るとか...セミナーに参加してみるとか...自分に投資してみるとか...自分にご褒美あげるとか....すべきですよね。気合いるけどw



以上、オススメ2選でした!


• • •

2017年2月8日水曜日

Trackpadを使ったシミュレータ操作の悩み

Trackpad一筋。マウスを使わなくなってもう数年経ちます。
Cafeでの作業もしやすいし!

...が、悩みが一つ。

Trackpadの設定で、「Force Click and haptic feedback」をONにすると、XCodeのiPhoneシミュレータでスクロールするのがとっても難しくなる。

ぐいっとスクロールすると、Force Clickと判断されるのか、スクロールが動作しなくなる。
そうなると、Padから指を離してもスクロールできなくなる。
シミュレータ上で画面を切り替えると、復活するが、気を抜くとすぐに動作しなくなる。

Force Click and haptic feedbackをOffにすると解決はする。

...が、

Force Clickを使いたい場面もある。
iPhoneシミュレータで、3Dタッチとか。
Apple Watchのシミュレータでは、Watch Faceのカスタマイズする時とか。

Apple WatchのシミュレータにはPressとDeepPressの切替できる機能はあるものの、いちいち切り替えするのがとっても面倒。

両方とも解決するよい方法/設定はないものか?
みんなはどうしているのだろう?





• • •

2017年1月29日日曜日

Watch Connectivityがうまく動作してくれなかった話

iPhone と Apple Watch のデータ送受信で使う、WatchConnectivity
その中の通信方法である、updateApplicationContext(_:) がうまく動かなくてしばらくハマった。

sendMessage(_:replyHandler:errorHandler:) は正常に動作するので、activate() のし忘れということも無い状況。
処理を行うタイミングを色々変えてもダメ。

いろいろ探ってみてわかった原因は...

送信内容が、前回送ったものと同じの時、送信されない

ということ。
(sendMessageは、同じ内容でも送信される)

状況をもっと正確に言うと、
アプリをインストール後、1回目の送受信はうまくいく。
だが、2回目以降で、送信内容が同じの場合、送受信が全くされない。
違う内容を送信すると、送受信できる。

「前回と同じ内容なんだがから、送受信しなくてもいいんじゃない?」 という発想の仕様なのだろうか。
だが、Apple Watchのアプリを再インストールした時など、送信先の状況が変わっている可能性だってあるのに...!

以前(watchOS2? XCode7?)は、同じデータ内容でも送受信できてた気がするのだが、気のせいだろうか...?


• • •

2017年1月23日月曜日

watchOS3.0 Complicationの更新方法

Apple WatchのWatch Faceに表示できる、Complication(コンプリケーション)。
ここでとても大事になってくるのが、どれくらいの頻度で更新できるのか? です。
これらは、watchOS3になって更新方法がガラっと変わりました。

watchOS 2.0


更新回数制限は明記されていません。
実際に試してみると1時間に2回まで。3回以上だと制限を超える感じ。

watchOS 3.0

watchOS 2.0のgetNextRequestedUpdateDate(handler:) は廃止され、以下の仕組みに変わりました。


iPhone のコードから更新する場合


iPhoneから更新する場合は、1日に50回まで利用可能です。
残り回数も取得できるので計画的な利用ができるようになりました。
transfer... をCallすると、そこそこ速いタイミングで更新されます。


Apple Watchのコードから更新する場合

Apple Watch上のアプリをBackgroundでも動作させるには、Workout向けアプリなど、種類が限られています。
Backgroundで動作できないアプリの場合は、時間を指定してアプリを起こす必要があります。


更新回数制限については、明記されていません。

ドキュメントを引用すると、

Background app refresh tasks are budgeted. In general, the system performs approximately one task per hour for each app in the dock (including the most recently used app). This budget is shared among all apps on the dock. The system performs multiple tasks an hour for each app with a complication on the active watch face. This budget is shared among all complications on the watch face. After you exhaust the budget, the system delays your requests until more time becomes available.

Background app Refresh タスクは予算化されています。
一般的に、システムはドック内の各アプリ(最近使用したアプリを含む)ごとに、1時間あたり約1つのタスクを実行します。
この予算はドックのすべてのアプリで共有されます。
システムは、Activeなコンプリケーションがある各アプリに対して、1時間に複数のタスクを実行します。
この予算はWatchFace上のすべてのコンプリケーションで共有されます。
予算が全て使い果たされた後、システムはより多くの時間が利用可能になるまで、更新要求を遅らせます。


1分後にBackground refreshを指定したところ、
5分後だったり、30分後だったり、1時間後だったり...と結構バラバラになりました。
だいたい10分程度ほどで更新ができているようにも見えますが、あまり多くの更新はやっぱりやめたほうがよさそうな。

...が、「予算を使い果たしたので今日はもう更新されない」というものではなく、1時間に1回は更新し続けられるのでまだ使える場面が増えたようにも思います。


通知から更新する場合

PKPushTypeComplication (iOS 9.0+)  を使って更新もできるようです。
(試せていませんが...)



• • •

2017年1月17日火曜日

プチアプリ第一弾: Smoking Logリリースしました

今年の目標の一つ、たくさんアプリを作ること。
その第一弾として、Smoking Log - 喫煙記録 をリリースしました!



これは、減煙するためのアプリ。
前回喫煙してからどれくらいの時間が経ったのか?をみつつ、続けて吸いすぎないように気をつける事ができるようになります。
Apple Watchアプリももちろんあるっ

登録は、+ ボタンを押すとカウントアップするだけ。(過去の入力はできない)
...というとーってもシンプル機能。
機能を多く欲しい方には向いてません。ごめんなさい。

このアプリは、Flask LLPではなく、個人アカウントからリリースしています。

こういうプチアプリは、気軽に個人アカウントでリリースして、これは伸びそう...となれば、機能や、洗練度を上げてFlaskにお引っ越しという方向もありかなー?とも目論見中。

この手の減煙アプリはすでにApp Storeに存在するのですが、使い勝手、デザイン、Apple Watchアプリの有無などを見ていくとコレ!と思うものがなくて作成に至った次第。
続けて記録していく系のアプリは、気に入ったものでないと続けられない...デスヨネ。

減煙のために作成したアプリですが、タバコっぽいモチーフはアプリアイコンぐらい。
なので、日ごとにカウントする とか ストップウォッチ とか別の用途に使えるかもです。
アプリ本体は無料なので、よければどーぞ!


• • •

2017年1月9日月曜日

2016年ふりかえり

明けました2017年!
2016年を振り返りつつ、今年を考えてみる。

Appleの課金系動き

iAd の終了

2016年6月末、iAdが終了した。
iAdとはiOS用の広告プラットフォームで、開発者はiAdを組み込んで広告を表示することにより収入を得ることができなくなった。

Search Ads 登場

Search Ads がUSストアに登場。
Search Ads は、App Storeの検索時にそのキーワードに沿った広告を出せる機能。
この仕組は、アプリ内広告よりはタップされる可能性はたしかに高いと想像できる。

自動継続課金のハードルが下がる

自動継続課金が、メディア系以外でも使えるようになった。
また、2年目からの利益は70%から80%に変更された。

放置アプリをApp Storeから掃除開始

AppStoreに放置されていて最新のレビューガイドラインに沿っていないアプリは削除されることになった。


これらの目的はいろいろあると思うが、AppleがApp Store上のアプリ品質を上げたいという意図があるのは確かと思う。
そして、アプリ内広告だけでは、継続的にアップデートできるような収入を得ることは難しいと判断したとも捉えられる。

アプリの売上だけで開発を続けていきたい私としては、考える事が多いところ。

Apple Watch

2016年秋にwatch OS3が登場。Glanceがなくなるという衝撃事件が発生。
Glance系のバグレポートをいくつか出していたが、ずっと未対応のままだったのはそういうことか。
代わりにDockが追加されたが、Life Cycleがなかなか難しい事になった。

ともあれ、iOSアプリを作成すると、Apple Watchアプリも対応したくなる。
これは、私がApple Watchを持っているからというのが大きいからだろう。
それと同時に、Todayウィジェット欲が消えていった。
Todayウィジェットで表示したかった機能は、Apple Watchアプリで欲しい機能とほぼ同じことが多いからだ。
この感覚は、Watchを持っていない人とズレてしまうので気をつけなければいけない。

Apple Watch Series 2 の発売後、Watchユーザーは増えたような気がする。
だが、もう少し増えてほしかったとも思う。
スマートウォッチの分野の広がりはこれぐらいが限度なのだろうか。

2017年に向けて

Apple Watchアプリは、もうしばらくは取り組んでいくと思う。
Apple TVアプリは、なにかtvOSにテコ入れがあるまでは、多分手をつけない。
iPhoneアプリは、ちゃんと作る(!?) Flaskアプリの他に、個人アカウントであまり時間をかけずに作成したミニアプリを追加していきたい。
macOSのアプリにも手をつけてみたい。
健康に気をつけたい。

今年もよろしくおねがいします!


• • •