Tamablog

たまに更新するiOS/Mac系技術ブログ。

WWDC2018現地レポート:ラボ編

WWDCの大きな特典のひとつが、アップルのエンジニアと直接話せるラボです。今回はラボの様子をレポートします。

f:id:tamadeveloper:20180608031340j:plain

技術ラボ

朝の時間はラボが空いています。もし行きたいラボが午前中にあれば、なるべく早い時間に行くとよいです。また担当者によっては質問がうまく伝わらなかったり、あまりコードを見てくれなかったり、期待する対応をしてくれなかったりもするので、そういう時は別の時間帯や別の日に行って何度も聞くといいかも知れません。自分の場合はTextViewの質問でUIKit、Cocoa、Text and Fontsの3つのラボに通って、ようやく答えがもらえました。

また人気のラボには30~40人くらいの列ができていて、UIKit、AR、MLなどで特に列が長かったと思います。逆にEvents and Contactsのようなマイナーなラボは自分一人に対して4人のエンジニアが対応してくれました。

User Interface Design

非常に人気のラボで今年からは抽選となりました。アップルのデザイナーがアプリのUIを見てくれて、改善点などを提案してくれます。

朝7:00~7:30の間にWWDCアプリからラボのページに行って「Request Appointment」ボタンをタップして予約すると、7:30を過ぎた頃に抽選結果のメールが届きます。 そこそこ倍率は高いと思いますが毎日早起きして予約してみる価値があるラボです。

自分は3日目にようやく抽選に当たってアプリをじっくり見てもらいました。ただ予約がなくてもラボに行けば5-10分くらいデザインを見てくれるとの事でした。

Business and Marketing

このラボではアプリのビジネスモデルや宣伝方法、価格設定などについて相談できます。朝7:00からWWDCアプリで予約することができます(抽選ではありません)。15分というやや短い時間ですが、アップルのマーケティング担当の人とお話することができます。

ちなみに自分の会社のホームページを見せたら「Appleのサイトみたいだね」というご指摘を頂きました、、😅

おまけ:Company Store

火曜日から会場の一角にCompany Storeがオープンしました。午前8時から午後5時まで(最終日は午後1時半まで)オープンしていますが、基本的にはいつも長蛇の列で、並んでから買い物して出られるまでに1時間はかかります。またグッズもシャツ、パーカー、帽子、ノート、ペン、などがありますが、水曜日の朝の時点でシャツはサイズがなくなっているものがありました。その後補充されたかも知れませんが、基本的には早めに行くのが良さそうです。なお、ベビー服や子供サイズもシャツもありました。

(6/9更新:グッズが売り切れたため、金曜日はオープンされませんでした。)

f:id:tamadeveloper:20180609110828j:plain

WWDC18現地レポート:キーノート編

今日からWWDCが始まりました!会場には7:30amに到着して席はやや端の方でしたが、朝食はまだ十分残っていたのでありつける事ができました。

f:id:tamadeveloper:20180605131318j:plain

キーノート

今回のWWDCでは個人的にMarzipanが一番気になっていたのですが、「来年」という期日つきで発表されました。まだ全貌が見えないのですが、そこそこ予想通りになったのではと思います。

「Phase 1」という言い方をしていたので、数年がかりの大きなプロジェクトになるようです。とはいえ、マウスやトラックパッド、メニューバーなどには最初から対応するので、それなりのMacアプリは作れそうです。

AppKitとUIKitのコードは共存できるのか、StoryboardにUIKitとAppKitのコンポーネントを混ぜる事はできるのか、パフォーマンスはどうなるのか、UXKitのようにUIKitをAppKitで実装しているのか、それとも別の実装になっているのか、最終的にAppKitはdeprecatedとなるのか、などまだ疑問は残るため、引き続き注目していきたいと思います。

またMac App Store(MAS)も一新されてiOSのストアの「Today」のようなコンテンツを充実させていく方針が発表されました。MASアプリもMarzipanの技術を使ってiOSから移植されたと思えるような見た目となりました。今後はiOSっぽい見た目のMacアプリが増えていくと思われます。

興味深かったのはこのMAS刷新のタイミングで、これまでMASから撤退していたアプリが戻って来ることが発表されたことです。そのひとつであるTransmitアプリの開発者がその経緯を説明しています。

これまでMASからアプリが撤退する主な理由は「Sandboxの制限が厳しいから」と「価格の柔軟性がないから」の2点でしたが、Sandboxに関しては制限が緩められると考えてよさそうです。ただ価格に関しては問題が残るため(買い切り型アプリで無料トライアルができない等)Subscriptionを利用することで対応した、という事でしょうか。

macOSに関しては他にもFinderやQuickLookなど細かい改善点が多数あり、アップルがMacに本気で取り組んでいることを確認できたと思っています。またダークモードが追加されましたが、来年iOSに採用されるのは間違いないと考えています。

iOSの変更点で興味深かったのはSiriのShortcutです。Shortcutを作成・編集するためのアプリが昨年アップルが買収したWorkflowアプリそのものでした。アップルが企業を買収するとそれが数年後に製品となって現れる場合がありますが、今回はまさにその一例となりました。

またアップルが自社製品であるiPhoneやiPadの利用時間を自ら制限できるような機能を追加したことも評価したいと思います。特に子供のアプリ利用時間を確認したり制限したりすることができる機能は、自分の家庭でも使いたいと思います。

他にもUSDZファイルで手軽にARを扱えるようになったので、今後は家具などのショッピングサイトでUSDZを配布し、部屋に置いたらどう見えるかを購入前に体験できるようになるかも知れません。ARやCoreMLに関しての発表も多く、今後もアップルが力を入れて行く分野なので注目していきたいと思います。

おまけ1

WWDCのランチはお世辞にも美味しいとは言えない、というのが定説(?)でしたが、個人的にはターキーのサンドイッチを美味しく頂きました。

f:id:tamadeveloper:20180605131555j:plain

おまけ2

WWDC会場の前の道路は封鎖されパトカーが何台も止まっており、常に複数人の警察官が警備していました。また会場に入る前に荷物検査や金属探知機による検査も行なっており、セキュリティーはかなり厳重でした。(6/15更新:このような警戒体制は次の日からは解除されており、道路も車が通れるようになっていました)

f:id:tamadeveloper:20180605131702j:plain

WWDC2018現地レポート:前日編

WWDC2018は明日から始まりますが、早めに渡米して数日間サンフランシスコに滞在しました。

サンフランシスコ

サンフランシスコは太平洋の風が直接吹きつけるため、風の強い日が多く気温もあまり上がりません。ゴールデンゲートブリッジ周辺は特に強風なので天気の良い日でも防寒対策が必須です。自分はセーターとジャケットを重ね着しました。

f:id:tamadeveloper:20180604100126j:plain

また最近話題のロボットがカフェを作ってくれる「Cafe X」にも行ってみました。コーヒー一杯は$3~$5くらいで、ロボットが素早い動きでコーヒーカップを用意したり、できたコーヒーを運んでくれたりします。コーヒーを受け取ると手を振ってバイバイしてくれました。店舗内の端末を使って注文することもできますが、アプリで注文してから受け取りに行くこともできます。サンフランシスコには2店舗あり、工事中の3店舗目も見かけました。

f:id:tamadeveloper:20180604100253j:plain

アップルパーク

またアップルパークにも足を伸ばしてみました。残念ながら一般の人が入れるのはビジターセンターに限るため、スティーブ・ジョブズ・シアターや「宇宙船」に近づくことはできません。ビジターセンターではアップルパークの様子をARで見ることができます。

f:id:tamadeveloper:20180604100340j:plain
外観だけでなく、空気の流れやソーラーパネル発電の様子も見ることもできます。また屋根を外して駐車場やオフィス内部の様子が見られるようになっており、車や人の動きまで細かく作り込まれています。オフィス内部は噂通り個室が少なくオープンスペースが多い様子を見たりする事ができます。

カンパニーストアではアップルパークロゴ入りのTシャツや、このストア専用のグッズも買うことができます。なおTシャツは子供用の「YS」「YM」「YL」と大人用の「S」「M」「L」があり、棚にはほとんど大人用しか置いてないので買うときは店員に声をかけましょう。ちなみにベビー服も種類が限られますが置いてありました。

屋上からはアップルパークを見ることができます。東京ドームなどのスタジアムに比べてもかなり大きい印象でした。(その後調べてみると東京ドームが6個入る大きさだそうで、ディズニーランドよりも広いそうです)

f:id:tamadeveloper:20180604100946j:plain

バッジ受け取り

WWDCバッジの受け取りはWalletアプリにチケットを登録しておくとスムーズです。あとはパスポートさえあればバッジをゲットできます。再発行されないのでなくさないようにしましょう。スタッフのテンションはとても高く、Apple Store新規オープンの時みたいでした。

f:id:tamadeveloper:20180604101021j:plain

WWDC前夜祭

日本からWWDCに参加する人のための前夜祭がThe Farmers Unionというレストランで開催されていたので行ってきました。いろいろな人と会うことができて楽しかったです。以前TimersさんのWWDC Pre Partyでお話できなかった人とも改めてご挨拶できました。

f:id:tamadeveloper:20180604134851j:plain

Lyft

サンフランシスコとサンノゼでLyftを利用しました。アプリの使い方も簡単で、車のフロントガラスにLyftのシールが貼ってあったので分かりやすかったです。

ドライバーの方は基本的にはあまり話しかけてくる事はないです。自分の場合も少しだけ雑談する程度でした。かなり安くなるので急ぎでなければ相乗りがオススメです。

アメリカ放題

ソフトバンク回線限定ですが、アメリカ放題はとても便利に使えています。サンフランシスコでもサンノゼでも今のところ繋がりにくかったり速度が遅かったりしたことはありません。申し込み不要、利用料無料で使えるので超オススメです。テザリングも利用できます。

ただし設定でローミングをオフにするのを忘れずに。

WWDC Pre Party 2018に行ってきた

TimersさんのオフィスでWWDC Pre Partyが開催されたのでお邪魔してきました。WWDCの注意点を忘れないうちにメモ。

  • TSAロック対応のスーツケースを使う
  • WWDCチケットはWalletアプリに入れておくと便利
  • WWDCレジストレーションではパスポートが必要
  • ESTAは早めに取る
  • アメリカのホテルにはスリッパがないので持参する
  • クレジットカードは複数持参する

尚、スーツケースはTSAロック対応でも鍵をかけない方がよい場合もあるそうですが、このあたりは自己責任で。

懇親会ではカレンダーアプリを作っている方や、Nextstepfmを聞いていただいた方とお話しすることができました。その他にもいろいろな方とお話しさせて頂いて楽しかったです。現地では宜しくお願いします。

 

技術書典4に行ってきた

秋葉原UDXアキバ・スクエアで技術書典4が開催されたので行ってきました。開場10分前に着きましたが、すでに長蛇の列!ただ整理券を配っていたので特に混乱もなく20分ほどで入場できました。ちなみに自分の整理券番号は1,004番。みんな気合い入りすぎ、、

会場は人だかりでまるで満員電車のよう。移動が大変でしたが、なんとかお目当ての本は全部ゲットできました。支払いは「かんたん後払いアプリ」が使えてとても楽でした。

個人的にオススメの3冊はこちら。

Metal入門 

Metalといえば@shu223さんですが、「Metal入門」は入門書とは思えないほどのボリュームと内容です。自分でアプリを作っていて描画をもっとGPUにやらせたい!と思う事が多々あるので勉強してみたいと思っています。まだ読み始めたばかりですが、ここまで初心者にも分かりやすくMetalを解説する本は世界中探してもなかなかないのでは。

shu223.hatenablog.com

Cheap Dive into React Native

今回便利に使わせてもらった「かんたん後払いアプリ」開発についての内容で、主にcreate-react-native-appのお話です。クロスプラットフォーム開発はFlutterとReact Nativeに興味があるので購入しました。

日本語入力を作るときに必要だった本

Macの入力メソッド、IMKitのお話です。なかなか触れることのないフレームワークですが、どんな仕組みになっているか知りたくて購入しました。今回のサークルではMac関連は2つしかなくてやや寂しい状況だったので、改めて今年のWWDCに期待します!

mzp.hatenablog.com

Marzipanを予想してみた

今年のWWDCで一番の目玉になりそうなのが「Marzipan」です。今回はその姿を予想してみます。

Marzipanとは

昨年12月にBloomburgのMark Gurman記者が「Marzipan」とよばれるプロジェクトをスクープしました。ただ記事の内容はやや曖昧で、「iOSアプリがmacOS上で動くようになる」「iOSとMacアプリのバイナリが1つになる」「MacアプリでもiOSアプリでも使えるフレームワークが登場する」など、さまざまな解釈がなされました。

先月アップルがシカゴで教育イベントを開催しましたが、その中でMarzipanのヒントを見ることができたと思っています。

Classroomアプリ

アップルは教育機関向けに「Classroom」というiPadアプリを提供していますが、このアプリのMac版が6月にベータ版として登場することが発表されました。6月にはWWDCが開催されますが、単なる偶然ではなさそうです。

仮にMarzipanが「iOSアプリをMac上で動作させる」のであれば、このMacアプリは不要なはずです。にも関わらずアップルがMacアプリを作ったという事は、Marzipanは「UIKit for Mac」の可能性が高いと考えています。

Classroom for Macのスクリーンショットを見てみると、iPad版とは若干異なることに気がつきます。例えばMac版ではツールバーの中央にSegmented Controlを使っているのに対し、iPad版は同機能にトグルボタンを使っています。またMac版には検索バーがツールバー上に表示されていますが、iPad版ではiOSらしくナビゲーションバーの下に隠されているのかも知れません。

さらにiPad版はツールバーに「Select」ボタンがありますがMac版にはありません。これは画面中央の子供達の顔をクリック・タップした時のアクションが違うことを意味します。おそらくMac版ではクリックで生徒を選択できるようになっており、ダブルクリックで生徒の詳細を見る、というアクションになっていると思われます。それに対してiPad版はタップすれば生徒の詳細を見るアクションとなり、選択は「Select」ボタンをタップしてから行うと思われます。

このことから、同じアプリでもそれぞれのプラットフォームに合わせて最適化すべし、というアップルのメッセージを読み取ることができます。

UXKit

2015年にMacのPhotosアプリで「UXKit」というフレームワークが使われていることが話題になりました。これはUIKitのAPIをAppKitで実装したものであり、Marzipanはこれを進化させたものであると考えています。

UXKitフレームワークにはAppKitにはなかったNavigationControllerなどのクラスが含まれ、iOSアプリをよりMacに移植しやすくなっています。 またNSViewとUIViewの違いを吸収するUXViewなどのクラスが含まれています。UXKitのヘッダーファイルはこちらで見ることができます。

MacとiOSの違い

「UIKit for Mac」があればMacアプリを作るハードルが下がるのは確かですが、それだけでは良いアプリは作れません。プラットフォームの違いを理解し、Mac特有の機能(マウスによる操作、メニューバーやポップアップメニュー、ショットカットやキーボード操作、TouchBar、リサイズ可能なウインドウ、等)に対応する必要があります。

iPhoneアプリのコードベースからMacアプリを作るのは、iPadアプリを作るよりも作業量としては多くなりそうです。

最後に

というわけでMarzipanの予想をしてみましたが、個人的希望もかなり含まれています。

AppKitを使っているとUIKitの機能が欲しくなることが多々あります。例えばNSScrollViewにはpagingEnabledやtargetContentOffsetを指定できるDelegateがありません。またNSTextFieldの使いにくさはかなりのもので、UITextFieldが欲しくなります。これらがMarzipanで解決するとMacアプリ開発がより楽しく行えるのでWWDCの発表に期待したいと思います!

WWDC 2018準備編

今年は初WWDCという事でいろいろ準備しています。
*随時更新中です。

航空券とホテル

航空券はともかく、ホテルの確保は時間との勝負。WWDC当選後にExpediaで調べてまずはキャンセル料無料の安い宿を確保しつつ、他の良さそうなホテルが空くのを待ちました。WWDC当選発表前から予約していた人がたくさんいたようで、キャンセルが結構出ていた印象でした。自分の狙っていたホテルも最初は日〜火を確保して、その後木〜土をゲットして、3日目くらいには水曜も空いたので無事1週間分取れました。安い宿はその後キャンセル。

ただ3月上旬くらいにはWWDCの予定日はだいたい分かるので(会場の空き具合から推測できますし、アップル関連サイトでもその話題がよく出ます)、その時点でホテルを予約するのが一番の方法だと思いました。

航空券に関しては、出発は羽田・成田、到着はサンフランシスコ・サンノゼの組み合わせでいろいろ調べて、最終的に羽田ーサンフランシスコ便を予約しました。サンノゼーサンフランシスコ(もしくはSFO空港)間も地下鉄のBartと長距離列車のCaltrainで1時間程度で着くようです。今回は別の用事があるのでサンフランシスコにしましたが、通常はサンノゼ往復がいいと思います。

ESTAや保険など

パスポートとESTAは必須なので早めに取りましょう。またアメリカは医療費が高いので、海外保険は必須です。クレジットカードについている保険でカバーするのも良いのですが、自分の場合はやや物足りない内容だったので海外旅行保険に加入しました。

ネット回線

海外で使える「イモトのWiFi」のようなサービスを利用するかは迷いましたが、今のところ無しで行く予定です。というのもソフトバンクがアメリカ放題を展開しており、Sprintに繋がるのであれば追加料金なしでネット接続できるからです。Sprintのホームページでサービスエリアを調べたところサンフランシスコやサンノゼ周辺は比較的繋がりやすそうです。(6/15更新:アメリカ放題はまったく問題なく使えました!)

またWWDC期間中に新しいOSやXcodeをダウンロードするのであれば数GBは必要で、海外WiFiサービスでは無理です。なのでホテルやWWDC会場でWiFiを利用して、それ以外の場所ではアメリカ放題を使う予定です。(6/15更新:WWDC会場では有線LANも提供されており、USB-CとThunderbolt 2アダプターも用意されていました)

オススメのイベント

WWDC関連のオススメのイベントは以下の3つです。

WWDC Pre Party 2018 at Ebisu

株式会社Timersさんが主催するイベントで、WWDCやAltConfなどに行く人が集まります。ここでWWDCや現地に関しての情報をゲットしたり、知り合いをつくることができます。

AltConf

WWDCの会場の隣で行われる開発者イベントで、オススメはライブのポッドキャストです。特にATP Liveは人気ポッドキャストアプリOvercastの作者Marco Armentら3人が出ているので面白い話が聞けそうです。チケットが必要なので事前に予約しましょう。(4/1更新:ATP Liveのチケットは売切となりました)

The Talk Show Live From WWDC

アップル関連ブログDaring Fireballを運営するJohn Gruberのポッドキャストで、過去2年はゲストでPhil SchillerとCraig Federighiが出演しました。今年もビッグなゲストが登場すると思うので、チケットは出たらすぐにゲットしたいところです。通常、6月にチケットが販売されますが20分程度で売り切れてしまうようなので、John Gruberのツイッターをフォローするなどしてすぐにチケット情報が手に入るようにしましょう。

去年のライブはVimeoで見られます。

(6/2更新:チケットは速攻で売り切れました!)

その他のイベント

NextDoorConf

AltConfと同じく、WWDC会場のすぐ近くで開催される開発者イベントです。スピーカーは元アップルエンジニアだったり、Brent SimmonsDavid Smithなど海外Mac・iOS界隈で有名な人が登壇するので、かなり豪華な印象です。

ただチケット代が$799とかなり高いです。なのですでにアメリカにいてWWDCに当選しなかった人が行くのであれば良いと思います。

try! Swift San Jose

1日限定でtry! SwiftがWWDC最終日に開催されます。内容はSwift open source projectに限定されるようなので、Swiftのソースコードを触ってみたい人にオススメです。

Layers

技術とデザインをテーマにしたイベントで、WWDC会場の近くで開催されます。登壇者もデザイナーの方が多く、UIやUXに興味のある人向けのようです。

便利アプリ

Parties for WWDC

WWDC関連のイベントを集めたアプリです。まだAltConfしか登録されていませんが、WWDCが近づいたらイベントも増えてくると思うのでチェックしてみてください。

Uber / Lift

ホテルからWWDC会場までの足として毎日使うことになりそうです。日本でアクティベートして使える状態にしておきましょう。電話番号とクレジットカードが必要です。

WWDC

本家アップルのWWDCアプリはもちろん必須です。

おまけ

WWDCでのコミュニケーションは当然英語になります。英語を話すのは知っている単語を並べていけばなんとかなりますが、リスニングはそのような技(?)が通用しないので苦手な方が多いのではないでしょうか?

そこでポッドキャストを聞いて練習したい!という人向けにThe Omni Showをオススメします。このポッドキャストの良いところは、ホストのBrent Simmonsの発音が非常に聴きやすいこと、そしてトランスクリプトがあること!また内容も技術的なことが多いのでWWDCのための練習にはぴったりです。