2016年6月21日火曜日

WWDC 2016 をふりかえり


WWDC 2016 に行ってきました!

Keynoteの会場について


今年はEarlyCheckin, Keynote, BashがMoscone Centerではなく、Bill Graham Civic Auditoriumで行われました。


会場は2階席もあり、今までよりもステージが近く見えるようになった感じです。
席数も多いので、開始直前に行っても座れたと思います。
私は8時過ぎに行ったのですが、其の時間だと、もう直前にいってもさほど変らない位置だった気もー。もちろん、座れます。


1階席と2階席とで別の並び列になっていたみたいで、違う階には自由に行き来はできませんでした。
そんなことを全く知らずに並んでしまった私。もし来年も同じ場所であるならスタッフに聞いてから並ぶと良いかと思います。
日本人から見ると大きな人が多く、そういう方が前に座るとちょいカナシイので、段差がある2階席の方が私は好きかなー!

最寄り駅はCivic Centerで、ちょっと治安が悪い所。
そのせいもあり、夜中から並ぶ人は少なくなったかと。

並んでいる間は屋外なので、日差しをモロ浴びます。
かなり強い日差しなので、日焼けにご注意。

夜に開催されるBashは、Mosconeから行き/帰りのシャトルバスがでました。
治安的な意味でドキドキしていたので、このバスはとても助かりました。

発表内容について

今年はiOS, watchOSのボリュームが大きかった。
Healthにも力入れているな!とも思いました。(私の偏見が大きくアリマスガ)

iOS


iOSについては、Siri, Today Widget, Peek/Pop, Map/MessageのExtension系....と、アプリの外にある拡張機能が充実してきた印象。
言い換えると、”アプリを起動しなくても”  情報を得たり、目的の機能へショートカット出来たりする部分がとても多くなった。

今までは、アプリの構成/画面を考えてから、アプリ外のものでも使えそうなものがあれば....という方向性だったけど、iOSで出来ること全体を見渡してからアプリ構成を考えるという方向性が正当な道筋になってきたと思う。

”このアプリでは、どの機能/情報が一番大事なのか?”
というのは、今までの開発でももちろん大事だったけども、あれもこれも大事...選べない...となってしまいがち。
だが、拡張機能を考える際にはちゃんとフォーカスせざるおえない強制力があると思う。

アプリの大きさについても、「いろんな事ができる大きなアプリ」よりも「目的が明確な小さなアプリ」の方が、iOSでは合っている というのが、さらに強まった感じも受けた。

あ、あと、小さい所ですが、UICollectionViewでのPreFetchやAutoSizingの機能はとても嬉しい ♥

watchOS

watchOS3が発表されました。
アプリ起動が早くなり、Dockでアプリが選べ、シチュエーション毎にfaceを切り替えできる など、watchでの不満点を大きく解消されたものだったと思います。
歩きながら、アプリ一覧から目的のアプリを見つけてタップするのは、ほぼ無理でしたし!

開発の立場からすると、
デジタルクラウンが使えるようになったこと。
Backgroundでの処理もできるようになったこと。
が大きなニュース。

BackgroundはなかなかのBigNewsです!
Backgroundで動けないから...と諦めた機能/ アプリアイデアは多いと思うので、幅がぐーんと広がりました。

個人的に一番嬉しかったのは、HealthKit関連のバグが解消されたこと。
watchOS2では、Appを起動してBackgroundにすると、Glance/ComplicationでHealthKitの情報が取れなくなるというバグがあったため、実装を見合わせていたアプリがいくつかありました。
watchOS3では、Glanceが無くなったというサプライズ(笑)。
じゃぁcomplicationは...?と、試してみたら.... 動くようになっていた It's nice!!

complicationの更新回数も 50回/day と数が明記されました。
(watchOS2では数の明記がなく、2回/hourぐらい。それ以上だとexhaustしちゃうっぽい というdeveloper達の経験談しかなかった)

残念なのは、watch faceの作成がサードパーティに公開されなかったこと。
公開されたら、現地でちょっちょと作ってLabに持って行こうと気合入れていたのに。

HealthKitのBackgroundDelivery(データ変更があった時アプリがForegroundじゃなくてもイベントが受け取れるやつ)が、watchOS3には追加されていなかったのも残念。
それがあれば、complicationの更新も賢くなれるのにな。
(iOSには既にあります。iPhoneがLock状態だと取得できないのは多分変わってないと思われるが。)

気になる点は、watchOS2で既にリリース済みのアプリは、watchOS3用にしてしまった時どうなるのか。(未確認)
watchOS1 → watchOS2の時は、下位互換がなくて混在パッケージにする必要があったけど、今回もそうだと面倒だな....

Labチャレンジ



HealthKitラボ、XCodeラボ、SppechAPIラボに行ってきました。
英語がほとんど喋れなくても優しく聞いてくれる...カタコトの人とのやりとりが慣れている?...ので、思ったより行きやすい所でした。
UIラボには良い相談ネタが見つからず行けなかったのが心残り。

感想としては、図解最強!
コレは、こっちの意味?それともこっちの意味?というのを図解にして持って行くと、Which one? ぐらいで行けちゃいますもん。

私の大きな問題は、リスニング能力。
プレゼンテーションでははっきり発音してくれるし、スライドあるし、言う内容も想像でているしで、理解はし易いけど、面と向かってのTalkは難しい.....


聞いてみた内容を少し共有。

HelloGameKit: A skeleton app for turn based games on watchOS のサンプルアプリで、GameKitが見つからないというコンパイルエラーが出てしまう件。

シミュレーターのGameKitフレームワークの中にヘッダーファイルがなぜか無かったのが原因。
It's strange... って言っておられました(笑
はじめて見る現象だって言ってたけど、horiuniさん端末でも同じ状態だったので、みんなそうなると思うんだけどなー。
watchOSのGame系にはみんなあまり興味ないのかなw
多分、XCode betaのパッケージミス?と思うので、XCodeのアップデートで直ると想像。


SpeechAPIのLimitの詳細について

英語がそれとなくとしか聞き取れなかったので、間違いはあるかもしれないのですが!
アプリ単体として使うには十分のlimitがあると思う。
ドシドシ使うものについてはLimitが掛かる可能性がある。Appleから連絡いくかもしれないし、いかないかもしれない。guaranteeはない。
多くなりそうだったらAppleに相談してみるといい。

結論、video内容とあまり変らない返答な訳で。
しっかりとした数はまだ決めてなくて、運用してみてから考えていこうとしているのかなーと見た。

勝手に止められてしまう といえば、iAdもそうだった。
連絡もなしにiAd広告が表示出来ない状態になった時があり、問い合わせしたら、「もう見れるようになっていると思うから確認してね」と言われておしまい みたいな。
....ま、そんな感じなのかな。

外部イベント




期間中に唯一行ったのが、RelayCon
ConnectedのPodcastは聞いていたのですが流し聞き程度でして...今回、実際に見て声と人が一致できるようになりました(笑
以前、MacStoriesでFitPortのことを書いてくれた Fedelicoさんは、まだFitPortのことを覚えてくれていましたー!感動!
昨年、The Talk Showに行ってみた時同様、アジア人なのは私達だけ?という状態でしたが、部屋内が明るめだったので、少し気持ちに余裕が出来てよかったです。
が!今年のThe Talk ShowのゲストはPhil Schiller + Craig Federighi だったそうで!
すっごーいーーっ 来年は誰が追加されるんだろ?!?!


終わってみて

WWDCの旅は、一旦リセットして振り返りをする良いきっかけになりますね。
道中、中国人の青年に、「ビジネスモデルをちゃんとしないといけないのでは? 僕はそんな不安定な生活はできない」みたいなことを言われ、うーむーーーと考えさせられたりもしました。

最近のFlaskは、「最新の機能を使ったアプリをDay1にリリースする」
が、大きな動きになっていて、WWDC終了後〜秋までは案件も受けず、どっぷり開発予定です。
こうやって、さっと動ける、beta中の変更にも柔軟に対応できるというのが、IndiDeveloperの強みだと思うので。

私個人の目標としては、いい感じのUIがもっとさっと発想出来るようになりたい。
考える時間がすっごく長くて、いい所の落ち着き/妥協がなかなか出来ない私。
もうだめだーと諦め、ポイっとしてしまったことも多々.....。
慣れれば早くなるかとおもいきや、全然そんなことないのが苦しい。
そこに時間をかけていると、すごく時間を浪費してしまっている気分になっちゃうんですよね。
プログラムを書いているのが実質の作業時間という感覚が根強くあるし、近道を常に探してしまうーー。
が、近道はないのだと言い聞かせ、考える時間をつくっていこう。
それが、もっと多くのアプリを作成できることに繋がるに違いない。

コミュニケーション能力は、自分に自信がつけば得れるに違いない → 逃げたw



• • •