REMOVED
なぜ今 DX が必要なのか、そして Google Cloud がどのように皆様のビジネスをサポートできるのかを、 2 週にわたって総合的に体験いただけます。
1 週目は、基調講演、ブレイクアウト セッションに加え、スペシャルゲストと「ガバメント クラウド」、「マルチクラウド」などの今話題のトピックをお届けする「特別講演」や、デベロッパー コミュニティ 向けのライブイベント「Innovators Hive」といった新しいプログラムをご用意しています。
2 週目は、実際に Google Cloud に触れられるハンズオン祭を開催します。はじめて Google Cloud 製品を利用される方が対象の「はじめてみよう Google Cloud」、Qwiklabs を使って Google Cloud を体験できる「Study Jam」の 2 つのハンズオンを通して、Google Cloud のスキルアップができます。
多様なプログラムを通して、Google Cloud が支援する企業のデジタル トランスフォーメーション(DX)の実現と、新たなビジネス価値の創造について、経営的、技術的観点から深く学べる機会です。ぜひ、こちらからご登録ください。
日程 :
お問い合わせ先 : Google Cloud Day: Digital '22 事務局(gcd22-office@event-info.com)
特に記載のない限り、下記の変更は Android、Chrome OS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能の詳細については、リンクまたは ChromeStatus.com の一覧でご確認ください。2022 年 2 月 3 日の時点で Chrome 99 はベータ版です。PC 向けの最新版は Google.com で、Android では Google Play ストアでダウンロードできます。
今年中に Chrome のバージョン 100 がリリースされ、ユーザー エージェント文字列で報告されるバージョン番号の桁数が増える予定です。サイトオーナーが新しい文字列をテストしやすくするために、Chrome 96 では、Chrome のユーザー エージェント文字列として「100」が返されるようにするランタイム フラグが導入されました。この新しいフラグ chrome://flags/#force-major-version-to-100 は、Chrome 96 以降で利用できるようになっています。詳細については、Chrome の User-Agent 文字列のメジャー バージョンを強制的に 100 にするをご覧ください。
CSS カスケード レイヤ(@layer ルールと階層化した @import 構文)を使うと、構造的な方法で単一オリジン内の関心対象を整理してバランスを取ることができます。単一カスケード レイヤ内のルールは一緒にカスケードされ、レイヤ外のスタイルルールと混じることはありません。そのため、同一オリジンルールに対して適切な方法で特定のカスケード順序を実現できます。
@layer
@import
カスケード レイヤを使うと、要素のデフォルトやサードパーティ ライブラリ、テーマ、コンポーネント、オーバーライドなどを表すレイヤを作成できます。また、レイヤのカスケード順序を明示的に変更することもできます。カスケード レイヤがない場合、特定のカスケード順序を実現するには、セレクタの限定、@import やソースの順序指定などの調整をする必要がありますが、これは面倒でエラーが起こりやすい作業です。
詳細については、ブラウザにカスケード レイヤが登場をご覧ください。
HTMLInputElement の新しい showPicker() メソッドを使うと、ウェブ デベロッパーが input 要素でブラウザのピッカー(時間、色、ファイルや、データリストや自動入力などのサジェスチョン付きのもの)をプログラムを使って表示できます。
HTMLInputElement
showPicker()
デベロッパーは、プログラムからブラウザの日付ピッカーを開く方法を長らく求めていました。これがないと、カスタム ウィジェット ライブラリや特定のブラウザ向けの CSS ハックを使うしかありませんでした。
現在、一部のブラウザやコントロールでは、この機能を click() メソッドで利用できます。残念なことに、すべてのブラウザで動作するわけではないので、システムやユーザー全体に対して操作の一貫性がなくなります。showPicker() を提供することで、click() の代わりに、サポートされた方法を利用できるようになります。また、Chromium の click() の動作が仕様と一致するようになり、将来的に他のブラウザの動作とも一致します。詳細については、日付、時間、色、ファイルのブラウザ ピッカーを表示するをご覧ください。
click()
このバージョンの Chrome には、以下のオリジン トライアルが導入されています。オリジン トライアルとして新機能を試せるようにすることで、ウェブ標準コミュニティにユーザビリティ、実用性、有効性についてのフィードバックを提供することができます。以下の項目を含め、現在 Chrome でサポートされているオリジン トライアルに登録するには、Chrome オリジン トライアル ダッシュボードをご覧ください。Chrome のオリジン トライアルの詳細については、ウェブ デベロッパーのためのオリジン トライアル ガイドをご覧ください。Microsoft Edge は、Chrome とは別に独自のオリジン トライアルを行っています。詳細については、Microsoft Edge オリジン トライアル デベロッパー コンソールをご覧ください。
ウェブアプリ マニフェストで color_scheme_dark フィールドがサポートされ、ダークモードが適用されているときに別のテーマカラーや背景色を指定できるようになります。現在、ウェブアプリ マニフェストで定義できるテーマカラーと背景色は 1 つだけです。つまり、ダークモードで別の色を指定する方法はありません。
Chrome で以前にオリジン トライアルが行われていた以下の機能は、現在デフォルトで有効化されています。
この API を使うと、手書きテキストをリアルタイム認識するオペレーティング システムの手書き文字認識サービスをウェブアプリで利用できます。これにより、手書き文字認識を行うアプリで、サードパーティのプロダクトを組み込む必要性が減少します。詳細については、ユーザーの手書き文字を認識するをご覧ください。
ウィンドウ コントロール オーバーレイは、ウィンドウ全体を覆うようにアプリのクライアント領域を拡張します。この領域には、タイトルバー、ウィンドウのコントロール ボタン(閉じる、最大化 / 復元、最小化)も含まれます。ウェブアプリのデベロッパーは、ウィンドウ コントロール オーバーレイを除くウィンドウ全体の描画と入力ハンドリングをする必要があります。この機能を使うと、デベロッパーはインストールされた PC ウェブアプリをオペレーティング システムのアプリのように見せることができます。詳しくは、PWA のタイトルバーのウィンドウ コントロール オーバーレイをカスタマイズするをご覧ください。
仕様への準拠性を高めるため、CSS の calc() メソッドが infinity と NaN を許可するようになります。'infinity'、'-infinity'、'NaN' キーワードや式を使うと、適切に評価されます。たとえば、'calc(1/0)' などです。
calc()
'infinity'
'-infinity'
'NaN'
注 : この機能は、Chrome 98 で公開と誤って記載されていました。実際には、Chrome 99 で公開されます。
color-scheme の仕様に再追加された only キーワードが Chrome でサポートされるようになりました。これにより、特定の単一要素で color-scheme を無効化できるようになります。たとえば、強制的なダーク化を無効化できます。いくつかの例で使い方を示します。
color-scheme
div { color-scheme: light }
これにより、div 要素は color-scheme dark から除外されます。
div
div { color-scheme: only light }
これは、上の例と同じく、要素の color-scheme をライトに保ち、ユーザー エージェントによる強制ダーク化を無効にします。
仕様に従い、document.adoptedStyleSheets プロパティの変更が可能になります。これにより、push() や pop() などの操作ができるようになります。これまでの adoptedStyleSheets の実装は扱いにくく、たとえばシートを追加する場合、配列全体を代入し直さなければなりませんでした。
document.adoptedStyleSheets
push()
pop()
adoptedStyleSheets
document.adoptedStyleSheets = [...adoptedStyleSheets, newSheet];
新しい実装では、同じ操作を次のように行うことができます。
document.adoptedStyleSheets.push(newSheet);
注 : 以前、この機能は、Chrome 98 で公開と誤って記載されていました。
PerformanceResourceTiming インターフェースは、リソースをフェッチする際に使うベース接続タイプを説明するため、nextHopProtocol プロパティを公開します。仕様に準拠するため、Chrome は古い特殊ケースを削除します。このケースでは、クロスオリジン リクエストで機密である可能性のある情報が公開されたので、ユーザーが危険にさらされていました。
PerformanceResourceTiming
nextHopProtocol
仕様に準拠するため、Chrome の CanvasRenderingContext2D インターフェースにいくつかの新しい属性が追加されました。
CanvasRenderingContext2D
ContextLost
ContextRestored
"willReadFrequently"
roundRect
詳細については、いつも Canvas2D だったをご覧ください。
Chrome 99 には、プレフィックスなしバージョンのテキスト強調 CSS プロパティが導入されます。具体的には、"text-emphasis"、"text-emphasis-color"、"text-emphasis-position"、"text-emphasis-style" の各 CSS プロパティです。これらは、プレフィックスなしバージョンの "-webkit-text-emphasis"、"-webkit-text-emphasis-color"、"-webkit-text-emphasis-position"、"-webkit-text-emphasis-style" です。
"text-emphasis"
"text-emphasis-color"
"text-emphasis-position"
"text-emphasis-style"
"-webkit-text-emphasis"
"-webkit-text-emphasis-color"
"-webkit-text-emphasis-position"
"-webkit-text-emphasis-style"
このバージョンの Chrome では、以下のサポートの終了と機能の削除が行われます。現在サポートが終了している機能と以前に削除された機能のリストは、ChromeStatus.com をご覧ください。
Battery Status API が、安全でないオリジンでサポートされなくなります。たとえば、HTTP ページや、HTTP ページに埋め込まれた HTTPS iframe などです。Battery Status API を使うと、ウェブ デベロッパーがシステムの電池充電レベルにアクセスし、充電されているかどうかを確認することなどが可能になります。これは 10 年以上前から存在している機能で、当初は別のセキュリティ制約とともに設計されていました。
このバージョンの Chrome では、font-family の値 "-webkit-standard" のサポートが削除されます。この値は、独自キーワード "-webkit-body" の単なる別名で、WebKit から継承しているというだけの理由で公開されていました。これを削除することで、CSS 仕様や Firefox との整合性が向上します。
font-family
"-webkit-standard"
"-webkit-body"
navigator.getGamepads() メソッドが、GamepadList ではなく、Gamepad オブジェクトの配列を返すようになります。Chrome では、GamepadList はサポートされなくなります。これにより、Chrome で仕様と Gecko や Webkit との整合性が実現されます。一般的な Gamepad の情報については、Chrome の恐竜ゲームをゲームパッドでプレイするをご覧ください。
navigator.getGamepads()
Gamepad
GamepadList
WebCodecs 仕様の最近の変更により、Chrome で 2 つの項目が削除されます。EncodedVideoChunkOutputCallback() メソッドは、EncodedVideoChunkMetadata ディクショナリを受け取ります。これまでは、EncodedVideoChunkMetadata.temporalLayerId に temporalLayerId というメンバーが存在していました。仕様に準拠するため、これは EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId に移動します。この仕様は、暗黙的にタイムスタンプを持たない CanvasImageSource タイプ(HTMLCanvasElement など)に対して、VideoFrame() コンストラクタに timestamp 引数(VideoFrameInit.timestamp)を含めることを求めています。タイムスタンプを含めない場合は TypeError にする必要がありますが、これまで Chrome はタイムスタンプのデフォルトをゼロにしていました。これは便利なように思われますが、後で VideoFrame を VideoEncoder に送る場合、そこでタイムスタンプを使ってビットレート制御が行われるので、問題になります。
EncodedVideoChunkOutputCallback()
EncodedVideoChunkMetadata
EncodedVideoChunkMetadata.temporalLayerId
EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId
CanvasImageSource
HTMLCanvasElement
VideoFrame()
VideoFrameInit.timestamp
TypeError
VideoFrame
VideoEncoder
segments.ad_network_type
segments.device
Google は、プライバシー技術へのアクセスを拡大し、あらゆる人が利用できるものにしたいと考えています。私たちは、研究者、政府機関、非営利団体、企業などのデベロッパー コミュニティが、差分プライバシーに対応した新しいアプリケーションを作って公開するうえで役立つ無料ツールを作成しています。差分プライバシーは、個人に関する情報を一切明かすことなく、有用な知見やサービスを提供できるようにする技術です。データ プライバシー デーである今日(元記事公開当時)は、その作業に関する最新情報をお知らせします。プライバシーを考慮した設計のプロダクトによって、すべてのインターネット ユーザーにとって安全なエコシステムを作るために、業界を前進させることができれば幸いです。
差分プライバシーを利用できるデベロッパーを増やす
C++、Java、Go によるオープンソース版の基本差分プライバシー ライブラリを公開したのは、2019 年のことでした。そのときの目標は、透明性を実現し、研究者がコードを調査できるようにすることでした。自分たちのアプリケーションでこのライブラリを使いたいというデベロッパーから、大きな関心が寄せられ、その中には、さまざまな医療機関がプライバシーを保護しつつ、医療データから学習できるようにした Arkhn のようなスタートアップ企業もあれば、プライベートであることを証明できるデータを通して科学的発見を加速したオーストラリアのデベロッパーもありました。
その後も、私たちは差分プライバシーを広く利用できるようにするために、さまざまなプロジェクトや新手法に取り組み続けています。今回は、オープンソース デベロッパー団体 OpenMined と連携して 1 年間の開発を行ってきた結果として、差分プライバシー フレームワークの新たなマイルストーンを発表いたします。それは、あらゆる Python デベロッパーが差分プライバシーを用いてデータを処理できるプロダクトです。
これまでの差分プライバシー ライブラリは、3 つのプログラミング言語で利用できました。しかし、Python で利用できるようになった今、世界中のデベロッパーのほぼ半数にお届けできることになります。つまり、膨大な数のデベロッパー、研究者、企業が、業界をリードするプライバシー技術を使ったアプリケーションを作り、個人のプライバシーを保護、尊重しつつ、データセットから知見を得たりトレンドを観測したりできるようになります。
すでにこの新しい Python ライブラリを使い、新たなユースケースの実験を始めている組織もあります。たとえば、匿名で集計し、サイトで最もアクセスされているページを国ごとに表示するユースケースです。このライブラリの特徴は、大規模データ処理エンジンを代表する 2 つのフレームワークである Spark と Beam を使っており、柔軟な利用や実装ができることです。また、新たな差分プライバシー ツールとして、差分プライバシー情報を生成するために使うパラメータの視覚化やチューニングを行えるツールもリリースします。さらに、差分プライバシーをペタバイトとそれ以上のデータセットに効率的にスケールアップする技法をまとめた論文も公開します。
すべてのオープンソース プロジェクトと同じように、技術と成果がどれほどのものになるかはコミュニティ次第です。社内では、モビリティ レポートや Google マップの混雑状況機能を支えるインフラストラクチャなど、差分プライバシー ソリューションを開発するチームのトレーニングを行っています。私たちは目標を実現する一環として、差分プライバシー技術の導入方法を学びたい方を助けるために、OpenMined が Google 外部のエキスパート チームを編成することもサポートしました。
今後に向けて
世界中のデベロッパーの皆さんには、この機会を活用して、統計分析や機械学習などの差分プライバシーのユースケースを試してみることをおすすめします。しかし何よりも、フィードバックをお送りいただけることを願っています。皆さんが開発できるアプリケーションや、その過程で私たちが提供できる機能について、ぜひお知らせください。
私たちは、今後も重要なプライバシー強化技術へのアクセスを拡大する努力を続けるとともに、デベロッパーの皆さんがユーザビリティを向上し対象範囲を拡大する作業に加わっていただけることを願っています。先ほども述べましたが、世界中のすべてのインターネット ユーザーがワールドクラスのプライバシーに値するというのが私たちの考えです。その目標に向かうために、これからも多くの組織と連携を続けてゆきたいと思います。
Google では、Google Maps Platform においてローコード開発の取り組みを進めています。15 年以上にわたり、Google はロケーションベースのカスタム ソリューションをスクラッチから開発して Argos、Dunzo、Redfin などのお客様を支援してきました。このアプローチは高いレベルのカスタマイズを想定したものですが、すべてのお客様がこのような実装を行うだけのリソースやパワーを持っているわけではないことも理解しています。Google において最も重要な理念のひとつが「誰でも利用可能」とすることです。その理念にもとづき、予算や専門知識の有無にかかわらず優れたロケーションベースのソリューションを簡単に構築できる Quick Builder を開発しました。まずは、ローコードとは何か、またなぜそのムーブメントに賛同しているのかについて説明します。
ローコードとは、できるだけコードをゼロから書かなくてもよいよう、視覚的にソフトウェアを開発できるようにしようというアプローチです。ローコード ツールは、コードの書き方を知らなくても、誰でも使用できる直感的な自然言語ベースのインターフェースにコーディングを抽象化するため、これを使用することで、高度なテクノロジーを簡単に利用でき、データや設計、機能に関する重要な決定を行えるようになります。ステークホルダー向けのデモを作成したり、なんらかの決定事項のトレードオフを具体的に示したりするような作業は、ほとんどの場合にユーザー インターフェースのボタンをクリックするだけで実行できます。
その結果、自分でコードを書く場合よりも短時間で、デプロイ状態でのテストを完了することができ、本番環境に対応したカスタムのコードを作成できます。出力されたものをそのままコードベースにコピーして貼り付けることや、テンプレートとして使用することで、自由にカスタマイズや拡張をすることができます。
ローコード ツールを使えば高品質なソフトウェアの設計と開発がこれまでになく簡単になることから、世界中の組織がローコード ツールを重視しています。ガートナーのレポートでは、ローコードは今後も進化し続け、2025 年までにローコードの新たなクライアントのうち半分を IT 業界以外の事業者が占めるようになると予測しています。ローコードなら、たとえコードの書き方を知らなくても、アプリケーションを構築でき、設計上の決定を簡単かつ迅速にすることができます。
直感的なツールである Quick Builder を活用すれば、マッピングのニーズに適した API を見つけて試し、デプロイすることができます。過去の技術スキルや経験のレベルにかかわらず、このツールをビジネスの成長に役立て、本番環境に短時間でデプロイし、学習やテストにかかる時間を短縮することが可能になるのです。
Google は、さまざまなエクスペリエンスを蓄積しています。Google Cloud Console の Google Maps Platform セクションにはローコード テンプレートのライブラリがあります。サンプルとして、一般的なロケーションベースのエクスペリエンス例を 3 つご紹介します。
Quick Builder は、ローコードによる学習を好む方にとっては便利なツールです。データを追加し、リアルタイム プレビューで確認して、提案されたデザインの中から自社のビジネス ニーズに最適なものを選択します。気に入るものができたら、カスタムのサンプルコードをエクスポートするか、Google の クラウド ホスティング機能を使用することにより、たった 1 行のコードでウェブサイトにソリューションを埋め込むことができます。Quick Builder を使って、かつてないほど短時間で本番環境対応のカスタマイズ されたコードを取得して、本番環境にデプロイしましょう。
これは始まりにすぎません。Google は、お客様がデプロイした Google Maps Platform を最大限に活用できるようにするにはどうすればよいかを常に模索しています。今後、ローコード ソリューションのテンプレートを Quick Builder ライブラリに追加していきますので、ぜひご期待ください。Quick Builder の詳細については、MapsOnAir ウェビナーをご覧ください。
Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。