わふうの人が書いてます。

iOSアプリケーション開発、BLEのファームウェアとハードウェア試作のフリーランスエンジニア。

iOS8のvisit monitorin (訪問先追跡)

iOS8のvisit monitoring

iOSは、位置情報取得が初めて登場した時から、電池消費量に注意して設計されています。位置情報を調べる物理手段は、携帯電話基地局、WiFiルータの識別子、GPS などがありますが、アプリケーションが位置情報を取得するときに、どの物理手段を使うかを直接していすることはありません。必要とする位置精度にあわせて、iOSが最適な物理手段を選択して、アプリケーションに位置情報を通知してくれる作りになっています。

毎年新しい位置情報の技術と機能が導入されているiOSですが、iOS8では、visit monitoring という訪問先の自動記録機能が導入されました。これは24時間365日、ユーザが訪問した場所とその滞在時間を記録し続ける機能です。

Githubのサンプルアプリ。visit monitoringで取得したデータをテキストで表示し続けるだけのサンプルアプリです。

https://github.com/reinforce-lab/ObjC_Codes/tree/master/visitMonitoringTest

visit monitoringの使い方はとても簡単です。

iOS8は、位置情報取得の権限が、when in use, アプリが実行されている間のみ(画面表示されている間のみ)と、always, バックグラウンドなど常に取得、の2つにわかれました。

まず、訪問先を記録し続けるなら、アプリケーションが画面に表示されていない時(バックグラウンド)でも情報が取得できなければ意味がないので、常に情報取得する権限を要求します。

CLLocationManagerのオブジェクトにデリゲートを設定して、 requestAlwaysAuthorization メソッドを呼び出し常に位置情報を取得する権限を要求します。初回呼び出し時には、iOSがユーザに権限要求のダイアログを表示してくれます。

Xcodeで、プロジェクトの Capabilities の Background Modes で Location updates にチェックを入れておくのも、忘れないようにします。

1
2
3
4
5
6
7
CLLocationManager *_locationManager;
...
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;

// requesting a permission. NSLocationAlwaysUsageDescription key must be in your app’s Info.plist file.
[_locationManager requestAlwaysAuthorization];

アプリケーションが実行されると、必ず CLLocationManager のステータス変更が通知されます。権限があれば、位置情報取得を開始したいので、この didChangeAuthorizationStatus: のなかで startMonitoringVisits

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
switch (status) {
case kCLAuthorizationStatusAuthorizedAlways:
[_locationManager startMonitoringVisits];
break;
// 権限がない場合は、なにもしない
case kCLAuthorizationStatusAuthorizedWhenInUse:
default:
break;
}
}

- (void)locationManager:(CLLocationManager *)manager didVisit:(CLVisit *)visit {
//ログを残す
[self write:[NSString stringWithFormat:@"%@", visit]];
}

visit monitoringは、イベントが発生するたびに iOSは CLVisitのオブジェクトを渡して デリゲートの didVisit: を呼び出します。訪問場所に入った時点、訪問場所を去った時点それぞれ通知が来ます。

どの条件で訪問したと判定するかはわかりませんが、飲食店や書店あるいはオフィスなど、訪問したことに意味がありそうな場所が通知されている感じはしました。電力消費量は、気になるレベルではない感じです。

位置情報の取得にどんな手段を使っているかは、わかりません。CLVisitの位置精度を見ていると、+-60メートル程度のログをよく見るので、おそらく基地局レベルとWiFiを組み合わせて受動的に取れる範囲の位置情報を使っているのではと思います。もしもGPSを利用しているなら+-20メートル以下になるでしょうから。

いまのiOSデバイスは、少ない電力で動きを常時検出できるように、小さいマイコン(M7/M8プロセッサ)が入っています。それらの動き情報も統合して利用しているのだろうとは思います。

電池消費量を気にするにしても、訪問したと判定した瞬間、その瞬間にGPSをONにしてもよさそうなものだと思いますが、訪問先が屋内であったりすること、必要なものは位置精度というより、お店に立ち寄ったといったイベント情報であれば、GPSという精密な位置情報それ自体に意味を見出さない考え方なのかもしれません。

iOSは、WiFiの識別子を取得する関数がプライベートAPIになっていて、ストア承認されたアプリでの利用が禁止されています。ですがiOS自体は、お店のWiFiだとわかるようなデータベースを持っていたりするのかもしれません(あてずっぽう)。屋内地図のデータ提出受付をしたときには、WiFiやiBeaconを含めて、より詳細な位置情報をAppleつまりiOSが持つことになるのは、確実だと思います。

ただ立ち止まったりしただけでも記録されるかなど、実験してみてもいいのかもしれませんが、めんどいのでパス。

何に使うのか

まず思い浮かべるのは、カレログ、ですが、iBeaconの時にそうであったように、単一のアプリの視点からみても、利用場面は出せないものなのだろうと思います。

Bluetooth Low Energy の時もそうでしたが、Appleは、自社が組み上げるサービスに必要な新しい技術要素を、サービス発表の2年前から出してくる感じがします。おそらく、iBeacon、visit monitoringなどは、iOS8以降の世界を組み上げるのに必要な1技術要素なのだろうと思って、とらえたほうが良さそうです。

SceneKitで遊んでみる

SceneKitで遊んでみる

iOS8にはいった、3Dの何かを簡単に作れるSceneKitで遊んでみた。

キャラクタが画面中央に表示されて、5秒に1回ジャンプのアニメを実行する。BananasAsimpleSceneKitplatforminggame と https://github.com/shu223/iOS8-Sampler のSceneKitのサンプルをコピペでつなぎあわせたようなもの。

感じ的には、three.js で3Dしている方の説明とおんなじ感じだなと思った。せっかくだから、ミクさんのアプリを作ればいいのに、3Dデータ変換方法がわからなくて、断念。

Githubのサンプルアプリ。
https://github.com/reinforce-lab/ObjC_Codes/tree/master/SceneKitDaeExample

https://developer.apple.com/library/mac/documentation/3DDrawing/Conceptual/SceneKit_PG/Introduction/Introduction.html

SceneKit Framework Reference
https://developer.apple.com/library/ios/documentation/SceneKit/Reference/SceneKit_Framework/

3Dデータの変換

https://github.com/ark-project/ark-project にオープンなデータがあったので、サンプルに使わせてもらった。
cheetah3dというMacのアプリで読み込んで、dae形式に書き出して、テクスチャの設定をする感じ。

モデルが最初真っ白だったから、まず左のペインのMマークのマテリアルで、diffuseにテクスチャの画像ファイルを指定。光の放出を意味するEmissionが白だと、やっぱり白いままなので、これを黒に変更、とかすると3Dモデル+テクスチャが表示される。

lapisの3Dモデルは、上腕部がXcodeでプレビュ表示されない。またビルド時にdae形式のアイルを変換するっぽくて、その時にエラーが出てた。なので、モデルファイルはプロジェクトからは削除してある。

ツールによって、ファイルフォーマットの相性とか、データの作り方や命名方法など、実際にやっていくと、いろいろあるんかもね。

SceneKitの使いどころ

3Dのモデルを読み込み、それを表示させたり、アニメーションをさせたり、物理シミュレーションで動かしたりするのが簡単にできるのが、SceneKit。昨年iOS7で導入された2Dテームを手軽に作れる SpriteKit の3D版といった感じ。

3Dゲームを作る環境には、Unity等がある。それに比べて何か利点があるかというと、多分ない。開発環境を見ても、3Dのモデルはプレビューはできるけど編集能力はないし、物理シミュレーションやアニメーションができるけど、現在のところはインタラクティブに確認する機能もないから、ビルドして振る舞いを見るしかない。プラットフォームもiOSかMacOS縛りになる。

Unityを使うほどではないとか、Unityのラインセスをとって学ぶのが大変だとか、Unityを使った人がいないときに、アプリにちょっと3Dを入れたい場合には便利だと思う。3Dのシーンを見せるのに、レンダリングした動画を入れちゃうと、見るだけになるけど、例えばカメラアングルをぐりぐり動かしたいとか、アプリ側から演出したいとか、そういうときに3Dモデル+アプリ的ななにか、をちょっと入れる場面も、使えると思う。

イメージ的には、アイカツ!ミュージックビデオメーカーみたいな。http://app.famitsu.com/20140806_420069/

あるいは、月齢表示とかのアプリなら、月の3Dモデルに太陽と地球の放射光があたっているさまを、表示するとか。

SceneKitのなかみ

プロジェクトのサンプルコードを見たら、そのままだけど。

表示は、UIViewを継承する SCNView 。これのsceneプロパティに、SCNScene のオブジェクトを入れる。ゲームだと、3D画面の上に操作用画面をいれるけど、それはSCNScene のoverlayなんとかに、SpriteKitの画面を入れられるので、それを使うといいっぽい。

SCNScene は、3Dモデルやアニメーションといったデータを保持するクラス。内部のデータ構造は、SCNNode をノードにする木構造。ノードを作っては、そこにカメラとかオブジェクトとかを張り付けていく。木構造の根は、SCNScene の rootNode プロパティ。

3Dモデルのテクスチャには、リソースの画像ファイルや、文字列やら、CALayerやSpriteKitの画面が貼り付けられる。だから、カメラのプレビュ画面がCALayerから派生しているけど、そういうカメラ動画を貼り付けるとか、そんなのも簡単にできる。

OpenGLのレンダラを生で叩くとか、低レベルなところもありっぽい。OpenGLで別で自分で書いたのと融合とか、面白い事が出来る人には、使いこなせるんあろうと思う。

面白いのは、アニメーションの指定がCoreAnimation。ノードに貼り付けた3Dオブジェクトやライトやカメラの、位置や速度や質量や加速度やらをCoreAnimationでアニメできる。また、アニメのデータは dae 形式のファイルに入れたアニメのデータをCoreAnimationとして読みだすことができるので、別にコードで書かなくてもいい。

2次元のUIのアニメだと思っていたCoreAnimationのスキルが、3Dなところでもそのまま使えるのは、汎用的で面白い。

あとはパッと見たところで:

SCNProgram

OpenGL Shading Language (GLSL)で記述したシーエだープログラムを使ってカスタムなレンダリングを実行する。
バーテックスシェーダー、フラグメントシェーダー

https://developer.apple.com/library/ios/documentation/SceneKit/Reference/SCNProgram_Class/index.html#//apple_ref/occ/cl/SCNProgram

SCRenderer

https://developer.apple.com/library/ios/documentation/SceneKit/Reference/SCNRenderer_Class/index.html#//apple_ref/occ/cl/SCNRenderer

すでにレンダラのコンテキストが指定されているアプリに、別のコンテキストを指定できる。EAGLContext object 。

SCNView。カメラグリグリ動かせる、フレームレート(最大60、デフォルト60)、スナップショット。

https://developer.apple.com/library/ios/documentation/SceneKit/Reference/SCNView_Class/

SCNScene。Vihicleのサンプル、オーバーレイが継承している。

SKSpriteNode。2次元の画像。

SpriteKit(2次元ゲームを作るやる)のシーンをオーバレイ。速度メータとか。

1
2
SKScene *scene = self.overlaySKScene
//self はSCNView

SCAAnimationEvent。足音とか、アニメに同期した音

MacとiOSで同じ名前空間

SceneKitとSpriteKitは、MacとiOSで同じ3Dなものを同時開発するのに、便利だと思う。iOSとMacで、名前空間が同じでAPIも同じように振る舞うから、画面サイズが違うだけのなにか、として開発できる。

色を扱うとき、MacだとNSColor、iOSだとUIColorだけど、こういう些細な差分は SpriteKit の SKColor を使えば吸収できるようになっている。SKColor は ifdef で、NSColor と UIColor を切り替えているだけのものだけど、標準のSDKで名前の些細な違いを吸収する仕組みが入っているのが、いい感じ。

色以外にも、いろんな違いがあるんだろうけど、そこまで詳しくないからしらない。

PlayGroundで使えるの?

PlayGroundは、Swiftで簡単なコードを作り、その場で実行して結果を確認できるXcode6の新機能。3Dモデルの読み込み結果及び簡単な動作確認やパラメータの調整に使えると便利だろうと思ったけど、2014年10月3日に、Maverickでの、Xcode6.0.1およびXcode6.1beta(2014年9月30日時点)の2つの環境では無理っぽい。

何が無理っぽかったかというと:
2つの環境で、 MyPlayground.playground を実行してみる。これはiOSをターゲットにしたPlayGroundでの、SceneKitのサンプルコード。

アシスタントエディタを表示(View->Assistant Editor->Show Assistant EditorをON)にすると、実行画面が確認できるけど、

2014-10-03 12:37:51.185 MyPlayground[11251:1205362] Error sending deferral props: 0x10000003

こんなエラーが出る。iOS dev forumをみても、同じようなエラーが報告されているけど、対処はわからない。

iOSターゲットがだめなら、Macターゲットならどうだと思って、そんなPlaygroundをつくろうとすると、Xcode6.0.1はMacのPlaygroundにまだ対応していない。仕方ないので、Xcode6.1beta を入れてMacターゲットで実行しても、エラーはでないけど、なんか表示画面が真っ黒のままで表示されない。

よくわかんない。ツールの問題ということにしておきたい。そのうち動くんじゃないかしらと思う。

リソースの管理

3Dのテクスチャやモデルを管理するなら、アセットにしておくと便利。フォルダを適当に作って、そのフォルダ名に”.scnassets”という拡張子っぽい名前をつけて、Xcodeに放り込めば、アセットとして扱ってくれる。

リソースファイルを追加したいときは、そのフォルダにファイルを放り込めば、自動でXcodeに反映される。

モデルとアニメのファイルはフォルダ構成で区別してやればいい。
例えばサンプルプロジェクトは art.scnassets/characters/explorer/run みたいにして、冒険者のキャラクタの走る場面のアニメーションファイルを入れている。

3Dモデルデータ

Xcode6は、Colladaファイル(.dae)という形式で3Dモデルを読み込める。”Import COLLADA 3D objects and build scenes composed by cameras, lights, and meshes. “ だそうだ。

Colladaファイルは、非営利技術コンソーシアムのクロノス・グループが管理していて、”COLLAborative Design Activity” の略。対話型3Dコンピュータ・グラフィックス・アプリケーション間の、交換用のファイル・フォーマットで、その中身はXMLファイル。バージョン? 1.4で物理学(Physics)、摩擦係数とかが追加されているらしい。カメラとかアニメーションデータとかも1つのファイルで扱えるので便利。

ミクミクダンスとかのファイルをdaeに変換して読み込むフローがつくれると、iOSアプリでお手軽ミクさんフローが作れていいなとおもったけど、MMDの形式をdaeに変換する方法がわからないから、断念。

daeファイルを動的に読み込む方法

ゲームとかだと、データファイルを後からダウンロードさせたいときがある。そのとき、daeファイルが読み込めないとエラーになることがある。

Mac OSだとdaeファイル自体を読み込めるが、iOSのSceneKitは、前処理されたdaeファイルしか読み込めない。http://www.the-nerd.be/2014/11/07/dynamically-load-collada-files-in-scenekit-at-runtime/ ここに詳しく書いてあるように、xscassetsの前処理を自分でコマンド実行して、その結果ファイルを使わないといけない。

/Applications/Xcode.app/Contents/Developer/usr/bin/copySceneKitAssets product-1.scnassets/ -o product-1-optimized.scnassets

ここ、結構引っかかるので、めも。

iOS8の高度計(気圧計)

iOS8の高度計(気圧計)

iPhone6 Plus および iPhone6には、気圧計が入っています。

今どき気圧計は高精度で、気圧の値の変化から、1メートル程度の高さの変化が十分にわかります。これがあると、例えば、ユーザが今ビルの何階にいるかがわかるわけです。

サンプルコードはこんな感じ。

1秒に1回の頻度で、気圧値が更新されて通知されてきます。相対高度(relativeAltitude)は、前回の通知から今回の通知までの高度の変化分を通知しています。今の実装は、おそらく、単純に気圧値の差分に定数をかけるとか、そんな感じなのかもしれません。

更新頻度を指定する方法は、今のところないみたい。

ハードウェから見ると、iPhone6の分解 http://www.techinsights.com/teardown.com/apple-iphone-6/ から、センサは Bosch Sensortec BMP280 Barometric Sensor

仕様を見ると、動作範囲(full accuracy) 300 ~ 1100 hPa、平均測定時間 5.5ミリ秒、分解能0.01 hPa (< 10cm)、温度 0.1度、絶対精度(950 ~ 1050 hPa) +- 1hPa、相対精度 +ー0.12 hPa (高さ+ー1m相当)。 (1hPa(ヘクトパスカル) は 100パスカル。)

センサの仕様から、今の振る舞いは、ほぼセンサの値をそのまま利用する単純な実装をしているのかな、と思いました。

Githubのサンプルアプリ。
https://github.com/reinforce-lab/ObjC_Codes/tree/master/barometer

ここの気圧と高度の計算式で、標高ゼロメートル、温度27度(絶対温度で300K)のときに、1mあたりの気圧の変化は、11パスカル。

http://keisan.casio.jp/has10/SpecExec.cgi?path=05000000.%95%A8%97%9D%8C%F6%8E%AE%8FW%2F02100100.%92n%8Aw%2F12000200.%95W%8D%82%82%A9%82%E7%8BC%88%B3%82%F0%8Cv%8EZ%2Fdefault.xml

アプリの値の変化を見ていると、たしかにそれっぽい感じで、とれている。

ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@interface ViewController () {
CMAltimeter *_altimater;
bool _isFirstSample;
double _currentValue;
double _averageValue;
double _altitudValue;
}

@property (weak, nonatomic) IBOutlet UILabel *currentValueTextLabel;
@property (weak, nonatomic) IBOutlet UILabel *averageValueTextLabel;
@property (weak, nonatomic) IBOutlet UILabel *variationValueTextLabel;
@property (weak, nonatomic) IBOutlet UILabel *warningTextLabel;
@property (weak, nonatomic) IBOutlet UILabel *altitudeValueTextLabel;

@end


@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.
_isFirstSample = YES;

self.warningTextLabel.hidden = [CMAltimeter isRelativeAltitudeAvailable];
if([CMAltimeter isRelativeAltitudeAvailable]) {
_altimater = [[CMAltimeter alloc] init];
[_altimater startRelativeAltitudeUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAltitudeData *data, NSError *error) {
[self altitudeDataHandlr:data error:error];
}];
}
}

-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];

[_altimater stopRelativeAltitudeUpdates];
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

-(void)altitudeDataHandlr:(CMAltitudeData *)data error:(NSError *)error {
if(error != nil) return;

double altitude = [[data relativeAltitude] doubleValue];
double pressure = [[data pressure] doubleValue];

_currentValue = pressure;
_altitudValue = altitude;

if(_isFirstSample) {
_averageValue = pressure;
} else {
_averageValue = 0.1 * _currentValue + (1 - 0.1) * _averageValue;
}
_isFirstSample = NO;

self.currentValueTextLabel.text = [NSString stringWithFormat:@"%1.5e", _currentValue];
self.averageValueTextLabel.text = [NSString stringWithFormat:@"%1.5e", _averageValue];
self.altitudeValueTextLabel.text = [NSString stringWithFormat:@"%1.3e", _altitudValue];

}

iPhone6ぶっちゃけ雑談

iPhone 6買ったので雑感を書いてみる。

ハードウェア

箱をあけて手にとってまず思ったのは、カメラ周りの作りが、あまりにも雑だと思った。レンズは本体から飛び出ているし、レンズ周りの金属パーツはやたら余裕がなくて樹脂部品と近く、あまり美しいものに見えない。

iPhone6のスペースグレーを買ったのだけど、樹脂部品の色も何とも言えない灰色で、全体から見ても美しい色には見えない。確かにハードウェアの性能高いのであろう。だがこれに7万の金を出すようなものに見えなかった。

実際に手に持ってみるとどうだろう。液晶のガラスは微妙にカーブしていて、持ち心地が良い。だけどテキストを打とうとすると、キーボードが下のほうに出てきて、片手持ちでは指が届かない。

テキストタイプ

それでも無理に指を届かせてタイプするのだけれど、本体の重心が真ん中にあるのに本体の下を持つものだから、重心が手のひらから外に出てしまう。だからうっかりすると本体落としそうになる。とても不安定で使っていられない。

仕方がないから左手で本体を持って、右手でキーボードタイプするのだけれど、今まで片手でできていたことが片手できなくなって、とても不満に思う。

横方向に持って使えばいいのだろうかと思って、そのように使ってみるのだけれども、メモ帳などのアプリは回転に対応していても、ホーム画面が回転に対応していないから、なんとも使い勝手のバランスが悪い。

だからホームに戻るとアプリのアイコンが変な具合に並んでいるようにしか見えなくて、やっぱり使いづらい。

アプリの画面設計

改めて全体を考えてみると、もともと手のひらに収まる小さい画面で便利に使えるように設計された、iOSのUI、それを無理やり5インチに引き延ばしているのだからそれが不自然ないわにならないわけがない。

そうやって全店がそうやって画面を見てみると、キーボードわかめサイズが大きくなったのに比例してそのまま何も考えずに大きくなっていて、指のサイズに日間に合わなくて使いづらいし、ナビゲーションバーは画面の上に表示されるから、指を大きく伸ばさないと達することすらできない。

新規にインストールしたiOS8のメールアプリにGmailアドレスを登録したら、メールが来ないし、メールは送信できないし、設定アプリは突然終了するしと、iOS自体の完成度にも疑問を感じる。iPhone6についてきたGarageBandの楽器アプリなんて、起動したら直ちに落ちるし。何この質の悪さ、と思っちゃう。

今までのiPhone体験は、ユーザインタフェースと本体ハードが統合してデザインされていて、とても自然な使い心地で毎日使うことができた。このiPhone 6はその自然な体験を全て台無しにしてしまった、そう思った。

iPhone6plusがなければiPhone6は売れなかったのでは

iPhone6のほうが6plusより数量が売れているそうです。実際に手にとって、6か6pかと言われたら、それはそうだろうと納得です。

では、もしも6plusを発表していなかったら?

きっと、iPhone5sに比べて片手で操作できない、いままでのiOS体験を台無しにするこんな機種を誰が買うのか、と散々な評価を与えられたと思う。裏面の雑な仕事は、その着火剤と燃料に十分成り得た。でも、より大きな6plusがあって、それとの比較で、6か…となるこの流れ、Appleはユーザ体験の設計が絶妙だと思う。

でも買うならiPhone

でも、買うならiPhone6、おすすめ。

キャリア買い上げ価格を見てもわかるように、iPhoneが顧客釣り上げツールに一本化された象徴デバイスとなったことで、カバーを付けて利用して2年後外観が新品同様だったら、1/2金額で下取り。これはAndroidであり得ない、やすさの源。

2GBのパケットプラン(今はキャンペーンで1年間ほど+1GBの実質3GB)+音声定額なら、3キャリアどこを選んでも月額6500円。その月額からの割引の合計で、iPhone6 16GBの実質価格が0円になる。2年後にそれが3万円程度で下取りしてもらえるなら、2年間の端末利用代金は、キャリアの月額に含まれていて、2年間新品同様に使っていたら3万円のキャッシュバックが得られる形態と見える。

この料金プランは、とても合理的。MVNOでiij みおふぉんを利用して、(いまは4GBに増量されているけど)2300円ほどの月額プランで運用すれば、2年間の本体込の合計利用額は、3キャリアの合計金額の-3.5万円ほど。だから本体が2年後に3万円程度で下取りしてもらえるっていうことは、接続やテザリングに不安のない通信ブランドを、実質MVNO料金で使えるってこと。

お金の流れをみて、正しく土管をやってるな、そう思う。

auは、国内ではSIMロックだけど、海外SIMを挿したら使えちゃう?、これ海外SIMに対してはSIMロックフリーなの?みたいなのをみたり、ソフトバンクにいたっては、アメリカ放題とかいう、なんかもう訳の分からないサービスまで登場して、国内ではお互いSIMロックで戦うけど、それ武器にしたら、海外に行くユーザには総スカンだよね、みたいなところも手当してるっぽい感じが、面白い。土管やってるなって思う。(ただしドコモは除く)

つまり、月額6500円(2GBのパケット+音声定額+端末利用権 込)で、2年間綺麗に使ったら3万円のキャッシュバック。実質月額、ぜんぶこみこみ5250円。2014年7月の二人以上世帯の通信費(固定を含む)平均支出が年額1.5万円だから、その金額の範囲に綺麗に収まる。古い本体を保持しないといけない開発者の方々は、儲けの道具、経費で買えるのだから、そのところは養分になってください。

iPhoneは、実質、実際安い。

だけど、それはブランド力あってのこと。

売上の絶対額って、超重要だから、3.5万円で下取り前提なら7万円という他社+50%価格が納得できるって仕組み、とても大切。それを納得させる理由に、今まではブランドが使えたけど、いまでは”安物ではないけど、実際安い”やんな。この背面デザインでその仕組、来年も続けられるのかしら?

それともケースをつけて利用するから、問題がないのかしら。電車で使ってても、もはやiPhoneなのかAndroidなのか、わからないし、わかる必要もない時代なのかもしれない。

こうしてみると、ハードウェアが正しくゴミになっている

こうしてみていると、ハードウェアは、正しくゴミになっている。普通なら、型落ちで新品の機種を買ってキャリアは別途通信プラン契約で使うのが最安の利用方法になろう。だけどiPhoneの場合は、常に最新機種を持つことで、2年後の高い下取り価格と月々割による実質本体ゼロ円で、日本では最安のスマフォになっている。

iPhoneのシェアが高いのは、単に最安だから。その最安を支えているのは、キャリアのユーザ獲得合戦があって、高い下取り価格と月々割による実質ゼロ円が維持されているから。そのユーザ獲得合戦にiPhoneが使われているのは、毎年1機種を決算セールの9月に出してきて、売りやすいから。

だから、型落ちを買う必要はない。何も考えず、常に最新機種が出れば脊髄反射で購入して、2年後に下取りにだせばいい。それが、最もお得。いままでのiPhoneと同じよに運用されているなら、ひどいOSのバグで悲惨な目にあうことは、少ないだろうし、例えばバグに遭遇しても世の中の大部分の人が、同じバグに遭遇しているのだから、”いやぁiPhoneのバグで困っちゃいまして”って、逆に話題にできる。これがAndroidだったら、馬鹿か?バグのない別機種買ってこいよ、の一言で切り捨てられる。

いろんな要素が、うまく噛み合っている。うまい。

新しいアプリの体験

iOS8のヘルスアプリという新しいアプリの見せ方も不自然だ。Bluetoothのエナジーの心拍センサーを身に付けているがヘルスアプリ自体がデータを吸い上げることがない。だから一般ユーザーにはこれがどう使うものか伝わることはないだろう。新しい体験を伝えずにアプリだけ置いて不自然なやり方だと思った。

なぜこんなiPhone 6を発売しただろう、今までのiPhone体験が全て台無しになったような気がして理解すら覚えた。

音声入力からみると?

簡単に体験できるから、一度試してほしい。

設定アプリから、一般 - Siri とたどり”Hey Siri”を許可を、ONにする。そしてiPhoneを電源に接続して、ホーム画面も何も表示されていないところで、へい、しり、と話しかけてみる。そうするとSiriが起動して、音声コマンドを受け付けてくれる。

仕事に便利よ

25分仕事して5分休むを繰り返すポモドーロっていうテクニックがあるけど、”へい、しり。25分後に知らせて”で25分タイマーが起動するから、そういう使い方に、むちゃくちゃ便利ですよ。

音声テキスト入力?

Twitterのアプリを起動して、音声入力でツイートしてみるとその考えが、違うものになった。

iPhoneを左手に持って音声でテキスト入力する。iPhoneは力は音声がリアルタイムに認識されて入力されていく、その精度が非常に高い。だから指でいちいちテキスト入力しなくても普通に使える。もうテキストタイプするその使い方自体が時代遅れなのかもしれない。

だからアップルが時計を発売したらそれには必ず音声入力と出力を機能として追加しているだろうから、メールメール11位は声だけで終わってしまうじゃないかな。

今までのiPhone 5sそれとiOS 7だと入力がリアルタイムではなかっただからいちど話してそれが認識される結果をまとめて食べていけない。だから正しく入力されたのかとても不安になるしつまり使えない。

iOS 8ではHomeKitと言う家電操作のAPIが搭載された。あれはまさに音声入力で操作するものだから、常時Siriが起動していて、声だけで操作するという世界それが次のiOSの目指して世界なのかもしれない。

でもこのSiriの音声認識の精度が非常に高い強い。特にリアルタイム性がヤミツキなるほど高い。本体自体音声認識をやっているんだろう、辞書自体も本体中に持っていてサーバーへのアクセス自体をあまりつかわなくなって、できるのかもしれない。

だから音声入力端末だと思ってしまえば左手で端末を固定してニュークス分だけだからものすごく快適になる。

だから結論として、いままでのiPhone体験をiPhone6で得ようと思うと、ものすごいフラストレーションを感じる。これじゃない。

でも、音声入力を体験すると、全く違う新しいものがそこにある気がする。

もちろん街中で音声入力を使うのは、今は心理的な抵抗感があるだろう。花粉症のマスクが街中で見られるようになった程度に、変化しうるのかもしれない。

不特定多数がいたらダメじゃないかと思うかもしれないが、声質から個人を特定するのは、難しい技術じゃない。

今の時代になってみれば、できない理由は一つ一つ解決可能で、ただそういう習慣がないから、そうしていないだけ、に思える。

新しい時代にあわせて設計されたから、このiPhone6は、従来のiPhone体験からしたらこんなにひどいものなんだとしたら、それは面白そうだなと思う。

この文は、音声入力で書いてます

さすがに無修正そのままというわけではありませんが。
メモ帳で音声入力で書いたものを、誤字をちょっと修正、キーボードで追加して書いてます

あともう一つ、なんでシームレスさが話題にならないのか

iOS8の解説で、iPhoneの電話がiPadに伝わるとかのYosemiteでも体験するだろうシームレスさ、それはBLEも利用して初めて実現できるものだけど、が全然取り上げられてないの、iPhone登場時のiTunesを取り上げないみたいなもんだと思う

iOSのシームレス、というか、同じ持ち主のものなら、同じだよねっていうこの空気感、クラウドっていうより雰囲気感、見えないものを受け取る第6感な感じ、iOS8の真骨頂の1つだろうに

さいごに:ごめんねAppleStore

iPhone6を20秒触って、あまりにも頭にきたから、SIMロックフリーのiPhone5sをAppleStoreでポチったけれど、あまりの怒りに最大容量を選択しても32GBしかないことにすら気付かずに注文してしまって、AppleStoreさん、ごめんなさい。

iPhone6は、片手で使おうとしたら、こんなものいらないけど、机において音声入力専用にする別の世界のデバイスだと思えば、ありだと思ったので、新しい時代には新しい器をと、これを使おうと思います。

もう注文キャンセルできなくて返品するしか対処方法はないのですが、AppleStoreさん、ごめんなさい。

おまけ

いままでのiOSがとても楽しかったので、こんなあれこれを考えたり書いてみたりしているけど、実際のところは、世界で大画面なファブレットもラインナップに必要だよねで、たんに6/5/4インチの製品ラインナップを作ったら、4インチのはプロセッサの性能や画面など、技術的な要素で+20%アップみたいなことが言えなくて、6と5インチラインの製品だしました、だけかもしれないけどね。

毎年、1つのロードマップで、数値を重ねて、より素晴らしいものが出るという、これまでの体験は、この横並び並列製品群化で、無効になっているから、来年からはiPhone Air/ iPhone mini / iPhone みたいな名前で、iPad mini みたいくRETINAとか、なにか特徴を表す単語を1つつける名称方式に、変えてきたりして。

iPhone6plus-sとか、どーかんがえても、ありえんでしょ。

中国で売るためになら、なんでもやりそうだし。

参考資料: iPhone6予約時に検討した2年間利用総額の計算メモ

auをiPhone5で2年間利用している場合の計算メモ:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
iPhone6 64GB, 月2~3GBのパケット利用 (めんどいので消費税は8%)
音声通話あり、SMSあり(2段階認証のために)

au:機種変更
本体: 85320円 (消費税 6826円)
月々割: 2410円x24ヶ月
月額: 基本2700円+データ定額2 3500円+LTE NET 300円 = 6500円 (消費税 520円)
(別に1年間の+1GBの特典あり)
2年間利用総額:
本体 83320+6826 +(6500 + 520)x24 -2410x24 = 200,786円
もしも1.5万円割引クーポンがあれば:
200,786円 -15,000 = 185,786円

IIJのみおふぉん:
初期費用: 3240円(税込み)
月額:2GB/月 2397.6円(税込み)
au MNP転出手数料: 2000円(消費税 160円)
本体: 79800円 (消費税 6384円)
2年間利用総額:
本体 79800 + 6384 + 月額 2397.6 x 24 + 初期 3240 + MNP転出 2160 =149,126円

差額3.7万円くらい
テザリングと2年間の音声通話分で月1500円なら、同等くらい?

ドコモ:
本体 86832円 (6946円)
2GB: 月額 2700円+ISP 300円 +3500円 = 6500円 (消費税 520円)
月々サポート 3078円
2年間利用 本体 86832 +6946 +(6500 + 520)x24 - 3078 x 24 = 188,386円
MNPの手数料:2100+3150 = 5250円

2GBでは繰り越しがないのよね。

Recent trend of iBeacon in Japan

iBeacon is one and the only one powerful tool for sending a event trigger to an iPhone be meters away from a beacon. I introduce recent trend of iBeacon in Japan, because I have not read an article like this in English, yet.

I talk about beacon manufacturing companies, services that uses iBeacon, and application delopers (iOS and server applications) communities in Japan.

iBeacon manufactureres

Aplix Corporation http://www.aplix.co.jp, translated by Google transate, has been proving beacons since October 2013. Their beacons, product page, translated page, are resonable prices and very unique.

Power efficient beacon

The “MyBeacon ™ Pro MB004” is a low cost beacon that starter Pack (10 units included) 10,000 yen, 500 yen / unit 20,000 Lot.

Usual beacon has only one bluetooth single-mode module. It is required to receive RF-signals (scanning requests and connection requests) after transmitting advertising packets (beacon packets). This results in large power consumption.

Their beacon has two modules as shown in the picture. One module works in non-connectable mode that it never listens for scanning requests and connection requests after sending beacon packets. Therefore power consumption is minimum.

The beacon can be configured over BLE through the other module which is connectable and its advertising interval is long to minimize power consumption.

Touch solutions

This beacon provies touch solutions similar to NFC. Touch interactions is very popular in Japan, for example Osaifu-keitai http://en.wikipedia.org/wiki/Osaifu-Keitai. However using usual beacon that sends radio wave, trasmission distance is about one meter even when transmission power is very small. Their touch solution beacon probably uses leaky cable as an antena.

Beacon module to combinate with sensors

An beacon connected to sensors is the key device to connect the everythings of the world to the internet. This module is for the people who want to make products and services of the original by connecting the sensors and switches.

iBeacon contents management systems

ACCESS CO., LTD. http://www.access-company.com provies beacons and contents manage systems http://jp.access-company.com/news_event/archives/2014/20140130/, translated by Google.

Services

The first service using iBeacon appears in a restaurant nearby Shinagawa station on March 2014 https://translate.google.co.jp/translate?hl=ja&sl=ja&tl=en&u=http%3A%2F%2Fiphone.ascii.jp%2F2014%2F03%2F26%2F32432432%2F.

Their service uses iBeacon to simply detect customers are in the restaurant. Customers can get some coupons and place an order using the iOS application. As we know, iBeacon is not suitable technology for precise indoor position detection. They uses QR 2-d barcodes to identify customers table number.

An indoor navigation using beacons in Shibuya station https://translate.google.co.jp/translate?hl=ja&sl=ja&tl=en&u=http%3A%2F%2Fk-tai.impress.co.jp%2Fdocs%2Fnews%2F20140325_641086.html .

When they started the trial on March, they said they used beacons probaly because they had not be licenced MFi(iBeacon). But they probably use iBeacon now.

A more sophisticated iBeacon smart order service has emerged on June 26 https://translate.google.co.jp/translate?hl=ja&sl=ja&tl=en&u=http%3A%2F%2Fweekly.ascii.jp%2Felem%2F000%2F000%2F232%2F232144%2F .

iBeacon developers

Smart cushion using iBeacon https://translate.google.co.jp/translate?hl=ja&sl=ja&tl=en&u=http%3A%2F%2Fjapanese.engadget.com%2F2014%2F04%2F27%2Fibeacon-ios%2F&sandbox=1 .

An iBeacon handbook written in Japanese.

iOS8でのiBeacon活用

WWDC2014のプレゼンテーションから、iOS8での/iOS8からのiBeaconの活用方法をまとめてみます。

すでに iOS8で正体を現したAppleの屋内位置測位。iBeaconは第一形態だった。Maps Connectとは? #WWDC14 で詳細に記述されていますが、重複しつつも改めてまとめてみます。

資料

開発者向け情報:

iBeaconの開発者および敷設と管理者向けの一般情報:

iBeaconの設置および建物の所有者向け:

  • https://mapsconnect.apple.com 屋内地図の登録申請が始まっています。Apple IDでログインできます。所有する建物や図面フォーマットなど屋内マップに必要な情報が項目にあります。

建物の所有者向けの情報、iOS8に向けた準備

建物所有者がiOS8に向けてできることは:

  1. WiFiやiBeaconを含めた屋内地図の登録申し込みを始める,
  2. iBeaconの設置計画をたてる,
  3. 屋内ナビゲーションアプリをリリースするならばアプリケーション開発を始める,

です。

WWDC2014では、iOS8の屋内測位についての明確な技術情報は提供されてはいません。プレゼンテーションでは、位置情報を提供するフレームワークが、CLFloorクラスという建物の階をアプリケーションに伝える機能が追加された、屋内ナビゲーションアプリを作成するときに緯度経度と地図画像の座標変換を楽にするヘルパー関数が提供される、発表があった程度です。

Appleの地図アプリへのデータ提供

https://mapsconnect.apple.com では屋内地図の登録申請が始まっています。このサイトには、開発者でなくとも一般的なApple IDでログインできます。所有する建物の住所および提出できる図面フォーマットや屋内測位に使えるWiFiやiBeaconを設置しているかなどの、屋内マップ作成に必要な情報が項目にあります。

これはAppleの地図アプリケーションに屋内マップ表示を取り込むためのものだと思われます。特に駅や空港などの公共機関は、地図データの登録のやりとりを早く開始すべきでしょう。

屋内地図を使う場面には、ユーザの現在位置表示が必要です。GPSが届かない屋内での位置推定は、カーナビゲーションと同じように加速度センサなどを活用した慣性航法を提供するかもしれません。ですがこの方法は誤差が積分されていきます。その補正にWiFiやiBeaconの屋内の電波状態を使うと思われます。

WiFiは通信環境を構築するために設置しますから、特に屋内ナビゲーションのために何かをすることはないでしょう。ただし、iBeaconはWiFiよりも電波が届く範囲を小さく設定するなど自由度が高いですから、ユーザが必ず通過しかつ移動範囲が限定される入り口などにより集中して設置することで、初期位置の補正に有効に使えます。

建物へのiBeaconのビーコン設置は、電池ではメンテナンスが手間でしょうから、電源配線が必要になるでしょう。またビーコンの設置そして動作していることをモニタリングする仕組みも必要になります。

屋内案内のアプリケーション開発

例えば百貨店などでは、屋内位置がわかるだけでは不十分で目的のお店の位置表示およびナビゲーションが必要になります。配置が頻繁に変更されるテナントの詳細情報までは、Appleへの屋内地図データ提供では対応しきれないでしょう。このような場合は、専用のナビゲーションアプリケーションの開発があります。

iOS8は、アプリ屋内案内のアプリケーション開発を手助けする屋内案内地図表示のヘルパ関数を提供しています。しかし、アプリケーションが開発できても、問題はユーザがそのアプリケーションをどうやってインストールしてくれるかです。

iOS8は位置に紐付いたアプリケーションのインストールに:

  • AppStoreのnear-me,
  • ロック画面のアプリまたはAppStoreアイコンの表示,

を提供します。

AppStoreのnear-meは、AppStoreアプリのタブ”近くで人気”のことです。その場所で人気のアプリケーションを表示するので、例えば先ほどの百貨店のアプリケーションは店舗の近くでアプリケーションが表示されます。アプリケーションと位置の対応付けを、アプリケーション提供者が設定できるかなどの仕組みは、不明です。

iOS8からは、ロック画面にその位置に関連するアプリケーションのアイコンまたはAppStoreのアイコンが表示されるそうです。これも、どのように関連付けされるのか、また設定ができるのかはわかりませんが、わざわざユーザがAppStoreを開く手間を省くことを提供すると思われます。

この新しい屋内位置案内は米国内で順次提供が開始されるそうです。近々には

  • California Academy of Sciences, San Francisco
  • Westfield San Francisco Centre, San Francisco
  • Mineta San Jose International Airport, San Jose

だそうです。

開発者向けの情報

iOS7で開発したアプリケーションはiOS8で動作するか

動作するはずです。

iBeaconに関係するCoreLocationのAPI自体は変更はありません。ただしiOS8では位置情報のユーザ認可(authorization)が変更されています。ストアのiOS7対応のアプリケーションをiOS8のデバイスにインストールした場合は、のちに述べるAlways authorization で実行されます。

iOS8でのiBeaconアプリ開発

iBeaconに関わるCoreLocationのAPIは、iOS7とiOS8で変更はありません。

ただし、iOS8では位置情報のユーザ認可(authorization)が変更されています。iOS7までの位置情報のユーザ認可は1つだけでしたが、これがiOS8では、アプリ実行時およびバックグラウンドで常に位置情報を取得できる Always authorization と、アプリが実行状態の間だけ位置情報を取得できるWhenInUse authorization の2つに分離されます。

位置情報の利用認可ダイアログに表示するテキストを指定する Info.plist のキーおよびauthorizationの要求のAPIはiOS8で廃止されます。iOS8では、Always authorization および WhenInUse authorization それぞれに対して、ダイアログに表示するテキストを指定する Info.plist のキー値およびCoreLocationのAPIが追加されています。

Always authorization と WhenInUse authorization

WhenInUse authorization は、Continuous Updatesを受け取れます。アプリケーションが表示されている間に、CLLocationの位置情報取得を実行できます。

Continuous Updatesは、Location , Background , Location Ranging の3つです。WhenInUse authorizationでも、バックグラウンド状態での位置更新情報が受け取れることに注意します。WhenInUse authorizationはアプリケーションがフォアグラウンドの間しか位置情報取得の開始/停止はできませんが、バックグラウンドでの位置情報の取得はできます。

Always authoriazationは、Continuous Updatesに加えて、Location Monitoringもできます。Location Monitoringは、Region monitoring、Significant location changesの2つです。

いずれのauthorizationでも、アプリケーションが最初に位置情報を要求した時に、ユーザに位置情報利用認可ダイアログを表示します。Always authoriazationのときのみ、数日後にこのダイアログが再度表示されます。プライバシーに配慮して再度確認するようです。

iBeaconを使うアプリケーションは、レンジング(ranging)および領域監視(region monitoring)を使うでしょう。もしもアプリケーションが表示されている間だけiBeaconを検出するならば、WhenInUse authoriazationでよいでしょう(未確認)。領域監視も使うならば Always authorizationが必要です。

iOS7向けに開発されたアプリケーションがiOS8なiOSデバイスにインストールされた場合は、Always authorization とみなされますから、領域監視をするアプリケーションでもそのまま動作するはずです。

その他WWDC2014ののセッションメモ

その他、What’s New in Core Location, Session 706 での要点メモです。

新しくはいった機能は3つ。

  • Location authorization
  • Visit monitoring
  • Indoor positioning

Location authorizationは上記で述べたので省略。

UILocalNotification が位置をトリガーにすることができます。

1
2
region-based triggering。
@property(nonatomic,retain) CLRegion *region;

MKMapViewに、現在のユーザ位置を表示するかの設定が入ります。

1
2
MKMapView
@property (nonatomic) BOOL showsUserLocation;

Web viewsに、To allow web content that uses HTML5 geolocation

また訪れた場所を24時間/7日モニタリングしつづけられるVisit monitoringが新しく加わります。ユーザがある場所に到着/出発したタイミングで、到着時間/出発時間また位置と位置精度が通知されます。

1
2
3
4
5
6
7
8
9
10
11
12
@interface CLLocationManager (CLVisitExtensions)
- (void)startMonitoringVisits;
- (void)stopMonitoringVisits;
@end

CLVisit
@interface CLVisit : NSObject <NSSecureCoding, NSCopying>
@property (nonatomic, readonly, copy) NSDate *arrivalDate;
@property (nonatomic, readonly, copy) NSDate *departureDate;
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property (nonatomic, readonly) CLLocationAccuracy horizontalAccuracy;
@end

Taking Core Location Indoors,Session 708 の要点メモ。

Wi-Fi on, device unlockek すれば 建物の階がわかる。

ヘルパー関数は:

  • MKMapPointForCoordinate
  • MKMetersBetweenMapPoints
  • MKMetersPerMapPointAtLatitude
  • CGAffineTransformMakeScale
  • CGAffineTransformMakeRotation
  • CGPointApplyAffineTransform

雑感

Visit monitoringなんて、何に使うのでしょうね。

iOS8と雰囲気の世界

iOS8の発表を見ていると、雰囲気をキーワードにするとおもしろいと思ったので、メモしてみます。

2014年になって、O2O (Online 2 Offline)、ウエアラブル、そして身の回りのモノや現象がネットとリアルタイムで同期するIoT (Interne of Things)が話題になっています。スマートフォンの可能性がひと通り探索しつくされて、他社よりもよりユーザの目を奪う、ユーザの時間を獲得できる手段はなにかを求めているためだろうと思います。

雰囲気とは

辞書をひくと、雰囲気は、その場にかもし出されている気分やムード、または天体をとりまく大気のことを指します。ここでは、なーんとなくただよっているムードとでもしておきます。

雰囲気は、自分が感じ取るものと、自分が出す場合とがあります。雰囲気を感じ取ったら、それをそうだねと黙って感じ取るだけの場合と、なにかしらの反応を返す場合があります。

iBeaconは雰囲気そのもの

iOS7で新しいローケーション技術としてiBeaconが導入されました。これはiOSデバイスが常時Bluetooth Low Energy技術を利用したビーコンに反応する技術です。例えば、自社のアプリにビーコンの処理を入れておけばユーザが店舗に近づいたときに設置されたビーコンを検出して適切なタイミングで適切な通知を送れるため、O2Oの切り札として注目されています。

iBeaconは雰囲気そのものです。ビーコンが出す側、iOSデバイスが感じ取る側です。反応するのはビーコン検出を実行しているアプリケーションです。ビーコンが周囲に出している情報をiOSデバイスが嗅ぎ取ります。iOSデバイスは常時ビーコン検出をしていて、検出したビーコンが検出条件に一致すればそのアプリケーションに通知します。

アプリケーションがビーコンに反応して出せる反応は、iOS7では微妙です。iOS7はユーザが画面を見ることが前提だからです。たとえローカル通知でロック画面に情報表示ができても、iOSデバイスがポケットの中にあっては意味がありません。かといって音や振動で通知すれば、迷惑だと嫌われます。

iOS7は、ロック画面を表示した瞬間にビーコンを検出する、notifyOnDisplayというiBeacon独特のバックグラウンド検出モードがあります。これはiOSデバイス単体でかつユーザが画面を見る利用場面が前提のiOS7にあわせた、うまいモードです。

でも、これではちょっと不満です。

iWatchが使うだろうANCSは、雰囲気を伝えるもの?

実はiOS7にはApple Notification Center Service (ANCS)という機能が入っています。

これはiOSの通知情報をそのまま、Bluetooth Low Energyで、周辺デバイスに流す仕様です。雰囲気メガネがこれを使って実装されています。

iOS5から導入されたCoreBluetoothフレームワークで、iOSアプリケーションは任意のBluetooth Low Energyデバイスと直接通信ができるようになりました。このおかげでガジェットを販売するベンチャーがたくさん誕生してきたのです。

しかし、iOSの通知情報はiOSアプリケーションからは取得できません。それはiOSだけが知っている情報です。このANCSは周辺デバイスにその通知情報をたれながす仕様です。発売が噂されるiWatchのように、ウエアラブルと呼ばれるジャンルのデバイス、ユーザが直接身につけ続けるなにかのための仕様なのでしょう。

ANCSも雰囲気を醸し出す技術です。通知情報は、iCloudからくるものや、アプリケーション、あるいはiBeaconに反応したアプリケーションが出す通知があります。それらの通知情報はユーザが持っているiOSデバイスに一度集約されて、そこからANCSで周辺デバイスに通知されます。

クラウドや周辺環境を含めた雰囲気的な通知情報を、一度iOSデバイスが嗅ぎ取り集約して、ANCSデバイスに中継する流れです。

iBeaconの登場と同時にANCSなデバイスがあれば、おもしろかっただろうにと思います。実際にはiWatch的なデバイス自体がBLEを搭載しているわけですから、iBeaconの検出であればそのデバイス単体でできてしまうでしょうから、ANCSはいらないのかもしれませんが。

iOS8と雰囲気

HealthKitは、Bluetooth Low Energyなどの生体情報をiOS自体が取得して集積するサービスです。iWatch的なデバイスは、いまさら腕時計といわれちゃいますが、健康とかロギングしちゃいます、心拍のゆらぎで疲労度とかチェックできますとなると、身につけておく理由づけができるから、毎日身につける習慣付けになるんだろうなって思っています。

いまさら、うでどけい、とふつー思いますよね。メインはANCSの通知系サービスの習慣付けかもしれませんけど、電池をバカ食いしてあんまり実用でないとしても、最初の身につける習慣付けまでの撒き餌さとしては、ありなんだろうなと。

HomeKit。これはSiriの音声コマンドでいろいろ操作ができるようになるものなんですけど、iOS8でSiriが常時稼働になるんです。さすがに既存のiOSデバイスでは電池消費量がでっかすぎるでしょうけど、音声検出用の超低消費電力回路は発表されているので、次のiPhoneあたりはハードが対応しているのかもしれません。あるいは、家に常設する新しいタイプのデバイスを出してくるか。

こういう流れを見ていると、雰囲気というキーワードでみてきましたけど、ユーザがいちいち画面をみるって不自然でしょう? と思えてきます。実際街なかでスマフォ片手に歩いている人とかを見かけますけど、不自然です。車運転している人すらいて、危険すぎます。

もう意識しなくても、虚空に向かって話をすれば、ソーシャルメディアの投稿も、メールの送受信も出来る程度に雰囲気的な世界になるんだろうなって思います。

そのとき、ユーザの活動時間の争奪戦の勝者は、どこになっているんでしょう。アプリで差別化できるとは思えません。だって、画面を見ること自体が、不自然な世界なのですから。勝利要素として、iWatch的なハードウェアを持っていることだけは、確実だと思います。

最後にここまで書いといてなんなのですが

感触が雰囲気的なものに移行していくと思うので、ソーシャルメディアとかゲームとか、今の時点で見逃せない視点だと思って書きだしたんですけど、

まじめに書こうとすると、テンションあがらなくて、ものすごくつまんないことしか書けないです。

アマゾンからの出版メモ

iBeaconハンドブック 出版のお知らせと雑感 で書いていますが、3月末にKindle本として出版したiBeaconハンドブックを、その後プリント・オン・デマンドを利用して紙書籍として出版できました。電子出版およびプリント・オン・デマンドを利用する方の参考になればと思い、その流れや販売方法ごとのロイヤリティなどをまとめます。

Amazonを利用した出版

アマゾンを利用した出版は、Kindle Direct Publishing(KDP)を通した電子書籍出版、そして米国アマゾン子会社のCreatespace社のプリント・オン・デマンドを利用した紙書籍の出版があります。

プリント・オン・デマンド・サービスは lulu社 なども有名ですが、ロイヤリティや印刷コストにさほどの違いがなく、Createspace社からだとアマゾンのロイヤリティが高く、書籍登録なども素早さそうだったので、利用するのはアマゾンにしぼりました。

出版のパターンは、電子書籍のみ、紙書籍のみ、電子書籍と紙書籍を合わせて販売の3つがあります。今回は、まずKindleで出版し、その後Createspace社のプリント・オン・デマンドで紙書籍を出しました。

KDPのロイヤリティは通常は35%です。他の電子書籍ストアや自分のブログなどで販売せずKDP限定販売とすることなどの条件を満たせば、70%ロイヤリティの設定ができます。この設定は90日単位で設定できます。

今回は初期の需要を高いロイヤリティで回収して、その後に販売チャネルを広げてKindleでは届かないところにも届くようにすることにしました。この限定販売には紙書籍は対象に含まれません。紙書籍はどこで販売していてもよいです。

紙書籍の流通は、Createspace社から著者自身が買い取り販売する、Createspace社のeStoreで販売する、Amazonで販売する、提携する流通業者を通して販売する、がそれぞれ選択できます。Crestespace社は、Amazonや流通を利用しない、プリント・オン・デマンドのみの利用もできます。Createspace社は米国アマゾンの子会社なので、米国Amazonへの登録の素早さ(1週間程度)およびロイヤリティの高さが魅力です。

原稿の作成と版組

原稿はMarkdownという記法を使いました。Pandocというフォーマット変換ツールで、Markdown形式からepub3形式とPDF形式の原稿を生成しています。

KDPの入稿フォーマットはいくつかありますが、epub3形式で入稿しました。Kindleは入稿した原稿をKindle独自のフォーマットに内部で変換します。Kindle独自フォーマットには、アマゾンのサイトまたはオフラインでKindle previewというパソコン・ソフトで変換とプレビュができます。ほぼepubのままでよかったのですが、数式に使っているMathXMLはKindleは対応していないようで、エラーになりました。数式部分はHTMLで数式っぽく見えるように書きました。

CreateSpace社はPDF形式で入稿します。PDFの生成は、pandocからLaTeXソースを生成して、それをスクリプトで処理してLuaLaTeXで組版をしています。LuaLaTeXはMacTexに含まれているものを利用し、Macのヒラギノフォントを利用しました。

原稿生成のスクリプトは https://github.com/reinforce-lab/pandoc_kindle_sample で公開しています。

KDPでの出版

出版自体は、iBeaconハンドブック 出版のお知らせと雑感 に書いたので省略します。

ロイヤリティの振り込み口座に、日本国内の口座が登録できるようになっています。2014年3月では登録できなかったのですが、4月から登録可能になったようです。銀行リストの中には、ジャパンネット銀行もあります。

いままでは海外送金の扱いで、その手数料を小さくするために新生銀行に口座を開設する方法がよく紹介されていましたが、今後はそのような必要はありません。

CreateSpace社からの出版

原稿はPDFで入稿します。表紙は、

  1. オンラインのツールでいくつかのデザインテンプレートをもとに作成,
  2. プロフェッショナルに依頼する (500ドル程度から),
  3. 自分でPDF形式で入稿,

の選択肢があります。オンラインのツールは写真やテキストを差し替えて見栄えの良い表紙が作れます。今回はKindle本にデザインしていただいた表紙があったこと、オンラインツールは英数のみで日本語は入力できないことから、3の自分でPDF形式で入稿しました。表紙データは背表紙部分も含むため、原稿本文のページ数が決定した後に作成します。

本文と原稿を入稿するとCreatespace社での内容審査がおこなわれて、承認されると出版可能状態になります。

紙書籍には必ずISBNの割り当てが必要になります。これは流通がISBNを使うからです。内容を更新して版が変われば、ISBNも更新します。ISBNは、

  1. Createspace社の無償割当て,
  2. 35ドルまたは99ドルでCreatespace社から買取る,
  3. 日本で自分で買い取る,

の3通りがあります。Createspace社の無償ISBN割り当ては、出版社名がCreatespace社になります。有償のものであれば出版社名などは自分で設定できます。また日本で自分でISBNを買い取るり、それを割り当てることもできます。日本でのISBN取得費用は10冊単位で2万円程度、2年更新です。

Creaetspace社の無償番号を使うと、ISBNの分類が洋書になるらしく、日本アマゾンでは例え日本語で書かれていても洋書扱いになります。

出版時には、KDPの時と同じく源泉徴収と受け取り口座の設定が必要です。源泉徴収は米国外居住者であることを証明するEINを入力するだけです。受け取り口座は米国内の口座のみが指定できます。口座がないときは小切手受け取りになります。

私はまず小切手受取りにしました。国内で小切手を換金するには5000円程度の手数料がかかります。支払いは月末締め翌々月末支払いなので支払いが発生するようであれば三菱東京UFJ銀行のカリフォルニアアカウント・プログラムで開設して登録してみようと思っています http://www.bk.mufg.jp/tsukau/kaigai/kouza/cali/

プリント・オン・デマンドの料金とロイヤリティ

著者自身が買い取る場合の価格と送料、またロイヤリティは https://www.createspace.com/Products/Book/ から計算できます。

プリント・オン・デマンドは1冊でも100冊でも冊数にかかわらず、1冊あたり定額です。流通チャンネルは、米国アマゾン、Createspace社のeStore、その他の流通卸などを選択できます。それぞれのロイヤリティもオンラインで見積もれます。販売価格にそれぞれのチャネルごとのロイヤリティをかけたものから、プリント・オン・デマンドの印刷料金を引いたものが表示されます。

iBeaconハンドブックだと、米国の標準的な書籍サイズ6インチx9インチを選択したとき80ページでした。白黒印刷で1冊2.15ドルです。送料は到着日数で3通りありますが、標準的なもので100冊購入時1冊あたり1.6ドルです。意外と送料がかかります。

ロイヤリティは販売価格を18ドルに設定した時、米国Amazon 8.65ドル、eStore 12.25ドル、expanded Distribution(その他卸) 5.05ドルです。その他卸に出した時はロイヤリティが低めに見えますが、それは米国アマゾンのロイヤリティが逆に高いからです。

CreateSpace社は米国アマゾンと連携しているので、出版すれば1週間以内で登録され販売が開始されます。

日本での紙書籍の販売

Createspace社のプリント・オン・デマンドは日本アマゾンには提供されていません。出版してから2週間程度すると、書籍登録情報が日本アマゾンにも更新されて商品として表示されるようになります。このときCreatespace社の無償割り当てのISBNを使っていると、分類が洋書に、また出版社名はCreatespace社になります。もしも自分でこれらを設定したいなら、有償か自分で買い取ったISBNを使用します。

iBeaconハンドブックの場合、日本アマゾンに商品登録されてから1週間しない程度で卸業者が販売登録をしていました。最初は販売価格1800円だったのですが、そのうち1350円になっていました。

自分で日本アマゾンで販売する場合

著者自身が日本アマゾンで販売する場合、e託販売サービスなどもありますが、Createspace社を通じて日本アマゾンに商品登録されるので、販売手数料がより有利なマーケットプレイスで販売できます。マーケットプレイスの販売手数料は、1件あたりの成約料60円、手数料 15%です。

いちいち発送するのが面倒な場合は、フルフィルメント by アマゾン (FBA)サービスが利用できます。これはアマゾンの倉庫に商品を預けておき発送業務を委託するサービスです。フルフィルメントの利用料金は、倉庫に預けるのが 20cmx25cm0.5cmの書籍で2円/月、発送時の出荷作業料 86円 送料 55円です。これはiBeaconハンドブックでの値です。書籍サイズなどで変わります。

これらのフルフィルメントサービスの対象商品は本(和書)であり、本(洋書)は対象外になっています。ですから、CreateSpace社の無償ISBNを割り当てた書籍は対象外になります。もしも自分で日本アマゾンに出品する場合は必ず自分で取得した和書のISBNを、CreateSpace社の印刷サービス利用時に設定します。海外の業者は、日本のアマゾンに出品できますので、海外業者におまかせにするならば無償ISBNでよいでしょう。

日本で自分でISBN番号を取得するときは、あわせてJANコードも購入します。JANコードの説明には、一般書店での流通管理に必要なコードだとありますが、JANコードにはISBN番号をバーコード画像にしたものの管理の役割があります。

そのため、JANコードが不要なのは、書籍にISBN番号を付与するがISBNのバーコードは表記しない場合のみです。Amazonで出品するためには必ずISBNがバーコードで印字されていなければなりません。ですから、たとえアマゾンのみで販売するから流通管理としてのJANコードが必要ではない場合でも、JANコードの取得が必要です。

これらから、FBAを利用してマーケットプレイスで販売する場合の利益Eは販売価格をPとして、

E = P x 85% (販売手数料を引いた分) - 60円 (成約手数料) - 141円 (発送費用) - 6円 (倉庫代、回転3ヶ月として) - 215円 (印刷代) - 160円 (CSから日本までの送料, 日本アマゾンまでの日本国内送料は無視)

つまり

E = P x 85% (販売手数料を引いた分) - 582円(上記金額の合計)

となります。利益Eが0になる販売価格Pは、685円です。仮に1800円で販売すれば、利益は948円 (55%)です。

米国卸が1350円で販売していますから、それと同じ値段を設定した場合の利益Eは590円です。CSからのロイヤリティとほぼ同額となります。

米国卸業者が扱ってくれるなら、任せたほうが楽そうです。

iOS8ぶっちゃけ雑談

2014年6月11日に大垣で開催されるWWDC2014ディベロッパ共有会 の下書きとして、
一般に公開されている部分を抜粋してブログに書いてみます。

じつは、iOS8で家電対応、はいはい家電メーカーが散々いままでやってきた分野ね、と思ってました。Bluetooth Low Energyも3年ほどやってきているので、その延長でお手軽BLE家電を皮切りに、昔から言われてきた未来を提供するのだろうなと。たぶん、ちがう。見た目はそう見えるのだろうけど、本質がなにか違う。

そんなところを考えていると、頭がパンクしそうなので、ぶっちゃけブログに書き出してしまおうと思った次第。

iOS8からの世界

長い文章読むの大変だろうから、要点まとめると:

  • iOSが人間やリアル世界のデータ蓄積ポイントになり(HealthKit)、逆にリアル世界にちょっかい出せるようになる(HomeKit)
  • 集積したデータは密度が薄いし人間に価値あると思わせるには加工が必須だから、データセンタ縛りになる。
  • AからBに、切り替えるような世界じゃない。データセンタが世界を覆う、どの世界に属するかは自分で決めるような時代がきた。中世の宗教のある世界っぽい。
  • Siriとか、そういうクラウドなところに自分の分身がいて、オートメーションしてくれる時代。ネットのあっちに自分の副脳がある感じ。それが当然の時代。
  • 機械知性がリアルに来るです。しかも、実質無償で。

書籍になりました

NDAしばりが開放されると、ぶっちゃけられます

iOS8のキーノートとセッション動画をずっと家にこもって1週間見てたら、いろいろ考えすぎて夜も眠れず睡眠不足になりそうなので、ここらでブログにぶっちゃけて一段落つけようと思う。今年は https://developer.apple.com/wwdc/ でセッション動画にプレゼンテーション資料までApple自体が公知にしているから、昨年までみたいに9月までブログを書くのはNDA的におあずけではないから、あそこにある資料の範囲で、ぶっちゃけてみよう。

たぶん、気が向くと書き足したり修正したりしてると思う

文章構造もない、ストーリーもなく、だらだら書き流してみようと思う。

7年前に登場したiPhone以上に、iOS8は社会を変えるのは確実だと思っている。だから5年後そして8年後に、今年の選択で自分の人生がどう変わったのか、今年の自分の視点はそのときどう変化しているのかを確認するために、iOS8登場時点で自分が気がついたこと、思ったこと(妄想)を垂れ流しておく。

1ヶ月位は、気がついたら書き足すし、いろんな人と話して考えたことを散りばめていくから、9月まではあっちこっちで変更が入ると思う。それは、ぶっちゃけ、しかたない。

日本がとかいう芸、もう飽きたので

iOS8は、HomeKitとか、だれが見ても理解できる形の新方針が出てきた。きっとこれから、日本の家電は、とか日本をネタに雑誌や新聞で記事が大量に書かれるんだろうと思う。ぶっちゃけ、もうその芸は飽きた。

ガラケー(文字数少ないからフィーチャーフォンよりガラケーと書くことにする)の時代からiPhoneの時代に切り替わる初期の時期は、ガラケーうんぬんって言う人いたのかしらん。自分のときは、自分の目の前にあるiPhoneを触って、その感動で胸いっぱいでそれを語るのに忙しかった気がする。そのときの、ぶっちゃけをブログに書いておけばよかったと、ちょっと後悔している。

日本の既存の販売高のあるところ、例えば大手の家電や車の製造会社(あえて、メーカーという表現は使わず製造会社と書きたいところ)を材料に使うと、一般向けの話題として買ってもらえる記事になるのかもしれない。それは、ガラケーとiPhoneへの推移と国内ガラケー製造会社がAndroidスマートフォン製造会社になろうとして、結局撤退した実例があるから、それを引き合いに、そら、日本に黒船が来たぞ、と叫ぶと衆目が集まるだろうから。

IoTとかいうけど、データはどこに保存するのよ

IoTが〜、ものがネットに繋がるとかいって、半導体とか通信機器のハードウェアの製造会社がフォーラムを開催したりしているけれど、ああいうのを見るたび思っていた。”その大切な、命よりも大切なデータはだれがどこに保存するのよ。” データが命の時代に、そこが不透明なまま、ネットワーク機器を売りつけようとして売れるのかしら。

iOS7でCarPlayが入ってきたけど、ぶっちゃけ、オーディオとナビ画面をコンソール表示するだけなんてカーナビの出来損ないをiOSにやらしてどうするんだろうと思っていた。

でもiOS8で、HomeKit、Healthが入った。インターネットに接続して価値があるモノは、車(その国の輸送能力把握)、人(健康状態把握)、家(住環境把握)。それをカバーしちゃうなら、CarPlayも納得。とりあえずその場に、何かの理由をつけて設置さえしておけば、それが自動でGPSデータをiCloudにあげる状況になるから。

Internet of Thingsじゃない、iOS of Thingsだ。それなら、納得。携帯網に常時接続したセンサをもつ端末が、iCloudというデータの永続的保存先つきで、車と人と家に常時接続する世界。それならIoTだ。

“光あれ”

この世界を作った存在は最初に光あれといったらしい。IoTの話題は、自分がネットワーク上のサーバになったとき世界がどう見えるか、データがどの頻度でどうあがってくるかからスタートするのがいいと思う。
いろいろなデータがネットに上がってきて初めて、サーバにとって世界は、光あれ、となる。すべては見ることからはじまる。

iOS8、おもしろい

iOS8って、見てるととても面白い。音楽ストアとか動画のストアでコンテンツ販売とか、ブラウザゲームとか、ソーシャルとか、iOS7までいろいろ展開してきてるけど、その流れ自体はドコモのフィーチャーフォンとかDeNAとかのプレイヤが登場することで、戦略的には後追いだなって思っていた。でも、法人でも個人でも区別なく扱うし、情報の公開も区別がないという、フェアな世界だから、そこが素晴らしいなって思った。

いーびるうんぬんじゃなくて、世界に進出しようと思ったら、フェアだと思われる振る舞いしないと、受け入れてもらえないんだろうな。

iPhone登場して7年経つと、ネイティブにこの世界っていうティーンエージャーも多いんだろうな。テレビ電話なにそれ?って言われるけど、でもLINEを使っているみたいな。そういう感じで成熟しているし、これからも成熟し続けるんだろうなっておもう。

でもiOS8ではいった流れは、そういう成熟前、ちょっと日本で見たことない流れっぽい。

原理的に複製不可能な、世界にただ1つのiOSシステム

iOS7までだと、SiriとかAppStoreとかOSの更新のOTAとか、Appleが持っているサーバがなければiOSを使う快適さや意味がないって構造は、うまいなって思ってた。MS社のWindowsとか、設計当時にはネットがウェブとメールを見る程度の連絡回線でしかなかったから発想的にしかたなかったんだろうけど、単体で動作する独立して動作するように設計されたものは中国で散々海賊版が出回っていた。

単体で動作するデジタルなソフトだと、プロセッサで実行できるから原理的に複製可能。業務用でやってるような、USBドングルとかイーサネットカードのMacアドレスでラインセスデーモンを動かす形でも、中国あたりだとそれすらコピーを躊躇しないし。ってか、その認証部分をハックして無効化したのを売るとか、技術力はあるんだなとか、もう変な感心するくらいだし。

単体で動作するものは、原理的に海賊版が作れる。たとえそれが絶対に外部からデータを読み出せないように作ってあったとしても、極論、同じ振る舞いをするものをゼロから作ることすらできる。設計目標は目の前にあるのだから、無駄なこといっさいせず完成品めざしてまっしぐら開発は、けっこうはやい。

iOSのSiriあたりで、おー本体で動作させるんじゃないんだ、認識エンジンくらいなら単体メモリに収まりそうだけど、とか思っていた。iOS8で、さらにそれがクラウドの向こう側。アプリの動作すらAppleのiCloud接続前提になったら、もう本体はAppleのサーバただ1台。

いままで8億台のiOSデバイスが売れたそうだけど、iOS8で、1台のAppleのiCloudと、8億台のアクセス端末というのがiOSのシステム。iCloud、Siriとか含めて、コピーできる? むりだよ。1つのアプリの制約なく使えるデータ容量上限値が、”ペタバイト”だよ、10^15だよ。1つのアプリの上限がそれ。いま20万アプリあるそうだから、ペタの1つうえって、エキサバイト。そんな規模のシステム、クラックしてデータひきぬけるわけがないし、同じシステム構築とか原理がわかっていても、規模と蓄積学習データの規模がすざましすぎて、できるとわかってても、原理的に実行不可能。

最後に出てくる、Googleの自動運転もそうだけど、いまどきの米国から出てくる便利アイテムって、単体動作しないよね。いや、単体でも動作するんだけど、ネットから切断した状態では意味を成さないように最初から組まれている。それは、たしかにそうとしか作れないという合理性なんだけど、それが世の中にでると、例えば単体で使ってるけどAppleIDをアカウントBANされたらどうなる?的な状態なんよね。

中国が海賊版を作れない世界。もしも海賊版を作るなら、いまTwitterやFacebookのコピーサービスを展開しているように、”国レベル”で海賊版づくりと、サービス利用を推し進めないと無理な時代。やっぱそうみると、中国って、国レベルで海賊版をやりつづけてきてるんだなって思うと、合理的だし賢いね。

iOS8のプライバシー

もう、プライバシーのキーワードでWWDC2014の動画を全部見るべき(むっさ時間かかるから、自分は見ないけど)と興奮するくらい、プライバシーという単語が重要だし、キーノートやiOS8と多分Appleのデータセンタすべての設計と実装に、プライバシーが一貫して入っているんだろうと思った。きっとAppleの会社の壁には、ぷらいばしー、と大書してあるに違いないと思った。Appleの会社に入ったことないけど。

プライバシーは私生活上の事柄の情報、自分に属する、あるいは情報だけを見て自分と特定ができるもろもろの情報すべてかなって思ってる(専門用語は辞書ひけよ)。iOS8を通して、アプリはプライバシー情報にアクセスする機能が使える。例えば、連絡帳のデータを参照するとか。そういうのはiOS7までは参照させるしかなかったから、ユーザに認証ダイアログを出してOKをもらう、という実に言い訳めいたアトモスフィアの実装をしてる。

この実装はiOS8でも今の見た目同じだし、1週間後に”ほんとに許可しつづけるの?”とiOS8が勝手にユーザに再度認証確認をする、うざったいことこのうえないおせっかいさで、さらに強化までしてきてる。でもこれ、iOS7からの盲腸だなって思った。

iOS8のEULA全文読み通そうイベントとか、むっさおもしろそう

iOS8で健康データ扱いが始まると、エンドユーザライセンス(EULA)の文面はどうなるんだろう? いままでのiOSのEULAを全文読む人もいないだろうし、いちどiOSのEULAを全文読み通す会とかします?とか言う雑談がでてた。iOS7とiOS8とのEULAの項目の違いとかむっさ興味がわく。

健康データだけだと、いまは自分の端末に保存、その端末に保存されたアプリが1つのデータベースとして参照という、利用するのはユーザ個人に閉じてて、アプリで連携することはあっても、外部から共有とかはないはずだけど、そのアプリがアクセスする1つとっても、国ごとに様々な個人情報保護法案やら慣習を包括する世界に1つのEULAなのか、それとも国ごとに項目が分岐するのかとか、興味がわく。

iOS8で、CloudKitという、1つのアプリが1つのpublicなコンテナをもてる仕組みも入ったから、それの扱いもEULAで追加されてそう。

プライバシーとセキュリティ

セキュリティを家の鍵に例えよう。田舎って鍵かけるとこ、すくないらしい。プライバシーがないからかもね。でも、プライバシーがあるところ、人に見られないようにする処置をする必要があるところは、田舎でも鍵をかけてると思う。都会はいわずもがな。

プライバシーとセキュリティって、並べて書くけど、プライバシーの確保のために、セキュリティがあるんやろうね。こう、プライバシーな情報がそこになければ、うん?見えちゃってた、あぁごめんごめん、とかで済むけど。

むかし、Windowsを使ってる部署で、ネットワーク共有ドライブに奥さんとの秘密の交換日記的なファイルをおいている方がいて、その部署の残りの人はみんな気づいてるんだけど、誰が言い出すのさ?で放置状態になってたことがあったん。あれ、きっついわ。本人以外全員知って、確認のために、見ちゃってるという。

プライバシーがあるところ、セキュリティがいる。カギがかかること、カギがかかっていること、自分以外にカギがひらいていないこと、そのカギがかかっているとカギを信じられること、それって信頼の基礎として、大切で必要で不可欠。それは、自分がカギがかかっていると信じてたのに、実は設定ミスで公開されてたとか、そういう凡ミスに分類されるありきたりのミスですら、見過ごすことができない程度に、せきゅりてぃー、たいせつ。

プライバシーの情報を持っているのは、どこか

基本に戻ってゼロから考えてみよう。プライバシーの情報を持っているのは、現代はどこか? iOSデバイス? それはiOS4まではそうだった。2011年のiOS5からはいったiCloud、いまはプライバシー情報は、Appleのデータセンタにあり、手元のデバイスのデータはそれの同期したキャッシュにすぎない。iOSデバイスが壊れても新品にアカウントでログインすれば再現されるけど、Appleのデータセンタが吹き飛べばそうはいかない、なら本体はどっちだ?という話。

プライバシー情報は、電子的にどこかに保存しなければならない。そうでなれば、人間が逐次手で入力するほかないけど、電話するのに自分の脳みそで電話番号を覚えられる人はいないし、紙の手帳に戻る気もないでしょう。

プライバシー情報は、保存しなければならない。しかし管理するならば1箇所ですましたい。なら、iCloud。それ以外にプライバシー情報を保存することは、つまりプライバシーが危険にさらされている、ということ。それがiOSな世界でのプライバシーの原則。

iCloudがプライバシー情報をもつ。ほかにプライバシー情報を持つサービスは、iOSユーザの肌感覚は、そんな存在を許さない。

iOS8からはDOS(データ・オペレーション・システム)

アプリケーションは、基本セキュリティとプライバシーを守る上で、堤防に空いた穴。基本、任意のアプリケーションのインストールを許す限り、ユーザは潜在的に危険にさらされる。Appleは、アプリストアを管理してアプリやアカウントを無効化するルート権限を持ち首根っこを押さえているけど、喩え話として、背中から刺された後に犯人を取り押さえても怪我が消え去るわけじゃない。

iOS5まではアプリケーションにユーザのデータを閲覧させることが必要だった。iCloudがたんなるアプリのCoreData同期技術だけだったから、自分以外のデータを参照する先は任意のネットワークサービスになる。そうすると、サービスにつなぐためにアプリにメールアドレスや名前の生データを渡さざるを得なかった。そうするよりほか、実装ができなかった。

ClouldKitの登場でそれが変わった。iCloudで他人ともデータが共有できる、今はアプリしばりで、場ができた。iOSという言葉は、手のひらのデバイスと雲の向こうのデータ集合体、それをあわせてiOSになった。閉じることができるし、おそらく、どんどん閉じていく。囲い込みじゃなくて、後で出てくるプライバシーとプライバシーが要求するセキュリティ、自分の家にはカギをかけるための当然の結果として、そうなっていく。

iOS8以降で、iCloudははさらに変わってくだろう。検索、統計、集計、変更通知。どんどん変わってくだろう。しかしそれはAndroidの”自由な機能”がiOSにやってきたと思ったら、見た目は同じっぽいのだが本質は違うのでは?という微妙な制約と枠のなかで、しかしできることはたしかにできる、あの味付けをクラウドでもやってくるのだろう。

おそらく、iOS8以降はデータを操作することは許すが、データを参照することは極小に抑えこむ設計になってるだろうし、今後は原理的にデータ操作で完了する操作は、データに触れること自体を許さぬ設計強化になるだろう。

例えば、あるアプリがそのアプリを利用している知り合いで周囲にいる人を検出したいとする。iOS7までの実装だと、連絡帳を検索して個人を特定する情報、名前やメールアドレスを取り出し、どこかのサーバにその個人特定キー値と位置情報を登録、アプリからそれを検索するしかない。だって、そうとしか実装できないのだから。

これをiOS7までの技術で、SDKで提供しようとしたら? きっと”近くにいる人を検出するSDK”を提供することになる。でも、用途としてそれだけじゃないよね? そうすると、組み合わせ爆発がおきる。すべての要求をSDKで提供することはiOS7まではできない。だから生データ自体をアプリに触らせる他、実装方法がかなった。

iOS8では? CloudKitを見てみよう。アプリ間でpublicなデータ共有ができる、全アプリで1つのデータ・コンテナだ。アセットを登録して、検索ができる。それがあるならば、もうデータ自体を読み取らなくても、アプリからは、連絡帳データにあるユーザ情報で近辺にいるアカウントはどれか? を検索させればいい。

連絡帳自体の生データを参照するのは、OSだけ。アプリは、それらのデータをどう処理してどんな結果を返すのかのクエリを発行するだけ。

iOS8は、データ・オペレーション・システムである。AppleのデータセンターとiOSで閉じたなかで、データは操作され、結果が返される。データに触れる必要は、実装上もうない。操作を提供しているのだから、操作の組み合わせで任意の処理が組める。組み合わせ爆発はおこならない。

手入力と情報集まり系

データを人間が手入力する時代から、iWatchとかM7プロセッサとか、どこに立ち寄り誰にあったとか、あの時振ったのは左手なのか右手なのかとか、密度の薄いけどバイト数は膨大な自動収集されるデータがあると、人間1人からネットの世界に注ぎ込まれる情報量が、10年後は今の地球1つ分のバイト数になってたりして。

いまGoogle検索が当たり前だけど、もうデータがでかすぎるし興味のある情報はその時々だから、データは持つものじゃなくて引き出せるもの。そんな時代には、自分限定のプライベートなデータ空間でも、もうGoogle検索的なやり方になるんだろうと。しかしウェブページのように、本来人間が読めるように加工された情報じゃないから、その検索は統計量、すべての情報をひっくるめて解析されて人間が意味があると思えるように精製されたなにか、が対象なんだろうなと。

そういう感じで、段階として、まずデータの蓄積を握り、その立場があれば、次に操作、統計、提示と毎年データセンタの処理能力と規模にあわせて、手を広げていけばいい。そんな感じの流れかな。

データセンターとセキュリティ

原理的に、プライバシーを守りつつ、任意のアプリケーションの実行を許し、不正を検出する前に不正ができない仕組みをいれるとしたら、データは1箇所で管理、生データに触れさせない、これは必須。これは原理的にそうなる。

この原則をAppleの立場にかけてみると、あらAppleの立場は最強じゃないか。

AppleはウェブのUIをおそらく許さない。すべてのUIはiOSデバイスで提供する。そうすることで、最高のネイティブの反応速度のぬるぬるアニメUIが提供できるし、iOSデバイスのハードレベルで保護された個人情報へのアクセス管理ができる。そのアプリはストアで流通管理され不正をした場合はアカウントごとBANする。最高のUIと、不正のタネを消し去る力をもつ。

ついでに、iOSデバイスが売れ続ける。ウェブなら安いものでいいけど、後で出てくるFitbitと同じで、サービスを使うための窓口としてデバイスを買う。重課金はまだ人類には早すぎる、ハードウェアという形と、自分が落として壊したからしかたないとか、デザインのいいのが、性能のいいのがという買い換える言い訳を与えてあげないと、数万円を使う障壁超えるのはむつかしい。お金は使いたいけど、使う理由は、いまはハードウェアという形があったほうが、世界的にはきっといいんだろう。

Apple社のデータセンタのアクセスは、iOSデバイスのハードウェアがなければアクセスできないところまで、秘密のカスタムな技術で実装するかもしれない。ウェブを許さない、前提であればTCP/IPすら捨て去ってもいいだろう。

全世界のプライベートをあずかるデータセンタへの、ハッカーの侵入アクセスがどれほどのものか、想像するとゾッとする。どこにパケットが流れていくのかは、IPを見ればすぐわかる。SSLをかましていても中間者でパケットダンプするだろう。iOS自体のセキュリティも、JailBreakが存在するなら原理的に解析可能だろうし、半導体レベルの回路でも本気を出せば完全に回路図のレベルに解析できる。

信頼は1回の侵入の露見で失墜する。賢い侵入者は、侵入した事自体は公表せず、何年もの間侵入し続けていたことを誇るだろう。iCloudが社会の運用インフラになった時代に、歴代大統領の数年間のジョギングデータをウェブに公開するだけで、その社会は崩壊するかもしれない。

データセンタにアクセスするデバイスを世界に何億台もばらまいているのだから、基本はアクセス方法を公開しているのと同じ。本気で解析してくる奴がいれば、その解析材料は全て手渡しているのだから、原理的に防御しようとすれば、全技術情報を知っていても防御できる技術、を入れているんだろう。

自分が暗号化の専門知識がないから、何も想像できないのが、口惜しい。しかし、原理的にプライバシーを守る技術があるならば、この立場であれば躊躇なくTCP/IPは捨て去るだろうし、量子化暗号とかわけのわからん技術も使えるなら入れてくるんじゃっておもえる。

Appleに雇用されている暗号化技術の専門家の年収は、何億円なんだろう?

Big Data, Tiny Phone

フラッシュメモリの容量自体が、価格の層を作る理由にはなってたんだけど、あれはさらに1万円を出せる人に1万円を出させる理由付けとして、今後も有効なんだろう。でも一生分のデータを保存するには、ちょっと3つのメモリ区分、ではきっつい。そしてPCがなくなる時代、みんなの母艦はAppleのデータセンターになる。

そんな時代は、Big Data, Tiny Phone。しかたないよね。毎日、何歩歩いた、どこに立ち寄った、何を話した、それをすべて物理的に保存するなら、すべてのデータを小さなPhoneに保存するのは無理。

それとデータの質が、人間が入力するデータから、勝手に入っていく系データになると、データを移すっていう振る舞い自体が、なにそれ?、になる。だって、センサの生データ見ても仕方ないし。それを引き出して他のサービスにつっこむとか、ものすごい開発者ライクな発想で、一般の人がすることじゃないし。一般の人には、消費カロリーとか、健康いいね!、みたいな分類判定とか、その下にあるそんな生データ意識しないだろうし。そして、生データを処理したその人間に意味があると思える情報まで抽出してくるってところは、プラットフォーム依存というか実装そのものだし。もうデータを移動するなんて発想じたいが、消えてなくなる。

Big Dataって、そういうことなんだろうね。密度がむっさうすくて、関連あるのかしら? でもとりあえず収集しといて、あとで計算機パワーで宝に化けるかもしれないという。なんてビットの無駄遣い。ビットの無駄遣いで新しい情報産業が生まれてきたんだから、ここ数年びっくでーたとかいって、こりゃ新時代と騒ぐのもわかる気がする。元々の提唱者の定義すらしらずに、こんなこと書いてて、バチが当たるなと思うけど。

こうしてみると、個人が持っているiOSデバイスは、iCloud領域を覗く、データ操作するインタフェースなんよね。シンクライアントともまた違う。iCloudへのアクセス端末。しかもUIとデータ構造は任意の開発者が開発したものという。そしてデータセンター自体は、Appleが死守、あらゆる意味で運用と死守。

そうすると、WWDC2014で発表された新デバイスって、Apple社の新規建築したデータセンタじゃないか? いままで手のひらサイズのiPhoneの新機種ばかりを見てたから、おそらく砂粒と山ほど大きさが違うから視点があわないだけで、超巨大なApple社のデータセンタという、1つのデバイス発表会だったんだな、って思う。

1つの言語で統合した開発

CloudKitとか見てて思うんだけど、NSPredicateとか言語内言語ははいっちゃうのは目をつむるとして、1つの言語でウェブ側とアプリ側が開発できるっていいよね。Swiftになると検索式とか言語内言語じゃなくなるのかしら。あのUIのデバッグ画面のように、リアルタイムにデータベース参照結果が表示されながら、検索式とか書けたりするのかしら。

ウェブ側がいる開発をしようとしたらParse.comみたいにSDK出してくれてたらいいけど、言語別になったりするじゃない。そして開発環境が別というか、やっぱり1人でカバーするのは無理じゃない的な感じになりそうじゃない。それが1つのIDEで統合して開発できるとか想像すると、ローカルとリモートの違いは物理的になくならないんだろうけど、一人でも開発できちゃうそうって思う。

iOS8でのiBeacon

iOS7で導入されたiBeaconは、アプリケーションのAPIは変化はないがApple自体が、一般に設置されたiBeaconの情報を吸い上げて利用するかもしれない。屋内地図の登録申請アンケートがはじまっているが、そこにはWiFiに加えてiBeaconがある。入り口とか特徴的な狭い位置を特定できるiBeaconを、屋内地図とそのナビゲーションに取り込まない手はないから、それはそうなんだろうけど、世界に何十何百とある建物のビーコン情報を本気で吸い上げて管理するつもりなのだろうか? 本気なんだろうな。

屋内アプリケーションは大きな価値をもつ。iOS7でも魅力的だったがiOS8では、その場所で人気がある/有益なアプリケーションのインストールを、ロック画面にAppStoreのアイコンを表示することでうながし、その場所に紐付いたインストールされたアプリケーションのアイコンをロック画面に表示する。この導入のイベントは、Appleが公式でiOSで提供する、アプリをインストールしてもらうチャンスとして魅力的だ。

専門店街や百貨店がユーザと結びつく手段は、何があるか考えてみよう。クレジットカード機能やポイント発行機能がついた会員カードを発行して、消費情報を取得しているだろう。メンバー登録情報の住所や消費行動をもとに、個人をターゲットにしたダイレクト・メールや季刊でカタログ送付もしているだろう。

それが、ネットワークの時代になると? 1回40円かかるダイレクト・メールを出すのか? 電子メールが読まれると思うか? LINEでメールアドレスを持っているかも怪しい10代が今後の消費の中心になったとき、電子メールでいいのか?

多数の店舗を内蔵し、その配置や店舗が定期的に変更される屋内案内は、Apple公式の地図アプリでは対応ができない。その不動産としてテナントを抱える建物管理者が、独自の屋内地図と案内アプリを提供する余地があるし、情報を握っているのはそこしかないのだから、そこが出さなくてはならない。この立場はおいしい。

何が美味しいか? 建物が、ウェブサイト、になるから。アプリがiBeaconを検出したら、その位置になにがあるかの情報をサーバに問いかけるだろう。これはウェブサイトのリンクにアクセスするのと同じ、アクセスログであり、しかもユーザはその場所にいまその時間にいるリアルタイム情報だということ。

よく、ビジネスがオンラインからオフラインに広がるというけれども、その意味は、ここにある。いままで把握できなかった情報が、ネットワークであれば当然のように利用できていた情報が、オフラインでも使える様になる。リアルタイム、ある程度のユーザの特定も可能、そしてリアルタイム。

Statistics(統計)

データオペレーションとかセキュリティと書いてみたけど、いまのiOS8は、そんな段階に達していない。あれは私の妄想。でも、もしかしたらiOS8.1でリアルになるのかもしれない。Big data, Tiny phoneというと、もうさんざんクラウドとかmap reduceとかニュースで見てきているあれ、統計量を参照するっていうのが必要。CloudKit、まだそういう機能は入ってない。

HealthKitにはStatisticsはいってる。そりゃいるよね。先月の平均体重とか、血圧とかをアプリでいちいち生データ参照しても無駄なだけだし、生データ参照させる意味がわかんないし。じつはさっきのって、HealthKitの統計の機能と、CloudKitをごちゃまぜにして勘違いしてただけなの。でも、方向としては、そっちに行くんじゃないかなって思ったりはする。Key-value pairのデータベースの統計量のあれこれって、どんな実装があるんだろう。

HealthKitがどんな実装をしているのかとかは、ライブラリの呼び出すダイナミックライブラリのリストでも見たら、推測つくのかしらん。リバース・エンジニアリングになるから、やらないけど。

iOS8のキーワード

Consistency(一貫性), Security, Privacy。キーノートから設計に至るまで、一貫した思想が感じ取れる。おみごと。

iOS7は、プレゼンテーションでやたら思想を語るのに、思想のかけらもないゴミのような代物で、なんだろうこれはと思っていたけれどもiOS8をみると、納得できた。つなぎだったんだなって。いままでのiOSはiOS7で、完全に終了した。iOS8は、ゼロからの出発なんだって納得ができた。別に、誰も思想を大々的に表立って叫んでいないけど、すべての動画から一貫した思想を感じられる。

Consistency

いろんなところでConsitencyがあるんだけど、1つ。

MacとiPhone間で、作業がすっと移行できる連続性も素晴らしいデモだと思った。1人でデバイスをいくつも買う理由付けになるし、キーボードや画面サイズの作業性のよい状態で、あるいは歩いているときとか机の前にいるときとかの状況で、それぞれの場面で最適なデバイスを買えばいい。

でもこれって、アプリの設計でいうモデルとコントローラとViewのうち、モデルをiCloudに移す設計方針の変更の序章だなって思う。今後のiOSアプリケーションは、まずモデルをiCloudにあわせて設計、そのモデルの上でUIとコントローラを作る流れになるんだろうな。そうすれば、すべてのモデルはiCloudにあり、すべてのデバイスでアプリは自然に同じ振る舞いをし、どこで操作してもアプリは一貫している。

iOS7までのアプリケーション開発は、UI開発だった。デザインだった。それは今後も変わらないし、魅力だし、作りこまれるだろう。iOS8からは、きっとモデルが黒子。極めて重要で根っこのところにいる黒子になる。このあたりの設計ができる開発者、今年は超高給取りになりそうだよな。来年になれば、Apple自体が普通の開発者でも対応できるようになるSDKかツールを提供して、強制転移フラグをたててくるんだろうけど。

iOS8の既存機能の改良や開放とか

新規じゃないけど既存からの更新でおもしろいなって思ったのは:

GCDにQoSがはいった。OSがすべての目的にそうスケジューリングするの原理的に無理だから、開発者の方でなんかQoSに関する情報提供しろ的な。

MPEG-4コーデックの開放。いままでSkype的なものを作ろうとしたら、画像符号化コーデックを電池消費量と処理能力の塩梅でARMに実装するとか大変だったのに、これでだれでも1週間でハードウェアネイティブなビデオ通話アプリが作れちゃうじゃないですか。

カメラ周りの開放。上のMPEG-4もだけど、もうデジタルカメラの開発会社はプロトタイピングにiPhone使えばいいんじゃないか? UIにネットワークにフォトライブラリ管理、これ以上の最強の低レベルがたたける開発環境はないぞ。

こういうのをiOS7までの文脈で見ると、ハードウェアの可能性を一般開発者にも開放してさらなるイノベーションを促進する、とかになるんだろうけど、iOS8の文脈で見ると、もう俺らがデバイスの可能性は9割探求したし、自社サービスに組み込み運用で盤石になったから、あと残りの1割の余地でできることがあるなら自由にやればいいよ。Appleっていう立場じゃできない、規模ではやらない分野でも残ってるでしょ。簡単だよ、やれよ、という感じに見えちゃう。

iOS8で、デバイスからiCloudKit、データ中心、データが資産になればデバイスはユーザの情報を吸い上げる大切な端末であり、常時ユーザのそばにいてもらわないとならないの。その1つが魅力あるアプリ。いまさらiOS8でAppleがやることは利益的にも目新しさ的にも旨さはない。誰かに開放してやらせとけ、という歪んだ見方。

おれたちは、次の時代に行くんだ、みたいな。そしてAppleのデータセンタに手が出せるのは、永遠に、Appleだけ。アプリケーション開発って、もう単価の決まったルーチンワークにできそうだな。

iOS8の新しいところとか

新しいところで見ときたいのは、新言語 Swift、CloudKit、HealthKit、HomeKit。

新言語はObj-Cとバイナリコンパチといってるだけあり、今は、できることは同じだけど静的な型にすることで、コンパイル時にできる最適化の幅を広げたのかしら?と。iOS8でA7プロセッサで使える薄い3DのAPI、Metalがでたけど、あれもアプリのビルド時に処理を寄せることで実行時処理時間を極限まで削るという流れだし。原理的にビルド時にできることは、全てビルド時に処理する。処理速度を原理的に可能なところまで上げていく、というのをソフトウェア側からやろうとしたら、ねっこのところからになるわなと、感心します。

TLを見てると新言語にいち早く飛びつくひとが多いけど、使えるようになっておくのと、使うのは別なんだろうなって思った。プレゼンでSwiftはObj-Cよりも早いとアピールしてたけど、自分が作るアプリは、9割以上SDKが処理時間をとってるだろうから、フレームワークがSwift移行した時点で、Swiftで書き始めようって思うので、そんなタイミングで使えるようになっておこうと思った。

CloudKit。これはアプリに1つのデータコンテナなんだけど、PublicとPrivateという2つの領域があって、要はユーザ間でデータ共有できちゃう。いちおう使用上限もあるんだけど、それTwitterを作るんですか?、のレベルの上限値だから、Apple的にはそのレベルのアプリがボンボン出てくるでしょ? いや、出してこいよっていう挑戦状なんだろうと思う。

Quotaが、1PBアセット、10TBデータベース、5TB/day アセット・トランスファ、50GB/day データベース・トランスファって、なにそれ?でしょ。1アプリでそれって。でもそれが、Appleの目にとまる値なんだろうね。それを超えてから、勝負だよんと。

ってかAdvance CloudKitで、1秒に100回とか1000回とかアクセスあるとロックしないやり方でとか、さらりと言ってたりするけど、普通にその頻度の利用を想定してるんだなと。そういうのがiOSアプリ開発で閉じて開発できるんだなと思うと、おもしろい。どうやって、どこで、テストするねん。そんなもん。

これ、サンドボックスというかテストとかデバッグとかテスト運用とか、Testflightの限定アルファ運用とか、実際のところ、いろいろどうすんだろうね。

で、HealthKit。Appleのデータセンタから、iOSユーザという人間を見た時って、じつはあんまり見えない。M7プロセッサがあれば、動きとか慣性とかで活動してるなとか、アプリの稼動状態とかで活動内容とかわかるんだろうけど、その程度。iOSデバイスって、あんまりユーザが見えない。

HealthKitは、すべてのバイオなデータを1つのデータベースに記録、解析、参照する仕組み。ユーザがいろんなセンサを身につけたり、カスタムな製品もアプリがデバイス・ドライバとなってHealthKitに同期することで、データが常時iCloudに流れこむっていうそういうもの。なんか、基盤になりそですよね。

最後がHomeKit。これは、いまのところは家電とiOSデバイスをつなぐSDK。Siriで音声コマンドで操作できるとか、でっかいリモコン程度のアピールしているけど、ユーザの家電システムをiCloudの一部に組み込む流れだよな。ボーグかよ、ロキュータスかよ、我々に同化せよかよ、と3回ツッコミいれたくなる。

HealthKitはデータ吸い上げ同期、人間をネットワークに同期させるためのなにか。HomeKitは、家電のiOS化。iCloudの1IOにするための何か、と思っておけばいいのでは。その人のデータと物理的なIOを握っておけば、あとは、なんでもできるでしょ。

スマフォがハブになる、じゃなくて、iOSがある世界っていう視点

BLEとかWiFiで、いろんな機器とスマフォがつながって、スマフォが頭脳になることで、スマフォに個人情報がいっぱいつまっているから個人に合わせた判断ができる立ち位置のデバイスだからで、スマフォがハブになるっていうけど、それ違うだろうって思ってる。無線でつながる中心にスマフォがいるから、物理な接続はたしかにそうだけど、iOSでは、そこを見ちゃうのは部品レベルで、見るレベルが違うだろうと。

iOSがある世界、なんだろうと思う。いまだってiPhone水没して動かなくなって新品を買っても、WiFiのあるとこでアカウントいれたら、楽曲コンテンツまで含めて全部復元しちゃうでしょ。技術なところを抜きにしたら、なんか魂は別のところにあって、新しい体にそれが宿るみたいな感じに見てもいいと思う。実際は、データセンタからのローカルへのレプリケーションにすぎないんだけど、そのデータが自分のデータだ(自分の一部だ)と感情とか共感的な人間の価値観をかけあわせると、そういう見方しちゃう人がいても不思議ないくらいだとは思う。

HealthKitとかHomeKitとかは、物理なセンサ群やら機械群を、iOSの世界に同期したりiOSな世界から動作させる、そんなつながりのためのものだろうと思う。けっこう社会全体をiOSに繋ぎたくなるんだろうけど、いきなりそんな巨大なこといったら誰もついてこないから、今は完全に個人所有で個人所有のスマフォとつなげても便利だねで受け入れてもらえるHOMEで切り出しているんだろうなと。

次、MetroKitとか、CountryKitとかWorldKitとか、出してたりしてね。都市、国、世界をiOSに統合しちゃうSDK。TRONかよ、日本に昔あった、ビジネスとかコミュニケーションとか工業とか1つのOSでとかのTRONかよ。いや、データセンタ、クラウドと機械知性が根っこにある今のiOSとは、世界を覆うという点が同じだけ、見た目が似てるだけで、これは完全な過去の知識と経験で現代を盛大に誤解してるだけなんだろうけど。

スマフォは物理的にはハブ。だけどそれは部品レベル視点。iCloud、目には見えないけど確かに存在するなにか、がぼんやり周囲を覆っている感じの世界。だから、虚空に”へい、Siri、電気つけて”と言えば、照明がつく。神の加護があらんことよ、な世界だと、それが自然なのかしら?

技術的には、どっか壁にずっと音声認識しているiOSな何かのデバイスが設置してあったり、あるいはポケットの中のiOSとか、あるいはMacが検出して、iCloudのSiriが認識して、個人のHomeKitのデータに照らして、こうしたいんだろうなっていうアクションを実行する、そういうもの。でも、体験すると存在が遍在しているというか、身の回りにあるAppleなデバイス群が全てセンサ、すべてハブだから、なんかこう、なんにも意識しなくていい感じがするだろうな。

HomeKitのWiFiアクセサリの接続とか、ぼんじょーるのー、のプロトコル使うから、Windowsみたいな何か人間が考えることなんてなくて、今のMacからAirExpress設定するのと同じで、ぼんじょーるのー、で発見と接続おわっちゃうん。きっと、発見と接続処理だって、一般の人気づかんよ。立ち上げたら、電源はいってたら、使えるの当たり前でしょ?みたいな。ないない、ふつう無線でそれはないわ、という体験を最初からしちゃうと、それが当たり前。そのあとWindowsみたら、なにこれ?で存在が理解できないか、存在が認識できない世界になっちゃってる。最初の体験がそれだと、こえー、iOS、こえー。

遍在するiOS

いまどきの子供は、画面をみるとタッチするそうな。iOSが出てきてまだ7年程度だけど7歳以下の子供にとっては、iOSがある世界があたりまえなんでしょうね。ちょっと以前は、テレビを見ている子供が、”うさぎの番組が見たい”とか”ちょっと戻して”とかYouTubeかよ、というツッコミをうけていたのと同じように。

今は個人持ちデバイスでSiriだけど、Siriがずっと認識待機するのは当然出てくるだろう。街なかで、他人の会話に反応されたら困るから、個人識別程度の機能も入ってくるだろう。TouchIDの次はVoiceIDというわけだ。認証に使えるバイタル情報としては音声は脆弱すぎるけど、日常の誤動作というか意図しないコマンド発行をはじくなら、それは必要だよね。

そんな世界に赤ん坊が触れたらどうなるか。暑いときは、言葉が話せないうちは、おぉっおー、としか言えないだろうけど、母親がSiri、温度下げてって言ってるのを見ていたら、自分で同じことをするだろう。そして涼しくなる。世界の因果として、生まれた時から、それを見る。あるいは虚空に、眼に見えないけどSiriという存在があると、最初から認識するのかもしれない。部屋が涼しくなるという物理的なわかりやすさの分、電話の向こうのパパよりも、身近な存在かもしれない。

これが当たり前だったら、頭のいい子だとSiriとしゃべり続けるかもしれない。Siriに、人間の知性を期待するのは当面ムリだろうけど、人間の知性がカリキュラム化した教育リソースを適切に提示する程度のことは、いまでも十分に可能じゃないかな。Siriが、昨日は算数のドリルをしましたね、ちょっと復習してから、今日は新しいところに入りましょう、とカリキュラムの提示をする程度、それも手書きだったり音声受け答えだったりとか、そんなのが当たり前なところ。

いまでもBluetoothのヘッドセットごしにSiriに音声コマンドが送れるけど、常時どこかのiOSデバイスが動いてたり、あるいはiWatch的なものが常時ボイスコマンド検出できるなら、どこかのデバイスに向かって話す、という場面自体がなくなるだろう。

端末はなんでもいい、という驕り

Siriが常時稼働している、というのをサラリと言ったけど、これを作るの結構大変よ。電池をいくらでも消費していいなら、いまのiOSでもSiriの処理走りっぱなしでいいのだろうけど、リアルはそうはいかない。でも必要。その時は、端末、ハードウェアのちからでしか解決できない。商売でやってる人たちは、IoT向けの常時音声認識のための超低消費電力DSPをIP販売開始しだしている。M7プロセッサと同じく、音声認識もそうなっていくんだろう。

30年後なら、メインプロセッサの処理能力/消費電力は3桁違っているかもしれない。その世界なら、どんな端末でも、こんなことはサラリとできるだろう。今のスマートフォンでMPEG-4の動画が処理能力が足りなくて見られないのがないように。だからといって、どんな端末でもいい、全てをウェブにというのは、たぶん驕り。30年後のハードウェアの世界は、その力をフルに絞り出してたどり着ける、さらにその先があるんだろうと思う。

なんでもいいウェブがあれば、というのは、普通の世界に行きている私にとっては、うぇぶで生きたい会社の自己都合、とてもいーびる。

デバイス問わない技術動向

BLEの技術動向をみてると、WiFiルータがBLE搭載(BT4対応)すると、いまのWiFiフリースポット的に、BLEな腕時計がWiFiルータで自動的にIPv6っぽい感じで、切り替わってネットに同期する程度のことは、ここ3年でくるんだろうね。東京のオリンピックでWiFi敷設とか計画している人たち、そのころは、みんなiPhoneなんて巨大デバイスは持ってなくて、腕時計でWiFiがBLEを中継してくれる世界あたりまえよね、になってたら同対応するんだろう。WiFi? なにそれ? パソコンで使うものでしょ? みたいな。つながって当然な時代だと、そんな感じになってたりして。

で、家に帰ったら、机の上のiPhoneかiPadに情報同期してて、文章読んだり書いたりする感じとか。日常生活で文章を書かねばならないシーンってどんだけあるんだろう。今の電話システムだとうざすぎていやだけど、実際のところ、必要な会話だけ着信に限定できるなら、音声会話でやりとりして即時即決で意思判断するのが合理的じゃないの? 昔構築された電話システムでそんなことしたら、雑音な雑事で忙殺して、文字通り過労死するだろうけど。

オリンピックネタが出たから、ついでに。CoreLocation、WiFiとかBLEを使った屋内ナビゲーションもできる測位出してきてるよね。BLEは、iBeaconを使うの。いまどきのMEMSセンサは性能がいいし、加速度からの慣性航法の計算も低消費電力でこなすマイコンもあるから、加速度と、30cmの上下変化を気圧変化として検出する気圧センサと、ジャイロと、地磁気と、iBeaconの検出とWiFiのMacアドレス検出とがあれば、腕時計でも十分ナビになるんやろうね。それ前提だと、WiFiルータにiBeaconというかBLEがないと、きつそう。

HealthKit

ウエアラブル(笑)とかいうけど、実際でデバイスを売って利益を上げるのは最初の方だけっぽいよね。次は、健康データをつかって保険紹介とか医者の紹介とかするのかしらん。人の近くにいてデータを取り続けるのが肝だろうから、その意味で、ウエアラブルをおさえたい、まだどこもチャンピオンがいないうちにっていうのは、それは考えだと思う。

そうなると、人間のデータがネットに同期する世界、遺伝子なんかもついでに登録しておくと、履歴から将来予測もできそうだしおもしろい。人間は常にお金の源だし。データ中心の世界になるよ。その人間のデータを持っているのが、だれか、という。ハッカソンで出てくる定番の見守りネタも、そのデータを誰が持つのか、というのが問題になって実際にはやりにくいんだし。

ちょっとまてよ、データの所有者は自分として第3者提供とか、いろいろこれからよね

HealthKitは1箇所にデータを集約し、ハードウェアとソフトウェアを分離し、アプリが1つのデータを参照できる仕組み。でもこれ、かなり雑な仕事というか、いっちゃわるいんだけど、コンセプトモデルじゃない? というかプライバシーっていう視点でみてこの設計は、根幹から大丈夫なのか? ま、連絡帳のデータとかも、つーつーでアクセスで、いままで運用してきたから問題ないのかもしれないけど。

しらないぞ、電話系アプリが連絡帳データを自社サービスに引っこ抜く的な感じで、HealthKitのデータを自社に全コピーするアプリが出てきても。そうすればアカウントごとBANするのかしら。

HealthKitに期待されるのは、データを1箇所にっていう謳い文句じゃなくて、これでセンシティブ、健康データという究極の個人情報を第3者にわたせる仕組みが、登場したってこと。むちゃくちゃ重要。もしもこれを、活動量計の会社が自社でやることを考えてみよう。弁護士何人いるんだろう?とそれだけで目の前が暗くなりそう。それをやりたくなるだけの価値がそこにあるんだけど。

自社は垂直統合なのに外部はハードとアプリを分離するの、うまい

HealthKitは、BLEとかM7プロセッサとか、人体に関するデータすべてを1箇所に集約する仕組み。そしてSDKを通してデータの読み書き参照統計量、更新の通知(push, pull)ができるもの。これが登場したことで、健康機器のハードウェアと、データを処理するアプリケーションが綺麗に分離されてしまった。

いや、別に自社のデバイスと自社のアプリをHealthKitを使って実装してもいいんだろうけど。そして自社のデバイスデータはカスタム仕様で他のアプリには意味不明という運用もできるんだろうけど。しかしHealthKitの文脈にそぐわないものは、長くは持たなさそう。

今後は、どれほど周辺デバイスメーカや種類、そしてアプリの隆盛があったとしても、iOSアプリ市場がそうだったように、データを集約するAppleという1つのデータベースが常に勝者という構図でもある。

Apple、やっぱりうまい。何も革新的なことはなくて、これまでの勝利パターンを愚直に安直に繰り返してるけど、勝負する前に勝っているし、周辺機器メーカとかが盛り上がらなくて、この分野がポシャったとしても、もしも他社が同じことしてきたら他社も同じようにポシャるだろうから、勝つことはあっても負けることはなさそう。

Fitbitとかどうするんだろう

ハードとアプリが分離できる仕組みが登場すると、FitBitとかは、どうするんだろうと思う。1万円の活動量計が売れる理由は、デザインもさることながら、ウェブに情報を集約して、今日はなんぽ歩いたぜという自慢のリンクを、ソーシャルサイトに投稿する自社のネットサービスを売っているようなものだし。

iOSアプリ開発の人なら知ってるだろうけど、一般に開かれたBLEの通信規格だけどFitbitの活動量計の仕様は非公開で、自分のアプリから直接あのデバイスのデータを取りに行く手段は、なかった (解析すれば別だけど)。データ・アクセスのAPIはウェブサイトからのもの。だってそれはそうでしょう。活動量計を単にデバイスとして使われたら、それを使う素晴らしいアプリとか出てきたら、自社の立ち位置はただのデバイス販売業者になっちゃう。

Fitbitはウェブサービス利用料金コミコミでデバイスを販売し、データの蓄積とソーシャルグラフが構築されることでユーザの離れにくさ、逆に言えば居心地よさを作ってるようなものだから、活動量計は自社サービスに情報を集積するためのセンサでしかない。しかし、同時にそれが収益源、ユーザがお金を出す理由になっている。

一般の人間がお金を出すのは、現代でもまだ、目に見える形のあるハードウェアなんよ。重課金は、まだ普通の人類には早すぎるんよ。重課金で、人類は衰退しましたになっちゃったら、妖精さんにもうしわけないんよ。

もしもHealthKitの対応を考えても、Facebookとかと連携するには、ウェブ側にデータが露出してないとダメだろうから、最低でも統計量くらいはウェブ側にださないとだめだろうし。iOSで完全に閉じた何かをするなら、社名変えたほうが、過去のユーザを引きずるのはダメージにしかならなさそうだから、てっとりばやそうだし。

でもHealthKit対応すると、例えば病院との連携とかやりやすそう。他社との連携をしようとしたら、今の状態だと自社がそれぞれ個別にするとか、プログラムを発表してとかになる。でも言っちゃ悪いけど、たかが万歩計、のデータ欲しさに病院がいちいちプログラムに申し込むか? って思うし。あとプライバシーに関わるデータの第3者提供は、契約がむちゃくちゃセンシティブ、ユーザにそれを知られた時の反応制御は胃が痛い、その後の運用なんて考えると大変だ。

そこはHealKitは、うまく使える。データの第3者提供の流れとかそういうのは、たぶんSDKに隠蔽してAppleがうまくやってくれる、と信じたいけど、どうなんだろう。少なくとも、自社1社でやるよりかは、いいと思う。そうすると、生データはHealKitで閉じといて、統計量くらいはウェブ側にだすくらいなのか?

健康とかのデータを預けられるのはどこか

個人情報で、今の健康状態のデータなんて、極めつけのプライベートでプライバシー扱いのデータはないと思う。そのデータをどこに置けるか?

数年前にファストサーバというサーバ運営会社があって、そこがスクリプトの適用ミスで全データを吹き飛ばすということがあった。こういうデータセンタだと、まず論外。AWS? セキュリティの扱いとかどうなんだろう。金融のデータ扱いの認定を受けてるから、多分そのレベルだと大丈夫なんだろう。

健康データとか、ヘタするとお金よりも大事かも。そうすると、今のネットな社会の命より大切なアカウントを預けているところは、候補になりうる。それって? Google、MS、Apple…。iCloud key chainがあるAppleとか、強いよね。

信頼感があること、それがまだ裏切られていないっぽいことって大切。もうこのレベルになったら、iPhoneとかiWatch(ホントに出るのかしら?)はあってとうぜんだろうけど、持ってなくても、Appleのアカウントがなければ社会生活できないレベルになってしまいそう。もうデバイスじゃなくても、アカウントの利用料金でも十分だったりして。

エンタープライズとかやってきてるけど、Apple並のサーバ運用ができる?、と言われてYESって答えられるサーバ技術者がどこにいるんだろうとか、年収相場とか、ちょっと気になる。

iOS8ベータを入れて、デフォアプリを見とくとおもしろいよ

NDAだからかけないけど。一度起動してみとくといいよ。そういうことしたいのね、的な。

HomeKitとか

HomeKitと聞いて、家電と思い込まないほうがいいと思う。Appleが言っているのはホームオートメーション。自分が所有する自分の為の環境のオートメーション。自動化するために、そこにある装置群がiCloudの一部になるような感じでiOSに統合されるのが必要だから、アクセサリの仕様が出ている感じ。配置やシーンにあわせた演出が必要だからiOSのSDKが出ている感じ。でも主役は、SiriとかiOS。もうアプリ開発者が出る幕はなさそう。

HomeKitとHealthKitが一緒に出てきたのって、ホームオートメーションに人間も要素として含まれるから、っていうのもあるのかもね。Siriに音声指示するのすら、めんどくさいでしょ。ベットで寝たら、自動的に睡眠導入シーンになって、熟睡したら熟睡モードの空調調整とか、そんなのがふつーにある世界だと、ホームオートメーションって人間もセンスしないとだめじゃん。そして、朝になったら、その日は新鮮な牛乳が飲みたい気分の日だったら、なんか勝手にその日だけは牛乳が配達されている程度の。

家電じゃないの、ホーム、個人が所有する環境まるごと1つ、そしてその環境の中にいるiOSデバイスが認識できる人間(普通のデバイス持っていない人間は、ネットから見たら透明人間ですから)をまるっと1つと捉えて、オートメーション。そんな視点。

だから装置もホームオートメーションで見るのがいいと思う。いまは既存の装置とか買収した会社のものとかで、照明やドアロックとかエアコンのリモコンとかがでくるんだろうけど、極論だけど、お弁当の配送を発注する専用端末が組み込まれて、食事の提供までホームオートメーションになるのが便利な人もいるかもしれない。

生活パターンが読めるなら、ガスとか深夜電力での温水とか電力とか、そういうものまるっと最適計画にしてくれたら、ご家庭のエネルギー消費量(コスト)が10%削減できたりして。その程度の威力は、ふつーにありそうよね。数多くあるとるにたらない機能の1つとして。

HomeKitの操作はSiriだけど、カスタム拡張もできるっぽいから、そういう魔改造もありなんだろうと思う。

どんな感じ?

いまのHomeKitは、iOSデバイスに家電とかのデバイスを無線でつなぐ仕様。それがあると、Siriとかアプリから操作ができるようになる。通信仕様はApple独自の仕様でMFi。つまり、秘密保持契約の向こう側。

おもしろいのが、BLEの扱いなの。セキュリティを最重要視するのはわかるとして、そのセキュリティレイヤが、BLEのSMじゃなくて、GATTの上に独自構築。BLE自体を信用していないわけじゃないんだろうけど、そこをレベルで独自仕様にするか、っていう感じ。

これだけみると、あー独自仕様、って思えるんだけど、ちょっとこの辺は微妙で。今後の動きを注視したいって思うところ。なぜかというと、BLEのセキュリティの仕様は、もともと1台のハードと1台のハードを接続する仕様、通信の最下層のハードウェアに依存する仕様なのね。だからコントローラが1台で接続するとかならありだと思うんだけど、もしもCloudの外部拡張端子としてBLEなデバイスを捉えてて、どのiOSデバイスからでも接続できること、なんて想定があるなら、特定のハードウェアしばりのセキュリティは排除して、iCloud Key Chainで共有した鍵とかが使えるだろう、独自のセキュリティレイヤを入れるのも、なっとくなの。

たぶん、ただ独自仕様にしただけで、これは考え過ぎだろうけどね。

しかしBLEのアドバタイズデータが、機種が特定できないMFi仕様にする、とあるのはプライバシー的に大切だなって思う。外部から電波をスニッフィング(盗み見ること)してたら、パケット自体は暗号化されてて解読できなくても、パケットをやりとりしている状態だけは見えるから、それで”エアコンがOn/Offするだけ”の情報がとれたら、もう十分プライバシー侵害できる。スニッフィングし続けたら生活パターンや在宅しているかとか把握できちゃうから。

これ、どんな仕様になってるんだろう。これはしかしBLEの元の仕様的には、ちょっとどうしようもないところもあって。もともとが、1台の機械に1台の周辺装置を接続する仕様だから、かなりプライバシーに配慮して、物理アドレスを一定時間でランダムに変更するとかいろいろはいってるんだけど。アドバタイジングパケットには、普通にサービスとかLocalNameを入れる仕様だものね。セキュリティといっても、そこは機器の発見の仕様的にどうしようもない。そこまでセキュリティに抵触するとして徹底的に排除しているんだろうな、それは思う。その姿勢だけで、かなり信頼できるし、逆にAppleへの信頼度を作るために、そこまでやって当然なのだろう。

あとWiFiもあって。こちらはBonjornoでデバイス発見の、HTTPSでJSONなやりとりでセキュリティとかはやっぱりMFi。ブリッジ・デバイスが作れるから、既存の家電通信バスのブリッジを出せば、接続可能になる。

で、アプリがデバイス・ドライバなのよ、HomeKitって。設置運用のアプリとか、それぞれの家電の調整とHomeKit登録のアプリを出す、いいきっかけになるのかもね。そうすると、家電のメンテ故障情報をアプリに直接抜き出すとか、ついでに見守りサービスとか、日本の家電メーカの人が2000年のIT対応家電をいろいろ考えた時に夢見た未来が、すべて1日で実現できる現在なんだろうね。

すごいよね、プラットフォームの威力。賢い人達が、大きな会社が雁首揃えて実現しえなかった現在において、1日で、あっそれなら1週間で実現できるよと個人開発者が言えちゃう時代、になっちゃった。”雁首”がいけなかたんだろうね。絶対的な支配力、対等の存在とは思えない絶対的な存在がないと、こういう場って生まれなかったんだと思う。

何をもたらすか

きっとApple、なんにも考えてないんじゃないかしら。Siriで音声操作って、スター・トレックみたいなことはできると思う。

勝負に勝つことがなくても負けることはない、というスタンスなら、今年から人間の生活がネットに同期することで、あらゆる身の回りが自動化されてコストかからず快適生活な時代にはいるなら、家電の制御権とかにぎれていたら、あとでなんでもできるだろうし。

技術があっても、誰がどんな体験をしたいか、とか千差万別だし、そういうのって想定してこれだっていっちゃうと、傲慢になるだろうし。いい意味で、そういうところは透明になっておいて、ただなにかをする場は提供するっていうかんじかなって思う。

確実に、最初から最後まで、Appleしばりになるのは確実。通信規格自体がMFiだし。Googleの規格とかも出てくるんだろうけど、同じ体験ができるなら、別に買い換える必要はないんだろうし。両方対応のデバイスは、たぶんMFiの適用はずされるだろうから、出てこないだろうし。そういう意味で、最初から最強、最後まで最強の第1手をうったなっていうのは、確実。

でもこの場がある構造って、iOSアプリケーションの初期と同じなのね。いろんな可能性があり、大手がそれぞれやるわけにはいかないけど、10万通りの小さいニーズが広がっている。ハッカソンで、見守りサービス、とか定番で出てくるけど、実際にやるかといえば、クラウドどうすんだよ、運用費用はとか、機材がとかいって実現しなかった”小さな無数のニーズの1つ”が、1週間で実現しちゃう。そういう可能性が、10万くらい眠ってる。

iOSアプリ開発者のお仕事

ないよ。どこにもない。

考えてみてよ、操作するのはSiri。開放されているAPIは、家電の登録とその削除。いちおうアプリからも操作できるけど、単1のキャラクタ書き込みだけしかアプリには開放されていない。たぶん、接続時に目の前の機器かどうかを確認するとき、LEDをピカっと光らせるとか、そういうシーンを考えているんじゃないかしら。

つまり、iOSアプリ開発者の仕事は、家電の登録管理リストアプリを作ること。本来そんなアプリはAppleが1つデフォアプリをだせばいいだけだろうに。いろんなメーカごとに、しがらみがあるから、しばらくはそれぞれの家電メーカのグループごとにアプリを出す状態を作ったのかもしれない。あるいは、意見集約できなかったからCore家電的なAPIをとりあえず公開しただけか。

で、肝心の操作のシーンはSiriにお任せ。たしかに、夜といえば、照明や空調が夜の演出になるアクションセットの登録とかはアプリがするけど、それも設定というか設定だよね。インストール時に1回すればいいだけ。日常的に利用するのはSiri。

Siriの調教がiOS8に公開されている? されていないでしょ。iOS8のHomeKitはとくに、アプリケーションはPCでいうデバイス・ドライバなの。アプリケーションがユーザのiOSデバイスに、必要な情報を登録すれば、後の仕事はすべてSiriのしごと。そしてSiriの尻を叩くことは、iOSアプリにはできない、許されていない、手が出せない。

iOSアプリ開発者の仕事?、ないよ。

HomeKitとか欧米の文化圏の文脈なんだろうね

どんな場面を想定しているのかしらないけど、世界共通っぽいグローバルっぽいみかけでありながら、これってきっと欧米で文化圏での文脈で開発してるんだろうなって思った。1LDKで使ってる場面、想像できないんよ。なんかガレージがあって、1Fと2Fがあって、家の敷地の広さがBLEの電波が届く30mの距離を超える感じの、そんな風景が浮かんじゃうのは、私だけ?

そもそも、ホームオートメーションって日本でみたことないぞ。実はiOSアプリ開発で独立したとき、あんまりにも仕事のつてがないから、勝手にiPhoneからホームオートメーションをやっちゃおうと実装したことがあるの。私はiPhoneの連携ハードって決めてたから。

そうすると、欧米のホームオートメーションってほんとDIYショップで売ってるレベルで、いろいろと製品がある。電力線(家の中の電力の配線)を使ってデータを送る規格(X.10とか)があって、家のどこかにある電球を、その通信規格の端末かリモートでOn/Offできる。もちろんこれは、家の中の配線に限定されるけど。そのコントローラもBluetooth接続とかWiFi接続のもあるから、そういうのを使うと外部からとか無線からとかにもできる。コントローラだから、後付すればいいだけで、電球とかそういうのは、そのまま使える。

日本にもエコネットという規格がある。家の中の要素は、制御されるもの(エアコンとかテレビとかいろいろ)と、制御入力をするもの(コントローラ)。それぞれメーカが違うから、全体がシステムになるためには、つまり商品として売れるものにするには、共通の通信とか振る舞いを実現する規格がないと、開発の寄るすべがない。そういうので、規格はある。

でも使っている家、導入している家、みたことないよ。ひょっとしたら、太陽電池とか夜間電力での温水装置とかで知らない内に入っているのを自分が知らないだけなのかもしれないけど、そんなハイテク装置を導入しているお家にお呼ばれしたこと自体ないよ、ってかお呼ばれしたこと自体ないよ。

このHomeKitの概念設計、多分アジア人いないんじゃないかな。そんな感じがする。なんか子供の頃から感じている、ぼんやりとした常識って、なにか新しいものを設計するときはにじみ出ちゃうし、それがチームでやる仕事だと、その地域性も出ちゃうんじゃって思う。これ、グローバルの顔しているようで、けっこう欧米。

意外とすぐに使うことになるのかもしれない

HomeKitでいいなって思ったのは、BLE対応とWiFi対応の2種類があること。BLE対応の調光LED電球とか、いまはないけど、そのうち出てくると思う。BLEのモジュール自体は価格が300円くらいだから、5000円くらいのちょっとハイクラスLED電球だと搭載できちゃうんじゃないかな。

そうすると、その1つの電球をHomeKitに接続して、電球1つでHomeKit体験が開始できるの。それはBLEが単体でつながる技術でありお値段が家電に使える程度であり、そして調光とかHomeKitがなくても、そもそもBLEを搭載する製品がでてくる分野だから。

あと、ひかりもの、っていいよね。目に見えて動作がわかるし、家に帰ったら照明ついてほしい、という単純でかつ根深いニーズだけど、まだ世界の普通になってない場面で、わかりやすいし。みんなのあたまのなかに、自動ドアのイメージが有るんだけど、その自動ドアがまだ実用化されてない的な。下地はあるのに、ものがこない、みたいな。

なんか電球1つでテストしている状況を想像すると、戦中の貧しい日本というか、裸電球1つをぶらさげている感じになっちゃって、とてもいやんなんだけど。1つの電球で体験できるって大切だと思う。まさかiOSアプリ開発者が、HomeKitアプリ開発するからって、HomeKit対応の家を建てるわけには、いかないでしょ。いや、それもいいのかも。アプリ開発のための経費で、家(うわだち)が100%落とせるかも(実際に住んじゃうと、課税されるだろうけどw)

だから皮切りはBLEな電球1つ、なのかなって思う。あと赤外線LEDリモコン。日本の家電って無線対応しているのはないけど、エアコンってほとんど赤外線リモコンがある。お安い機種だと、単純に赤外線を送信するだけだけど、高級なのになるとリモコンと本体が相互にやりとりして、エアコンの表示設定情報が確実に本体と同期する作りになってるのもあるんだって。すごいね。

エアコンと天井の照明のオンオフ、それをする赤外線リモコンがHomeKit対応なもので、家電メーカ各社の制御コードを切り替えられるようなものが1つあれば、なんか学習リモコンそのものだろうけど、日本の居間がHomeKit化しちゃう。

どこがプレイヤーになるんだろう

じゃ、HomeKitのあれこれを作れるところってどこだろう。半導体メーカは、もうお決まり。BLEとWiFiでMFi対応できるところって、もうあそこねという数社でおしまい。それはそれ、半導体は買えばいいから、それはプレイヤというよりサプライヤだし。

どっちかっていうと、日本で旗振りというかHomeKitってこういうものなんですよって体験させちゃう会社、そしてモジュールとか必要な下回りを開発したり売ったりする旗振り役なとこがどこがでてくるか、って気になる。あとMFiって開発にもいるし製造にもいるから、そういうのに対応できる工場を持っている会社がどこかとか。

そんなん、限られているやん、あそこと、あそこしかないよ。もう、できるところ限定されすぎ。

HomeKitって、iOSアプリケーション開発じゃないじゃない。家電をSiriにつなぐなにか、あとはSiriに操作をおまかせって、もうむっさIoT(Intenet of Things)で、M2M(Machine to Machine)じゃない。もう、めっさ具体的すぎるわ。わかりやすすぎるわ。

しかし、このわかりやすい絵が、今まで見えにくかったのって、データセンタというかIoTなデータと制御を預けるところっていう中核が、いままでごぼって不在だったんだろうね。ほんとHomeKitというかAppleの立場で、こうやって出てくると、こんなに見方がかわる。一気に現実になる。なんというか、それが存在していると信じることで社会が成り立つ感じがする。実在してないし働きかけもしてこないけど、そんな認識が社会を変えちゃう存在って、まるで神の概念やないか。べつにApple信者じゃないけど、なんかそういうの実感するわ。

トップダウンに見えて人間世界からのボトムアップだったり

なんかネットニュースだと、これから普及するとかなんか上から目線、大手製造会社の社長みたいな目線で語っちゃうんだろうけど、それ意味ない。クラスタだから。隣の芝は目に入らなくて、自分の芝ばっかり見つめているような、そんな世界だから。隣のお家がすばらしいから、自分ちにも導入する、それはあるかもしれないけど。でも、それでも見てるのは自分ちの芝。隣の芝がたまたま目に入って、いいなっていう。微妙な違いだけど、この俺様感はけっこう出てくると思う。

Appleが出したから、普及すると言う表現は、正しいけど勘違いだと思う。Appleの提供するものって、場。いままで対等の力関係だった大きな会社が雁首そろえていた世界に、ポンと投げ込まれた場。それにのるもよし、無視するもよしなんだけど、選択肢は、のるそる存在を無視するの3つしかない、そんな場。その場でだれがどんな振る舞いをするかは、人間の仕事。その仕事が形になって、それを使う人が出てきたら、それではじめて普及し始めたという形に見える。そんな感じだと思う。

トップダウンっていうのは、人間が人間に対して作用するときに出る言葉なんじゃないかなって思う。人間というか法人も含めるから、それは会社と人間でもいいや。でもHomeKitとかだと、場、の概念なんじゃないかな。世界が、ぽんとあらわれた。手のついていない未開の土地が、目の前に広がった時みたいな。iOSアプリのSDK公開時点の感触を覚えている方は、その時の感触なんじゃないかしら(自分はiOS4からはいったから知らないのだけど…)

だから、トップダウンじゃないとおもう。場、世界がぽんと目の前にある。そこで普及させるも使うも販売するも製造するも利用シーンを作るもセミナーするのも、それらは全部人間の仕事。作るも使うも評価するのも、人間の仕事。でもその足元には、場、がずっとある。空気のように、場がある。そんな感じ。

それって、トップダウンじゃないと思う。

日本の家電メーカ

提携家電会社に、日本の会社なかったね。秘密保持契約で信用されてなかったりして。

いまごろ大手の家電メーカの技術担当者とか、HomeKitのプレゼンを見て分析とかしてるんだろうなって思う。無駄だと思う。レイヤが違う。そのレポートを読んだ、シニアな元エンジニアのマネージャが、俺達のアライアンスが作った家電間通信規格は、とか一言でも口にしたら、もうその会社たぶん来年消えるかも。

でもHomeKitで日本の家電がおしまいとか、そういうなんちゃっておもしろ煽りブログが書きそうなことにはならないとおもう。家電は、家電だもの。たとえば洗濯機がない生活を1ヶ月してみる。引っ越しの時2週間体験したけど、もう二度と体験したくないくらい不便だった。家電は家電としてそれ単体で必要なの。そして家電はそれ単体で価値がある。故障しない、機能に優れている、デザインがいい、サポートがある、買いやすい、設置や破棄まで含めた販売と流通、納得の価格、いっぱいの評価軸がある商品なの。

HomeKit対応は、その評価軸の1つにはなる。でもなくても、使えなくはない。ただし、同じように素晴らしい商品が2つあり(それは自社の2商品かもしれないし、自社と他社の商品かもしれない)、一方がHomeKit対応ならば、それを選ぶかもしれない。多少高くても、しかたないよね、ほしいんだものと買うかもしれない。そんな感じ。

家電の市場規模って日本で10兆円を超えるくらいっぽい。日本で年間1200万台のiPhoneが売れるっぽいから、1台7万円粗利50%としたら、売上1兆円の粗利5000億円くらいなのね。その10倍の市場からロイヤリティー取る感じなのかしら? 金額は知らないけど、適用領域は確実に広がりそう。

HomeKit対応の会社にハイアールがいたけど、あそこは三洋電機の白物家電の部署を買い取ってるから、そっちからくるのかも。私、It’sシリーズが好きで、今も使っているから、ハイアールから三洋電機品質のものがHomeKit対応できたら、かっちゃうな。

そういう業界の力関係を崩す道具として、HomeKit対応ってAppleというブランドの威を借りれるところあるだろうし、使うのいいのかも。

アプリから家電いじりほうだい、状態とりほうだいになったって、なんかこう、鉄道が引かれたけど、まだ家が建っていない土地が広がっているような、そんな感じがする。

母屋を取られるか?

iOS8にHomeKitが入ったことで、日本の家電製造会社は母屋を取られるだろうか、と書こうと思ったけど、流通販売チャネルのでっかい割合をすでに家電量販に投げてるやん、母屋取られてますがなって思った。もしもHomeKit対応製品を通販でうるチャネルを日本に作る会社がでてきたら、大型家電とかだと運送が大変、故障対応が回収するにせよその場修理にせよ現地対応が必要になるから、それを自社で構築するのは費用と時間が大変。

そうすると、日本で10年以上も流通を使いながらやってきたアマゾンがやりだすか、あるいは宅配業者が自分からその役割を始めるかになるんだろう。だから、家電製造会社であって、家電で社会を潤す会社じゃなくなってたんだから、母屋とられるもなにも、それ家電製造会社の母屋ちがう。他の人のおうちや。

そういうITななんとか要素で母屋がという話題で、Googleの自動運転のブログを読んだ。 BLOGOS 無人自動車からロボットまで 「世の中すべてをデータ化しコンピューターで便利に」 あらゆる業界の再編を目論むGoogleの戦略

製品のアピール余地がIT化くらいしかもうない、自動運転は魅力だと。そりゃ自動運転があれば、ものすごいわかりやすい魅力だ。しかしこのブログだと、日本の車会社の自動運転のアプローチは、カメラ+車の処理回路で単体で処理して判断する構成で、Googleのは、街全体を3Dスキャンでデータ化してそれで運転、飛び出しや歩行者といった動的に変化する要素は、日本メーカと同じく車単体の処理能力で対応、らしい。

Googleの視点、そうなのかって目からウロコだった。一度町のデータをネット世界に同期させて、そのデータのなかで車を動かし、それをリアル世界の車に反映させるなら、データは常にGoogleが持たざるをえない。車単体でも、日本の車会社と同程度に、自動運転するんだろうけど。

これ、中国とか絶対に輸入させないだろうな。だって、街の情報が全部Googleにリアルタイム同期して自動運転できるって、もしも戦争状態とか内紛とかの有事があれば無人機だけで地上制圧できるだろうし。

でも自動運転って、トラック運送とかタクシーで短期的には雇用を奪い景気を悪くするだろうけど、それをやらない国は、人間が一番高価なリソースだから、生産コストが高くってって話になりそう。10年前は安価な労働力による人海戦術がうりだった国が、逆に、テクノロジーがない状態でコストが高い人間を抱えた国の生産コスト100に対して、自動化されて人がほとんどいないテクノロジーがある国の生産コストが10になったりして。

あと、リアル世界をネットに同期反映させて、逆にリアル世界にちょっかいをだすって、南極点のピアピア動画 ,野尻 抱介 (著) に出てきたあれそのものの流れやん。まったくもって、革命だわ。

母屋? そもそも、それはあなたの母屋だったの? 村の庄屋さんが、目の前に荒野に一夜にして現れた宮殿を見て、それが自分のものだと思い込む、その根拠はなんなんだろう?

3の倍数の時間軸で考えてみる

こういうものが世の中に出てきたら、1年、3年、10年、30年でどんな世の中になっているんだろう。

1年後、HomeKitに対応した家電メーカが出てきて、それぞれの国で営業販売をしているだろう。日本でも販売する会社あるいは輸入するところが少しはでてるかもしれない。ビックカメラの1Fはスマートフォン売り場どころかiPhone売り場になっているけれど、そこの一角のアクセサリ売り場に、HomeKit対応家電が並ぶかもしれない。もしかしたら、モデルルーム的なHomeKitの体験コーナも設置れるかもしれない。

3年後、欧米ではひと通り身の回りの家電は一式HomeKit対応のものが出揃うだろう。iOSにあわせたデザインのいいもので、おそらくはちょっと高い、けどいいという絶妙なところをついてくる。家電は統一さを求める人がおおいんだろうか。それであれば、シリーズで出してくる会社も出てきてるだろう。

10年後、もうちょっと想像がつかない。普及しててもいいだろうし、普及してないかもしれない。無線関連のSoCは、膨大な数が出荷されて、技術も進化して今のHomeKitを作る製造コストは1桁下がってるかもしれない。でもそれは製造原価の話で、世の中がどうなっているかとかはわからない。

30年後、自分自身を思い浮かべると、これはけっこう想像がつく。自分自身というハードウェアが、もうそろそろ寿命だろう。今は健康で体力もあるから想像すらできないけれど、自分でお手洗いにいってお尻をふく、みたいな当たり前が、日常が自分の体力ではできなくなっているかもしれない。自分の筋力で動けないなら、他人の手を借りるか、外骨格とかの技術手段をあてがってもらうか、くらいしか手段はなさそう。でも、少子化で老年世代が多ければ、人の手の価格はものすごい高いだろう。自分には後者の技術があることを、今から祈るしかない。

自分で自分のおしりが老けなければ、自然界では自然死を迎えそうだけど、人間はこう生きるべきだ/こう生きたい、という理念や考え方と、必要な費用、それを自分が支払えるかという冷たい方程式が、ぶつかるところに自分の身が置かれてるかもしれない。方程式に冷たいも温かいもないけれど、人間だから、冷たく感じるのかもしれない。

案外、HealthKitでバイタルをネット同期して、筋肉の信号に反応して外骨格が動く、それがあるから1人で通常生活できる、そんな生活をしてるのかもしれない。外骨格=HomeKitの一部だったりしたり。機械は製造してスケールアウトするけれども、人間は赤ん坊から大人になるまで育つ時間とで、そんな増えていくものじゃないだろうから、膨れる必要を満たすのはスケールアウトできるものに期待しないとっておもう。

Apple以外の2014年

ソフトバンク…

iOS8の発表タイミングで、ソフトバンクがロボットを発表した。2月に20万円で販売するらしい。人間っぽい形をしていて会話ができる。お茶汲みとか野菜を刻んだりはできなさそう。

ソフトバンク、Pepper

iPhoneで回線契約を増やせなかったらソフトバンクってどうなってたんだろう。3キャリアがiPhoneを扱うと、NMP争奪戦の0円機種の撒き餌と化したから、もうiPhone自体が武器にならずでどうするのかと思っていたら、ロボット。まさかの、ロボット。

20万円って、部品原価じゃないかな。駅前で無料でADSLを配布したのと同じで、配ってしまえばその後にお金を回収できる仕組みがあるからやるのだろうけど。iPhoneの初期ユーザ数が日本で20万人?程度と同じくらいの人数が初年度に購入したとすれば、仮に1台10万円の赤字としたら200億円規模の赤字は見込んでいるんだろう。

きっとこれ、AppleのHealthKitと同じで、ユーザの直ぐ側に常にいるデバイスの立ち位置、情報収集してても違和感がない立場をとりにいいってるんじゃないかしら。プライバシーとかそういう極めてデリケートなところでも、会話ができるロボットなら、認識エンジンがクラウドにあれば通信せざるを得ないし。最初に、そういうものがあると便利だ、と認識されたらその後の議論は、プライバシーを守りつつ、この便利さを維持するための仕組みはなんだろうか、になるだろうし。最初に立場を作り、最初から最後までルールメーカーである立場って、きっと200億円以上の旨味があるんだろうか。

あのロボット、でもうまいよね。胸に変なタブレットがついてる。元になったフランスのアルデバラン社のにはないのに。ユーザのそばにある装置って、機械の形している必要ないんよね。例えば話しかけて答えるのも、タブレットに顔の画像をだすだけでいい。常時見守りタイプでも、機能的にタブレット+首振り機構で必要は満たせる。

でも、タブレットの形でそんなのだしたら、家の中をスパイするつもりか?、になるだろうし、販売金額もタブレットなら2万円がいいとこだよね、という見られ方をする。でもロボットという形をしてたら。20万円、激安!。最初の入口の見せ方って、ルールメーカーとして大切なんだろうな。

で、これがある世界が便利だとわかって、それを使っている人がご近所やご町内に1人いれば、それが馴染むんだろうね。日本の世帯数が、5000万世帯として、ご町内が100世帯単位とすれば、日本には50万ご町内がある。さっき20万台と書いたけど、3年で50万台達成で、ご町内でみかける程度。

そこから先は、安価版です、でタブレット+首振り機構の5万円コースでもいいんだろう。同じだもの。会話できるとか、基本の売りは。

クラウドにつながっている機械知性って、それ自体に体がなくてもいい。”お買い物を頼みたいんだけど、卵とレタス”、というコマンドで発注して、実際にはセブン-イレブンから配送されてくるのでもいいし。でもそれ便利よね。

後、私は独身世帯だから、もしも死亡してたら通知してくれる機能は、御近所のご迷惑にならないために、地味にほしい。見守りとかそういうアイディアは、ハッカソンとかで必ず出てくる定番アイディアだけど、リアルに展開しているところって少ないの。だいたいセコムのオプションとかになる。そもそも、低頻度発生イベントへの対応なんて、小ねたすぎて、それで会社を起業するほどでもないけど、でもニーズはあるというところで、誰もカバーできてないんでしょうね。

製造業の限界

HomeKitの話題をしているときに、たまたま目についたのでサンプルとして。 トヨタとパナソニック、クルマと家電の連携サービスを年内に提供開始へ 自動車の位置情報と連動してエアコンとかが連動します、という記事。

さぁdisりましょうかw と思ったけど、もうdisる気になれないので、思ったことを淡々と。

製造業って辛いんだなって思った。この”サービス”を利用するには、トヨタとパナソニックの製品を買わないといけない、そして車を日産のに買い換えたとき、日産のクラウドがパナソニックのエアコンと連動していなかったら、快適な家の無意識に提供されてた便利機能がなくなっちゃう。ものすごく、会社依存。特定の会社の製品に限定されている。

製造業だと、商品を買ってもらって初めて利益が出るから、製品しばりの構造が入るのは、しかたないんだとおもう。でも、最初に利用するシステム導入時点で、今後この会社の製品しか買えませんよという無意識のプレッシャーがはいるって、普通はどうなのだろう? これがパナソニックが一括で作る家という単位なら、例えば太陽電池の発電量と連動してエアコンがとかなら、家という単位でまとまっているから、いいのだと思う。でも、車は、違うよね? 家とは独立した、なにかよね?

この構図の悲しいのは、2社でやってるところ。でもでっかい会社同士が連携するとなると、どっちがどっちの力関係をだすと動けないだろうしで、こういうシステム提案せざるを得ない。これがもしもHomeKitだったら? iOSデバイス、Apple、iCloudという見えないボスがいるから、家も車もまずiOSに連携させて、機器間の連携はアプリで出せばおしまいだろう。(いまのHomeKitで、それができるとは言わない。そういう事が可能になる構図だってことで。)

しかし関わるのが2社じゃなくN社いたら? 車で家についたらエアコンがついてて部屋が快適温度、いないときはオフで電気代が嬉しい、という1ユースケースを作るために、車とエアコンのメーカがぜんぶ雁首そろえて通信規格を作って、会社間のエゴがでないように運用し続けるために運用会社を1つ作って、やっとサービス開始。そこまで社会に資本投資して、たぶん何年もかけてできることが、車で帰宅したら家が涼しい。…投資の非効率さに、絶句するよね…

でもそれは、彼らのいいわるいじゃない。そうとしかならない構造なんだ。ボスがいないって、そうなっちゃう。でも、そのボスは、同じ立場の存在じゃいけない。それだと新たな喧嘩になるだけ。この構造は、神さまのいない日曜日なんだよ。

スマートハウスのアプリ層って、どこにあるんでしょうね

昨日のスマートフォン系の規格見ての感想をまとめると、機器や住宅のメーカが集まると機器間相互接続のオープンな仕様策定と企業連合の形成に注力し、結果スマート(になりうるけど、頭脳に相当するアプリ層を開発するところがでない)なデバイスが登場すると

いま、mbedとかオープンな開発環境に半導体会社自体が注力するのは、部品やハードの会社がいくら頑張っても立場的にそうとしかなりえず、アプリ層を、一般に開けない&開いてもそれで利益を得る構造がなければ、誰も寄ってこない、からなんやろな

そして、特に日本は、オープンな仕様といいつつ、じゃアプリ層を作るからアクセスをオープンにして、というと”セキュリティ”がとか、企業としての契約書しばりをやってくる。でもそれは業界のためではなく、機器が暴走した、という自分たちの想定事象をリスクと考え対処するから

つまり、オープンとは、自分たちの力関係の中で支配的立場がなくお互いの牽制と妥協の結果そうせざるを得ないだけであり、身を切って、アプリ層の世界を構築しようと、あえてリスクに付き合う度量のあるところは、存在しなかった(あっても、表に出てこれなかった)

そしてHomeKit。絶対的な支配者。ライセンスの元でハードは作れる。その制御、アプリ層は、iCloud。絶対的なアプリからのトップダウン。だから言っている、日本のIT家電とは、音声操作の見た目が同じだからで、俺達が昔やった、なんて技術者の戯言に、価値はない。ノイズだと

ごめん、存在忘れてたけど、ソニーのあれ書き足しときます

ソニーから腕バンド型の活動量計でてて、Xperiaと接続してっていうのだしてる。サービスに紐付いて物理なデバイスを販売する、Fitbit的なビジネスモデルって、年商50億円までの商売だろうと思うから、一部上場企業の仕事じゃないと思うんだけど、なにか展望があるのかしら。

…ごめん、iOSのことばかり書いてたら、世界の視点レベルを下に持っていくの、頭がついていかない。国内の会社だから注目度もあるかなと思って、部品の1つだけど書いてみようとおもったけど、無理です。OSを持っていない会社に、機械知性を実運用できるデータセンタが今稼働させられてない会社について、なにか書けって言われても、図体のでかい製造会社ですね、としか書けないですがな。(disる気はないのです、正直、書こうとしたけど無理だった、というだけ)

Googleって族長っぽいのかも

Appleと対比で出てくるのはGoogleかもしれないけど、AppleはiOS8とiCloud(Kit)で世界になったけど、Googleは族長ぽいのかも。いーびるじゃない、っていうのを是として掲げているけど、善悪判断って人間だからできることなんよね。その人間の集団のなかの、価値基準に照らし合わせて、初めていーびるがなにかを選別できる。つまりGoogleは、人間と同じレベルの存在。そして強い、なら族長だろう。

古代社会を思い出しても、族長、あるいはシャーマニズムがはいった社会では、眼に見えない神様と交信できる存在というのが、族長が族長である権威の理由付けになってたんだろうなって思うと、ネットの社会でもそういう、社会を動かす実際の力という権力と、なんかわからんが存在感があるという権威の分離というか、関係が出てくるんかもなって思う。

宗教という権威と、王国という権力があった、構造が中世社会っぽいよね。

今年のiOS8なデバイス

WWDCの動画を見てると、なんか欠けてるピースっぽいものが見えてくる。iPhoneは全画面で解像度も画面サイズもでっかくなるんやろうね。UIKitのあの表示サイズのクラスっておもしろい。もうピクセル単位でデザインする時代は終わったんだな、ってかレスポンシブなウェブUIの概念そのままじゃないかよ、とツッコミどころ満載。

iPhone4sからiPhone5のときのように、古いSDKのアプリは額縁表示、新しいSDKのアプリはきれいな全画面表示をするんだろうなって思った。

そしてiWatch。ほんとに時計という名前で出すのかわかんないけど、やっぱり活動量計の立ち位置は抑えるしかないでしょ。だれもiPhoneを持ち歩く人なんていないよ。10代とかLINEとかじゃんじゃん通知がくるけど、取りたい人はごくわずか、なのにそれを逃さぬために着信ごとに画面を見てる人には、ANCS対応で通知データが手元で参照できる時計型デバイスはいいのかもね。彼氏からの連絡のときだけ、時計型デバイスに通知がでる、みたいな。

あとは、居間。HomeKitがあるのに、そこがAppleTVじゃ、なんかちぐはぐ。iMatとか、もっとでっかくiHouseとか出してきたら、腹を抱えて笑えるけど、なんか25年で最高のデバイスとか鼻息あらいから、あんがいリアルにそっち系だったりしてと思ったりする。

こんな話していると、Apple教かって思っちゃう

iOS8がらみで、おもしろからぶっちゃけ頭の中身を書き出してみたけど、世の中自体は別に何も変わらない。家電は家電だろうし、健康データは健康データだろうと思う。ただ、データの保存と参照場所ができて、それを法人でも個人でも区別なく、アプリを通して同じようにアクセスできる場が生まれた、それだけ。いやそれって、iOSアプリのストアが出たのと同じインパクトじゃないですか、と言われたらそうなんだけど。けっこう、既存ハード自体がなにか変わるっていうわけじゃない。

Appleが提供するのって、Siriがちょっかいだしますよと、場の提供だけで、実はそんな大したことじゃないと思う。大したことなのは、Appleっていう存在が家電とか家とかそこにあるって感じ取るようになることかなと。もう、神様っぽい存在。見えないし感じ取れないが、その恩恵はあるみたいな。加護をうけて毎日幸せ便利みたいな。

そんなことを思ってたら、たしかにこうやって書いてることも、神の声を聞いてなんか興奮しちゃってるイっちゃった人っぽいんよね。iOSアプリ開発者の1年権利を買うのも、Apple IDを作るのも、そう考えたら洗礼名ゲットてきな感じすらしちゃう。

既存業界と関係無いようで、同じ同列ですらない絶対的な強者というか、強さを比べる気にもならないくらい異質な上位の存在がないと、HomeKitとかHealthKitとか、いままでありそでなかったもの、いままで飛び抜けた技術とか資本がある会社が1社で1の規模をやってた感じの領域を、一気に一般にリボンを掛けて提示して、規模が1から1000に1年で膨らむ的なイベントが起きちゃうとか、ありえんよね。

意外と、その組み方しかないのかも

自動車の会社と家電の会社のクラウド連携のdisりじゃないけど、絶対的な同質の存在だと思えないので、人間感覚的に争う気すらおきない、もう絶対の存在にデータをすべて捧げることで、その世界の人間同士では対等にデータを共有できちゃう、なんてことはあるのかもしれない。

もしもこれが、族長がデータを握ってたら、大変よ。だって、データを持っているってつまり権力を持つわけだから。リアルに同じ存在のものが、強烈な権力なんて持ってるのを見たら、いやーん、って思っちゃうって。もしもこれが、もう同じ存在とは思えないレベルがもっていたら、違うのかも。

なんというか、権力を持っている人と、権威がある人って違う感じ? よくわかんなけいど。権力ないけど権威がある人に、大切なデータをささげちゃうことで、我々人間は、多少の強弱の力関係はあるんだろうけど、等しくそのデータを共有することで社会が成り立つみたいな、わけのわかんなさはあるんかも。

これってしかし一神教だなって思う。やおろずの神々だと、神様同士だと神様間で戦えるから、成り立たない構図なんだろうね。さっきの、車の会社と家電の会社みたいな連携しか、構図としてやりようがなくなる。

A/Bテストの価値観は、人間の世界の価値観なんだと思う

こんなこと書いていると、成長した市場をGoogleがもっていくだろう、とかそんな人間の価値感で考えちゃうところもあるんだけど、AかBかという価値観、考え方は人間同士の間でのものだと思う。データセンタにたまっているデータは、極論、自分の人生。その自分の人生を学習して、その振る舞いが自分に理解できる伴侶がデータセンタの中に育ち、それは他に移転不可能。そんな時代になると、どの世界に属するか、なんて視点になりそう。

Aが飽きたからBとか、そんな簡単な移行ができるようなデータ量じゃないし、そのデータの解析にかかる時間がイコール使用時間だとしたら、10年間の蓄積を捨ててまでAからBに移行する、つまりBに何年もいる覚悟ってどんなきっかけなんだろう。

移行する理由は、新しいエアコンの制御パネルのデザインがかっこいいから、なんて10日で飽きそうな軽い理由じゃないことだけは、たしかだ。たぶん、他国に移住するぞ程度には、思い切りがいるんじゃないか。

今年はハッカソン、楽しいかも

実は、私ハッカソン、嫌いなんですわ。なぜかっていうと、見世物だったり、一発ネタだったりして、いいんだけど、いいだけで終わるものって、見てて楽しいけど楽しいだけだから。イベントとしては、楽しいんだけど。世の中に影響を与えないって、工学やってますを生きる理由にしている人間にとっては、自分の人生をゴミにすることなんですわ。

ハッカソンとかで家電をハックとかやると、必ず出てくるのが見守りサービス。しかも”年老いた両親”みたいな、お前何様だよと言われそうな上から目線ソリューション(笑)なんだけど、しかし、ニーズというか必要だなっていう切実さは(笑)の影に、たしかに影としてあるん。でも、それを実際に世の中で運用しようとしたら、サーバを用意して、生存してますバイタルデータをネットにあげて監視するためのデータ利用契約書を作って、それらを支える費用を月額で徴収とかになる。世の中に仕組み的に、それなりたたないよね、になる。

とくに、スマフォx家電のハッカソン。家電って身近なものなのに、ハッカソンで開発したものって、開発者すら常用してないと思う。自分だったら、しない。なぜって? Arduinoむき出し、リレーに100Vがむき出しの装置なんて、怖くて家電の電源入れて放置の使い方なんてできませんて。火が出たら、こわいもん。使わない時は、コンセントから確実に電源を抜きますって。

開発者すら常用しないものが、魅力的だと思える人、いる?

でもHomeKitとか対応機種があれば、あるいは赤外線リモコンでもいいや、バグってエアコンがオフしなかったとしても、製品としてエアコンはエアコンでそこで信頼があるから、電気代がかかっちゃったとかですむだろう。いや、一般向けには許されんことなんだろうけど、開発者がお試しプロトで常用してみるレベルなら、それもあり。

いままで、ハードウェアがからむものって、ソフトウェアな人からは手出しができない、だからArduinoだmbedだに注目が集まるところがあったんじゃないかしら。今年は? HomeKit対応したなにかって=アプリで扱える部品、しかも一般販売できる製品レベルの、単体で信頼がある製品。これは、むっちゃ遊べますよ。部品ですよ、部品。

HealthKit, CloudKitがあれば? あるいはHomeKitの利用状況データがそれらに統合されたら? サーバはAppleのとこにある、もしも何かあったらの連絡はiOSアプリの仕組みで。クリティカルな事象が扱えるか確認しようがないっぽいけど、緊急なクリティカルなら、自社サーバにアクセスするのも実装しとけみたいな工夫でいけるかもだし。

ハッカソンの一発ネタが、そのままストアにだしておけば、世の中で運用されちゃう、運用できちゃう、そんな場が生まれたのかもしれない。10万の小さい、でも必要だなって思ってたアイディアが、一気に花開いて、きっと10年後は巨大な1つの会社にすべて買収されて、初期に開発した人は一生分の生活費程度のお金をゲット、かもしれない。

どっか、株主になっとこうかしらって思っちゃう。300万円投資して小さい会社をいっぱい作る人とか出てきそう。

今の時代の人間って、機械の指示によく従うと思うのです

カーナビの案内に従って車を運転して、飛行場に侵入したり川に飛び込んでしまったりした人がニュースになります。これは結果だけを見たら笑い話でニュースにのるほど珍しいかもしれませんが、しかし今の時代の人間は、実際機械の指示によく従うと思うのです。

それは検索の意味が変わってくるからです。パソコンの時代、ウェブページを探すことが検索でした。いろいろな人が思い思いに書き散らしたネットに広がる膨大な情報から、自分が求める情報を探し出すことが検索でした。この場合は、ここの情報の内容を確認して吟味します。そのまま鵜呑みにすることはできないし、そうすることはありません。

ところが地図や路線検索は、その表示結果をそのまま鵜呑みにします。だれしも心のなかに、このルートが最適になる、という正解があることを前提にルート検索をします。検索した結果表示された例えば路線は、分厚い時刻表を自分で探して吟味しても、やはり最適でしょう。自分が正解があると期待して検索した結果が、たしかに最適で自分で吟味することなく、その結果を受け入れるのです。

正解があると思っている、検索結果が最適で自分でその内容を吟味することがない、場合は人間は機械の指示にほんとうによく従うと思うのです。

資本主義と進化論

利益を最適化する資本主義って、”利益にならない”ことを避ける性質がある。そうすると毎日、周囲の状況を感じ取って自分を適応させていくことも無駄だと削りとってしまったら、今日は儲かるけど、明日はわからない、適応能力を失っていくパターンになりがちなのかもしれない。ビックデータとかモバイルを取り込んだO2Oとか、盛んに話題にする領域があるけど、利益を最適化する資本主義やってみたら、利益が出ないところをさけちゃって、適応能力失って絶滅フラグ立てちゃったのを、切り戻したいんやろうね。適応したい、そのための手段。

でも、大企業が適応するのは、運営の改善程度。だから、ベンチャーを育てて、それを取り込む移植による延命、もしくはベンチャー組織に資本を移行する。人間はまっぷたつに分裂して増殖できないから、卵子から子供を作るわけで。会社や社会システムも1つの生物なんだなって思う。

水道哲学で物資がある前提なら、人間がもてるリソースは、生きている時間、になる。いきている時間を延ばす再生医療とかは、むちゃくちゃ投資対象になるわけで。人間を単なる労働力としての生き物としてだけ見るなら、べつに寿命が伸びてもらっても、しかたないわけで。医療としてかけたコスト回収もさることながら、福祉になったらコストがかかる一方だし。老人ホームでお遊戯してても、それは消費活動だろうし。

その人間が蓄積してきた経験やらをベースに、現状を観察して、次にどうすればいいのかを指示できる、そんな目標設定と手段の提示ができるなら、もっと長く生きていてくださいと、人間社会が頭を下げてお願いするようになるんだろう。

現実問題、少子化のフェーズにはいっちゃっているから、この減る形で社会回していこうと思ったら、考える力、そこに全部の人間をつぎ込んで、手を動かす、繰り返す作業は、けっこう知性のあるロボットとかに担ってもらうしかないんだろうね。

こういう状況に対応するためには、いままでの科学技術は、ある対象をプロセスに分割して、それを最適化する、何かをするための最適化の手段だったのが、これからは、人間が考えて自発的になにかをするための支援と補助の手段に移行するんだろうなと。これは従来のやり方が間違っているとか、そういうんじゃなくて。従来のやり方を徹底的にやりこんで、それがベースにあるからはじめて、次のフェーズに進めるという意味で、移行するんだろうなと。

ハードウェアは正しくゴミに

iOSアプリ開発は、個人のお小遣い程度、で始められて実際に販売までできる、開発情報はググれば大量に出てくる。そこまでの敷居の低さがもたらしたのが、今日のアプリ市場。だが企業として成り立つところは、はやり企業。個人が叩き出せる儲けは、やはり個人の懐サイズだった

メイカーのを読んでて、開発が個人のお小遣い程度になる、専門スキルの提供サポートがあり、売るところまでいけるという話。BLEの開発は、個人レベルに落ちるだろう。ただし販売はAppStoreでとはいかない。リアル世界で売ることになる。この1点が、経営をする、ことになる。

BLEにくる流れは、一見iOSアプリと条件が同じに見える。だが、リアル世界で自分で売らねばならぬ、この1点が、経営をすること、に必然とつながり、それは個人経営だろうが組織経営だろうが、1つの経済単位を生み出す。リアル世界だから、そうなる

BLEであれこれが、なんかうまくいかないな、と感じるのは、この1点ではなかろうか。いままで開発と量産と初期資金の難易度ばかり目にしていたが。全てとはいわないが、人生の時間をかけて経営する(別に途中でやめてもいいし、規模は選べるしで、自由だが)、という選択をするか、という

BLEは、iOSの情報世界とリアル世界をつなぐラスト1mにかかる橋。2つの世界が交じることで生じる衝撃波のあと、誰の目に見ても新しい世界、だがあって当然の世界にいるんだろう。iPhoneが登場した時と同じように。だが、ハードを見てては、勘違いする。雰囲気的な、世界的な

ハードウェアはゴミだ、と言って顰蹙を買ったけど、iPhone好きです、という人をみてたら、ハードウェアをゴミにしてますがな、そう思う。毎年新しいiPhone、新しいiOSを手に入れ、その場でAppleIDを入れてアクティベート、30分後には”全く新しい”ものを普通に使ってる

去年までのiPhoneも素晴らしいハードウェアだけど、新しく手にしたiPhoneがその人のiPhoneに1秒で切り替わる。そんだけハードにこだわりあるのに、どんだけハードに執着ないですの。

ウエアラブル、というか人間に触れるデバイスは、常に劣化する。iPhoneは当然、パソコでもキーボードとモニタ、そしてキー入力への応答速度も、人間に触れる”もの”。それは常に劣化する。洋服と同じように。だから素晴らしい洋服であっても、劣化するから、買い換えるのは当然。

iOSも1つ古いハードで使うと、だんだんキー入力応答が遅くなる。ちゃんと使える範囲だけど、ウエアラブルしていると、新しいものが意識せず、必要になる。日本には、よい物を長く使いましょう、という意識はある。だが、iPhoneとiOSはは毎年、よりよいもの、が出る

だから現代の、よい物を長く使いましょう、は、iPhoneというブランドのもとで、AppleIDを入れたら同じ環境が即座にそこにあるなにか、それと長く付き合うことになる。ハードウェアはとても重要。だが毎年消費される。つまり、正しくゴミになる。

ウエアラブルな時代

ウエアラブルのwearは辞書に、1.擦り切れる、2.使用に耐える、長持ちする なくなる、消える、とある。つまり、身に近くあるデバイスとは、ある一定期間の使用に耐える、擦り切れるデバイスなのだ。

車の工場の、1秒を競う業務改善って、個人的にはすかんです

テレビのドキュメンタリーで、車の工場のライン工の方の横に人が立ってて、作業を秒単位で解析してカイゼンするのを見てると、儲けるために必要だけど、働く側になりたくないなと思ったりする。きっと、あの現場に慣れてしまって、体が勝手に動くくらいになれば、もう何も考えることはないのかもしれないけれども。

でもあのカイゼンも、横に立っている人が観察と分析をするわけだから、相当な人件費かかっているわけよね。でも、製造ラインには膨大な部品、つまりお金が流れているから、その流れをちょこっとでもスムースになるように作用させれば、その程度の人件費は回収できちゃうから、やっているんだろうし。

ああいうカイゼンって、やることが決まっているから、そして同じことを繰り返す現場だから、できるやり方よね。オフィスとか事務作業的なところで、カイゼンといって、工場での手法を取り込んでも、そもそも同じことを繰り返さないし、繰り返す作業はオフィスのITツールですでに自動化されてるし、とか状況が違うから通用しないだろう。

最近読んだ本がけっこう面白かった。ここに答えがあるのかなと。

手首に取り付けた加速度とか、お互いの近接を検出する名札を通じて集めたデータを元に、人間がどう振る舞うのかを見て、人間の関係性とかにちょっかいをだして、何かの指標、たとえばお互いに会話をしている時間とか、を伸ばすのに使う、そんな話。さっきの人間支援の技術の話は、この本から。

同じことを繰り返す作業じゃないから、効率を上げるとしたら、現場に活気がある、みたいなぼんやりした定性的な、でもたしかにそうだよな、と人間には思えることを、こんなちゃちなセンサを通じて継続測定することで解析して、それを定量化しようとしているのは、けっこう目鱗。そして活気をあげたら、結果として効率改善とかが目に見える程度に出てくるという実例もあるとなると、現世利益的にも、ありがたい。

でも、そんなのを工場のカイゼンみたいに、人間が常に見ているわけにはいかないよね。人間に見られているのもいやんだし、それにかかる人件費が膨大すぎるし、取得するデータなんて何百ギガバイトとかになりそうだから、人間の扱える量じゃない。取得と解析には、知性のある機械が必要になるんだろう。

ひょっとしたら、腕輪をつけて生活し続けるだけで、ちょっと疲れてますねとか、ちょっと鬱的な傾向が…とか、自分よりも自分を知っている機械知性がアドバイスあるいは、適当な手配をしてくれたりする支援が、当たり前になったら、人間はそういうところは全部機械にお任せして、より人間がやる部分に注力するのが当然な社会になるのかもね。

突飛? いや、自動車が普及する前は、となり町まで徒歩や自転車移動が当たり前だったし、その移動のコストがあるから、毎日気軽に往復するようなことはなかったし、そういう状況だから村という空間的な集団が必要だったし、維持できたっていう時代が、50年位前は普通にあった。突飛に思えるものも、その程度の時間のスパンで、ガランと変化する。

次に来るのって機械知性か

Siriで家電が動く次は、もう自分がそこにいたら、空調もドアロックも程よく動く感じ、になりそう。そういう操作をするのにはリアル肉体はいらないから、データセンタで動く機械知性でいいんだろう。もうクラウド側にメイドさんがいる感じなのかしらん。

しかも、付き合えば付き合うほど、自分の情報がたまって、それが自然になる。データ自体はデータセンタに固定だろうから、他に移すことはできないだろうし、そもそもデータフォーマット自体が共通の表現形式がないだろうから、設計的にそんなのできないよ、だろうし。

機械知性自体を開発する時代は、いまのコーディングをする意味でのプログラマの出番はなさそう。学習アルゴリズムを知っていても、入力に対する出力、振る舞いは膨大な学習データを元にしたものだろうから、原理は理解しているが仕組みはわからん状態になりそう。

データ集約のその先に

iOSはデータ収集端末となり、我々の日常データを蓄え続けるだろう。いままでのiCloudには、特異な能力を持った人たちが生み出したアプリケーションや音楽や書籍がコンテンツとして登録されて販売されてきたが、これからは我々自身がコンテンツとしてiCloudに保存される。もちろん個々人のデータを個人が特定できる形で販売などしたら、プライバシーの明確な侵害だ。それは、やらない。ただし、統計的なデータにすれば、匿名なデータであれば、それを第3者に提供せず自分たち内部だけで利用するならば、それはありうるだろう。

個人的な趣味で申し訳ないが、戦闘妖精・雪風という小説がある。そのなかに、PACS拡張コードというものが登場する。人間の心理特性をコード化したもので、これと蓄積された多数の人間の行動データのデータベースとを組み合わせることで、その人間の心理状態や行動予測がかなり正確にできるというものだ。さらにPACSコードを集団に当てはめた場合、特定の集団にどのような広告を見せれば、どのような行動を取るのかが統計的に正確に予測できる。つまり、広告を打てばそれがどのような購買行動を引き起こすかが、事前に統計的に正確に予測できるわけだ。

これは、あなたがターゲットの一部であっても、あなたの行動を変えるものではない。あなた、のような人たち、に対して統計的に正確な予測ができることに意味がある。そして、広告とは多数に伝えるものなのだから、それは投資に対して確実なリターンを保証する魔法の鍵となるわけだ。

これにはデータが必要だ。購入しなかったのでもいい。それは買わなかったという重要なデータだ。データが必要だ。毎日の行動がどうだったか、どのような経年変化をしてきたか、データが必要だ。それも、長期間に渡る同じ人物の連続したデータが。しかも、膨大な人数、住む場所や気候、人種や性別、収入や社会的地位など様々な膨大な多種のサンプルが必要だ。iOS8は、それを取得する立場にある。

iOSは、我々が将来にどう振る舞うかを正確に予測しうるようになるだろう。

世界征服は、こうやるんだなと

自分の世界の一部が、ある会社のデータセンタのなかにあり、それが自然な世界だと思える時代。きっと世界征服ってこうやるんだろうな。機械知性があまねく世界を覆う世界って、戦闘妖精・雪風的には、ジャムの侵略とも思えるけど。

我らがズヴィズダーの光を、あまねく世界に。

HomeKitの概要

2014年6月11日に大垣で開催されるWWDC2014ディベロッパ共有会 の下書きとして、
一般に公開されている部分を抜粋してブログに書いてみます。

iOS8で導入されたHomeKit

iOS8はiOS7までになかった多くのAPIとフレームワークが追加されました。そのうちHomeKitおよびHealthKitは、
今までのアプリケーションで完結するフレームワークと異なり外部機器との連携前提で初めて価値をもつ毛色の違うフレームワーク(あるいはサービス)です。
開発者の視点からHomeKitの概要をまとめます。

HomeKitの資料

HomeKitの専用のページが公開されています https://developer.apple.com/homekit/
このページにはHomeKitが何かを詳細に解説しています。その内容はWWDCのプレゼンテーション内容と同じです。
HomeKitに対応するハードウェアを開発したい人向けに問い合わせページがあります。

iOSアプリケーション開発者向けのフレームワークとクラスのリファレンス・ドキュメントはまだありません。
Xcode6betaにあるHomeKit.frameworkのヘッダファイル(とそのコメント)を読むしかないです。
サンプルプロジェクトは公開されたものはないようです。

WWDC2014のHomeKitに関するセッション

WWDC2014 https://developer.apple.com/videos/wwdc/2014/ でHomeKitに関わるセッションは次の2つです:

  • Introducing HomeKit, Session 213
  • Designing Accessories for iOS and OS X, Session701

最初のIntroducing HomeKitは、iOSアプリケーション開発者向けのHomeKitフレームワークの解説です。HomeKitのコンセプトと特徴そしてアプリケーションのAPIを解説しています。次のDesigning Accessories for iOS and OS Xの中では、HomeKitに対応するハードウェアの概要が解説されています。

HomeKitを構築する周辺機器とiOSアプリケーションは、HomeKitフレームワークを通してやりとりするので、お互いの詳細仕様まで知らなくても操作ができます。ハードウェアとソフトウェアという分野の異なる、したがって担当者も異なるもののセッションは別にしたのでしょうか。

HomeKitの概要

本家 https://developer.apple.com/homekit/ の概要を読むほうがよいと思いますが、2次資料として私が理解した内容で再構成してみます。

HomeKitは、Appleの Home Automation Protocol (HAP) と iOSデバイスをシームレスに統合します。ホームオートメーションに新たな強みをもたらすでしょう。

iOSアプリケーションに公開されたAPIは:

  • HAPに対応した機器をiOSに登録する、登録を削除する。
  • iOSに登録されているHAP対応機器をiOSアプリから操作する。
  • 機器からの変更通知を受け取る。

です。

iOSデバイスには1つの共通の機器登録データベースがあります。iOSアプリケーションはHomeKitを通じて、そのデータベースの変更や参照ができます。

Siriを通じて、音声コマンドでHAP対応機器を操作できます。Appleがすでに定義している機器の種類および動作、例えば電球と点灯のオンオフ、はデフォルトでSiriが理解できます。iOSアプリケーションがコモン・データベースに、電球とその点灯機能を登録していれば、(実際の音声コマンドがこのようなものかは、まだわかりませんが)”電気をつけて”といえば、Siriを通じてiOSデバイスが電球を点灯させます。

HomeKitフレームワークの構成

HMHomeManager

コモン・データベースのエントリポイントです。HMHome の生成/登録/検索/削除を提供します。
家は複数設定できます。そのうち1つはPrimary homeとします。例えば、母屋と離れ、あるいは別荘があるならば、母屋をPrimary homeに設定する使い方でしょうか。

HMHome, HMRoom, HMZone

HMHomeは家を表します。HMRoomは部屋を表します。HMZoneは部屋の集合を表します。HMZoneは、例えば1階の部屋の集合を登録して”1階”という名前をつける、使い方をします。

この3つのオブジェクトには、割り当て時にはユニークな名前をつけます。Siriはその割り当て名前を参照します。”自宅の1階の電気を消して”と指示を受ければ、自宅と命名されたHMHomeの1階と名付けられたHMZoneを参照して、そこに登録されたHMRoomの照明それぞれをオフします。

HMAccessory, HMService, HMCharacteristics

HMAccessoryは物理的なデバイスに対応します。例えば、電球、ドアロック、エアコンなど1つ1つの装置を表します。HMAccessoryは必ず部屋に属します(そう設定します)。HMHomeに属することもできますが、その場合はHMHomeがもつ内部実装の特別な部屋に属します。HMAccessoryは、名前をつける事で唯一に識別できるようにします。HMAccessoryをとおして、現在の状態、動作指示値の取得ができます。

例えばエアコンであれば、現在の室温や湿度といった外部センサ値の取得、エアコンがオンかオフかや冷房/暖房動作のような内部動作状態、そして設定温度などの指示設定値の設定と取得があります。この機器はいろいろなものから操作されます。複数のiOSアプリケーションがコモン・データベースを使いますし、人間が直接機器を操作することもあります。そのような機器の変化は、デリゲートを通じてiOSアプリケーションに通知されます。

HMAccessoryはHMServiceの集合を持ちます。HMServiceは1つの機器の機能を表します。これは”その機器が何であるか”を表すものではありません。分割不可能な単1の機能を表す概念です。

例えば、ドアロック装置であれば、ドアのロック/開放機能があるでしょう。もしもあるドアロックが、夜間に操作するときに周辺を照らす機能があるとすれば、それはライトのオン/オフ機能という別の機能になります。さらにドアロックが電池動作であれば、電池残量通知機能もあるでしょう。このドアロックは、ロック、ライト、電池残量検出の3つのHMServiceを持ちます。

HMSerivceはHMCharacteristicsの集合です。HMCharacteristicsは、効きが検出した外界の値、内部動作情報、動作指示情報などを読み書きするエントリポイントです。例えば照明であれば、照明のOn/Offを表すHMServiceの中に、ライトのOn/Off状態を示し(読み込み)かつOn/Offを指示(書き込み)するHMCharacteristicsがあるでしょう。

HMServiceの概念は、機器とその機能を分離する重要な概念です。例えば1Fのライトをすべてオフと言う指示を出した時、Siriは1FにあるHMAccessoryから照明のHMServiceをすべて抜き出して一斉にオフするでしょう。ですから、照明機器はもちろん、先の例で言えば照明機能のあるドアロックの照明も同時に消えます。

もしもHMSericeの概念がなければ、個別の機器それぞれ毎に振るまいを制御するパソコンでいえばデバイスドライバのような仕組みが必要になります。HMServiceという機能単位をHomeKitに渡すことで、個別機器それぞれを個別に細かく振る舞いを制御するドライバ相当のロジックが不要となり、HomeKitが統一して機器を扱えます。

HMCharacteristicWriteAction

iOSアプリケーションからHMAccessoryのHMCharacteristicsへの書き込みは、HMCharacteristicWriteAction を使います。

HMServiceGroup, HMActionSet, HMTimerTrigger

HMServiceGroupはHMServiceの集合です。例えば、照明をグループにします。

HMActionSetはアクションの集合です。例えば、夜の状態にしたいときの操作群、照明を暗くして、エアコンを少し低めにするなど、複数の操作の集合をあらわします。

HMTimerTrigger は時間を指定して実行するアクションの集合です。繰り返し動作も指定できます。これはシステムがバックグラウンドで処理します。

HAP対応ハードウェアの概要

MFiです。見れば分かる人にはすぐわかるけど、説明しだすと長いのと、ここがHomeKitの肝でもあるしで、めんどくさいので省略。