Quantcast
Channel: kenji matsuokaのニッキ
Viewing all 342 articles
Browse latest View live

AppleのMagic Trackpad2レビュー

$
0
0
AppleのMagic Trackpad2を購入しました。

去年の終わりにKensingtonのSlimBladeに乗り換えたレビューをしたのですが、10月にはIntous Pen&Touchに乗り換え、
そして今回さらにMagic Trackpad2を購入してしまいました。

何故買い換えたのか

Magic Trackpad2に乗り換えた理由=Intuos Pen&Touchへの不満点はIntuosのレビューでも書いたとおりで
大きすぎる。反応しない余白がある。Mac標準トラックパッドとの微妙な操作の違い。の3点

大きすぎるのは操作性との兼ね合いもあるし、そもそもMサイズを買った判断ミスもあるのですが、後述の余白問題もあって、実際に使えるサイズに対して余分に場所をとってしまいます。

反応しない余白がある問題はIntuosを使っていて感じた最大の不満点。
普通に1本指で動かしている分ではそこまで気になることはないのですが、複数の指を使ったジェスチャーの場合全く違うジェスチャーに認識されることがあってまいりました。
特に画面切り替え時、4本指で横方向にスワイプするのですが、人差し指が範囲から外れて3本指でのスワイプ=ドラッグ と認識されることが多かったです。
意図せずFinderでファイルを移動させてしまうこともあって危険です。

最後にMac標準トラックパッドとの微妙な操作の違い、これが最終的に買い換えさせるきっかけになりました。
ドラッグ操作の場合、Mac標準だと左下をタップしたままカーソルを移動させるか押し込みながらのカーソルを操作するのですが、Intuosは3本指でのドラッグです。
3本指でのドラッグは使いやすかったのですが、MacBookPro単体で使った時にファイルを直感的にドラッグできなくなってしまいました。
プロ生勉強会のときに久しぶりにMacBookProのトラックパッドをつかったら、生放送の緊張もあってファイルのコピーができず、結局コピー&ペーストでファイルをコピーしないといけなかったことで買い替えを決めました。

この変な癖がつく感じが辛く、他人のPCを触れなくなるおそれもあったので泣く泣くIntuosからの買い替えすることになりました。
なお、ペン操作のためにIntuosはこれからも使うので、いつでもさっと使えるように無線化キットを買っていつでも取り出せるようにしています。

買い換えてみて


一番に感じたのがサイズが劇的に小さくなったこと。もともとIntuosが大きめのMサイズだったというのもあってスマートになりました。


写真で見るとわずかな差に見えますが、最もよく使う右手周りのスペースが空いたおかげでスマートフォンを置く周りに余裕ができて、見た目以上に使いやすくなりました。

トラックパッドは手首を置いた状態で使うので使用する面積は限られているのでこれでも大きすぎるくらいで小さくなったことによる操作性の悪化は感じません。
むしろ、もっと小さくても良かったくらいです。

充電式なのでいつもは無線として使えるのも嬉しいところ。電池が切れてもすぐに充電して使えるのは心強いです。

精度について

タッチパネルの操作はIntuosと比べていい部分と悪い部分があります。
マルチタッチのジェスチャーはMagicTouch2のほうが正確に認識してくれる印象。とくに余白がないことで別のジェスチャーとして認識されるという問題が解消されました。

逆に1本指でのカーソル移動はIntuosの方が良いように思います。
カーソル速度を最高に設定していることもあってか1ピクセル移動するみたいな動きは難しく、慎重に動かしても突然2px動くみたいな挙動をします。
それでいて速度は足りておらず、4Kで使うと画面の端から端まで移動するのに一度では足りないということが良く有ります。
このあたり、無線運用前提のチューニングがされているように感じます。(有線接続しても特に操作性は変わりません)

電波の混信具合がちがうのか、AppleStoreで試しに使った時よりは変な遅延は少ないように思います。

ドラッグが3本指で動かせないのはまだ慣れません。
押し込んでのドラッグは2段階タップと誤認識されて上手く動かないことが多いですし、親指で左下を押しながらのドラッグは親指を固定したまま人差し指を正確に動かさないといけないのでちょっと大変。
Intuosを使うまでは普通に出来ていたはずなんですが・・・

タッチのフィーリングは劇的に改善しました。
ガラスコーティングがされたMagicTrackPad2は指がするすると滑って気持ちが良いです。
旧MagicTrackPadやIntuosがプラスチックの触感なのに対してよりMacBookProに近い触感に変わりました。

つるっつるのガラスというよりは、めの細かな磨りガラスや陶器の感覚に近いです。クリックするとガラス面がたわんでいるのがわかります。

ただ冬場はびっくりするくらい指が冷たくなります。
MacBookを使っている人なら冬場冷たくなる感覚がわかると思うのですが、MagicTrackpad2の場合本体がほとんど発熱しないのであの冷たさがずっと続きます。
触れている面積がとても小さいので体温で温まるということもなく、指先がどんどん冷たくなっていきます。

冬場だけでもトラックボールに変えようかと思うくらいです。
あと、全体的にうすすぎてそのままでは指の位置が不自然になりがち。
もう少し傾斜があったほうが気持ちよく使えそうなので底に挟む台を用意しようと思っています。

デバイスの種類における操作性の違い

ということで、この1年でマウス→トラックボール→タッチパッド&ペン→タッチパッドと様々な入力デバイスを乗り継いだ1年でした。
そして、タッチパッドをMagicTrackpad2にしてMacBookProとの接続がBluetoothになったのでUSB切替器でWindowsと共有が出来なくなり、Windowsではトラックポインター内蔵のUSBキーボードを使用するようになりました。

全体的に使った時間で言うと
マウス0、トラックボール5、タッチパッド3、ペン1という感じ

マウスが0になってしまっていますが、リハビリのために数ヶ月後と、数時間使っては捨て という状態です。
それぞれベンチマークになっている製品は次の通り

マウス:VX nano
無線マウスとしての使いやすさ、持ちやすさは定評があるが、Retina時代になって分解度の低さがネックになっている感。 Full HDまでの解像度なら無線マウスとは思えない正確さとレスポンスを誇る。


トラックボール:SlimBlade
Kensingtonの最新型トラックボール。手のひらで転がすタイプ。
若干スイッチ類のコストダウンが目立つ。


ペン:Intuos Pen&Touch Mサイズ
ブランド変更でIntuosに格上げされたペン。それまでのIntuosに比べて明らかにしょぼくなった感はあるけれど、価格とサイズは手軽になりました。


トラックポインター:トラックポインターUSBキーボード
パームレストが大きかった旧製品タイプ。キーボードのクオリティが高くMacBookProのキーボードを凌駕している。


タッチパッド:MagicTrackpad2
フルモデルチェンジを果たしたばかりのMagicTrackpad2
価格が大幅にアップしたけれどそれだけの価値はあるか?

マウス

長所
・A点→B点→C点のように連続していろんな場所を移動するのは一番得意かつ正確
・豊富なラインナップで選び放題
・安価
短所
・重たい機械を引きずるためカーソル移動が重たい。
・長時間使うと腱鞘炎や肩こりの原因になりやすい
・キーボードと持ち替える時の時間的コストが大きい
用途
・FPSなどの持ちっぱなしで正確かつ高速な操作が必要な時

トラックボール

長所
・場所を固定できるため持ち替えが高速
・腕の位置を最適化出来る
・カーソル移動時の抵抗がペンに続いて少ない
・長時間使った時は一番疲れない
短所
・細かなカーソル移動はぎこちなくなりがち
・埃により操作性が低下するので頻繁にメンテナンスが必要
・選択肢が少ない
用途
・一般的OS操作

ペン

長所
・圧倒的カーソル移動能力
・筆圧検出などの特殊機能
・短時間なら持ったままキーボード操作が可能
・タッチパッド対応タイプならタッチパッドの利点も引き継ぐ
短所
・カーソル移動とクリックが同じ操作のため1pxずらすみたいな操作が苦手(ペンを抜くときにずれる)
・キーボードとの持ち替えで一番時間がかかる
・高価
用途
・デザイン、Webブラウジングなどキーボードを使わない時

タッチパッド

長所
・省スペース
・腕の位置を最適化出来る
・ジェスチャーと相性が良い
・比較的カーソル操作が軽い
・細かい操作が得意
短所
・カーソル移動時に指先がこすれる
・トラックボールに比べて指の移動が大げさになりがち
用途
・一般的OS操作

トラックポインター

長所
・超省スペース
・腕の位置を超最適化出来る
・キーボードと持ち替え不要
・カーソル移動時に指を動かさなくていいただひとつのデバイス(長時間のスクロールで有利)
短所
・キータイプが下手くそだとトラックポインターをタイプして痛い
・カーソル移動時に指先へ強い負担がかかる
・選択肢が極めて少ない
用途
・一般的OS操作

それぞれ比較すると

凡例
>> 無視できないほど左が良い
> 明らかに左が良い
= ほぼ同等 好みの差

省スペース
トラックポインター >> トラックボール > タッチパッド >> マウス >> ペン

安さ
マウス > トラックポインター >> トラックボール > タッチパッド > ペン

長時間利用における疲れにくさ
ペン > トラックボール > タッチパッド >> マウス > トラックポインター

カーソルを合わせる正確さ
ペン >> タッチパッド = マウス > トラックボール > トラックポインター

ドラッグ操作の正確さ
トラックボール>マウス > タッチパッド > トラックポインター > ペン

連続操作
ペン >> マウス > タッチパッド > トラックボール>>トラックポインター

キーボードとの相性
トラックポインター >> トラックボール = タッチパッド >> マウス >> ペン

去年まではマウスこそ唯一にして至高のデバイスであり、タッチパッドやトラックポインターは省スペースのための代替という認識だったのですが、トラックポインターを通じて視野が広がる機会になりました。
今では殆どマウスを触らなくなっています。ゲームやるならマウスを繋ぐかも くらい(ゲーム自体最近やっていません)
一番わかる効能として右の肩こりが激減しました。

おすすめ度 30%(殆どの人におすすめしない)

MagicTrackpadを愛用していながら、おすすめ度低すぎるのですが、これが14,800円は割高すぎです。

殆どの人にとっては旧世代のMagicTrackpadの方がコストパフォーマンス良いように思います。
MagicTrackpadに対するメリットとしては、指の滑りがいいこと、充電式なこと、タップしやすくなっていることくらいで、そこにこの差額の価値を見いだせるかどうかですね。


疲れにくいのが欲しければトラックボールの方がいいです。
エレコムから大量に安いトラックボールが出たのでちょっと気になっています。
MacBookユーザーであれば、内蔵のトラックパッドで十分かと思います。

ということで、おすすめできる人は
ポインティングデバイスに高めのお金を払える人で、ポインティングデバイスの連続使用時間がそれほど長くなく、卓上を広く使いたいけれど、MacBookのキーボードを使うのが嫌な人 という感じでしょうか

2015年買ってよかったデジモノベスト10

$
0
0
2015年もいろいろと買い物をしましたが、
特に外れ商品が少ない年でした。

そのなかでも、特に買ってよかったトップ10を紹介していきます。
10位 Anker Astro E1 5200mAh
それまでMacbook ProやMacbook Airを外付けバッテリー代わりに使っていたのですがスリープ時にUSBに給電するとバッテリーの減りが早くなったり、ちょっと充電したいという時にケーブルを取り出すのが面倒というのもあって思い切って買ってみました。
容量は大きくないけれどその分軽量で常に持ち歩きできるのが頼もしい。
Nexus5を2回完全に充電できるほどの容量を持っているので実際の使用で電池を使い果たしたことはありません。
給電能力は私が持っている充電器の中ではダントツに早い気がします。
ただ、モバイルバッテリー自体の充電にかなり時間がかかるのが唯一の難点。


9位 Nexus5交換バッテリー
完全にヘタっていたNexus5が蘇りました。
Android6.0にバージョンアップしてからバッテリーの持ちが改善されたことも有り、交換後10ヶ月たった今でも普通に使っていて1日以上電池が持ちます。
Nexus6やNexus6pも買ったけれど、SIMをnano SIMに交換するのが面倒なのでいまだにメイン端末はNexus5のままです。




8位Google Nexus Player
TVでYouTubeやhuluが見られるようになる端末です。
この手の端末はいろいろ買い替えていて、PS3に始まり、NexusQ、AndroidTV、Chrome BoxにChrome Castと乗り継いできましたが初めてストレスフリーにネットが見られる端末だと感じました。

今はFire TV Stickにその座を譲って開発部屋での作業用BGM+環境ムービー再生用として使っていますが、正直言ってNexus Playerに比べて細かい所が使いにくいのでNexus Playerに戻そうかと思っているほど。
長年リビング用の端末を出し続けたGoogleだけあってソフトウェア面での作りこみがしっかりしているなぁという印象を受けています。



7位 SONY ノイズキャンセル付きワイヤレスイヤホン MDR-EX31BN/R

あれ?これ買ってからまだ1年経ってないんだっけ? と思うくらい使い倒していて電車にのるときはほぼ確実にこれを付けています。
ノイズキャンセルや音質はそこそこですが、どこにも持っていけるコンパクトさとmicroUSBで充電できる手軽さ、NFCで簡単にペアリング出来ること、その割にやすかったこと(当時7,640円)で満足度高いです。
ただ今見ると2000円以上値上がりしていて これじゃおすすめしづらい・・・


6位 Apple MacBookPro retina 15インチ
発熱とそれを冷却するためのファンが煩すぎるほかはあまり不満点が無いです。
画面は十分に綺麗だし、Retina運用しても13Airから推定解像度が減りません。
2段階クリックは全く使っていませんが、どこでも同じ力で押せるようになったトラックパッドは使いやすいと思います。
なにより、CPUパワーが強力になったおかげでAndroidアプリのビルド待ちが発生しなくなり作業への集中度が格段に上がりました。

5位 モトローラ Moto 360
既にGearLiverを持っているにもかかわらず、あえてそれより性能が低いMoto360を買ったのですが、
結果的に言うとスマートウォッチはMoto360しか使っていません。
丸型画面の金属削り出しのコントラスト深い質感がたまりません。
あと、Qiになって充電が楽になったのも嬉しいです。
性能が向上した第二世代も気になっています。



4位 Anker PowerPort 10
10台ものUSB機器を一度に充電できる充電ポート。
10台も有れば十分だろうと思っていたけれど、カメラやらイヤホンやらとUSBで充電するものが増えているので10本って全然大げさではありませんでした。

ポート数が増えている割に最大出力が6ポートと変わらないですが、全台同時に充電するということはまず無いので出力不足を感じたことはありません。


3位 THULE Paramount 29L
PC収納ができるバックパックです。
MacBookPro retina 15インチを持ち運ぶために購入したのですが、これが有るだけで行動の楽さが全然違います。
今年の夏に登山用のバックパックで出張して、冬にはTHULEでほぼ同じ装備の出張をしたのですが、荷物がしっかりまとまってくれるので体感的な重さがぜんぜん違う。
途中、Mac忘れてきたかも ってつい確認してしまったほどです。
ただ、収納力が普段使いには少々オーバースペックな感じはしています。


2位 ヤマハ AVレシーバー RX-V479(B)

やたらとコストパフォーマンスが高いAVアンプです。
なんといってもシーンボタンが便利で普段はシーンボタンしか触っていないというレベル。
4つのシーンはそれぞれ
Mac(DisplayPort経由)、Mac(光ファイバー経由)、Windows、NexusPlayerにつなげています。
この多機能と音質がこの価格というのが凄く嬉しい。


1位 LG 27型 4K 27MU67-B

凄く安い4K IPS液晶。
この解像度、一度味わうとそれまでのディスプレイに戻れません。
この前シネマディスプレイ(2,560x1,440)を使ったのですが画面が荒くて辛い と感じてしまいました。
画面が大きくなったことを利用して机の奥において距離をもたせるようにしたおかげで目の疲れも減ったように思います。
悪い点としてはデザインが地味過ぎたり、入力ポートの切り替えが面倒だったりする点ですが、それでもこの価格とクオリティのバランスを考えると十分無視できるレベル。
デザイン面が配慮された新型も出ているようです。

2015年 見た映画

$
0
0
2015年も映画を見た本数は少なくなっています。
しばらくは本数少なめで推移していくかと思います。
そんな中、面白かったと思ったのは

ベイマックス

ベタかもしれませんが、コレが本当に面白かった。今年初めてみた映画の中ではダントツです。
衝撃的だったのは製品開発のプロセスが(いささか誇張されているとはいえ)Makersの雰囲気に近くてこれが子供向け映画として企画が通るということにアメリカでのモノ作りに対する認知度の差を感じました。


キングスマン

グロ注意

色んな意味でひどい映画です。明るいグロという点でキル・ビルの雰囲気を継いでいますがそれ以上のグロさ。
しかも、命の尊厳もへったくれもなく、倫理観が全てぶっ飛んだらどうなるか? というのに挑戦したかのような意欲作です。見ていて何度も胸糞悪くなりましたが、やりきりが凄い。
狂気に洗脳された大衆が明るい音楽に乗って血まみれになりながら殺しあうシーンや、アートのようにクビが飛んで行くシーンなどそのグロさこれまで見たどの映画よりぶっ飛んでいます。
殺し合いを美しく見せるという点で言うと時代劇の殺陣に通じるものがあるかもしれません。 しかし、全く「死」を隠していません。
良心に反する映画を見られない人は絶対見ないでください。





2015年見た映画リスト

トップガン
マダガスカル
オープン・シーズン2
オープン・シーズン
ミニスキュル 〜森の小さな仲間たち〜
タクシードライバー
アポロ13
ワイルド・スピード MEGA MAX
えいが それいけ! アンパンマン とばせ! 希望のハンカチ
ギャング・オブ・ニューヨーク
怪盗グルーの月泥棒
おさるのジョージ
パトレイバー2
パトレイバー
アンパンマン ふたごの星
アンパンマン よみがえれバナナ島
オブリビオン
ベイマックス
キングスマン
レミーのおいしいレストラン
シュガー・ラッシュ
アメリカンスナイパー
ToyStory3
ナイトミュージアム3
Frozen(アナと雪の女王)
マジックアワー
ショコラ

2016年はもっと良い映画に会いたい

Google I/O 2016開催日時と場所、福岡からの最短旅程

$
0
0
Google I/O 2016の日時場所が突然twitterで発表されました。
去年は2/11だったので一ヶ月近く早い発表ですね。
今年は場所がサンフランシスコではないので注意が必要です。

場所:マウンテンビュー ショアライン・アンフィシアター
日時:5/18(水)-20(金)



場所について

なんといっても驚きなのが、安心と信頼のモスコーニセンターではなくサンフランシスコですら無く、マウンテンビューということ。
Google本社すぐ近くの屋外シアターです。


最寄りの空港はサンフランシスコ空港ではなく、サンノゼ空港になります。日本からは成田からANAの直行便が飛んでいます。
ただ、場所としてはサンフランシスコ空港からも行けない距離ではないです。(というよりどちらからも遠い)

心配事もたくさんあります。
国際的観光都市であるサンフランシスコは(お金はともかくとして)ホテルの数は豊富ですが、サンノゼは限られています。
また、空港から会場までBART一本で行けたサンフランシスコと違ってサンノゼは車社会。シャトルバスで運行したとしても、仮に5000人輸送するとなると100人乗りのバスを50往復しないといけない計算でどう解決するのか見ものです。(解決しなさそー)
屋外だから空調も期待できないし、昼は暑く夜は寒くなるの間違いなし。
雨が少ない地域とはいえ皆無ではないし、雨降ったらどうするんだろうとかいろいろ

なんにせよ、これまでのI/Oのノウハウがほとんど使えないでしょうから、かなり挑戦的な会場選びだと思います。

ここ最近、サンフランシスコの雰囲気は異様で、ホテルが異様に高騰していたり、平均的な所得の地元住民が家賃の高騰で住めなくなるなど問題をかなりはらんでいて、参加しづらい雰囲気になっていました。
そのため、会場を変えて欲しいというリクエストを何度か出していたのですが、おそらくそういう声が他にも多かったのでしょう。

日時にいて

今回は3daysです。 去年、一昨年と2daysだったのですが、特に去年は物足りなさが半端無く高い旅費を出したのにこれだけ? という感じがしたので3daysが戻ってきたのは凄く嬉しい。
そして見逃せないのが、Maker Faire bay areaがサンマテオイベントセンターで20(金)〜22(日)の3日間開催予定です。
一度の旅行でI/OとMaker Faireの両方を楽しめるチャンスです。

Maker Faireがどんなイベントなのかは、3年前の様子を動画に撮っているのでご参考ください。


サンマテオイベントセンターはサンフランシスコ空港の近くに有り、Bartとカルトレインを乗り継いですぐに行くことが出来ます。


福岡からもっとも有給を取らずに参加するには

土日が休みの会社を想定して福岡からもっとも有給を取らずに参加するにはJAL便が便利です。

福岡から出発したとしても17日(火)まで仕事して夜中に移動開始(21:00福岡空港発)
同日17:25にサンフランシスコに到着してレジストレーションを行い(レジストレーションの日時と方法はまだ発表されていません。 例年は前日から行われていたためそれに準じています)
18-20はI/Oに参加、21日MakerFaireに行ってそのままサンフランシスコ空港ヘ(出発は翌日深夜の1時なので時間を気にせず楽しめますね)
23日(月)の朝8:10に福岡空港着です。(入国審査は羽田で済ませているのでそのまますぐに職場へ行けますね)

とすると水〜金の3日間休むだけでI/OとMakerFaireを楽しめるという苦行が味わえます。

関連

GoogleI/O 2015の感想
Maker Faire 2013の感想
GoogleI/O2013の旅行記(2015より詳しいです)

Android Studioではじめる Androidアプリ開発 書評

$
0
0
著者の有山圭二さんより[改訂版]Android Studioではじめる 簡単Androidアプリ開発をご献本いただきました。


そもそもどんな本なのか

この本はAndorid Studioを使用してAndroidアプリを今から始める人のための本です。
おおまかな流れは
環境構築→Androidのアプリ入門→スマートフォンならではアプリ開発→ゲーム作成
という順番。

この本、初版を購入していたのですが、Android Studioが本格的に移行される前だったこともあり、その後Android Studioの定番本となった感じがします。

なんといっても、この本の魅力は環境構築のサポートが分厚いこと。
Android StudioってGoogleの趣味なんじゃないかとおもうくらい環境構築の手順が変わるのですがそのたびにWebで改訂版を公開してずっとフォローしています。
このアフターフォローの高さこそ、この本最大の魅力ではないでしょうか。

おすすめの読者

読んだ感じ、想定している読者は
Javaは知っているけれどAndroidアプリは作ったことない人向け
という感じです。
Javaの知識が有ることが前提なので変数の説明とかクラスの説明のようなJava由来の説明はかなり省かれています。
Androidアプリについてはかなり丁寧かつ限定的に説明されていて、最初の一歩を踏み出しやすくなっています。

逆に言うと次のような人は、この本だけでは不足しています。
・Javaを知らない人
・業務レベルのアプリ開発が必要な人
・EclipseでAndroidアプリ開発の経験がありAndroid Studio固有の機能を知りたい人

学ぶこと

作成されるサンプルはHello Android、天気予報アプリ、アクションゲーム、シューティングゲーム、迷路ゲームの5つ
それぞれ題材とされているテーマは
Hello AndroidがAndroidアプリの開発チュートリアル。
天気予報アプリが標準的なアプリ開発とスレッド処理
アクションゲームとシューティングゲームがゲーム処理
迷路ゲームがセンサー処理という感じ

各章でそれぞれ説明が独立しているので天気予報アプリを飛ばしてもアクションゲームが作れるとか
アクションゲームを飛ばしてもシューティングゲームが作れるようになっているのも特徴的。
その分、3つも作っているゲームで説明が冗長な感じもしますが、書籍の厚さに比べて価格が安いので無駄感は少ないです。
やはり最初の入門においてゲームはモチベーションにつながるので手厚くしたのだと思われます。

ココが残念ここが物足りないなという部分もありました。
・Intentや永続化といったわりとAndroidの基礎部分がごっそり抜けている。
これは「おわりに」によると、あえて他の入門書が触れている部分には触れていないということのようですが、章を独立させるという都合上、一つのアプリで説明できる内容が限られてしまうというのもあるようです。
個人的にはChapter7,8,9は1つのアプリにしてもう少し掘り下げて欲しかった気もしますが、サンプルアプリが複雑化し過ぎると脱落者も指数関数的に増えてしまうので、このあたりのバランスを取られたのだと思います。

・索引がない
これも1つの説明を複数箇所で繰り返すという仕組み上難しいのかもしれませんが、この用語ってなんだっけと思った時にその用語を説明していた場所に戻れる索引って個人的には凄く重宝するので索引欲しかったなぁと思います。

初版との違い

Android Studioの開発環境を準備する方法が最新に変わっています。
また、各部の説明が2015年12月相当の状況にアップデートされています。
加えて、全体的に章の階層が浅めで一つの区切りが長めになっています。

説明は付け加えられた部分は少なく、新しくまるごと追加された部分が多いように思います。
逆に従来ある説明文は洗練され文章量が減っていっるようです。

買うべき?

おすすめの読者にも書いたように
Javaは知っているけれどAndroidアプリは作ったことない人がAndroidアプリ開発の雰囲気をつかむにはとても良く出来ています。
私の中では一押しです。

Javaを知らない人はJava入門書と合わせて読まれることをおすすめします。

drawableとmipmapの違い

$
0
0
Android Studioにおいてランチャーアイコンはそれまでのdrawable-密度/ic_launcher.pngからmipmap-密度/ic_launcher.pngに変わりました。
もちろん、名前が変わっただけじゃなくて実際の挙動も変わっているのですが、イマイチ地味な変化のためよく知られていないように思います。

結論

結論から言うとランチャーアイコンはmipmapにしましょう。

mipmapとは

Mipmapは3Dでよく使われる技術で、遠くのオブジェクトには荒いテクスチャ、近くのオブジェクトには細かいテクスチャを使用することでクオリティとメモリーを両立させる技術です。

Androidは3Dではないですが、drawableで似たようなことが行われています。
drawable-mdpiやdrawable-xxhdpiのように端末のピクセルサイズに応じてサイズの異なる画像を用意することで画面密度が荒い端末ではメモリー消費量を節約して、画面密度が細かい端末では高精細な画像を適用する qualifierという仕組みです。

通常であれば、それで良いのですが、3年前の日記で書いたように、最近の端末ではランチャーアイコンを拡大気味に表示している端末が有ります。
本気でAndroid用のアイコンを作る
例えばNexus5では本来アイコンは、48dpのxxhdpi(3倍)なので144x144pxとなるはずなのに実際には176x176pxに拡大して表示されます。

drawableとmipmapにおける挙動の違い

この時、drableに指定されている画像は、端末の物理的なピクセルサイズを元にxxhdpiの画像を使用します。
それに対してmipmapに指定されている画像は、描画するときの画面密度を元に適切な画像を切り替えてxxxhdpiの画像を使用します。

Nexus5(xxhdpi)においてic_launcherをdarawableに置いた場合とmipmapにおいた場合の画像
drawableではxxhdpiが使用されれているのに対してmipmapではxxxhdpiが使用されている。


一般的に画像では拡大より縮小のほうが画質劣化が少ないので、drawableなxxhdpiを拡大するよりmipmapなxxxhdpiを縮小したほうが画質の劣化を抑えることが出来ます。

それでは実際に同じ画像を元にmipmapを使用した場合とdrawableを使用した場合を見比べてみましょう。
左がdrawable、右がmipmapです。 drawableの方は144x144の画像を176x176に拡大したもの、mipmapは196x196の画像を176x176に縮小していることになります。


顔と胴体部分を見るとmipmapの方が輪郭がくっきりしているのがわかります。

拡大するとこんな感じ
drawableではエッジ部分がかなりぼやけているのがわかります。


ということで、アイコンランチャーはdrawableではなくmipmapを使ってxxxhdpiまでサポートすることをおすすめします。

Android Wearアプリ開発入門 書評

$
0
0
著者の神原さんよりAndroid Wearアプリ開発入門(電子版)を献本いただきました。

Wearの現状

私は、外出時ほぼ毎日AndroidWearを身につけています。
と言いながら、先日Nulab Happy Hourに行く時に付け忘れていたのですが、忘れた時ほどWearの重要性を再認識させられます。
いつもは意識していないのですが、忘れた時携帯の通知を確認するためだけにスマートフォンを取り出さないといけないといかに日頃Wearを使っていたかに気付かされます。

スマートウォッチ全体で言うと市場はまだ盛り上がっていませんが、実際のユーザーを見ているとAndroid WearとPebbleの顧客満足度が最近上がっていて継続的に使用している人が増えてきたように思います。

アプリについては簡単なアクションが可能なFacebookメッセンジャーアプリや飛行機のチケットレスチェックインに対応したJalアプリなど便利アプリも出始めていますがまだこれから可能性を模索していくところと言った印象。

どんな本?

そんな中Android Wearアプリ開発入門は現状唯一といえるAndroid Wearアプリ開発を包括的に解説した書籍となります。
内容はとても充実していて開発環境の構築から、簡単なアプリ開発、Play Storeへの公開方法、通知を使った開発、音声入力、携帯-Wear間のデータ通信、UIデザイン、GPS、Watch Face、Tipsという流れ。

書いてあること

Android Studioの作り方
Android StudioとWearの開発環境構築
Android Wearでの開発方式を一通り

書いてないこと

プログラムの基礎的な話
Javaの基礎的な話
Androidの基礎的な話
応用的な話

ココが残念

気になったのは二点

Android Studioの説明が多い

ここまで丁寧にAndroid Studioの説明が必要だったのかなぁと思います。
Androidアプリの開発方法については説明がないのでAndroidアプリ開発経験者を想定読者としているように思うのですが、AndroidStudioの説明がちょいちょい入っていてWearの話になかなかたどり着かないので途中で脱落する人が出そうな気がしました。

Android Studioの説明は別章にして、Android Studioでの経験がある人は読み飛ばせる仕組みがあると嬉しいと思いました。
逆に、Eclipseでの開発経験はあるけれどAndroid Studioでの開発経験がないという人は安心して読むことが出来ます。
純粋なEclipseユーザー向けのAndroid Studio入門書としてもよく出来ています。

Handheld端末のMin sdk versionが15

サンプルに有るHandhelod(携帯)側のMinSdkVersionが15(Android 4.0.3)となっているのですが、Android Wearと接続するにはMin SDK versionが18(Android 4.3)以上である必要が有るため、Min SDK versionは18以上を指定するのが混乱少ないように感じました。(Android Wearを付加価値として機能追加する場合はコレばかりではないですが)

ココが凄い

通知型、ローカル型、WatchFace型とWearアプリについて一通りの実装方法が網羅されているため、Androidアプリの経験者であればコレ一冊でほぼ全てが手に入ります。
WebはWatchFaceを知りたければココ、通知を知りたければココという感じで情報が分散していますし、書籍はそもそも他に比類するものが存在しないのでここまでWearについて幅広く体系立てて説明されている資料は他にないです。

Android Studioの解説も手厚くこの部分だけでも有用です。
文章が優しく、読みやすいです。

買うべき?

Wearアプリ開発をこれから始めようと思う人は買うべき。Wearアプリ開発を行う一番の近道だと思います。
既に開発しているけれど、もっと幅広い視点が欲しいと思っている人にもおすすめです。





Anker のカナル型ヘッドセットSoundBuds Sportレビュー

$
0
0
モバイルバッテリーやUSB給電器で有名なANKERですが、最近商品の種類を増やしはじめていて、今回はイヤホンに参入してきました。
ANKERというと高品質と低価格を両立した商品が多いのですがこれはどうでしょう。
今まで使っていたMDR-EX31BN(以下MDR)と比較してみたいと思います。

本体サイズ

本体サイズはMDRが親指サイズのユニットを別に持つのに対してSoundBudsはイヤホン部分のみと圧倒的にコンパクトです。それでいて、公称連続再生時間はMDRが10.5時間なのに対してSoundBudsは8時間と大差ありません。
このサイズの秘密は対応している無線方式の差で、MDRが一般的なBluetooth3.0なのに対して、SoundBudsはより省電力なBluetoth4.0でその辺りの効果が出ているのだと思います。

SoundBudsの圧勝


音質

ヘッドフォンのユニットはMDRと比べて大きく、音質も期待してしまうところですが残念ながらドンシャリ系です。
SoundBudsは中高音に対して低音だけが別のウーハーで鳴っているような不連続さを感じます。低音の音は酷く単調でとりあえず鳴ってますという感じ、高音も簡単に割れてしまいます。
15年前くらいのSONYがちょうどこんな感じだったと記憶しています。

最近のSONYは音質向上に力を入れていてMDRは低音から高音まで継ぎ目なく全音域が一定で鳴って癖がなく音も明瞭です。
コレは聞き比べるまでもない差。
とはいえSoundBudsがそんなに酷いかというと、そうでもなく2000円以下の価格帯で言うと有線含めて極めて妥当な音質だと思います。 MDRの音質が良いのでそれと比較した場合に劣るというだけの話。

MDRの圧勝


装着感

ヘッドユニット部分の重さが気になるかと思ったのですが、装着した時の違和感はMDRと比べてもそこまで大きくありません。
MDRはクリップで止める形式の本体のせいで服装に制限をうけることが多いです。
あと、MDRが残念なのが柔らかくちょっと粘着性が有るゴム製のケーブル。腰がなくよれよれしているのでこれが顎に触れて気持ち悪かったり、ポケットの中で容易に絡まったりします。
それに対してSoundBudsは平らなケーブルを使うことで折り曲がり方向に制約をつけさせてやたらめったクチャクチャになるのを防いでいます。
Y字型のケーブルになるMDRに対してU字型になるSoundBudsは服とのスレによるノイズの面でも有利です。(ただし襟元に当たるとかなり激しい音がします。

SoundBudsの勝利

ノイズキャンセル

MDRにはデジタルノイズキャンセル機能がついています。それに対してSoundBudsはcVc6.0とかいうよくわからないノイズキャンセル方式です。
その差は歴然としていてMDRはノイズキャンセルのスイッチをONにすると すーっと周囲の音が消えていくのに対してSoundBudsはとくにそういう現象が発生しません。
ただ、SoundBudsはイヤホン自体の遮音性がMDR以上で電源をつけていない時の遮音性ではMDRよりかなりいいです。


MDRはNC時にサーっというホワイトノイズが大きめで、自宅や夜中のような外部ノイズが少ない時はノイズキャンセルをオンにしたほうがノイズが大きくなるとか、独特な耳を圧迫される感覚があるのですが、SoundBudsではそういうのは発生しそうにないです。

おそらく飛行機や電車の中ではMDRの方が遮音性が高く、町中では同等、図書館などではSoundBudsの方が静か ということになりそう。

引き分け

付加機能

付加機能についてはMDRの方が充実しています。
SoundBudsになくてMDRについているものとして早送り、巻き戻し機能。イヤホンユニット部分の交換、複数モードに対応したノイズキャンセル、そして特にAndroidユーザーに嬉しいNFCによるペアリング機能などがあります。
音量調整機能は両方共ついているのですが、SoundBudsの音量調整機能は最小音量が大きくて、ちょっとを下げようと思っただけなのにすぐにミュートになってしまいます。MDRはそのようなことがなくきちんとストレートに音量が下がり最後にミュートになります。 ミュートになった時に一瞬電子音がなってミュートに入ったことをおしえてくれるのも気が利いています。
一方で、SoundBudsにしかない機能として、充電中でもイヤホンを使用可能です。MDRは充電状態になると強制的にBluetoothの通信が切れます。
あとイヤホン部分に磁石がついていて使用していない時は左右のユニットを貼りあわせたり冷蔵庫に貼り付けることが出来ます。

MDRの勝利

音漏れ

SoundBudsはcVc6.0により音漏れを抑制しているはずなのですが、実際にはMDRの方が音漏れは少ないです。
とはいえ、どちらも現実的な音量で聞いている分では不快感が出るほど音が漏れることはないです。
比べればMDRの方が音量が少ないというレベル。

MDRの勝利

コストパフォーマンス

Amazonで比較するとMDRが7680円、SoundBudsは初回限定ながら1999円と圧倒的な差。
上記の比較は価格を考慮しておらず、純粋な性能差ですが、それでもSoundBudsがMDRを優っている部分があることを考えるとこのコストパフォーマンスはかなり高いといえます。


SoundBundsの圧勝

おすすめ度

今回は珍しく比較という形で出させてもらいましたが、比較抜きにして製品としてのおすすめ度は90%(ほぼ全員におすすめ ただし条件あり)
価格を考えると初めてのイヤホンとして圧倒的におすすめ度高いです。古い有線イヤホンを持っている人もお手軽なBluetooth4.0イヤホンとして魅力ありです。
一方で音質に難を抱えているので、既にイヤホンを持っている人はこれでは満足しないかもしれません。

お詫び
当初製品名をSoundBundsとしていましたが正しくはSoundBudsです。

DroidKaigi2016に行ってきました

$
0
0
2/18-19の二日間、大岡山で行われたdroid kaigi2016に行ってきました。
結論から言うと 最高でした。

droid kaigiとは

Androidのエンジニアのための情報交換を行うイベントです。
他のイベントにもよくある登壇者がしゃべり大勢が聞く形式ですが話す内容が「Android関連」で「特異性のある」「技術的な話」に特化しているというのが特徴。

なので、この手のイベントにありがちな
「こういうサービスを作りました」とか、「ダウンロード数が何百万でした」とか、そういう話は少なく、ライブラリーの使い方や言語の紹介といった開発に特化した話になっていました。

まず、驚いたのが、そんなにジャンルを絞っても話すことが有るんだということ。

話す内容は秋ごろにCFPとして公開で公募が掛けられます。
実際にどのような内容が応募されたかはオープンにされています。
この内容を元に運営委員会が良さそうな内容をえらぶという方式。

普通のイベントでは登壇者が先に決まって、登壇内容はある程度登壇者に丸投げという形が多いのと対照的。
純粋に面白そうな「内容」で勝負されます。

飛行機とチケット

チケットはCompassで購入。
CFPにアイコンデザイン周りの話でも送り込もうかと思いましたがちょい業務が怪しかったので見送り。
来年はがんばろう。

会場は大岡山ということで、最初新幹線を取って行こうとしてたら、
大岡山という東京の駅だったそうで、急いでスターフライヤーで予約を取りました。
実は初めてのスターフライヤーです。 スターフライヤーは良いよという話は何度も聞いていたのですが、いろいろな事情があってなかなか乗ることが出来ずに居たのです。

当日の荷物

今回は2泊だったのでTHULE Paramount 29Lに全てを収めることにしました。
キャリーバッグを持って行くと収納力はダントツに上がりますが、旅行の機動性を考えるとやはりバックパックひとつで済むのは楽です。

最近色々物を買い足したので今回の旅行には、今後のイベント旅行で必要な荷物の過不足を調べる意図もあります。
持って行った荷物は次の通り
着替え 2日分。(下着のみ)
オームのプラグ収納式 マイクロタップ
SONY α7S(+予備バッテリーと充電器)
Apple Thunderbolt - ギガビットEthernetアダプタ
LANケーブル 50cm
micro USBケーブル2本(通信用と高速充電用)
USB-Cケーブル 1本
アップル Apple Mini DisplayPort-VGAアダプタ
Anker 24W 2ポート USB急速充電器
Anker Astro E1
Nexus5
Nexus6p
ANKER SoundBuds
SONY MDR-EX31BN/R
Moto360と充電台
MacBookPro Retina15インチと充電ケーブル
飛行機のチケット(紙)
Compassのチケット(紙)

使わなかったのは有線LANケーブルとVGA変換アダプター、SoundBuds、Nexus6p
コレに関しては有線LANケーブルはホテルによってはWi-Fiが飛んでいないこともあるので持っていて正解だし、VGA変換アダプタも何かのタイミングで突然プレゼンをする機会に恵まれた時に必要になったりするのでこれからも持って行こうと思います。

SoundBudsは電車や飛行機のようなノイズレベルが大きなところではノイズキャンセル性能が役に立たなかったです。
MDR-EX31BNのノイズキャンセル性能と大きな差がでました。

Nexus6pはNexus5のバッテリーが切れた時の予備用だったんですが、まだnano SIMを調達できていないためWi-Fiが飛んでいなかった会場では使用できませんでした。

逆に足りなかったのはUSBケーブルと有線イヤホン。
スマートフォンと充電器を充電するとmoto360とイヤホンが充電できない。
ポート自体はAnker 24W 2ポートとMacBookProRetinaの2ポート、(その気になればANKERのバッテリーを数珠つなぎしてもう1ポート)
あるのに2本しか刺せないなんて・・・(そして朝気づいたのですが枕元にmicroUSBの充電ケーブルがはえてたのに気づくという失態)
次回はUSBケーブルを2本足そうと思います。
E1は充電に5時間くらいかかるので1ポート完全に専有されるのも辛かったです。最近はもっと充電速度の早いモバイルバッテリーもあるのでそちらの導入も検討したいです。

MDR-EX31BNは有線ではないのでせっかく飛行機にモニターがついていたのに使用できなかったのが盲点。(機内でイヤホンは貸してもらえます)
国際線で映画見られないのは残念なので国際線に乗るときは有線でノイズキャンセルが付いているMDR-NC33と普段用にSoundBudsを組み合わせのはありかも。

バッテリーについては結構ギリギリでした。
会場にwi-fiが飛んでいなかったので常時テザリングしていたところ

初日は飛行機でNexus5を満充電に出来たのですが、その後は電源なし状態。
セッションが終わった時点でモバイルバッテリーのe1が完全に電源が切れて、Nexus5のバッテリーが85%残っている状態。

翌日は最初のセッションでコンセントを確保できたのでMacBookProとNexus5を充電したのですがセッションが終わった時点でe1が25%の状態でした。

より辛かったのがMacBookProでセッション終わった時点で両日とも残量10%を切っていました。
MacBookProの電源が心もとないのは分かっていたのでバッテリーを節約するため液晶をかなり暗くして重たい処理を極力走らせないようにしたのにこの状態。今回は途中でガッツリ仕事をしないといけなかったのでMacBookProを持って行くほかありませんでしたが、重量的にも取り回し的にも辛いのでハイスペックなモバイル用のPCが欲しくなります。

ということで、荷物の課題としては
有線イヤホンを持って行く、USBケーブルを増やす、モバイルPCの導入を検討するという感じ。

α7sは大きさ的に少し持ち歩き辛かったです。
でも良い写真撮れたから持ち運びしやすい単焦点レンズと組み合わせようかしら。

移動

移動は朝一7:00の飛行機スターフライヤーです。
この飛行機は9時前に羽田空港に行くので東京のかなりの範囲で10時までに到着することが出来ます。
前泊しなくても良くなるので楽では有りますが、手荷物検査場を6:45に通過する必要が有るため早起き必須です。
7:00は空港がオープンになるタイミングということもあり朝一の飛行機ラッシュで手荷物検査場は混雑します。
並んでいる客は皆7:00の飛行機に乗ろうとしているので 優先的に先に抜けるみたいなことも期待できません。


6:30にオープンのラウンジに入ってパンをひとかじりコーヒーを一杯飲んで6:40に手荷物検査場にいったら、並んでいる最中にまもなく締め切りますっ て言われて結構焦りました。

搭乗口は第二ターミナルだったのですが、飛行機に乗り込むのは第1ターミナルで、機内案内を超えた先で第1ターミナルまで歩くという不思議な運用。
最近第二ターミナルから乗り込むことがかなり減りました。

スターフライヤーの移動は快適そのもの。
朝の飛行機は景色も最高。

夜明け前の空港を離陸すると

山の向こうから太陽が見えてきました。

その後も雲のベールを被った山々や

雪の山々などとても美しい景色を堪能できました。


スターフライヤーのコーヒーはタリーズのコーヒーで、実際に飛行機で普通に飲むコーヒーよりかなり美味しく感じましたしおまけでチョコレートがつく嬉しいサービスも。


充電用のUSB端子があるのも凄く嬉しい。
次回も特に金額に大きな差がでないかぎりスターフライヤーを使うと思います。

羽田からの移動は京急で品川、京浜東北線で大井町、東急大井町線で大岡山という流れ。
大岡山って東京の南のほうなのに、品川まで大きく回りこむのがちょっと嫌な感じ。
地図的に言うと京急鮫洲駅くらいで降りたいのですが快特が止まらないので品川まで回るほうが早かったです。
本当に時間を節約するならタクシーにするとかなり早くなるはずです。

会場は大岡山駅を出てすぐ真正面で迷う余地はありませんでした。
私が聞いたセッションは次の通り

基調講演

基調講演では沢山のライブラリーが紹介されました。
Androidアプリ開発では固定化されたお定まりの方法などが多くてコードが冗長になりがち。
ライブラリーを使うことで工数を大幅に削減できる可能性があります。
しかし、ライブラリーはデキが悪いと余計に時間を取られたり、開発の動向によっては継続して使い続けることが難しかったりと注意も必要です。
そこで、実際に使っているライブラリーや使ってみたけれどダメだったライブラリーの知見を共有していただきました。


Master of Canvas

キャンバスについての話です。
全体的にキャンバスの基礎的な話が多かったですが、Interpolatorの設計方法についての紹介が興味深かったです。
私の場合直接Javaに書いて実機で確認という感じが多いのですが、Grapherのような外部ツールを使うことで可視化したデザインが可能というのが気づきでした。


そこからランチタイムに入るのですが、おにぎり弁当は量も味もちょうどよくて弁当の質にこだわったことをよく感じました。
全国のAndroidアプリエンジニアの人たちと話しながら食事ができるのも嬉しいところ。

史上最速のAndroid

随分と強気なタイトルだなぁと思ったらその名に恥じず、インタープリタやアセンブラまで解析してARTがどんなコードを書いているか、なぜ同じような処理で実行時間に大きな差がでるのか、ベンチマークとARTの実装、コンパイルされたコードを元に追跡するという興味深い内容でした。
具体的にどんなことが紹介されていたかというと
for文を繰り返した場合にARTでは処理速度が大幅に遅くなってしまう理由と、ARTの設計思考とか
64bitでもdoubleよりfloatのほうが早い理由とかです。

実際にここまで作りこむと保守性も悪化するので使いドコロが難しいですが知識として面白かったです。

Dagger2とRealmを利用したモダンな開発

Dagger2やRealmはライブラリーの中でも割りと強力で受ける恩恵は大きいが技術縛りも大きく受ける項目。
いくつか案件で使おうと思っていたことがあったのですが、リスクが大きく結局使わずじまいになっていました。
どちらも、ある程度できる範囲が見えてきて、使いドコロがわかった気がします。


明日、敗訴しないためのセキュアコーディング

SQLインジェクションで訴えられたあれを引き合いにちゃんとセキュリティについて意識しましょうねという話。
やらないといけないと分かっていてもやっていない例多いですね。
特にKeyStoreについてはみんなもっと大事に保管して欲しいです。外注するときもリリース用の署名は発注元で行って出来るだけ最小の人がKeyStoreファイルにアクセスできるようにして欲しいです。


そのまま飲み会に突入。

近くの居酒屋でAndroidエンジニア同士で飲みました。
初めての人もたくさん、I/Oなどで会った人もたくさん。結局5時間近く開発話をしながらビールを飲み続けるという楽しい時間を過ごせました。
あ、でも何話したかいまいち覚えていない・・・

ホテルは馬込にあるホテルステイシード。
会場近くにホテルがあまりなく、出来るだけ近いところを選んだのですが、価格の割に部屋も綺麗で遅いけれどwi-fiも飛んでいて良いホテルでした。

二日目の基調講演は

SupportLibraryについて

バグの報告はスクリーンショット 可能なら動画で!というのが凄く強調されていました。
開発側の裏話みたいなのが聞けて楽しかったです。

Annotation Processing in Android

最近ライブラリーを使うことが増えて自然とAnnotationを使うことも増えたのですが、用意されたAnnotationを使うだけじゃなく自分で作ろうという話。
Annotationを使うことでコードをシンプルにしつつ実行速度に影響を与えないので上手く活用していきたいです。


Advanced Kotlin for Android

AndroidってJavaの構文が古くて最近はRxAndroidのようなJava8っぽくかける気がするライブラリーとか出てきてもやもやしていたんですが、Kotlinという言語ベースでモダンな文法を取り入れてきた環境が出てきて注目しています。
Kotlinは1.0も出たことですし、まずはプライベートなプロジェクトで探りつつ導入していこうと思っています。

この時Nullsafeの議論がTwitterで発生して面白かったです。
私、Null Safeって濫用すると危ないと思っているのですが、Kotlinの場合はデフォルトがNull Safeなんですよね、
Null Safeが愛されている理由ってNull Pointer Exceptionを避けたいということだと思うけれど、問題はNullPointerExceptionで落ちることではなく、Nullが来てはいけない変数にNullが来ている状態にあるのだから、異常な状態を検出して落ちるのは幸せなことだと思っています。
結局TwitterではNullPointerExceptionが好きなら「!!」を付けたら良いみたいなちょっと言いたいことが伝わらない状態になってしまったので、直接あって話しましょうということに。

私の懸念点はNull Safeにすることでコーディング時にミスに気づける反面、Null Safeを避けるために意味のない初期値などが設定された場合、運用で問題が発生するまで気づけない可能性があるという点。

同様の処理はJavaのローカル変数にも存在していて、ローカル変数は明示的に初期化されていないと、あとの処理に記載すると、たとえ実行時に呼び出されることが無いと分かっていても、コンパイルエラーが発生します。
例えばこういうプログラムは通らないです。

public void hoge(boolean b) {
String foo;
boolean bar = true;
if (b) {
foo = "foo";
}
//中略
if (b) {
Log.w("bar", foo);
}

}


そこで、概ねこんなロジックを見つけます。
Javaはnullの設定も初期化とみなすためコンパイルエラーにはなりません。
すごく嫌いな書き方なんですが、とても良く見つけます。
まぁ、問題なく動きます。

public void hoge(boolean b) {
String foo = null;
boolean bar = true;
if (b) {
foo = "foo";
}
if (b) {
Log.w("bar", foo);
}
}

ここで途中の部分が変わってしまった場合を考えます。

public void hoge(boolean b) {
String foo = null;
boolean bar = true;
if (b) {
foo = "foo";
}
b = true;
if (b) {
Log.w("bar", foo);
}
}

このメソッドは引数にfalseが入るとNullPointerExceptionで落ちます。変数fooがnullだからです。
つまり、String fooにnullをセットするのはせっかくのJavaが持っている初期化されていない変数を使わせないというチェックロジックを安易に解除しているに過ぎないわけですが、しかしよく見かけるコードです。

これで報われているのは変数fooはまだ使用出来ない状態であることを、実行時とはいえシステムがチェックできて例外を発行しコードに問題が有ることがわかるというところです。

ではもしfooがNull Safeだったらどうなるか・・・ 多分fooにnullセットしていた人はこうすると思うんです。

public void hoge(boolean b) {
String foo = "";
boolean bar = true;
if (b) {
foo = "foo";
}
b = true;
if (b) {
Log.w("bar", foo);
}
}

この場合、プログラムは予期せぬ結果になるだけでなんのエラーも例外も出さず粛々と動き続けます。

でお互いかおを向きあわせて話すと初期化されていない時に””とか-1ぶっこむみたいな悪いことする人は居ないという前提に立てばNull Safeは便利という結論に至りました。
悪い人が居なくて完璧だったらそもそもNullPointerExceptionも発生しないわけですが、これはどこまで人を信用するかということになって結論はありません。
Nullableはあまり信用していないか、完璧に信用しているか、Null Safeはちょっと信用している場合によさそう。
たとえば自分の書いたコードで自分が使う場合、変数に嘘データぶっ込んだりしないよって自身が持てるならNull Safeにすることでうっかりミスを防ぐことが出来ます。
こういう話を顔を突き合わせて話せるのもオフラインイベントの魅力です。


Fireside Chat

「通知オフ」にされない為に。ネイティブアプリの最適な通知について。の代役として入ったセッションです。
DroidKaigiアプリを作る過程の裏話が聞けました。
コミットコメントを英語にすることでコミュニケーションが逆に円滑になった(気をつけて書くから)みたいなおもしろネタが続々。
もう一度見直したいのでYouTubeにアップされるのを期待です。

アフターパーティー

その後は公式なアフターパーティーに参加しました。
さきほどのNull Safeな話をしたり、久しぶりの人や初めての人といろいろトークしたりとかなり楽しい時間を過ごすことが出来ました。
しかし、全体的に九州のエンジニアが少ない気がしてそれは残念だったところ。
セッションのスライドは多くが公開されるし、YouTubeで動画も公開される予定とはいえ、やっぱり人と出会って直接話せるのはイベントに参加する最大のメリットだと思います。

即訳 GoogleI/O 2016の公式サイトが公開されました。

$
0
0
GoogleI/O 2016の公式ページが解説されました。
急ぎ足で即訳してみました。
セッションの情報などはまだないのですが(例年も1ヶ月切るあたりで公開されているので4月後半に公開されるものと予想しています。)、参加申し込みについての概要とFAQが公開されています。

内容については保証できませんので、正確なところは公式サイトを見てください。

訂正:当初応募の日本時間を日3月9日午前1:00〜3月11日午後9:00としていましたが、正しくは日本時間3月9日午前2:00〜3月11日午前10:00の間違いでした。 訂正いたします。

以下翻訳文

2016年5月18日〜20日
カリフォルニア マウンテンビュー ショアラインアンフィシアター

登録は3月8日から
Google I/Oは次世代を切り開くコードを作る開発者のためのイベントです。
一緒に最新の技術やモバイル、そして未来を探求しましょう。

GoogleI/O 2015のハイライトを見る。


I/Oは10年前にすべてが始まった場所の近くに戻ってきました。
I/O`16は5月の18〜20日までマウンテンビューのショアラインアンフィシアターで開催されます。
詳細は後ほど #io16 サンダーピチャイ(twitter)


FAQ

一般

2016年の場所と日程

2016年の開発者のためのフェスティバルは5月の18〜20日までマウンテンビューのショアラインアンフィシアターで開催されます。

情報を入手するには

セッションや登壇者、アクティビティーについての最新情報を入手するにはGOOGLE I/O 2016 WEBSITEGOOGLE DEVELOPERS BLOGを訪れてください。
また、GOOGLE+TWITTERのGoogleDevelopersをフォローして下さい。
公式なハッシュタグ#IO16をつけることでGoogle I/O 2016についてソーシャルで議論することも出来ます。
加えて、登録した参加者の人にはフェスティバルまで最新情報とチェックインの方法についてメールでの連絡を行います。

コンテンツの形式

フェスティバルの3日間を通じて出席した人たちはセッションに参加したり、サンドボックスでハンズオンを得たりコードラボやオフィスアワーなどに参加することが出来ます。

ライブストリーミングと録画

もしGoogleI/Oに参加することが出来なくても、魔法の世界に入ることが出来ます。あなたはI/O Liveを通じて基調講演やその他多くのセッションをGoogleのWebサイトにて生放送で見ることが出来ます。

登録について

登録開始日

現地時間2016年3月8日 9:00 am〜10日 5:00pm(日本時間3月9日午前2:00〜3月11日午後10:00)
までの間、申し込み登録ウィンドウが開きます。そのためゆっくりと登録を行うことが出来ます。申し込みが終わった後、応募された全ての申し込みの中からランダムで抽選が行われメールにて当選されたことが伝えられます。申し込み順は当選結果には関係しません。

登録の手順は以下のようになります。

・アプリケーションの最初にGoogleアカウントでのサインインが必要です。
・登録フィールドの必須項目を全て記入してください。
・申し込みが完了したら確認画面へと進みます。その後すぐに確認のメールが届きます。

価格

通常チケット900ドル
学生チケット300ドル

登録規約と条件

・全ての参加者はそれぞれ1枚チケットが必要です。チケットは3日通しのチケットになります。1日のみのチケットはありません。
・他人の代行として登録することは出来ません。
・Google I/Oのチケットは登録者のみが使用可能です。譲渡することは出来ません。
・チケットは売ったり、交換したり、オークションに出したり、譲渡することは出来ません。そのようなチケットをGoogleはnullでvoidとみなします。(訳注>無効になります。)Googleはいかなる払い戻しもしません。
・私たちはチェックイン時にGoogle I/Oバッジを割り当てる前にあなたの写真付きIDを確認します。政府が発行した免許証やパスポートなどでOKです。(訳注>パスポートが無難。特に日本の運転免許証は英語が書いていないので揉める可能性が高いです。)
適切なIDを見せることが出来ない場合、バッジを受け取ることが出来ずにフェスティバルへ入れなくなります。
・もし、学生チケットを購入し、GoogleI/Oのチェックインで学生証を提示できなかった場合、あなたは参加することができなくなります。払い戻しはありませんし、一般のチケットに変更することも出来ません。チェックイン時には必ず現在有効な学校のIDまたは学生割引を受けられることを証明できるものを持ってくるようにしてください。(訳注>各学校にて確認してください。 英語での記載があるものが必要になると思います)
・もし、参加できなくなった場合は2016年4月29日までにIO16@GOOGLE.COMへ払い戻しの要望を送ってください。この期限を超えるとあらゆる払い戻しを受け付けません。
・GoogleI/Oへは15歳以上である必要があります。15歳から17歳までは事前および現場のチェックで親の同意書を提出する必要があります。親の付き添いは必要ありません。また、Googleは付き添い者のチケットを提供しません。
・出席者はGoogleI/Oやアフターパーティーにゲストを呼ぶことは出来ません。もし一緒に参加したい人がいるなら、その人自身が登録して出席者チケットを購入する必要があります。
・Googleやその関係者などにより写真や動画撮影が行われます。あなたの写真や映像が映るかもしれません。あなたはGoogleがそれらの写真やビデオをあなたへの承諾や保証なしで使用するかもしれないことに承諾する必要があります。
・登録の情報はあなたが知り得る限り正確でなくてはいけません。すべての情報は英語で入力する必要があります。幾つかの情報(名前や社名、あなたがアップロードした写真など)は参加者バッジに表示されます。
・GoogleI/OバッジにはGoogleが参加者を手助けしたりセッションやアクティビティへの参加状況を計測するためにNFCやBLEそのたRFIDテクノロジーが入るかもしれません。
・全ての登録された出席者はGoogleが登録とイベントの情報についてGoogleから連絡を受けることを許可する必要があります。チケットを購入することでGoogleとイベントについてメールで情報交換を行うことに同意したことになります。
・以下の人はGoogleI/Oに参加できません。
○米国と通商が禁止されている国の居住者
○米国と通商が禁止されている国の駐在員
○輸出禁止や制裁プログラムにより禁止されている個人

登録に対する詳細

・一度登録を行うと登録した名前を変更することは出来ません。政府が発行している写真付きIDと同一の名前を登録していることを確認してください。フェスティバル中に確認されます。
・GoogleI/Oの登録には全3日間のセッション、製品デモ、アフターアワーレセプションへの参加とKeyNoteへの参加が含まれています。私たちは全日程で朝食と昼食、スナックも提供します。くわえて参加者はフェスティバルバッジがもらえて、おみやげも有るかもしれません。
もしあなたが、大学や学校、政府機関や組織など専門のガイドラインによりこれらの提供を受けても良いかわからない場合はそれぞれの担当者にご確認ください。食べ物やおみやげはオプションなので、それらの提供を全て受け取らなくてもGoogleI/Oに参加することは出来ます。
・米国国外に住んでいる人は、地方の政府に米国へ行くために必要な書類や手続を確認してください。(訳注>一般的には期限内のパスポートに加えてESTAが必要となります。人によってはVisaが必要になる場合があるのでご確認ください。)
もしあなたがGoogle I/Oに参加するためのVisaについて手紙が必要ならば、IO16@GOOGLE.COMに要望を送ってください。Googleはあなたの代わりに大使館に連絡することは出来ません。

学生チケット

私たちは限られた数の学生向け300ドル割引チケットを用意しています。高校及びそれ以上の、フルタイムの学生、教授、学部生、学校スタッフにその権利があります。これには2016年に卒業した人を含みます。フェスティバルへのチェックイン時、現在の学生ID、あるいはコピー、証明書、その他この資格を与えられることを証明出来るものを提供する必要があります。
・一度一般チケットを購入すると学生向けチケットに変更することは出来ません。逆も不可能です。
・もし、学生チケットを購入し、学生であることを証明するドキュメントをGoogleI/Oに到着した時に証明することができなかったら、参加が認められず、通常のチケットに切替えることも出来ません。

プレスチケット

私達は選ばれたメディアのメンバーのための限られた数のプレスチケットを提供します。リクエストを送るにはこちらのフォームに記入してください。詳細についての質問はGOOGLEIOPRESS@GOOGLE.COMへメールしてください。
私たちは限られた数のプレスチケットしか用意出来ていないので、要望を厳しく審査することにご注意ください。
FORMへ記入してもプレスパスが渡されるとは限りません。要望に答えられる場合私達のチームはあなたに連絡します。
残念ながら我々のプレスパスは限られておりそれは既に配布されてしまいました。
もしあなたがジャーナリストでGoogleI/Oについて質問をしたいのであれば、GOOGLEIOPRESS@GOOGLE.COMに連絡してください。


出席の詳細


運営ポリシー

Googleは自身の判断で、参加者の参加資格(将来行われるイベントについても)を剥奪したり入場を拒否したり、参加中に退場させる権利を保有します。
これはマナー悪く振舞っている参加者へのものですが、これに限りません。

I/OのためのコミュニティーTips

互いに尊重しましょう。

性別や性の好み、能力や、発達、物理的な違い、体の大きさ、民族、国籍、年齢、宗教などさまざまなカテゴリー
にかかわらず私たちはこのイベントが素晴らしい経験で有って欲しいと持っています。
誰に対しても敬意を払ってください。
皆、ここにいるに値すると認められている間参加します。全員が嫌がらせ露骨だったり、コソコソした、差別や横暴を受けることなくGoogleの経験を楽しむ権利があります。
他人を傷つける冗談を言ってはいけません。人に言う時はそれが相手にとってどのように受け止められるかよく考えましょう。

もし、何かを見たり聞いたらお知らせください。
あなたが酷いことをされた時、礼儀正しく接される権利があります。

それと、前向きに捉えてください。


かれらはあなたを不快にしていることに気づいていないかもしれません。彼らが自分自身の行いに気づくように礼儀よく振る舞うことを推奨します。
もし参加者が酷い行いを続けるのであれば、主催者は警告や、払い戻しなしで追い出すなど、あらゆる処置を行うかも知れません。
もし、問題を受けたり、他の参加者が受けているのに気づいた時はスタッフに伝えてください。

タバコ

タバコはモスコーにウエストコンベンションセンター(訳注>元サイトの誤記 イベント会場全体とみなすのが妥当か?)全体で禁煙です。喫煙ルームは屋外になります。(訳注>今回は屋外イベントだがどうなるかは不明)

販売の禁止

GoogleI/Oではあらゆる賞品やサービスの売買が禁止されます。これらの行為を行うとフェスティバルからの退場処分となる可能性があります。
年齢制限
参加者は15歳以上である必要があります。15歳から17歳までは事前および現場のチェックで親の同意書を提供する必要があります。親の付き添いは必要ありません。また、Googleは付き添い用のチケットを提供しません。

チャイルドケア

私たちは無償のグループ託児所を用意する予定です。託児所はCORPORATE KIDSによって提供されます。子供は0歳時から8歳まで可能です。利用可能な人数に制限があり、すべての要望に対応できない可能性があることに注意してください。

ZenFone2レビューその1

$
0
0
ZenTour2016 fukuokaに参加しました。

ZenTour2016はASUSのZENシリーズについての製品説明会。
対象者はブロガーやSNSユーザーですが規定の投稿を行うことによりレビューでお借りした端末をそのまま貰えるという太っ腹企画です。

レビューの条件

まず、公正にレビューするために与えられている条件を明確にしておきます。

レビューの条件は本文が1,000文字以上、写真3枚以上の内容を3月末までに3回以上アップするというもの。
そのため、この規定に従って今回含めて今後最低でも3回以上レビューを書くことになります。

Firespedでは通常1製品は1回のみレビューを行い、長期的に使って感想が変わったり、大幅なバージョンアップがあった場合、すごく気に入っている場合、別製品のレビューに関係する製品の場合に繰り返しレビューを行うことが有りましたが、今回はそういうの関係なく、レギュレーションに基づくからそうしているだけです。

逆に言うと、それ以外の規定はありません。
そのため製品の悪いところを書いてはいけないとか、この部分を紹介しないといけない みたいな規約もありません。

これ、アタリマエのことかもしれないですが嬉しいですね、
ステルスマーケティングで提灯記事書くのって時間の無駄だと思うんです。製品の本当のところを伝えることが出来ないし、見る人も提灯記事はみていてなんかおかしいな? って思ってしまう。
結局書く時間も見る時間も無駄にしてしまうだけです。

ということで、今回、端末の提供は受けて記事量の条件付きでは有りますがいつもと同じテイストでレビューさせていただきます。

開封

個人的には、「開封の儀」というのが好きではないので、詳しいことは書きません。
開封の興奮、面白さは購入者が一人で愉しめばいいと思います。


箱の形が変形的で、箱を横にすべらせるように開けるのが特徴的に感じました。
面白いといえば面白いのですが、正直少し開けにくく戸惑うところ。もっとも箱から出すのは普通一回きりのことなので別にどうでもいいのですが、

あと、手が込んでいるように感じたのはZenfone2って背面が丸くなっているのですが、それに沿うように箱の底面が丸くなっていました。

箱についてはそんなところです。

内容物

内容物は本体に加えて説明書、USB用ACアダプター、microUSBケーブル、マイク付きヘッドセット、3種類のイヤーピース。
格安端末なのにイヤホンがついてきたり、ACアダプターがついてくるのは嬉しいですね。
最近はキャリア端末を購入しても、micro USBケーブルが入っているだけ とかいうことも多いです。

イヤホンは四極タイプで再生停止などが使えるワンボタンのリモコン付き。
変わっている点としてはケーブルが平型になっていてねじれにくく絡まりにくい作りになっています。
付属のイヤホンってあまりこだわっていないメーカーが多い中こういう細かい気遣いは嬉しいですね。
使い勝手や音質については次回のレビューでお伝えします。


USB用ACアダプターは通常のタイプではなく9V 2Aに対応したZenFone2用の急速充電器とのこと
大きさで言うと1ポート用のUSB急速充電器としてはやや大きめ

並べるとこんな感じでAmazonの5V 1A 1ポートと比べるとかなり大きめAnkerの5V 2.4A 2ポート(同時最大4A)とほぼ同じ大きさ。
Nexus6の12V 1.2A 1ポートよりはかなり小ぶりですが、Asusは9V 2Aに対応していて1ポートの出力はもっとも大きいです。
しかし、ANKERのほうは2ポートに対してASUSのは1ポートしかありません。加えてANKERだけがプラグ部分が折りたたみ式になっているので持ち運び時に気を使わなくて良いのも嬉しいです。

それでは次回は電源を入れてみます。
※:短期間でレビューを分けるのってちょっと面倒ですね

GoogleI/O 2016申し込みページの和訳

$
0
0
予告通りにGoogleI/Oの申し込みページが公開されました。
申し込みにあたってアンケートがたくさんあるので翻訳してみました。
内容については保証できませんので、正確なところは公式サイトを見てください。

申し込みは日本時間3月11日午前10:00までです。

以下原文と翻訳文

Google I/O 2016 Application(申し込み)

We’re accepting applications for Google I/O untilMarch 10, 2016 at 5:00PM PST.(私たちはGoogleI/Oの申し込みを3/10 午後5時(太平洋時間)まで受け付けます。
)

No need to rush!a(急がなくていいよ)


The order in which applications are received has no bearing on the outcome and remember, only one registration application per person is allowed.(登録順番と抽選結果には関係ありません。一つの登録アプリケーションあたり一人のみが申込可能です)
Selected Applicants will be chosen at random and invited via email to complete registration for the event.(申し込みはランダムで選ばれイベントへの登録を完了するためにメールによって招待されます。)

Before you submit:(申し込みの前に)

You’ll need to sign in with a Google account.(Googleアカウントでのサインインが必要です)
If your current email address isn’t a Google account, you can associate it with a Google account here.(もしメールアドレスがGoogleアカウントでないならば、ここでそのアドレスとGoogleアカウントを紐付けることが出来ます)

1

GET STARTED(始める)


What type of ticket are you applying for?(どちらのチケットに申し込みますか?)
Genearl($900) (一般(900ドル))
Academic($300) (学生(300ドル))

First name(名)
Last Name(姓)

Gender(性別)
Female(女性)
Male(男性)
Other(その他)
Decline to answer(回答しません)

Is this the first time you're attending Google I/O?(Google I/Oに参加するのは初めてですか?)

2

Which role BEST describes your job?(あなたの職業に最も近いものは何ですか)

Designer(デザイナー)
Enterpreneur(起業家)
Executive(役員)
Developer(Front End)(フロントエンド開発者)
Developer(Full stack) (フルスタック開発者)
Developer(Back End)(バックエンド開発者)
Marketing(マーケッター)
Other(その他)

How long have you been in your profession?(仕事としてどれくらいの期間就業していますか)

Less than 1 year(1年未満)
Between 1 and 5 years(1年〜5年)
More than 5 years(5年以上)

On which platforms are you existing products offered?(どのプラットフォームを使用した製品を作りましたか)

Android, iOS, Web, Game console, Mac OS X, Windows

What type of apps do you or yoru company develop?(あなたの会社ではどのような種類のアプリを開発していますか)

Business to business(企業間)
Consumer(個人向け)
For internal company use(社内利用)
Game(ゲーム)
Local(地方向け)
Social(ソーシャル)
N/A(ない)


What are you preferrend development languages?(好きな言語)


What are the key themes you're looking to leam more about?(今最も学んでいること)

Mobile & app development(モバイルとアプリ開発)
User growth and engagement(顧客開発と顧客満足度)
Monetization(マネタイズ)

What tools or services do you use to develop mobile apps?(モバイルアプリを開発するのに使用しているツールやサービスはどれですか?)

A/B testing service (A/Bテストサービス)
Ad networks(広告ネットワーク)
Beta testing(βテスト)
Cloud computing(クラウドコンピューティング)
Crash &prformance monitoring(クラッシュパフォーマンスモニタリング)
Cross platform tools(クロスプラットフォームツール)
Customer support sergvice(e.g.intercom)(コンピューターサポートサービス(例:インターコム))
Database as a service(e.g.Firebase)(データベースサービス(例:Firebase))
Game development tools(ゲーム開発ツール)
Logging service(ログサービス)
Push notifications(プッシュ通知)
user analytics(ユーザー解析)
N/A Not a Developer (なし、開発者ではありません)
None (ない)
Other(その他)

Do you have any applications in Google Play?(Google Playにアプリを公開していますか?)


Do you have any applications in App Store?(App Storeにアプリを公開していますか?)


3

Terms&Conditions(規約と条件)

To complete your application, please accept the Terms and Conditions and click ‘Submit Application’. 登録が完了したら、規約と支払い条件に承認してページの下にあるSUBMIT APPLICATIONボタンをクリックしてください。

We’ve received your application for Google I/O 2016! You’ll receive a confirmation email shortly.(私たちはGoogleI/O 2016の申し込みを受け取りました。まもなく確認のメールが届きます)

Next week you’ll receive another email with the result of your application. If you receive the opportunity to purchase a ticket, you’ll have 24 hours to complete registration.(来週申し込み結果を伝える別のメールが届きます。もしあなたが購入の権利を当選したのであれば24時間以内に登録を完了させる必要があります)
Stay tuned!(この後も楽しんでください)
Go to the I/O Website(I/OのWebサイトに行く)

Google I/Oへの参加情報を訳してみました

$
0
0
Google I/Oへ参加するための情報を訳してみました。
今回は交通の便が悪いマウンテンビューでの開催のため、選択するホテルや移動手段について注意深く確認する必要があります。
内容については保証できませんので、正確なところは公式サイトを見てください。

開発者コミュニティーと密接に働いていた10年をお祝いするために、I/Oは主催する私たちの裏庭であるカリフォルニアのマウンテンビューに有るショアラインアンフィシアターで行われます。そこは多くの世界的なエンターテイナーやイベントが使用しています。
私たちはここでコードのハンズオンや私達の最新製品を共有するのが待ちきれません。

マウンテンビューに行くには

ベイエリアに有る主な3つの国際空港です

サンフランシスコ国際空港 空港コードSFO
〜24miles(〜39km)

オークランド国際空港 空港コード OAK
〜32miles(〜52km)

サンノゼ国際空港 空港コード SJC
〜24miles(〜20km)

(I/Oに行くための飛行機はflights.google.comで見つかります。)

(ショアラインアンフィシアターへ行くには)

道路渋滞による混雑を予想して、事前に計画してください。カープールに加わるか自転車にのることも検討してください。
私達の提供するシャトルバスを使用することを強く推奨します。

シャトルサービス

Google推奨の全ホテルと、サンフランシスコやその他の場所から選ばれたところからイベント会場までイベントシャトルを提供する予定です。ピックアップ時間と場所については数週間後にもう一度確認してください。

各ピックアップポイントでは介護者対応の車両があります。特別な介護や補助が必要な人は登録フォームに記入してください。私達の計画チームは直接あなたに連絡します。

公共交通機関

地域の公共交通機関は次のとおりです。
Caltrain:地域の鉄道
VTA:サウスベイのライトレールシステム・サービス
BART:ベイ・エリア・ラピッド・トランジット
公共交通機関は直接GoogleI/Oまで行きません。数週間お待ち下さい。Google I/Oイベントシャトルのピックアップ場所が増やされます。

自転車

ショアラインアンフィシアターの駐輪場が使用可能になる予定です。数週後におすすめのサイクリングルートを紹介します。

あるいは、半島全体でfive service areas24時間365日使用可能な自転車共有サービスが有ります。ショアラインアンフィシアターに最も近いのは228 Charleston Road , Mountain View , CA 94043です。メンバーシップと価格についてより詳細はBay Area Bike Shareで確認できます。

駐車場とカープーリング
駐車場はとても少ないです。ショアラインアンフィシアターからShoreline Boulevardに沿った場所で利用できます。
アンフィシアターパークウェイと Charleston Road沿いはイベント中使用することが出来ません。

もし、車で行こうとすると、駐車場が限られているため他の参加者とカープーリングすることをおすすめします。
推奨された駐車場は二人以上が載っている場合のみ使用可能です。

ホテル

私たちは多くのホテルの予約最高のホテルを見つけるために以下の地図をご利用ください。

GoogleI/Oの公式サイトに載っていないこと

$
0
0
Google I/Oのページがかなり公開されてきて情報もいろいろと出てきました。
イベントについての詳細は公式サイトを翻訳した以下をご参考ください。
申し込み締め切りは日本時間で3月11日午前10時までです。 締め切りを超えたあとで行きたいと思ってもいけなくなるのでご注意ください。
4月29日まで払い戻しリクエストは受け付けているようです。(詳細は公式サイトを見てください)
日本語訳は以下に有ります。
FAQ
I/O申し込みページ
参加情報

ここでは公式サイトには載っていないI/Oに行くか迷っている人のためのヒントと
日本、特に福岡からI/Oに行く場合におすすめな旅程をお知らせします。

なぜ、I/Oに行くのか?

この理由は人それぞれだと思いますが、私の場合はAndroidについての情報が最も正確に素早く手に入ること。
自分からリクエストを出して通りやすい場所であること。
Androidをやっているアクティブな人たちに最も出会えることの3点

出会えるひとについては必ずしも海外の人だけではありません。 日本からも多くの開発者がI/Oに行っており私もI/Oで知り合った日本人の開発者が沢山居ます。
そういう人は東京のイベントでも出会えるんじゃない? と思うかもしれませんが、東京のイベントで会うのとI/Oで会うのはまるで意味が違ってくると思います。
福岡で主な活動を行っている人が東京のイベントに行くと基本的によそ者扱いです。
東京の参加者は周りによく知った友人だらけで、その人達との繋がりが深く、その中で相対的に縁遠い人という扱いになります。
一方でI/Oに行くと、お互いよそ者同士同じ日本人というくくりになります。
もちろん、海外の人達と出会えるのも大きな魅力の一つ。
特に東アジア圏の場合、日本と同様に英語が堪能でないひとが多いので仲間意識が芽生えやすいです。

金額面で見た場合に参加費用が$900とこの手のイベントにしてはお安いのも理由の一つです。
参考までにAppleの場合は1599ドル(さらに年会費が必要な開発者登録者のみが対象)
Microsoftの場合は2195ドルです。
$900というのも絶対的に見るとかなり高いわけですが、イベントの価値としてみた場合I/Oは割安だと思います。

申し込みは既に開始され、まもなく終了するのでとりあえず申し込んでみては如何でしょうか?

飛行機について

どの空港に行くか

現地付近には3つの国際空港が有ります。サンフランシスコ(SFO)とサンノゼ(SJC)、オークランド(OAK)です。
会場に最も近いのがサンノゼで、サンフランシスコも交通の便が比較的良いのでおすすめです。
オークランドは遠く、メリットはあまり無いです。治安もあまり良くありません。

サンノゼへの直行便は成田からANAが1日1本飛ばしているだけです。
サンフランシスコへの直行便は羽田、成田、関空から飛んでいて比較的充実しています。
オークランドへの直行便は日本から出ていません。

会場と空港の位置関係については少々特殊なため、注意が必要です。
特にサンフランシスコ空港からサンノゼ方面に行く場合
BARTは曜日や時間によって乗り換えが変わってくるので注意してください。
車は渋滞に注意してください。通勤時間帯大混雑します。(朝はサンノゼ方面、夕方はサンフランシスコ方面)
空いていれば30分、ですが混んでいれば2時間近くかかることもあるようです。

福岡からの場合(関東圏、関西圏以外の人も)

これが一番おすすめ(無難)

往路
福岡→成田 ANA NH2144
13:00発14:50着
成田→サンノゼ NH172
17:25発10:50着

復路
MakerFaireに行かない人
サンノゼ→成田 NH171
12:45発 翌日15:45着
MakerFaireに行く人(後述)
サンフランシスコ→成田 NH171
12:20発 15:20着

成田→福岡 NH2145
17:55発 20:05着

飛行機のプランにこだわりたい人

成田経由

最も難易度が低いのが成田乗り換えです。ANA運行の成田経由でサンフランシスコまたはサンノゼ行きが最も手軽。
注意点としては、福岡から羽田に行って羽田ー成田を移動するプランが案内されることがある点。
若干安かったりしますが、羽田と成田間の移動費用は自分持ちなので、実のところ逆に高くなります。
なによりかなり時間をロスします。

羽田経由

サンフランシスコへ行くなら羽田経由でもいけます。
こちらはJALとUnitedが運行していて深夜便で現地に夕方つく感じです。
現地での移動が夜遅くなるのがネックですが、仕事を終わった後に移動したい場合などはこの方法が便利。
帰りも羽田便はサンフランシスコ空港を夜遅く出発するのでI/Oが終わったあと、宿によらずに帰るとか、MakerFaire終わった後そのまま帰るような場合便利です。

特に帰りについては昼間の便にしたところで、最終日は移動で潰れてしまうのでだったら前日の夜中にとっとと帰ったほうが一泊分の宿泊費も浮いて良さそう。
移動が出発地時間で夜中になるので機内で寝つきやすいとか、福岡に朝到着するので、その後行動しやすいなどのメリットも有ります。

関空経由

サンフランシスコへ行く便がUnitedで飛んでいます。時間帯は成田に近いです。
飛行機が小さく便が少ないのが難点ですね、あとUnitedのサービスはANA、JALと比べるとかなり見劣りするのでその辺りの覚悟も必要です。
Unitedにはエコノミープラスというちょっとだけ席が広くなるオプションが有ります。
名前だけ聞くとプレミアムエコノミーの様な響きですが実際のところはほんの僅かに席が広いだけです。(そしてそれでやっと日系航空会社のエコノミーサイズです)
その他、食事やサービスはエコノミーと同じですのでご注意ください。

海外経由

幾つかの海外経由のプランが有ります。
福岡から上海や仁川、ホノルル乗り換えが有ります。
移動時間はかなり余計にかかりますが、途中で観光できるかもしれないとか、アジア乗り換えの場合安い便が多いとかのメリットが有ります。

いつ買うか?

これはかなり賭けになります。
今年の4/1から燃油サーチャージ分安くなることが予定されているので、同じ日程でも4/1以降に買えば安くなる可能性があります。
しかし、欲しいチケットがなくなってしまう可能性も高いです。
サンフランシスコ直行便は人気路線のため、既に日程によっては便が埋まってしまっています。
下手に待つより早めに取ったほうが良いかもしれません。

ホテルについて

すでに現地のホテルは高騰していて一泊2万円〜3万円以上が相場になっています。
ただ、価格と安全性はある程度相関関係にあるので多少覚悟してでもそこそこ高いホテルを選んだほうが良いと思います。(このおすすめを無視する人は、もちろん別の選択肢が有ります)
現地の情報によるとイーストパロアルト、イーストサンノゼ近辺は治安が悪くおすすめしないとの事です。
イーストパロアルトについては会場からも近いので要注意です。
パロアルトやサンノゼ全体としては治安が良いのが米国の面白いところ。
Googleが推奨するホテルにはバスが来るそうです。ショアラインアンフィシアターへは公共交通機関がないため、バスで行けるメリットは大きいです。
サンノゼ近辺のホテルがなくなったとしてもサンフランシスコもピックアップが予定されているようです。
サンフランシスコの詳しいピックアップ場所はまだしばらく待つ必要がありますが、おそらくはパウエル近辺になると思われますのでその近辺のホテルをリサーチしておくのが良さそう。
ただし、サンフランシスコとマウンテンビュー間はそこそこ時間がかかるので注意してください。
Googleは社員専用のバスで同ルートを毎日走らせているのでそのへんのノウハウはあるでしょうが、朝行われるだろう基調講演(正確な時間は不明ですが昨年は9:30スタート)に参加するのであれば、移動時間+ピックアップ及び会場でのチェックインなどの時間を考えるとかなり早起きをしないと行けない可能性が高いです。

Maker Faireについて

I/Oの最終日から翌々日までの間MakerFaireが行われます。
もし、I/Oに行った翌日MakerFaireに行くのであればそのままホテルに戻らずにサンフランシスコ空港まで行ってしまうという手もあります。
United便(ANAで購入可能)であればサンフランシスコ空港から19:30発JAL便であれば深夜01:35発の便があります。
会場から空港までは公共交通機関で約30分、余裕を見て4時間前につくとしてもANAなら15:00に現地発
JALなら20:00(会場クローズ時間)に出ても間に合う計算
深夜便で移動すれば一泊ない分やすくなります(一泊でも2万は超えるでしょうからかなり大きい)
現地時間の夜中に出発するので機内で寝やすいというのと日本に早朝つくのでその後行動しやすいというのもメリット。

MakerFaireの開催地はサンフランシスコ空港にかなり近いのでこの場合復路はサンフランシスコ空港からで取るほうがおすすめです。
JALの場合オープンジョー
ANAの場合複数都市をえらぶことで往路と復路を別々の空港にすることが出来ます。)

ZenFone2レビューその2

$
0
0
前回の周辺機器レビューに引き続き、今度は本体のレビューを行っていきます。

持ちやすさはギリギリ

本体サイズは最近のスマートフォンの流行に従ってやや大きめ

全幅はNexus6pよりやや小さいくらいです。

ただ、厚みはかなりあって持った感じで言うとNexus6に近い印象を受けます。

縦横で比較すると5mmほどZenfone2のほうが小さいので見た目は一回り小さく見えるのですが、逆に厚みは僅かにZenfone2のほうが分厚い。
そして、丸みを帯びた背面はまさにNexus6のそれと完全にキャラクターがかぶります。

Nexus6と同様に持ちにくく感じる原因の一つに側面の断面形状があります。

Nexus5は背面に比べて液晶側が僅かに狭いデザインになっています。そのため背面側が一番幅が広く、手に持った時に背面側が指に引っかかるようなデザインになっています。

親指の角度に注目、端末を手のひらに引っ掛ける感じでホールドできます。


それに対してZenfone2やNexus6は液晶側が一番幅が広く、背面側は面取りされていて指が引っかからないデザインになっています。そのため、指が引っかからず端末が滑り出さないようにするためには指を内側に曲げて引っ掛ける必要があります。
特に画面の端をタップするようなときに指の長さが足りず持ちにくく感じます。

このため、寸法以上に持ちづらく感じてしまいました。

更に問題なのが背面が丸いため、指が滑った時に指が背面をなぞると丸い部分によって指が端末を弾き飛ばすような形になって勢いよく端末が飛んでしまい、そのまま端末を落としてしまうというケースがよくあるように思います。(Nexus6ではなれるまでよく多発しました)
ただ、幅僅かに狭いおかげでNexus6に比べると遥かに持ちやすく、ぎりぎり及第点。
ほぼ同じ幅のNexus6pよりは持ちづらく感じました。
もし、ZenFone2やNexus6ユーザーの人は試しに上下反対、液晶を手のひら側にして持ってみてください。かなり持ちやすさが改善されることがわかると思います。 その状態で親指を端末の端っこのように近寄せていくと、端末をぎりぎり支えられる指の位置がかなり違うことに気づいてもらえるかと思います。

ギリギリ端末をホールドできる状態まで指を引っ込めた状態
液晶を上にした時は指が第二関節の先にある肉を全部使って引っ掛ける感じ


液晶をしたにした場合は指先の丸くなる直前の部分に引っ掛けてホールドできる。


この状態で指が滑った時に、通常の持ち方だと、結構ひやっとするほど端末が跳ねるのが分かるかと思います。
液晶が手のひら側に有るときはそこまで気になることはありません。

持ちやすさで気になったのはもう一点、本体カバーと本体のつなぎ目がやや尖っていて持った時にチクチクと腕にささって気持ちよくありません。
しかも、これも画面側が出っ張る形になっているので、チクチクする割に引っかかりにもなりません。
当然ミドルハイの価格帯であるNexus6やNexus6pはこの辺りの作りがしっかりしているのですが、Nexus5でもここまで酷い加工精度はされておらず、全体的に値段の割に安っぽさを感じさせないZenFone2の中にあって唯一「チープ」と感じさせてしまうところ。
現時点では借り物なのでやりませんが、正式に受け取ったらヤスリがけでもしようと思います。

重量においても、正直重たいです。 持った瞬間ずっしりと来ます。
スペックで言うと170gでNexus6pに近い重さですが、不思議と体感的にはNexus6pよりも重たく感じ、更に重たいNexus6と同程度の重さを感じます。

優秀な画面サイズ

持ちやすさの点では改善して欲しいところがいろいろとあったのですが、このサイズとしてみた場合に画面サイズの広さは魅力的です。
左右の縁こそ最近のスマートフォンにしては太めですが、上下の液晶画面に関しては本体サイズに比べてかなり広い。
画面サイズで言うと高さが5mm以上長いNexus6pと同等。しかもNexusシリーズはディスプレイ内にホームボタンやもどるボタンが表示されるのに対してZenFone2では独立したボタンが有るため、ホームボタンやもどるボタンを差し引いた大きさでいうとNexus6に近い高さがあります。
画面の縦幅はソフトウェアキーボードが表示されても本文が隠れにくいなどメリットが大きいので文字入力が多い人やWebサーフィンメインの人などにとってはかなり嬉しいです。

画面サイズの比較、左からNexus5、ZenFone2、Nexus6p、Nexus6
ZenFone2はNexus6pよりもだいぶ上下が狭いにも関わらずNexus6p以上の情報量が表示できてNexus6並なのがわかります。
特にNexus6pと比べて画面下側の縁が狭くソフトウェアキーボードが手元に近いところにあるのが嬉しいつくり。


筐体のデザインでいうと、Nexusより高級志向なのが見て取れます。
ヘアライン加工風の模様や鏡面加工が目立ちます。
ただ、風なだけで実際のところはプラスチック筐体です。
金属風のボディですが、触った感じはヘアライン風の加工もあってかサラッとしていてどこか紙のような触り心地です。


意外と嬉しいのが音量ボタンの位置。 LGなどでもお馴染みの本体真裏 真ん中に設置される仕組み。
この位置だと本体を持った時に自然と指の位置に音量ボタンが来るので探さなくて良いのと、左右側面にスイッチが一切ないので本体を持った位置が悪くて音量が変わってしまうみたいなトラブルとも無縁。
カメラレンズの位置については人によって指がかかってしまうかもしれません。

本体で嬉しい点で言うと、最近の端末にしては珍しく裏蓋が空きます。
このおかげで工具無しでSIMカードやSDカードの差し替えができます。
なぜかバッテリーに関してはチラ見せ状態になっていて交換することは出来ません。


取り外した蓋はかなり分厚いですが、NFC用のアンテナが有るほかは特に何もないプラスチックの板です。
これ本当に分厚くて蓋を取り外した状態だと、薄型携帯とは言わないにしても、分厚すぎる という印象はなくなります。(ついそのまま使いたくなりますがスピーカーがむき出しになるためおすすめはしません)

SIMカードは2枚入るタイプです。 残念ながらLTE対応なのは1つだけでもう一つは2Gの通話用。日本では使用することが出来ません。主に新興国向けの仕様だと思いますが、今時新興国でも3Gが増えてきていることを考えると裏面含めて実に贅沢というか、無駄の大きな設計のようにも見えます。
今時nano SIMではなくMicroSIMなのは個人的に嬉しい仕様でした。

それでは次回は実際の仕様レビューをしていきたいと思います。

開発者向けAndroid Nの情報 API概要

$
0
0
今月初めにAndroid Nの開発者プレビューが突然発表されました。
Androidの新バージョンについてはI/Oで発表されることが多く、
L、MとGoogleI/O時に発表されていたのでまさかこのタイミングでの発表があるとは驚きです。
変更点についてはLほど劇的ではないけれど、Mより大きいように感じました。

原文


Android Nはまだ開発中です。しかしN Developer Previewーの一部を試すことが出来るようになりました。
ここでは開発者のための新機能についてハイライトを紹介します。

Behavior Changesを読みプラットフォームの変化があなたのアプリにどのような影響を及ぼす可能性があるか確認するようにしてください。新機能についてのより詳細はDeveloper guidesを読んでください。新APIの詳細はAPI Referenceをダウンロードして下さい。

マルチウィンドウのサポート

AndroidNには要望が多かったマルチウィンドウのサポートを導入しました。

ユーザーは同時に1つのスクリーンで2つのアプリを開くことが出来ます。
・AndroidNが実行されているスマートフォンとタブレットではユーザーはアプリを並べるside-by-side、一つのアプリを上におかれて、それ以外のアプリが下に並ぶone-above-the-otherの2つのスピリットスクリーンモードで2つのアプリを実行することが出来ます。2つのアプリの間をドラッグアンドドロップすることでアプリの大きさを切替えることが出来ます。

・AndroidTVデバイス上ではアプリを画面の一部に表示するpicture-in-picture mode内に置くことが出来ます。
これにより、コンテンツを見続けたまま、他のアプリを探したり操作することが出来るようになります。より詳細は次のとおりです。

特にタブレットのような大画面デバイスではマルチウィンドウのサポートはユーザーをあなたのアプリに今までよりもつなぎ留めておくことができるでしょう。
アプリ内でドラッグアンドドロップを有効にすることで、ユーザーがコンテンツをあなたのアプリに入れたり出したり出来るようになります。これによりユーザーの操作性を劇的に改善することが出来るでしょう。

アプリでマルチウィンドウのサポートして、マルチウィンドウをどのように扱うかを設定するのは簡単です。たとえば、activityの最小サイズを指定してユーザーがそれ以上サイズを小さく出来ないようにすることが出来ます。マルチウィンドウ表示をアプリで無効にすることも出来ます。それによりシステムはあなたのアプリをフルスクリーンモードで必ず表示するようになります。

より詳細は開発者向けの資料Multi-Window Supportを読んでください。


図1、split-screeen modeで実行中のアプリ

Notificationの改良

AndroidNではより簡単かつ素早く使えるようにNotificationが再設計されました。次のような変更を含みます。
・テンプレートの更新。 Notificationのテンプレートが更新され、新しいヒーロー画像とアバターが強調されます。
開発者は従来のコードに最小限の変更を加えるだけで新しいテンプレートの優位性を活かすことが出来ます。

・バンドルされたNotification郡 システムはメッセージを、例えばトピックでグループ分けして表示できます。
ユーザーはそこで無視やアーカイブといったアクションを行うことが出来ます。もし、Android Wear向けにNotificationを最適化していたら、あなたは既にこのモデルに親しみがあると思います。

・ダイレクトリプライ アプリケーションのリアルタイムな通信のために、Android システムはユーザーがSMSやテキストメッセージなどに素早く返信できるようにNotificationインターフェイスで直接メッセージを返すことが出来るインライン返信をサポートします。

・カスタムビュー 2つの新しいAPI郡によりNotification内でカスタムビューを使うことで、ヘッダーやアクションなどに装飾を施すことが出来ます。


図2、バンドルされたNotification郡とダイレクトリプライ

新機能を実装する方法はNotificationsガイドを見てください。

Profile-guided JIT/AOT compilation

Android NではARTの実行時(JIT)コンパイラーにコードプロファイリングを追加しました。それによりAndroidアプリ実行のパフォーマンスを常に改善します。
JITコンパイラーはARTの現在の事前(AOT)コンパイラを補い、実行時のパフォーマンスを改善するのを助け、ストレージの容量を節約し、アプリの更新とシステム更新を高速化します。

Profile -guided compilationはARTにAOTとJITをデバイスの状況や実際の使用状況に応じてどのように使い分けるかを管理させます。
例えばARTは各アプリのホットなメソッドをプロファイルして最適なパフォーマンスのために事前コンパイルしてキャッシュすることが出来ます。
それ以外の部分については実際に使われるまでコンパイルしないままにします。

さらに、アプリの重要な部分についてのパフォーマンスを改善するために、アプリの全体的なRAM使用量を削減します。(関連するバイナリーを含む)
この機能は特にメモリーの少ない端末で重要です。

ARTはprofile-guided compilationをバッテリーへの影響が最小になるように管理します。事前コンパイルはデバイスが使用されておらず、充電中に行われます。それらを事前に行うことで時間とバッテリーを節約します。

アプリインストールのクイックパス

ARTのJITのコンパイラーによる最も大きな改善点はアプリインストールとシステム更新を高速化することです。サイズの大きなアプリをインストールするときは最適化とインストールにAndroid6.0では数分かかっていましたが、これが数秒になります。システムの更新も同じように高速です。もうアプリの最適なのステップはなくなります。

Doze on the go...

Android6.0ではDozeが導入され、テーブルや引き出しに置かれたままの時など端末が未使用の時、アプリがCPUや通信を使用するのを遅延させることでバッテリーを節約しています。

Android Nでは使用中でもDozeが効くようになりバッテリーを節約します。
画面がしばらくオフでデバイスが充電状態にないとき、DozeはこれまでのCPUとネットワーク通信に対する規制のサブセットをアプリに適用します。これにより、ユーザーは端末をポケットに入れて持ち運ぶ時でもバッテリーを節約できます。

図3 Dozeはデバイスが静止状態にない時でもバッテリーライフを節約するために規制を行おうとします。

バッテリーで動作中に、画面がオフになってちょっとすると、Dozeはネットワークアクセスを制限して、ジョブと動機を遅延させます。短いメンテナンスウィンドウの間、アプリケーションはネットワークアクセスが許可され遅延されているすべてのジョブと同期が実行されます。画面がONになるか充電されるとDozeモードを終了します。

一定期間デバイスが静止していて、スクリーンがオフでバッテリー動作中の場合はDozeはPowerManager.WakeLockAlarmManagerによるCPUとネットワークアクセス、GPS/Wi-Fiスキャンを完全に規制します。

デバイスが動いているかどうかに関わらずDozeに対応するためのベストプラクティスは同じですので、Dozeを取り扱うために最適化されていたら、もう既に準備完了です。そうでなければあなたのアプリをすぐにDozeに対応(adapting your app to Doze)させてください。

Project Svelte:バックグラウンド最適化

Project SvelteはAndroidデバイスエコシステム全体でシステムとアプリが使用するメモリーを最小にする努力を行っています。
Android NにおけるProject Svelteはバックグラウンドで動くアプリの実行方法を最適化することにフォーカスしています。

バックグラウンドプロセスは多くのアプリで欠かすことが出来ない重要な要素です。正しく使えばそれはコンテキストを理解して瞬間的に素早くなり、ユーザー経験をより良くすることができます。正しく使われない場合、RAM(とバッテリー)を無駄に消耗し、他のアプリのパフォーマンスを悪化させます。

Android5.0から導入されたJobSchedulerがバックグランドで動く処理を行うのに好ましい方法です。
アプリがジョブをスケジューリングできて、メモリー、電力、通信状況に応じてシステムを最適化出来ます。JobSchedulerはコントロール性とシンプルさを提供します。全てのアプリがこれを使用して欲しいです。

別の優れたオプションとしてGoogle Play Servicesの一部であるGCMNetworkManagerがあります。job schedulingのような機能をAndroidの古いバージョンとも互換性がある形で提供します。

JobSchedulerとGCMNetworkManagerは今後もユースケースに合わせて拡張していきます。例えばAndroid Nではコンテンツプロバイダーの変更時にバックグラウンドの処理を実行するようにスケジューリングすることが出来るように有りました。同時に特にメモリーの少ないデバイスにおいてシステムのパフォーマンスを悪化させる古いパターンを非推奨にし始めました。

Android Nでは3つの暗黙的ブロードキャストIntentを削除しました。CONNECTIVITY_ACTIONACTION_NEW_PICTUREACTION_NEW_VIDEO
これらは沢山のアプリのバックグラウンドプロセスを同時に実行することが有り、メモリーとバッテリーに負担をかけていました。もし、あなたのアプリでこれらを受信していたら、JobSchedulerと関連したAPI群に移行するためにN開発者プレビューを使用してください。

詳細はBackground Optimizationsを見てください。

Data Saver

モバイル端末のライフサイクル全体に渡ると、一般的にデータ通信のコストは端末の価格を上回ります。多くのユーザーにとって通信データは節約したい重要なコストです。

Android NはData Saver modeを導入します。新しいシステムサービスはローミング中や、データ使用量期間の終了間際やデータ数の少ない料金プランでアプリが使用する通信データを抑えるのに役立ちます。
データセーバーはユーザーにアプリがどのように通信データを使用するかをコントロールさせ、開発者にはData SaverがONの時により効率よくサービスを提供することが出来ます。
ユーザーが設定でData SaverをONにして、デバイスが従量課金のネットワークに接続されている時、システムはバックグラウンドデータの使用をブロックし、フォアグラウンドで動くアプリには可能ならば(ストリーミングのビットレートを減らす、画像のクオリティを落とす、事前読込を多用しないなど)データの使用を控えるように伝えます。
ユーザーは特定のアプリのみ、Data Saver中でもバックグラウンド通信を許可するように指定することが出来ます。Android NはアプリがユーザーのData Saverの設定を受け取り(retrieve the user's Data Saver preferences http://developer.android.com/preview/features/data-saver.html#status)、設定が変更されたことをモニター(monitor preference changes)出来るように、ConnectivityManagerを拡張します。全てのアプリはユーザーがDataSaverを有効化しているかをチェックし、フォアグラウンドとバックグラウンドのデータ使用量を制限する努力を行う必要があります。

Quick Settings Tile API

Quick Settingsは重要な設定とアクションをNotificationシェードに直接表示する一般的かつシンプルな方法です。Android NではQuick settingをより便利で役に立つように拡張します。

追加のQuick Settingタイルのために多くの部屋を増やしました。ユーザーは左右にスワイプすることで別のページを開くことが出来ます。ユーザーがどのQuick Settingsをどこに表示するかのコントロールできるようにもなります。ユーザーはドラッグアンドドロップでタイルを増やしたり移動したりすることが出来ます。

Android Nに追加された新しいAPIにより、開発者は独自のQuick Settingsタイルをユーザーに提供してアプリの鍵となるコントロールやアクションをユーザーが簡単に操作出来るようにすることが出来ます。

Qucik Settingタイルはユーザーがコントロールやアクションを即座にかつ頻繁に行いたい時のために用意されています。アプリを起動するショートカットとして使用してはいけません。

タイルを宣言すると、ユーザーはQuick settingsにドラッグアンドドロップで追加することでユーザーが操作できるようになります。

app tileを作る方法についての情報はAPI Referenceをダウンロードしてandroid.service.quicksettings.Tileを見てください。

着信拒否

AndroidNは着信拒否をプラットフォームとしてサポートし、Service providerが着信拒否リストを管理するためにフレームワークAPIを提供します。標準のSMSアプリ、標準の電話アプリ、そしてキャリアアプリは着信拒否リストに読み書きできます。このリストはそれ以外のアプリからはアクセスできません。

着信拒否はプラットフォームの標準的な機能のため、Androidはデバイス全体で一貫した着信拒否をアプリでサポートする方法を提供します。異なるアプリ間で次のようなことができます。

・通話の着信拒否はテキストメッセージも拒否できます。
・着信拒否にした番号のリストは端末をリセットしたり複数の端末をまたいでも、バックアップと復元機能で維持されます。
・複数のアプリは同じ着信拒否にした番号リストを使用できます。

加えてキャリアアプリをAndroidに統合できるということは、キャリアは端末上の番号拒否リストを読みとって、ユーザーが好まない着信やテキストメッセージをユーザーに届ける前にサーバーサイドのVOIPエンドポイントや電話を転送するときのように途中でブロックできることを意味します。

より詳細は、API Referenceをダウンロードしてandroid.provider.BlockedNumberContractを見てください。

着信のフィルタリング

Android Nでは標準の電話アプリが着信を画面に表示できます。電話アプリは新しいCallScreeningServiceを実装することで、着信時に呼び出されるCall.Detailsにもとづいて幾つかのアクションを行うことが出来ます。例えば
・着信を拒否する。
・着信履歴に残さない
・Notificationに着信を表示しない。
より詳細はAPI Referenceをダウンロードしてandroid.telecom.CallScreeningServiceを見てください。

複数の言語、多くの言語

Android Nはバイリンガルの人が使用しやすいように設定でユーザーに複数の言語を選択できるようになりました。アプリは。例えばユーザーが理解できる複数の翻訳されていないWebページを検索結果として返すという風に、複数の言語を使えるユーザーがより良いユーザー体験を得られるようにするため新しいAPIでユーザーが選択した複数の言語を取得することが出来ます

複数言語サポートと共にAndroidNは利用可能な言語も増えています。25種類以上の英語、スペイン語、フランス語、アラビア語などを元にした地域の言語への対応と、100位上の新しい言語の部分的な対応が追加されます。

アプリはLocaleList.GetDefault()を呼ぶことでユーザーが設定した言語のリストを取得できます。複数地域をサポートするためにAndroidNはリソースの解決方法を変更します。新しいリソース解決ロジックがあなたのアプリで正しく動くことをテストして確認してください。

新しいリソース解決がどのように動くかについてと、ベストプラクティスを知るためにMultilingual Supportを読んでください。

AndroidにおけるICU4J API群

AndroidNはandroid.icuパッケージ内でICU4JAPIのサブセットを提供します。移行は簡単で、殆どcom.java.icuをandroid.icuに変更するだけです。もしアプリ内で既にICU4Jを内包して使用しているならandroid.icu APIに切替えることでAPKサイズを小さく出来ます。

Android ICU4J API群についてはICU4J Supportを見てください。

Open GL™ ES3.2 API

Android Nでは OpenGL ES 3.2のためのフレームワークインターフェイスとプラットフォームの対応を加えました。次を含みます。
EXT_texture_sRGB_decodeのためのAndroid Extension Packの全てのExtension
HDRと deferred shadingのための浮動小数点フレームバッファー
バッチとストリーミングを開演するためのBaseVertex draw call
WebGLのオーバヘッドを減らすRobust bufferアクセスコントロール


AndroidNで動くOpenGLES 3.2のためにフレームハークはGLES32クラスを提供します。OpenGL ES3.2を使用するときは、uses-featureタグとandroid:glEsVersion属性をmanifestファイルに宣言する必要があります。

ランタイムがサポートしているOpenGL ESのバージョンを確認する方法といったOpenGL ESを使うためのより詳細はOpenGL ES API guideを読んでください。

Android TV録画

Android Nは新しいrecording API群によってAndroid TV input servicesでコンテンツの録画と再生機能が加わりました。
TV input services は既存の time-shifting API群の最上部にたって、どのチャンネルが録画されるか、どのようにセッションを保存するかをコントロールし、録画されたコンテンツとユーザーの対話を管理します。

より詳細はAndroid TV Recording APIsを見てください。

Android for Work

Android for Workは沢山の新機能とAPI群をAndroid Nが動作するデバイス向けに追加しています。幾つかのハイライトは次のとおりです。変更点の完全なリストはAndroid for Work Updatesを見てください。

ワークプロファイルにおけるロック解除

プロファイルオーナーはワークプロファイルで実行中のアプリにたいして個別のロック解除を指定できます。認証画面はワークアプリのいずれかをユーザーが開こうとした時に表示されます。認証に完全に成功するとワークプロファイルがアンロックされ必要ならば復号化されます。プロファイルのオーナーはACTION_SET_NEW_PASSWORDプロンプトでユーザーに認証を設定させ、ACTION_SET_NEW_PARENT_PROFILE_PASSWORDでユーザーにデバイスロックをセットさせる事ができます。

プロファイルオーナーはsetPasswordQuality()やsetPasswordMinimumLength()のようなメソッドを使用して認証解除のためのポリシーを設定することが出来ます。(例えばPINを何文字以上にしないといけないとか、指紋でプロファイルをアンロックできるかどうかなど)。プロファイルオーナーは新しいgetParentProfileInstance()メソッドから返されるDevicePolicyManagerのインスタンスを使ってデバイスをロックすることも出来ます。加えてsetOrganizationColor() とsetOrganizationName()メソッドを使用して仕事用の認証スクリーンをカスタマイズすることも出来ます。

仕事を終える

ワークプロファイルを持っている端末ではユーザーはワークモードを切替えることが出来ます。ワークモードがオフになると管理されたユーザーは一時的に使用不可となり、ワークプロファイルのアプリはバックグラウンドでの同期が停止し、Notificationが無効化されます。これにはプロファイルオーナーアプリケーションも含まれます。ワークモードがオフになるとシステムはステータスアイコンでユーザーにワークアプリが起動できないことを伝えます。ランチャーはワークアプリとウィジェットが使用不可であることを伝えます。

VPNの常時オン

端末オーナーとプロファイルオーナーはワークアプリが特定のVPNを通じて通信を行うように保証することができます。システムは自動的にデバイスが起動するとVPNを開始します。

新しいDevicePolicyManagerメソッドはsetAlwaysOnVpnPackage() とandgetAlwaysOnVpnPackage()です。

VPNサービスがアプリの対話を行うことなくシステムにより直接接続されるため、VPNクライアントは常時VPNの新しいエントリーポイントを取り扱う必要があります。サービスは事前にandroid.net.VpnServiceアクションに一致するIntent filterによって、システムに示されます。

ユーザーは設定アプリを開いて無線とネットワークにある「もっと見る」を選び、VPNにて手動でVPNServiceを実装した常時VPNクライアントを設定することも出来ます。

ユーザー補助の改善

Android Nは視覚の設定を新しいデバイスのセットアップ時のようこそ画面で提供します。これにより、ユーザーはより簡単にユーザー補助の機能を見つけて設定しやすくなります。これには拡大操作ジェスチャー、フォントサイズ、表示サイズ、TalkBackが含まれています。

これらのアクセシビリティー機能により、わかりやすい配置となることで、より多くのユーザーがあなたのアプリを使ってみようと思うかもしれません。これらの設定を有効にしてアプリのテストを行ってください。設定のユーザー補助でこれらの機能を有効にできます。

Android Nではユーザー補助サービスとしてスクリーンをタッチするのに障害が有る人向けのサポートも追加されます。新しいAPIには顔追跡や視線追跡によるポイント操作のようなサービスを作ることを可能にします。
より詳細はAPI Referenceをダウンロードしてandroid.accessibilityservice.GestureDescriptionを見てください。

ダイレクトブート

ダイレクトブートはデバイスの起動時間を改善し、予定外の再起動後においても登録済みアプリに一部の制限された機能を許可します。
例えば、ユーザーが寝ている間に暗号化済みの端末が再起動したとしても、登録されたアラームや、メッセージの受信、着信は通常通りにユーザーに通知されます。
再起動した時にユーザー補助サービスを利用することも出来ます。

ダイレクトブートはシステムとアプリデータのどちらもきめ細かい暗号化の設定が出来るように
ファイルベースの暗号化を利用します。
一部のシステムデータと明示的に登録済みアプリデータは端末の暗号化領域を使います。それ以外のシステムデータやユーザーデータ、アプリ、アプリデータは標準で証明書による暗号化が使われます。

ブート時、システムは制限モードになり、端末の暗号化領域のみにアクセス可能となります。その他の一般的なアプリやデータにはアクセスできません。このモードでアプリのコンポーネントを実行したいのであれば、manifestファイルへの登録を行ってください。再起動後、システムは再起動後にLOCKED_BOOT_COMPLETED intentをブロードキャストすることで登録されたコンポーネントをアクティベートします。システムは登録されたデバイスの暗号化アプリデータをアンロック前に使用可能です。それ以外のデータはユーザーがロックスクリーンで認証を行い復号が行われるまで使用できません。

より詳細はDirect Bootを読んでください。

鍵認証

ハードウェアによりサポートされるキーストアはAndroid端末で暗号鍵を作成して保存し、使うための極めて安全な方法を提供します。それにより、LinuxカーネルやAndroidの脆弱性、あるいはルート化された端末によるキーの抽出から保護します。
より簡単かつセキュアにハードウェアでサポートされているキーストアを使用できるようにAndroid Nは鍵認証を導入します。

アプリとオフデバイスは鍵認証を使用してハードウェアでサポートされたRSAまたはECキーペアのどちらかで適用されるか見極めることが出来ます。アプリとオフデバイスのサービスは、有効な認証鍵で署名されている必要があるx.509証明書によりキーペアの情報をリクエストできます。

認証鍵は工場でデバイスのハードウェア内に埋め込まれたECDSA証明書です。
それにより、有効な認証鍵で署名されている証明書がキーストアのキーペアの詳細とともに、ハードウェアでサポートされているキーストアの存在を確実にします。

デバイスが安全なAndroidファクトリーイメージを使用していることを確認するために、鍵認証はbootloaderTrusted Execution Environment (TEE)に次の情報を提出するように求めます。

・デバイスにinstallされたOSのバージョンとパッチレベル
Verified Boot公開鍵とロック状況

ハードウェアでサポートされるキーストアの機能についてはHardware-backed Keystoreを見てください。
加えて鍵認証はAndroidNで指紋認証に基づくfingerprint-bound鍵も導入します。

ネットワークセキュリティー設定

Android NではアプリはHTTPSやTLSなどのセキュアな通信における安全性についてX509TrustManagerなどの誤りが起きやすいプログラムによるAPI群の代わりに、Network Security Configを使用することで一切コードを変更することなく振る舞いをカスタマイズすることが出来ます。

対応した機能は
・トラストアンカーのカスタマイズ アプリケーションがどの認証局 ( CA )でセキュアな接続が保証されるかをカスタマイズする。例えば、特定の信頼済み自己証明書や、特定のパブリック証明局など

・デバッグ時のみのオーバーライド アプリケーション開発者がインストールされるアプリにリスクを追加することなく安全にセキュアな接続をデバッグできるようにする。

・平文通信のオプトアウト アプリケーションが予想外に平文の通信を行ってしまうことから自身を保護する。

・ピン留めされた証明書 セキュアな接続を行うために信用するサーバー証明書を制限する。

より詳細はNetwork Security Configを読んでください。

標準で信頼済みの証明書

Android Nをターゲットにしたアプリは通常システムが提供する証明書だけを信頼し、ユーザーが追加した認証局(CA)を信頼しません。ユーザーが追加した認証局を信頼したいアプリはNetwork Security Configでユーザーが追加したどの認証局を信頼するかを指定する必要があります。

APK署名スキーマV2

APK署名スキーマV2を使用してPackageManagerクラスはアプリを検証することが出来るようになります。APK署名スキーマv2は全てのファイルを署名することで、認証速度を改善し、APKファイルに対するどのような不正な変更も見つけることが出来ます。

後方互換性を維持するために、APKはv2署名スキーマを使用する前にv1署名スキーマ(JAR署名スキーマ)で署名する必要があります。V2署名スキーマはV2スキーマで署名した後に別の証明書で署名すると認証に失敗します。

APK署名スキーマV2は初期のN Developer Previewではまだ利用することが出来ません。

一定のディレクトリーへのアクセス

Android Nは新しいAPIで特定のexternal storage(拡張ストレージ)のディレクトリーに対するアクセスをリクエストすることが出来ます。 それにはSDカードのようなリムーバブルメディアのディレクトリーを含みます。新しいAPIはPicturesディレクトリーのような標準的な拡張ストレージにアクセスする素晴らしく簡単にアクセスします。写真アプリのようなアプリは全てのストレージディレクトリやストレージアクセスフレームワークにアクセスしてユーザーがフォルダを探す必要があるREAD_EXTERNAL_STORAGEの代わりに、このAPIを使用できます。

アプリが新しいAPIを使用すると簡単な方法でユーザーに拡張ストレージへのアクセスについての許可を求めます。システムはどのディレクトリーへのアクセスを要求しているのか明確なシンプルなpermission UIを使用します。

より詳細はScoped Directory Accessを読んでください。

Except as noted, this content is licensed under Creative Commons Attribution 2.5. For details and restrictions, see theContent License.

ZenFoneレビュー最終回

$
0
0
ZenFone2レビューも今回が最終回です。

今回はZenFone2を実際に使ってみての率直な感想を書きたいと思います。

これまでのレビューは以下
ZenFone2レビューその2
ZenFone2レビューその1

良いところ悪いところ

今回はレビューをするために実際に普段使っているSIMカードを刺してメイン端末として毎日持ち歩きその使い心地を確かめました。
正直なことを言うと、来月からメイン端末はNexusに戻す予定です。幾つかの素晴らしい要素はあったのですが、逆に普段使いで不満に思うところもありました。
ZenFone2はハイエンド端末ではないですが、ASUSシリーズの中ではフラッグシップにあたり、決してローエンド端末でもないはず、そのあたりを考慮しつつ、Nexus5から乗り換えて感じたことを書いてみます。

ココがダメ

標準アプリが多すぎる

ATOKが入っていたりとわりと嬉しい部分もありますがそれ以外に電子書籍アプリが「電子書籍」「BookLiveReader」「Kindle」「Zinio」と4つ、Webブラウザが「Chrome」「ブラウザ」「Yahoo!」と3つ画像共有も「WebStorage」、「SHARE LINK」、「PARTY LINK」、「Zen Circle」の4つと、やたら沢山アプリが入っている割にやれることはそんなに多いわけではないという不思議な組み合わせ。
このあたりのプリインストールが低価格を実現している肝なのかもしれませんが、ユーザーにとってはとっ散らかっているようにしか見えずあまりいい印象ではありません。
さらに最初から入っているアプリがいきなり常駐していて、Push通知を送ってきた挙句、実行すると別のアプリをインストールさせる広告が出てくるとか、標準アプリのマナーも総じて良くありません。

スピーカーが鳴らない

まれに外部スピーカーが鳴らなくなる事がありました。一度裏蓋をあけてスピーカー部分をつつくと直るという症状で、これが個体差なのかZenFone2に共通した持病なのかわかりませんが、一応報告。
そして、そもそもスピーカーの音質がそんなに良くないし、昔のスマートフォンに多かった背面から音を出すタイプなので音量もイマイチ。
今はフロントスピーカーが当たり前、悪くても側面なのでいまだに背面なのは目立ちます。

カメラの画質

カメラの画質は正直それほど良くないようです。
作例が一つだけになりますが、Nexus5、Nexus6pと撮り比べてみました。
解像度を長辺1600に落としてPhotoshopで画質「高」で再エンコードしています。
ZenFone2


Nexus5


Nexus6p


画質に関してNexus6pが飛び抜けるのはある程度予想通りでした。Nexus6pはNexus系統の中でも最もカメラに力を入れてきたモデルですし、価格帯も異なります。
Nexus5とZenFone2は画角も似ているし、ちょうどいい比較対象になったのですが、ZenFone2の画質はNexus5と比べても悪く、全体的に露出が高すぎる傾向にあって、この写真のように盛大に白飛びすることが良く有ります。
屋内はもちろん、たいていのカメラで最も良いシチェーションになるはずの、昼間の撮影でも同じような症状が発生することが有りました。
ボケ味も綺麗とはいえないし、カメラに関しては正直残念。

ZenFone2のカメラは撮影モードがかなり充実していて、露出やホワイトバランスまで細かく調整できるので多少は追い込むことができます。
露出補正をマイナス1するとこんな感じ。
マシにはなったけれどやっぱりちょっと変な感じ
暗い部分や黒いものにカラーノイズが盛大に出るのも特徴で、このあたりも最近のカメラにしては珍しい品質だと思います。

ただし、何の問題もなく撮影できることもあり、勝率は5割程度という感じ。
うまく撮れると十分に満足できる画質になります。


Notificationのアイコンで色がおかしい

Android Lollipop以降、Notificationの色はモノトーンとなりました。
システムはLollipopに対応したアプリではアルファ値のみを参照して、RGBを無視するのですが、何故かこれが無視されておらず妙な色で表示されたりすることが有ります。

バッテリーはNexus5と同程度

バッテリーの使用感でいうとかなり減りが早い印象を受けました。
特に最初の数日全く使用せず、追加アプリゼロ、SIMも入れていない状態だったにも関わらず二日程度で電池が切れたのは驚きました。
Nexus系だとSIMを抜いていれば同条件で5日間位は持っていた感じがします。
意外だったのはSIMを入れてアプリをインストールして普段使いしても電池の消費量がそこまで変わらず、丸一日なら普通に使える感じ。
つまり、使用状況と実際の電池消費量があまり変わらないため使っていない時のバックグラウンドでの電池消費量が多いのだと思います。

ここで気になるのがZenFone2はAndroid5.0がインストールしてあるということ。Nexus5に関して言うと5.0のときから6.0にアップしてバッテリーの使用時間は倍以上に伸びたのでZenFone2が6.0にアップした場合に劇的に電池持ちが良くなる可能性はあります。

丸い背面とバイブレーション

背面が丸いので机の上に置いた時にぐらつきます。
さらに悪いことにバイブレーションがかなり強めでボタンタップ時にバイブレーションする設定にしておくとバイブレーションの振動で端末が揺れてかなり残念なことに。

NFCの認証制度が悪い

Nexusシリーズに比べてNFCを近づけてもNFCを識別できないことが多かったです。

ゲームには向かない

私はゲームをしないのであまり関係ないですが多くのゲームはARMに最適化されていて、ZenFone2に搭載されているATOMには最適化されていません。
大容量のメモリーもなぜかOSが32bitなせいで、単独アプリでは2GBまでしか使用できず、1つのアプリがとにかく重たいゲームではあまり貢献出来そうにもないです。

ここが良い

悪いことばかりではなく良い点も多かったです。

パフォーマンスは良い

たまに不安定になる時を除くとパフォーマンスはなかなか良かったです。
ATOMという普通スマートフォンではあまり使われることのないCPUを積んでいるのですがパフォーマンスは悪く無いようでNexus5から乗り換えるとさくさくとUIがアニメーションしてくれます。
GoogleEarthで都心部を表示してもかなりさくさくしていてNexus6pと比べてもそんなに悪くない印象。

控えめな発熱

ZenFone2は使用し始めるとすぐにほんのりと暖かくなるのですが、ある一定で暖かさが止まってそこからずっと温度が一定になる印象です。
Nexus5はWebブラウズや充電中かなり熱を持ち、場合によっては端末にダメージが及ぶのではないかと思うほどだったのでこの差は割と大きく、ZenFone2は使っていて不安に感じるほど発熱することは一切無かったです。
これはGoogleEarthを使っている時でも同じで発熱が程よく抑えられているNexus6pよりも更に発熱が少ないです。

発色の良い液晶

液晶の発色は悪くなくまるで有機ELのように鮮やかかつ黒がしまっています。明るさについても夜間でも昼夜の炎天下でも使用に不便を感じることはありませんでした。
あと、FullHDなのでFullHD動画と相性がよくドットサイズの置き換えが発生しないのが嬉しいです。
色温度の調整できたり、効果の程は不明ですがブルーライトカット機能なども有ります。


意外と持てる

本体形状のせいで持つときにソコソコ気を使うのは2回めのレビューで報告したとおりですが、実際に使ってみるとそこまでひどい感じはなくなりこれくらいなら十分慣れれば使えるかな?という印象。

タップでのスリープ解除が便利

画面をダブルタップすることで電源ボタンをおした時と同じようにスリープが解除されるのは便利に感じました。
似たような機能はNexus9にもあるのですが、スマートフォンで使えるのは嬉しい。
さらに画面上を定められたパターンで操作すると特定のアプリが動く機能が思った以上に便利で良く使いました。
例えばスリープ中にCのかたちで画面をなぞるとスリープが解除されカメラアプリが立ち上がります。

ダブルタップで開いた状態で、もう一度ダブルタップするとまたスリープに戻るのも地味に便利です。
スリープ時でも精度は悪くなく今まで一度も使えたはずなのに認識しないということは起きていません。

スリープ画面に気象情報が表示される

ウィジェットを使えばいいだけですが、デフォルトでスリープ画面に天気と温度がでてくれるのは有りがたかったです。

着信LEDが便利

何故Nexusでなくしたのか謎ですが充電状態や通知に応じて発色パターンを変える着信LEDはやはり便利が良いです。

標準アプリのアイコンデザイン

やたら大量に入っているZenFone2のアプリですが大きく分けてASUS制とサードメーカー製に別れます。
サードメーカー製のアプリはATOK以外アンインストールが可能で見分けがつきます。
残ったASUSのアイコンですが、彩度の高い背景色に白いマテリアルデザインっぽいアイコンで見た目の統一感は良かったです。

工具無しでSIM交換が可能かつ、micro SIMなところ

最近のスマートフォンはピンで小さなボタンを押すとSIMトレイが飛び出すという厄介な作りのものが多いですが(Nexusも最近のはずっとこれ)ZenFone2は裏ぶたを開けてSIMを交換できるので便利が良いです。
海外でプリペイドSIMを刺したい とかいうときにわざわざピンを探すのはかなり面倒なので海外旅行良くする人には嬉しい仕組み。
また、確認していないですが2G用のSIMスロットがあるので国内SIMをこちらに挿しておけば通信は海外のプリペイドSIM、着信は2G経由で日本の電話番号をそのまま残せるというのが出来そうな気がします。
今までだと、これをやるには国内着信用と海外通信用で2台のスマートフォンが必要だったのでかなり便利そう。

おすすめ度

おすすめ度は50% (良いところもあるけれど積極的にはおすすめしない)
ASUSのフラッグシップ機ですが、正直ミドルエンドという感じ。
特にそれを感じるのがカメラの部分で最近のスマートフォンにしては珍しいレベルで絵が乱れます。
本体サイズも決して小さい部類じゃないし、サイズの割に持ちにくい。触った時の質感もNexusやXperiaやiPhoneと比べるとかなりがっかりします。

とはいえ、この価格帯でカメラと持ちにくさ以外では基本スペックが高いのも事実。
そのあたりを考慮して、自分がほしいスペックがどこにあるかを見極められる人には良いと思います。

中洲にオープンしたゲームバーに行ってきました。

$
0
0
ゲームクリエイターギルドのゲームバーが4/1 中洲にオープンしたとのことで行ってきました。
場所は中洲の中でも北の方福岡市博多区中洲5丁目5-9 サンゴールデンビル7階。
一階に烏骨鶏ラーメンが有るビルです。ここのラーメンはおいしい。


中洲といえば歓楽街のイメージですが、地下鉄以北は比較的静かで地下鉄以南のいかがわしい感じはあまりありません。
と思ったら、このビル自体が何故かピンポイントで歓楽街モードでホストクラブが一緒に入っているようです。
Gamebar自体も元々ホストクラブだったようでなぜかまだ看板が当時のホストクラブのままでした。(写真アップできない)
今すぐに新しい看板に差し替えるべきだと思う。

どうやら中身もホストクラブをそのまま使っているようで独特なギラギラした内装に一瞬住所を間違ってしまったかと思いました。
ここ、一人だととても入りづらい・・・


中もギラギラしています。
ゲームバーというとゲームをするところという印象があってゲーム機とか置いてあるのかと思ったのですが、まだそういうのはないみたいです。
持ち込みゲームでのゲーム大会やゲーム開発の場にしていきたいとのことです。

ネットワークも今はないので、本格的な作業にはまだ使いづらいですが、ちょっとした打ち合わせとかには良さそう。
ネットワークは現在工事待ちらしいので近日中にはいるのだと思います。

かなり大きなスクリーンが有ります。イベントでも使いやすそうです。


一般的なシェアオフィスやイベント会場と違って、飲食店なので食事をすることも出来ます。
ハッカソンイベントかで食事場所に困ることは多いのでこれはありがたい。

アルコール類は500円でビールやウィスキーなどがあるとのこと。
そしてソフトドリンクは飲み放題として入場料に含まれるのだとか! 太っ腹。


価格はソフトドリンク飲放題付き時間制限なしで500円と超激安。
現在は立ち上げたばかりでまだ細かいところを模索中らしいので、将来的に金額が変わってくることもありえますが、少なくとも現時点では圧倒的に安いですね。
食事してくれること前提の金額ということなのかもしれません。

ネットワーク設備が整えばイベント会場としても使用してみたいです。 会場代が実費としても500円でソフトドリンク飲み放題つくので参加者の満足度も高そう。

Google I/O 2016で発表される事 初日

$
0
0
Google I/O 2016の暫定スケジュールが公開されました。
まだ流動的ですが、4/23時点でのヘッドラインを紹介します。
>Google I/O 2016で発表される事 初日
Google I/O 2016で発表される事 二日目
Google I/O 2016で発表される事 三日目

6月18日(日本時間19日)

10:00(日本時間 2:00)

基調講演

(昨年より30分遅くなっています)
皆一緒に。Google CEOのスンダ-ピチャイによるライブキックオフで始まり、Googleにおける製品とプラットフォームのイノベーションを紹介します。
生中継有り

13:00(日本時間 5:00)

AndroidのProject Tangoゲームにおける6DoF(XYZ座標の移動と回転)

Project Tangoは電話が空間上での動きを把握しゲームのやり方を変えます。
家中で仮想ペットを追い回したり、携帯にゴーストをつけたり、3D空間で城に投石することができます。
Project Tangoにおいてゲームは最も人気のあるアプリのカテゴリーです。Google PlayにあるProject Tangoアプリの内2/3以上はゲームです。
簡単なProjectTangoゲームの作り方と、幾つかの開発者向け仕掛けとコツを学びます。

Materialの改良

Plaid betterをMaterial design原則をどのように作ったのかを見て深層を探ります。このセッションで、わかりやすさ、大胆なグラフィックデザイン、意味のある動きを持ったMaterial designの原則を知ることができるでしょう。
具体例とその実装方法を通じて、全体的なエクスペリエンスを向上させる方法を学びます。

Google Cloud Platform一回り

Google Cloud Platformの次を見つけに来てください。
このセッションでは最近行われたGoogleの進化からあなたのサービスがどのようによりパワフルかつ、信頼性が高く性能が出せるかについて学びます。製品アプリにおける企画、開発、配信、スケール、監視、診断の専門家からハンズオン、ライブコーディングやデモンストレーションが行われます。iOSとAndroid向けのゲームのためのスケール性の高いバックエンドの構築プロセスについてウォークスルーを行います。Vision APIを通じての機械学習、App Engineの柔軟な環境 StackDriverによる監視と診断のようなGoogle Cloud Platformが提供する最新のテクノロジーについて触れます。
あなたはGoogle Cloud Platformを使った「NEXT」を作る準備が出来るはずです。

Androidの何が新しくなったか

このセッションではプラットフォーム、API群、機能、パフォーマンスによる新しい開発者向けの特徴について見ることが出来ます。全てはここに(生中継有り)

14:00(日本時間 6:00)

RAILsにおけるDevTools

Paul IrishがDev Tools(更にそれ以上も)の新しいTipsやトリック、機能を紹介します。それらはサイトのパフォーマンスについてデバッグを支援します。主なユーザーとのインタラクティブを計測してボトルネックを診断することが大切です。さらにPaulは実際のサイトにおけるパフォーマンスについて最適な手法を紹介します。

ゲーム:Googleのアドバンテージ

ゲーム開発は挑戦的です。しかし、効果的にGoogleが提供するツールとサービスを効果的に使用することで優れた優位性を得ることが出来ます。Noah Falstein チーフゲームデザイナーはそれらのテクニックの概要を紹介します。それには最近公開されたGoogleテクノロジーを利用する方法についても含まれています。
Play Games ServicesのプロジェクトマネージャーであるBen FrenkelはGoogle Play Game Servicesの新機能と、開発者がどのようにゲームと収益性を向上させるためにそれを使用しているかの調査について話します。
最後にYouTube GamingのIna FuchsはYouTubeの最新の進化により観客を輝かせ、ゲームをハイライトする方法を紹介します。

Glide:Android向けの簡単で効果的な画像の読み込み

Androidで画像を正しく読み込むのは難しくなりがちです。Glideは複雑な部分を抽象化して効果的な画像の読み込みを簡単におこなうためのAndroid向けライブラリーです。Sam Juddはあなたのアプリでスムーズかつ高速に画像を読み込むためにパフォーマンスのTipsとトリックを話します。
最近リリースされたGoogle Photosアプリを例にまもなく公開されるGlideのバージョン4.0におけるAPI設計とパフォーマンスの幾つかの改良についてハイライトを学びます。

Android開発者のための画像圧縮

巨大な画像は読込に時間がかかりダウンロードするためのコストが大きいです。画像がアプリの通信で多くの割合を占めるためこれは問題です。ユーザーを幸せにし、ユーザーの帯域を圧迫しないために画像の最適化とサイズの縮小は最優先で行わなくてはいけません。このトークでは画像縮小が著名な画像タイプにおいてどのような効果をもたらすかについて核心に入り、ユーザーのためにより小さなファイルを作る知識を教えます。この話はネットワークからビットパックを読み込む全てのAndroid開発者で適用できます。


ゲームのルール:アプリ開発者がゲームから学べること

ゲームがユーザーをつなぎとめマネタイズする鍵について学び、それをアプリに適合させる最適解を考えます。
ゲームが開発者によって使われている戦略を応用することでアプリを洗練させることが出来たいくつかの事例から着想を得てください。

15:00(日本時間 7:00)

成功のための柔軟なデザインスプリントを行う方法

デザインスプリントはビジネスの重要な論点に答えを見つけ、正しいものを確実につくるのを助ける手法であることが分かっています。あなたのチームにスピードとイノベーションをもたらすために、最初にスプリントをどのように実行できるかを説明しているスプリントブックを使います。スプリント方法論は幅広い人が簡単に使用できます。Google内で私たちは様々な方法のスプリントを使用します。Google内の3つのチームがUXと開発者と製品でコラボレーションを改善するためにどのようにデザインスプリント方法論を適用しているかについて学びます。全体的な製品開発行程で取り組まれるあるスプリント戦略について深層を探ります。

analyticsによるユーザー獲得キャンペーンの改善

素晴らしいアプリを作ったのでもっと多くのユーザーを獲得したいですか?世界的にアプリを展開する上でユーザーを取得する戦略があることが大切です。それは向こう見ずである必要はありません。ここではOrganicとpaidアプリの両アプリでインストールキャンペーンの費用対効果が実際にどうであったか、全てを結びつけて解析する方法を明らかにします。ユーザー獲得キャンペーンの効果を追跡する方法を学び、広告ネットワークを比較する基準を理解してライフサイクルの価値が重要である理由について学びます。

安心して夜ぐっすり眠れるようになるStackDriver

StackDriver Monitoringはアプリケーションとシステムを監視するのを手助けするマルチクラウドツールです。ここではアプリケーションの稼働時間、エラー、遅延を監視する基本的なセットアップ方法を学びます。システムメモリーやディスクの使われ方に問題が有る可能性を監視する方法も学びます。最後にセットアップしてアプリケーションに合わせてカスタマイズする方法について話します。これらの技術により、あなたはアプリケーションが正しく動作していることを確認して安心して休むことができるようになるでしょう。

引き締まって高速: アプリのダイエット

インストールやアップデートを妨げる最初の理由はAPKサイズが大きすぎることです。あなたのAPKは更新されずに長期間使用されていませんか?APKをインストールする時間は決して楽しいものではありません。このセッションではAPKのサイズを小さくするテクニック集を学び、より多くのユーザーそして、大小さまざまなデバイスにリーチするテクニック集を学びます。

センサーと位置に基づくAndroidアプリ

電話の位置情報とセンサーにより様々なユースケースを可能にします。ビデオゲームにおいて車の向きを変えたり、フィットネスアプリで歩数を数えたり、さらには屋内や屋外にいるかを把握したり。
私たちはボトムアップで説明します。最初にAndroid上でセンサーがどのように動いているかを説明し、どのすれば最適なバッテリーやパフォーマンスでハードウェアの値を取得できるか、この情報をどのように使用してセンサーエクスペリエンスを最適に出来るかを説明します。Googleの強力な位置情報エンジンについてどのように動き、どのように効果的に使うことが出来るかについても詳細を説明します。

Firebaseへの移行

Firebaseは簡単に使用することが出来ます。しかし、あなたはこれが初めてのBackend as a Service(Baas)ではないかもしれません。Firebaseでお馴染みのコンセプトがどのように動くか、Firebaseの新しい方法であなたが抱えている問題をどのように解決できるかについて学びます。新規プロジェクトでFirebaseを使用することを検討している人のために、FirebaseとPurseの両方でアプリをどのように記述するかについて紹介します。既存のプロジェクトでFirebaseを使うことを検討している人のために、既存のバックエンドにFirebaseを追加したり置き換えたりする方法を紹介します。

ExoPlayerを使ったストリーミングメディア

動画を見たり音声ファイルを聞くことはAndroidモバイルやスマートテレビにおけるもっとも一般的な利用方法の一つです。このセッションではユーザーに素晴らしいメディアエクスペリエンスを届けるためのExoPlayerというストリーミングメディアライブラリの使い方を紹介します。ExoPlayesの設計と概要、MediaPlayerなど他のライブラリーと比べた場合の長所を教えます。ExoPlayerはDynamic adaptive streaming over HTTP (DASH)やCommon Encryption暗号化など多くの洗練された機能を提供します。それは簡単にカスタマイズしたり拡張できるため、カスタマイズ実装により多くのコンポーネントを置き換えることが出来ます。ExoPlayerはアプリケーションに組み込むライブラリーのため、アプリと同時に簡単にアップデートできます。このセッションに参加することでアプリにExoPlayerを導入する方法がわかります。MediaPlayerを置き換えるために使用する場合、すぐ簡単に統合することが出来ます。さらにExoPlayerのデザインや内部でどのように動作しているかを理解し、Playerが提供する先進性や、カスタムコンポーネントを使用してExoPlayerのインスタンスをつなぎ合わせることでパフォーマンスとUXを備えさせる方法、Playerが提供する洗練された機能をフルに活用する方法も理解できるでしょう。

あなたの居場所を理解する

人々は緯度経度ではなく、場所の名前や住所、電話番号などによって位置を指示します。私たちはこれらの方法で他人とやり取りしたり、待ち合わせを行います。Google Places APIはアプリやWebがこのような人間的な位置情報を使用できるようにします。このセッションではAPIの使い方を学び、位置を特定したり、電話番号から場所を調べる方法についても学びます。我々はWebやモバイルさらには最近リリースされたWeb widgetでどのように使用するかについての詳細と、モバイルデバイスでバッテリーライフを最適化する方法を紹介します。Places APIがどのように地図アプリを賢くできるかについて学ぶことができます。

16:00(日本時間 8:00)

Google I/O Webアプリを作る Google.ComにおけるProgressive Web Appのローンチ

Google技術者の20%がどのように一般的に使われているのと同じオープンソースのツールとテクニックを使用してGoogle.com上でProgressiveWeb Appを作っているかについて学びます。PolymerやWeb components, service worker Notifications, Googleログイン、Firebase, 新しいブラウザのAPIなどを使って実際にどのようにオフラインに対応した高速なWeb appを作ったかについても説明しますGoogleがAPIを作っているということは私たちはそれを使用しているということです。問題の解決策やTipsとトリックを得てください。

Project Tangoの空間学習を紹介

モバイルデバイスでのモーショントラッキングは既に全く新しいエクスペリエンスを可能にしています。
しかし、Project Tangoデバイスがメモリーを持つことで新しい可能性を開けないでしょうか?Project Tangoは空間認識によりユーザーの周辺を見渡すだけではなく、ユーザーの周辺空間を思い出すことも出来ます。これによりアプリを再起動しても仮想的な物が現実世界の同じ場所に置いたままにするとか、各プレイヤー同士の正確な位置を把握できるマルチプレイヤーエクスペリエンスを設計したり、AR/VRを一時停止・再開したり、モーショントラッキングの揺らぎを解消するといったProject Tangoでの開発に新しい可能性が広がります。
Project Tango開発者のために空間学習の基本的な考え方とベストプラクティスを紹介します。


Google Playでアプリをよりよく公開し、素早く改良を続ける

成功のためにGoogle Play上のexperiments、高頻度なリリースの繰り返し、リリースコントロールツールを使用するための準備をしてください。これまでより簡単にアプリを実行させベータテストプログラムを管理する方法を学びます。正確なタイミングでのアプリのアップデート、プロモーションコードを持った優待ユーザー、ユーザーフィードバックの最大化、ユーザーからの情報をより多く取得してリスト化するなどのTipsや仕掛けについても聞くことが出来ます。

17:00(日本時間 9:00)

開発者としてのキャリアを成長させる

様々な場所で開発者のキャリアを成長させるために取り組んでいるGoogle Developer Relationチームについて学びます。インドでは200万人の開発者を訓練しました。Androidについて確実に学ぶための学習経路をさらにより多くの国へ届けようとしています。
専門家として成功するために開発者の学習がどのような流れであるべきかについてJP SouchakとPeter Lubbersの議論を聞きます。この話は開発者のための形式的な学習方法に興味を持った人だけでなく、新興国で開発者が仕事を見つけられるようにするためでも有ります。

Androidのバッテリーとメモリー使用量を最適化する

バッテリーを大量に消費したり、動作が遅いアプリは好まれません。私たちはNリリースにおいてDozeや新しいバックグラウンド最適化などバッテリーの最適化とメモリーの節約を狙ったプラットフォームの新機能を導入します。ベストプラクティスや電力消費を計測する方法、より簡単にアプリケーションのバッテリーを節約してメモリー効率を上げるAPI群などをレビューします。このセッションに参加してユーザーのためにバッテリーライフとパフォーマンスを改善しましょう。

Cloud VisionとSpeech APIを使用してsmart RusPi Botの作り方

Cluod Vision APIとSpeech APIはGoogleが完全に教育した機械学習による優位性をもたらします。これらの技術は携帯向けGoogle製アプリのGoogle Photosや音声検索で強力な検索を可能にします。このセッションではこれらのAPIを使って顔や物体を認識し音声コマンドが使用できる賢いラズベリーパイロボットの作り方を学びます。

Nearbyの紹介:アプリの内外にかかわらない物理的な近接

NearbyはBluetoothやWi-Fi,超音波を使ってアプリで複数のスマートフォン、デバイス、ビーコンを認識できるようになります。
Nearbyのクロスフォーム、ピアツーピアAPI、デバイス上のアクションでBLEビーコンと接続する機能について詳細を見ていきます。さらに、接続し、近づくことをトリガーとし、共有し、グループを作ったりすることについてAndroidとiOSの機能についても話します。

HTTPSの怪しい伝説:セキュリティ問題の都市伝説

progressive web appsではHTTPSが必須ですが、多くの人はこう言います。「それは私のアプリを遅くして、しかもとてもお金がかかるじゃないか そもそも本当にセキュリティーが保証されているの?」ここではHTTPSに関するよくある疑問と心配事について解説します。なぜProgressive web appsでHTTPSが欠かせない機能であるかを理解することが出来るでしょう。加えて、あなたのサイトに緑のアイコンを輝かさせるためのTipsとトリックを紹介します。

Fragmentってなに?

Android Fragentsは賛否両論で時に複雑です。どのようなときにFragmentを使用する必要があるでしょう?どうやって なぜ? このセッションでは新機能を使用してFiragmentを効果的に使用する方法を紹介します。新しい使い方を可能にしたり既存の使い方を改善する方法についても紹介します。

18:00(日本時間 10:00)

皆のためのAndroid Auto

Android Autoは車内でAndroidを使用できるようにして、毎週貴重な数時間を費して自動車を運転しているユーザーに開発者がリーチ出来るようにします。このトークでは既存のアプリケーションをAndroid Autoプラットフォームに適合させて車の中にいるより多くのユーザーに立直する方法を学びます。

Firebaseを使ったてルチプレイヤー間の対話を作る

異なるデバイス間でリアルタイムに同期した作業を行う機能を作ることはアプリ開発者が求め続けていた機能です。
Firebaseリアルタイムデータベースはデータを保存して同期するWeb, モバイル、Unityアプリケーションを数分でサーバーについて心配する必要なく構築することが出来ます。リアルタイムアスペクトと幾つかの既存の知識、強力な機能(トランザクションのような)によりマルチプレイヤーゲームを作ることも可能になります。このセッションではオンラインプレイヤー間でトラックを保持して、ゲームの状態を複数の接続された端末で同期し、チャットルームを作り、ゲームを開始するためにユーザーどうしをマッチングするためにFirebase Realtime Databaseを使う方法を学びます。

拡張されたMaterial designの動きについてのガイドラインを探る

動きはマテリアルデザインを活かすの重要な鍵です。マテリアルデザインはユーザーが階層について理解し、フォーカスの移り変わりを案内し、時にユーザーを驚かせて楽しませるために動きを使います。
マテリアルデザインチームは基本的なアニメーションの時間や加速度から自然な形状の変化や移動するエレメントの細かな動き方に至るまで全ての動きに関わる詳細を含めてモーションガイドラインを改良しました。
John Schlemmerが新しいデザインガイドラインのスクープを伝え、GoogleカレンダーやGmailのInboxのようなアプリで彼が行った動きのつけかたを共有します。ぜひご参加ください。

優れたProgressive Web Appsのための優れたライブラリ

Progressive Web Appsはモダンブラウザー上で高速に読み込まれ、オフラインでも素晴らしく動き、革新的にエクスペリエンスを改善しなくてはいけません。このトークでは素晴らしいエクスペリエンスを作るために開発者を支援するGoogleが開発したツールとライブラリーについて紹介します。

Vulkanによりモバイルゲームを光り輝かせ高速にする

Vulkanは完全に効率の良さと前例のないクラスプラットフォームでの利用され、コンピューターグラフィックにパラダイムシフトをもたらすために設計されました。しかし、既存のコードでValkanをサポートするために実際に導入するものはなんでしょうか?このトークではOpenGL ESからVulkanに移行するための理論と、技術のどちらもカバーします。加えてVulkanの長所を最大限に得る方法について一般的な話題も紹介します。

Google I/O 2016で発表される事 二日目

$
0
0
Google I/O 2016で発表されること二日目です。
今年は3daysになったこともあっててんこ盛り感がありますね
より詳細な内容の翻訳はしばらくお待ち下さい。
Google I/O 2016で発表される事 初日
>Google I/O 2016で発表される事 二日目
Google I/O 2016で発表される事 三日目

9:00 日本時間1:00

Andoidのテーマとスタイルの謎を解く


Chrome Developer ToolsはWeb開発者のための強力な機能


AdMobPlatformからより多くの収益を受け取る


全てのフレームワークからアクセスできるProgressive Web Apps


Firebaseセキュリティの鍵


GoogleのVR


10:00 日本時間2:00


音楽再生のベスト解


数十億からアクセスされるWebを作る


ネイティブ広告における優れたユーザー体験を作る


Google Cloud Messagingプラットフォームの要素


Android Development toolsで何が新しくなったか


11:00 日本時間3:00

クロスプラットフォームでのオフライン対応コーディング


優れたユーザー体験を届けるために、Webアプリを高速かつ機敏にするツールとテクニック


Google Cloud Spin:クラウドのパワーにおける停止時間


AndroidのためのGoogle SDK群 技術の深層に潜る


Project Tango開発者パネル


あなたのデータをコンセプトからペタバイトまでスケールする


13:00 日本時間5:00

Espresso 拡張


日本、韓国、東南アジアであなたのゲームビジネスを成功させる


モバイルコンテンツを検索させるエコシステム


Android Development toolsの上級者向けガイド


14:00 日本時間6:00

App Indexing:ユーザーをつなぎ留めておくルール


Google Playでスタートアップが成功する方法


モバイルアプリユーザーの獲得と維持


VRと映画


15:00 日本時間 7:00

生き残ろう 通知と注意をひくための民族的な研究


Android上で数十億人向けのアプリを作る


スケールする位置情報サービスを作る


アプリに最高のUXをもたらす:モバイルアプリデザインの考え


Webコンポーネントを作った1年を受けて実践的レッスン


Project Tangoの何が新しくなったか


16:00 日本時間 8:00

ARTの世界におけるAndroid NDKの性能


Polymerを使ったProgressive Web Appの開発


デザイナーと開発者の対話


Physical Webによる現実世界との軽量な対話


Google Cloud PlatformでFirebaseを加速する


17:00 日本時間 9:00

Androidプラットフォーム井戸端会議


Google.org:障がいを持った人のイノベーションを加速する


19:00 日本時間 11:00

Google Play アワード

Viewing all 342 articles
Browse latest View live