Appleはハードウェア企業とよく思われがちですが、現在ではオンラインサービスが事業の重要なセグメントとなっています。今年の世界開発者会議(WWDC)でAppleがiCloudとCloudKitの将来についてどのような発表をするのか、見ていきましょう。
AppleのSwiftによるWWDC 2016への招待
Appleは、Apple Eventで新ハードウェアを発表する準備が整うまで、あるいは6月に開催される年次開発者会議(WDC)で新ソフトウェアやクラウドサービスを発表する準備が整うまで、将来の計画について非常に秘密主義であることで知られています。来月の開発者イベントで期待されるもの、特にAppleのクラウドベースのサービスとプラットフォームに焦点を当ててご紹介します。以前の記事では、AppleのMac、iOS、tvOS、watchOSプラットフォームについて取り上げました。
WWDCはソフトウェアに特化しており、アプリ開発者、アクセサリパートナー、そしてAppleのプラットフォームAPIを利用する関係者が集まる年次会議です。WWDCでは時折、新ハードウェアが発表されることもありましたが、近年はほぼ全面的に新しいソフトウェアリリース(iOS、Mac OS、watchOS、iCloud)と、開発者がAppleのプラットフォームを最大限に活用できる方法に焦点を当てています。
クラウドに遅れをとるApple
Appleは、リモートホスト型オンラインサービス、つまりクラウドの価値を認識するのが遅かったとよく言われます。Appleの遅さについて語るのは楽しいものです。1990年代後半、AppleはUnixの「モダンOS機能」の採用に遅れをとりましたが、その後、世界最大のUnixベンダーになりました。
Appleは、iPhoneが瞬く間に世界で最も人気のあるスマートフォンになるまで、スマートフォンの分野では出遅れていました。iOSがモバイルゲームという新しい世界で最大の実用プラットフォームになるまで、Appleはビデオゲームの普及にも遅れをとっていました。AppleはNFC決済とスマートウォッチの分野でも出遅れていましたが、Apple PayとApple Watchの登場によって決済とウェアラブルの分野でリーダーの地位を確立しました。
今日、イーロン・マスクはAppleが自動車業界に乗り遅れていると描写している。しかし、それほど遠くない昔、Appleはクラウド導入に遅れを取っていると見られており、.MacやMobileMeサービスで問題を抱え、かつ熱意も冷めていた同社が、どうしてクラウド市場に参入し、影響力を得られると期待できるのか、専門家たちは疑問を抱いていた。
AppleのiCloudへの初期の取り組みは、2011年のWWDCでスティーブ・ジョブズによって重要な新構想として再ブランド化されましたが、当初は信頼性の問題、機能の制限、その他の欠陥や欠陥に悩まされました。多くのユーザーや開発者は、Appleが既存のクラウドベースのストレージサービスを模倣するだけだろうと期待していました。
Appleは、フォトストリーム、クラウド上のApp/iBooks/iTunes、そして書類とデータという、ユーザーがクラウドストレージをシンプルに操作できることを重視した3つの新しい取り組みを導入しました。これらの取り組みがうまく機能すると、「ただ機能する」という感覚が生まれました。
iCloud開発5年
過去 5 年間、新しいモデルをあきらめて、リモート ファイル システムとして提供される一般的なオンライン ストレージを提供する DropBox やその他の企業をコピーするようにという多くの要請があったにもかかわらず、Apple は、デバイス間で簡単に使用できるまま、不正なアプリやマルウェアから保護できる、サンドボックス化されたアプリ中心のストレージを作成するというアイデアに取り組み続けました。
同じ時期に、アップルは米国、欧州、アジア各地のサーバーファームに数十億ドルを投資し、自社のサーバー容量の増強にも急速に取り組んできた。
2013 年、つまり iCloud が米国の消費者に最も多く利用されるクラウド メディア サービスとなった年に、Apple は iWork アプリを iCloud に導入し、共同編集機能を追加しました。
翌年、Appleは開発者にAppleのバックエンドサーバー上の安全なストレージへのアクセスを提供する新しいフレームワーク「CloudKit」を発表しました。また、このテクノロジーを基盤とした独自の新しい写真アプリもリリースしました。
同社はまた、iOS と Mac の両方でファイルを iCloud に手動でコピーするための iCloud Drive (下記) も導入しました。
iCloudドライブ
有名人のアカウントがパスワード窃盗犯に悪用された後、Apple は、既知のデバイスを使用してパスワードの変更を検証することを要求する iCloud の 2 要素認証を導入しました。
CloudKitはクロスプラットフォーム、サーバーサイドに
Apple の CloudKit は、開発者のためにサーバー側のタスクを処理し、ユーザー データを保存および更新するために必要な詳細を処理します。これらのデータは、昨年導入された Apple の新しい JavaScript ベースの CloudKit API (CloudKit JS) を介して、他のデバイス (Mac または iOS) や他のプラットフォーム (App Store にない Web、Windows、Android、Mac アプリを含む) からアクセスできるようになります。
CloudKit とその背後にある Apple のサーバーにより、開発者は独自の複雑なデータ同期コードを開発したり、ユーザー データを同期するための独自のサーバーをプロビジョニングしたりする必要がなくなり、クライアント アプリの独自の設計と機能に集中できるようになります。
CloudKitはAppleにとって戦略的に重要なプラットフォームです。開発者が実質的に無料で利用できるサーバー容量を提供し、ユーザーのデータを安全かつ最新の状態に保つツールも構築しています(ユーザーが1つのアプリで何かを更新すると、別のデバイスのアプリにもその変更が通知されます)。これにより、開発者は複数のデバイスでシームレスに動作するアプリを開発しやすくなります。
開発者にとって、ユーザーがアプリに全く興味を示さないことよりも最悪なことの一つは、対応しきれないほどの突然の関心の高まりです。開発者が自前でサーバーをプロビジョニングしなければならない場合、それは不確定な関心レベルに対応するためのサポートを購入し、構築することを意味します。過剰な構築はコストがかかり、構築不足はアプリが信頼性の低いものとして放置されるリスクを伴います。
Apple は、昨日のように、時折一時的なサービス停止を経験していますが、小規模な開発者にはできない方法 (およびリソース) で、迅速に問題に対処し、サービスをオンラインに戻す能力を持っています。
Appleが最近CloudKitに導入したもう一つの機能は、開発者がクライアントアプリ(ユーザーデバイス)に保存されたデータにアクセスするだけでなく、サーバー側でデータ操作を実行できる機能です。これにより、スクリプトはサーバーとユーザーデバイス上のクライアントアプリ間で大量のデータをやり取りすることなく、サーバー側でデータを処理できるようになります。
CloudKitアプリストア
AppleのiCloudウェブサイトは現在、自社製のiCloudウェブアプリ(メール、カレンダー、リマインダー、メモ、iPhoneを探すなど)のみに対応しているが、これらのアプリとCloudKitの開発に注力してきたことから、ウェブアプリやサービスのためのApp Storeの基盤が築かれているようだ。iWorkやメモなどのデータベースアプリの開発に使用した開発フレームワークを公開することで、Appleはサードパーティの開発者がiCloud上でウェブアプリをホストできるようになるかもしれない。
iWork や Notes (CloudKit JS に基づく Web クライアントを持つ) などの他のデータベース アプリの作成に使用した開発フレームワークを公開することで、サードパーティの開発者が Web アプリを iCloud 上でホストできるようになり、ユーザーはブラウザーから iCloud データにアクセスできるようになります。
これにより、既存の iOS アプリや Mac アプリに対応する無料の Web アプリが実現し、サブスクリプションまたは 1 回限りの料金で販売される新しいクロスプラットフォーム Web アプリの市場が創出されるほか、Apple の iOS と Mac とその他のプラットフォーム間のギャップを埋める Web ユニバーサル アプリが有効になり、Apple ID ログインでどこからでも安全にデータにアクセスできるようになります。
iCloud App Storeは、ウェブアプリに加えて、クラウドに保存されたユーザーデータを利用するサーバーベースのウェブサービスの市場も創出する可能性があります。IBMはすでに、テキスト読み上げ、言語翻訳、画像認識、その他の分析に至るまで、Watsonサービス用のSDKを提供しています。
CloudKitに現在欠けているもう一つの機能は、動画などのデータのストリーミング機能です。動画はCloudKitに保存できますが、再生するにはユーザーが事前にダウンロードする必要があります。大容量のメディアを保存し、視聴したい部分だけをストリーミングする機能(AppleのHTTP Live Streamingの中核機能)があれば、CloudKitの価値はより幅広い用途に広がり、Apple TVの開発者にとって役立つものとなるでしょう。
CloudKitのデータ記録は現在、全ユーザーがアクセスできる公開データと、ユーザーのみがアクセスできるユーザーによって保存された非公開データの2種類しかありません。よりきめ細かな権限設定により、CloudKitは開発者がiCloudベースのコンテンツコンテナへのアクセスを有料またはサブスクリプションベースで提供したり、従業員グループやユーザー家族など、ユーザー間で共同で共有できるデータコンテナを設定したりすることを可能にします。これにより、コンテンツをコピーせずに共有する方法や、iCloudデータの一部のみを共有する方法といった、現在の問題を解決できる可能性があります。
Appleのプッシュ通知アーキテクチャでは、開発者は通知を送信するために独自のサーバーを維持する必要があります。Appleは、小規模な開発者が直面するプロビジョニングに関する一般的な問題を解決するために、CloudKitにホスト型通知のサポートを追加する可能性があります。
逆に言えば、開発者のウェブサイトやウェブサービス(Apple TVの多くのサービスを含む)にログインするには、ユーザーはそれぞれアカウントを設定する必要があります。TwitterとFacebookは、こうしたリクエストにユニバーサルログインを提供するためにOAuthサービスを提供していますが、Apple IDは、ユーザーのソーシャルメディアでのやり取りや連絡先の履歴を公開することなく、よりシームレスなログイン方法を提供できます。Apple IDを使用するには、ユーザーがiCloudをオンにしている必要がありますが、これは同時に、ユーザーが自分のスマートフォンでApple IDを有効化するもう一つの動機にもなります。
TwitterのDigits tvOSログイン
最後に、Apple は、CloudKit ベースの Notes アプリ用の App Extension アーキテクチャを作成し、アプリが小さなデータ ビットを Notes に直接保存できるようにすることで、切り抜き、スケッチ、領収書、メディア クリップ、PDF、その他のコンテンツをユーザーが整理できる中央リポジトリを作成し、他のさまざまなアプリで作成された Notes にアクセスし、検索し、共有するための明確で明白な方法を提供できるようになります。
来月のWWDCでは、AppleのMac、Apple Watch、iOS、そしてApple TVプラットフォームに関するより詳しい情報も提供される予定です。iCloudとCloudKitの将来について、ぜひ下のコメント欄でご意見をお聞かせください。