iOSDC Reject Conference day1 参加レポ
@kanamorit です。よろしくどーぞ。
先日 iOSDC RC に参加しました。
iosdc-reject-conference.connpass.com
iOSDC にトーク応募したけど採択されなかったよ;;
という発表を対象にした会で、主催者である @akatsuki174 さんが「こんなのあったら面白そう」と Tweet したことから開催されるに至ったものです。
1日目は当日スタッフとして参加しましたが、会場準備などはメルカリさんがやってくださってました。結果、タイムキーパーとしてベルを鳴らすだけの簡単なお仕事だったのでその辺は割愛します。(ベルが鳴っても発表が終わらないことが 1, 2度、3度くらいあった気もしましたが大丈夫でした。)
ということで、 day1 のなかでも個人的に楽しかった発表について調査も含めて記します。
Swiftで日本語プログラムに挑戦
将棋を題材に
- enum で 歩、金、角、などを定義
- 盤上のひとマスの状態も 空、先歩、など
- 局面も日本語で表現
将棋盤Kit
- Swift で将棋盤 を実装する - Qiita
- https://github.com/codelynx/ShogibanKit
- 可能な指手を Array で戻す
- 詰み判断など実施
- AI は搭載されていない
気づいたこと
- 日本語だとクラス名と変数名が同じになる
- 名前に単数系・複数形がない
- そもそも日本語だと命名やりにくい。。。
- でも型名・enumなどはいい感じに設定できる
- 違和感はあるけどノウハウたまればなんとかなる・・・?
- でも国際対応狙ってるなら日本語は向かない!
遭遇した問題
- storyboard に日本語名使えない
- Apple にバグレポ中
- 文字化けするシーンもある
まだJPEGで消耗してるの?〜WebPで創る快適新聞ライフ〜
少しでも画像の通信量減らしたい・・・
WebP (ウェッピー)
- Google が開発した画像フォーマット
- 可逆、非可逆対応
- 透過にも対応
- アニメーションもサポート
iOSでの利用
- iOS では libwebp を使おう
- the lightweight encoding and decoding library
- https://github.com/webmproject/libwebp
- iOS10 での正式サポートは?
- 7月にテストしているという記事が出た
- 正式版でサポートされるかはわからない
性能/画質検証
- JPEG vs WebP
- 128px ~ 2048px まで 5 種類用意
ダウンロード 〜 表示 までにかかる時間
形式 | 性質(比較) |
---|---|
JPEG | DL 長め(ファイルサイズ大), デコード短い |
WebP | DL 短め(ファイルサイズ小), デコード長い |
- 画像サイズが大きいほど時間短縮になる(DL時間の影響)
- 画素数が多い画像を多用する場合は有用そう
画質判定
- SSIM
- 2つの画像がどの程度似通っているかを判断する手法
- 0.95 以上なら OK と判断
- サイズが何%減少と言っていたのは、この SSIM での判定で OK となった画像に対して
watchOSでモーション認識
iOSDC も出てます
- iOSDCで発表しました『海外のiOSカンファレンスに登壇する - 完全版』 #iOSDC - Over&Out その後
- トーク応募を 5 つ出して 4 つ落ちたから(RCにも)キタ
モーション認識
CMDeviceMotion
- Apple のサンプルにテニスのフォア・バックハンドを検出するものがある
ポイント
- 重力に沿った回転を検知する
- 重力方向に対する角速度が取りたい
- ウォッチの角速度と重力方向との内積で取得可能
- 重力方向に対する角速度が取りたい
- 移動平均とピーク値の両方を取得
- 50サンプル/s で取得することに
- ピーク値だけだと、ほんの一瞬の動きに反応してしまう
- オイラー角
- 3次元空間での姿勢を表す
- ウォッチをどちらの手につけているか
- WKInterfaceDevice
- ユーザの設定した値を返してくれているだけ
- ユーザとの信頼関係のもとに成り立っている
- WKInterfaceDevice
実演
- スピーカーと BT で接続し、判定結果を音声再生
ゆっくりじっくりと構え、ウォッチをつけた右手をスイング!(ゆっくりめ)
スピーカー「フォアハンド」
さらに右手を左手側に回してからスイング!(ゆっくりめ)
スピーカー「バックハンド」
会場中拍手!!!
- 後で聞くところによると、発表中も繋ぎっぱなしにしていたようで、ネタバレしないよう慎重に動いていたとか
- サンプルなので誤検知も多いが、サンプル量を増やしたりログ解析をすればよりよいデータが得られるのではないかということでした
当日は台風の影響もあってやや参加者は少なめかなと感じましたが、それでも会場内に 50 人くらいはいたと思います。
スピーカーも聴衆もお酒を飲みつつ始終和やかで楽しげな雰囲気でした。