(57)【要約】      （修正有）【課題】異なるデバイスタイプにわたりＧＵＩ表示を統一する。【解決手段】コンピューティング環境１００内の統一システム１１０は、デスクトップデバイス１５０に現れる様々なＧＵＩビューをモバイルデバイス１４０上のＧＵＩビューに変換する。双方のデバイスが、同じアプリケーションにアクセスしてもよく、かつ／あるいはクラウドコンピューティングプラットフォームを使用してアプリケーションにアクセスしてもよい。統一システム１１０は、一方のユーザデバイス上で実行されたＧＵＩ修正を他方のユーザデバイス上で再現することを支援できる。こうして、統一システム１１０は、異なるコンピューティングデバイスタイプにわたりユーザに対して一貫したルックアンドフィールを維持できる。【選択図】図１
2020053045.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実現される方法であって、
第１のデバイスに対応する第１のグラフィカルユーザインターフェース（ＧＵＩ）を識別するステップであり、前記第１のＧＵＩはアプリケーションの複数のＧＵＩコンポーネントを含む、ステップと、
前記第１のＧＵＩの前記複数のＧＵＩコンポーネントの各ＧＵＩコンポーネントに値を順次的に割り当てて、割り当て値のセットを生成するステップと、
前記割り当て値のセットをメモリに記憶するステップと、
前記アプリケーションを第２のデバイスで見る要求を受信するステップと、
前記受信に応答して、前記メモリから前記割り当て値のセットを取り出すステップと、
前記第２のデバイスにＧＵＩコマンドを送信して、前記第２のデバイスに、前記割り当て値のセットに従い配置された前記複数のＧＵＩコンポーネントを含む第２のＧＵＩを生成させるステップと、
を含む方法。
【請求項２】
前記第２のＧＵＩは、前記割り当て値のセットに従い垂直列において配置された前記複数のＧＵＩコンポーネントを含む、請求項１に記載のコンピュータにより実現される方法。
【請求項３】
前記複数のＧＵＩコンポーネントは、前記第１のＧＵＩ上で水平に、及び前記第２のＧＵＩ上で垂直に配置される、請求項１に記載のコンピュータにより実現される方法。
【請求項４】
前記第１のデバイスはデスクトップコンピューティングデバイスであり、前記第２のデバイスはモバイルコンピューティングデバイスである、請求項１に記載のコンピュータにより実現される方法。
【請求項５】
前記複数のＧＵＩコンポーネントのうちのＧＵＩコンポーネントの位置を修正する前記第１のＧＵＩ上の対話を受信するステップと、
前記割り当て値のセットが前記ＧＵＩコンポーネントの前記位置の修正を組み込むように前記割り当て値のセットを再割り当てするステップと、
をさらに含む請求項１に記載のコンピュータにより実現される方法。
【請求項６】
ユーザが前記アプリケーションの前記複数のＧＵＩコンポーネントにアクセスする許可を付与されたと決定するステップと、
前記決定に応答して、前記第１のデバイスにＧＵＩコマンドを送信して前記第１のデバイスに前記第１のＧＵＩを生成させるステップと、
をさらに含む請求項１に記載のコンピュータにより実現される方法。
【請求項７】
前記メモリはクラウドコンピューティングデータベースである、請求項１に記載のコンピュータにより実現される方法。
【請求項８】
メモリと、
前記メモリに結合され、
第１のデバイスに対応する第１のグラフィカルユーザインターフェース（ＧＵＩ）を識別し、前記第１のＧＵＩはアプリケーションの複数のＧＵＩコンポーネントを含み、
前記第１のＧＵＩの前記複数のＧＵＩコンポーネントの各ＧＵＩコンポーネントに値を順次的に割り当てて、割り当て値のセットを生成し、
前記割り当て値のセットをメモリに記憶し、
前記アプリケーションを第２のデバイスで見る要求を受信し、
前記受信に応答して、前記メモリから前記割り当て値のセットを取り出し、
前記第２のデバイスにＧＵＩコマンドを送信して、前記第２のデバイスに、前記割り当て値のセットに従い配置された前記複数のＧＵＩコンポーネントを含む第２のＧＵＩを生成させる
ように構成された少なくとも１つのプロセッサと、
を含むシステム。
【請求項９】
前記第２のＧＵＩは、前記割り当て値のセットに従い垂直列において配置された前記複数のＧＵＩコンポーネントを含む、請求項８に記載のシステム。
【請求項１０】
前記複数のＧＵＩコンポーネントは、前記第１のＧＵＩ上で水平に、及び前記第２のＧＵＩ上で垂直に配置される、請求項８に記載のシステム。
【請求項１１】
前記第１のデバイスはデスクトップコンピューティングデバイスであり、前記第２のデバイスはモバイルコンピューティングデバイスである、請求項８に記載のシステム。
【請求項１２】
前記少なくとも１つのプロセッサは、
前記複数のＧＵＩコンポーネントのうちのＧＵＩコンポーネントの位置を修正する前記第１のＧＵＩ上の対話を受信し、
前記割り当て値のセットが前記ＧＵＩコンポーネントの前記位置の修正を組み込むように前記割り当て値のセットを再割り当てする
ようにさらに構成される、請求項８に記載のシステム。
【請求項１３】
前記少なくとも１つのプロセッサは、
ユーザが前記アプリケーションの前記複数のＧＵＩコンポーネントにアクセスする許可を付与されたと決定し、
前記決定に応答して、前記第１のデバイスにＧＵＩコマンドを送信して前記第１のデバイスに前記第１のＧＵＩを生成させる
ようにさらに構成される、請求項８に記載のシステム。
【請求項１４】
前記メモリはクラウドコンピューティングデータベースである、請求項８に記載のシステム。
【請求項１５】
命令を記憶させた非一時的コンピュータ読取可能デバイスであって、前記命令は少なくとも１つのコンピューティングデバイスにより実行されたときに前記少なくとも１つのコンピューティングデバイスに、
第１のデバイスに対応する第１のグラフィカルユーザインターフェース（ＧＵＩ）を識別することであり、前記第１のＧＵＩはアプリケーションの複数のＧＵＩコンポーネントを含む、ことと、
前記第１のＧＵＩの前記複数のＧＵＩコンポーネントの各ＧＵＩコンポーネントに値を順次的に割り当てて、割り当て値のセットを生成することと、
前記割り当て値のセットをメモリに記憶することと、
前記アプリケーションを第２のデバイスで見る要求を受信することと、
前記受信に応答して、前記メモリから前記割り当て値のセットを取り出すことと、
前記第２のデバイスにＧＵＩコマンドを送信して、前記第２のデバイスに、前記割り当て値のセットに従い配置された前記複数のＧＵＩコンポーネントを含む第２のＧＵＩを生成させることと、
を含む動作を実行させる、非一時的コンピュータ読取可能デバイス。
【請求項１６】
前記第２のＧＵＩは、前記割り当て値のセットに従い垂直列において配置された前記複数のＧＵＩコンポーネントを含む、請求項１５に記載の非一時的コンピュータ読取可能デバイス。
【請求項１７】
前記複数のＧＵＩコンポーネントは、前記第１のＧＵＩ上で水平に、及び前記第２のＧＵＩ上で垂直に配置される、請求項１５に記載の非一時的コンピュータ読取可能デバイス。
【請求項１８】
前記第１のデバイスはデスクトップコンピューティングデバイスであり、前記第２のデバイスはモバイルコンピューティングデバイスである、請求項１５に記載の非一時的コンピュータ読取可能デバイス。
【請求項１９】
前記動作は、
前記複数のＧＵＩコンポーネントのうちのＧＵＩコンポーネントの位置を修正する前記第１のＧＵＩ上の対話を受信することと、
前記割り当て値のセットが前記ＧＵＩコンポーネントの前記位置の修正を組み込むように前記割り当て値のセットを再割り当てすることと、
をさらに含む、請求項１５に記載の非一時的コンピュータ読取可能デバイス。
【請求項２０】
前記動作は、
ユーザが前記アプリケーションの前記複数のＧＵＩコンポーネントにアクセスする許可を付与されたと決定することと、
前記決定に応答して、前記第１のデバイスにＧＵＩコマンドを送信して前記第１のデバイスに前記第１のＧＵＩを生成させることと、
をさらに含む、請求項１５に記載の非一時的コンピュータ読取可能デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
ユーザがコンピュータ及びソフトウェアに依存し続けるとき、その依存及びユーザインターフェース（ＵＩ）又はグラフィカルユーザインターフェース（ＧＵＩ）との対話もまた増加する。これらの対話は、ＧＵＩ上のボタン又はアイコンを操作してソフトウェアコマンドを実行し、あるいは異なるビューにナビゲートすることを含むことがある。ユーザはまた、モバイルフォームファクタでの制限にもかかわらず、フル機能のデスクトップＧＵＩ体験がモバイルＧＵＩ体験にミラーリングされることを期待し始めている。開発者はこのミラーリング機能を提供するよう試みてきたが、開発及びサポートされるアプリケーションは固定のＧＵＩ構成を典型的に有する。例えば、多くのアプリケーションＧＵＩは固定のボタン又はアイコンを含む。この固定の性質は、ユーザがデスクトップコンピューティングデバイス及び／又はモバイルコンピューティングデバイス上で様々なＧＵＩコンポーネント内をナビゲートし、アクセスするとき、ナビゲーションにおける非効率をもたらす可能性がある。さらに、デスクトップコンピューティングデバイス上でなされた修正はモバイルコンピューティングデバイスで再現されないことがあり、逆もまた同様である。
【０００２】
［関連出願の相互参照］
本出願は、2018年9月24日に出願された米国仮出願第62/735,496号の利益を主張し、該出願は、その全体を参照により本明細書に援用される。
【０００３】
本出願は、さらに、2018年12月14日に出願され「Application  Builder」と題された米国特許出願第16/221,090号（Atty.  Dkt.  No．  3462.1730002）、2018年12月14日に出願され「Graphical  User  Interface  Object  Matching」と題された米国特許出願第16/221,093号（Atty.  Dkt.  No.  3462.1730003）、2018年12月14日に出願され「Graphical  User  Interface  Divided  Navigation」と題された米国特許出願第16/221,097号（Atty.  Dkt.  No.  3462.1730004）、及び2018年12月14日に出願され「Graphical  User  Interface  Management  for  Different  Applications」と題された米国特許出願第16/221,102号（Atty.  Dkt.  No．  3462.1730005）に関連し、上記出願のすべてが、その全体を参照により本明細書に援用される。
【図面の簡単な説明】
【０００４】
添付の図面は、本明細書に組み込まれ、明細書の一部を構成する。
【図１】いくつかの実施形態による、コンピューティング環境のブロック図を示す。
【図２Ａ】いくつかの実施形態による、アプリケーション選択ページを表示するグラフィカルユーザインターフェース（ＧＵＩ）のブロック図を示す。
【図２Ｂ】いくつかの実施形態による、アプリケーションホームページを表示するＧＵＩのブロック図を示す。
【図２Ｃ】いくつかの実施形態による、オブジェクトホームページを表示するＧＵＩのブロック図を示す。
【図２Ｄ】いくつかの実施形態による、レコードページを表示するＧＵＩのブロック図を示す。
【図３Ａ】いくつかの実施形態による、モバイルアプリケーションメニューページを表示するＧＵＩのブロック図を示す。
【図３Ｂ】いくつかの実施形態による、モバイルオブジェクトホームページを表示するＧＵＩのブロック図を示す。
【図３Ｃ】いくつかの実施形態による、モバイルレコードページを表示するＧＵＩのブロック図を示す。
【図３Ｄ】いくつかの実施形態による、スクロールされたモバイルレコードページを表示するＧＵＩのブロック図を示す。
【図４】いくつかの実施形態による、第１のＧＵＩに対応する第２のＧＵＩを順次的に生成する方法を示すフローチャートを示す。
【図５】いくつかの実施形態による、アプリケーションビルダを表示するＧＵＩのブロック図を示す。
【図６】いくつかの実施形態による、モバイルアプリケーションビルダを表示するＧＵＩのブロック図を示す。
【図７】いくつかの実施形態による、エディタプロンプトを表示するＧＵＩのブロック図を示す。
【図８】いくつかの実施形態による、統一されたアプリケーションを構築する方法を示すフローチャートを示す。
【図９】いくつかの実施形態による、ナビゲーションボタンを表示するＧＵＩのブロック図を示す。
【図１０】いくつかの実施形態による、ナビゲーションメニューを表示するＧＵＩのブロック図を示す。
【図１１】いくつかの実施形態による、選択されたオブジェクトに対応する更新されたナビゲーションボタンを表示するＧＵＩのブロック図を示す。
【図１２Ａ】いくつかの実施形態による、タブオブジェクトを含むページを表示するＧＵＩのブロック図を示す。
【図１２Ｂ】いくつかの実施形態による、タブオブジェクト移動を表示するＧＵＩのブロック図を示す。
【図１２Ｃ】いくつかの実施形態による、モバイルオブジェクト移動を表示するＧＵＩのブロック図を示す。
【図１２Ｄ】いくつかの実施形態による、拡張タブオブジェクトを含むページを表示するＧＵＩのブロック図を示す。
【図１２Ｅ】いくつかの実施形態による、追加されたタブオブジェクトを含むページを表示するＧＵＩのブロック図を示す。
【図１２Ｆ】いくつかの実施形態による、追加されたモバイルオブジェクトを表示するＧＵＩのブロック図を示す。
【図１３】いくつかの実施形態による、ナビゲーションメニューを修正する方法を示すフローチャートを示す。
【図１４Ａ】いくつかの実施形態による、カーソルボタンを含むモバイルページを表示するＧＵＩのブロック図を示す。
【図１４Ｂ】いくつかの実施形態による、可視カーソルを含むモバイルページを表示するＧＵＩのブロック図を示す。
【図１４Ｃ】いくつかの実施形態による、カーソル移動を含むモバイルページを表示するＧＵＩのブロック図を示す。
【図１５】いくつかの実施形態による、カーソルを生成する方法を示すフローチャートを示す。
【図１６Ａ】いくつかの実施形態による、モバイルアプリケーションメニューページを表示するＧＵＩのブロック図を示す。
【図１６Ｂ】いくつかの実施形態による、モバイルアプリケーション選択ページを表示するＧＵＩのブロック図を示す。
【図１６Ｃ】いくつかの実施形態による、更新されたモバイルアプリケーションメニューページを表示するＧＵＩのブロック図を示す。
【図１７】いくつかの実施形態による、アプリケーションに対応するオブジェクトのリストを置換する方法を示すフローチャートを示す。
【図１８】様々な実施形態を実現するのに有用な一例示的なコンピュータシステムを示す。
【０００５】
図面において、同様の参照番号は、一般に、同一又は類似の要素を示す。さらに、一般に、参照番号の最左桁は、参照番号が最初に現れる図面を識別する。
【発明を実施するための形態】
【０００６】
異なるコンピューティングデバイス間でグラフィカルユーザインターフェース（ＧＵＩ）ビュー、コンポーネント、使用法、及び制御を統一する（unifying）ための、システム、装置、デバイス、方法、及び／又はコンピュータプログラムプロダクトの実施形態、及び／又はこれらの組み合わせ及びサブコンビネーションが本明細書において提供される。
【０００７】
ＧＵＩビューの統一は、モバイルコンピューティングデバイス上に現れるＧＵＩをデスクトップコンピューティングデバイス上に現れるＧＵＩに対応するように構成することを参照し得る。以下の説明は、このタイプのコンピューティング環境を説明し得るが、説明される実施形態は、任意の構成のコンピューティングデバイスに拡張してもよい。
【０００８】
一実施形態において、統一システムは、ＧＵＩビューの統一をサポートすることができる。この統一は、デスクトップデバイス上のＧＵＩに対応するモバイルデバイス上のＧＵＩを生成することを参照し得る。しかしながら、統一は、他のコンピューティングデバイス構成に拡張してもよい。ユーザが、デスクトップデバイスに表示されたＧＵＩを作成及び／又は操作したとき、中央システムが、モバイルデバイス上のＧＵＩ表示を制御して、該操作を同様に反映することができる。中央システムは、以下に説明されるように、統一システムであってもよい。
【０００９】
統一システムは、コンピューティングデバイスにより操作されるアプリケーションのコンテンツを制御するだけでなく、ＧＵＩオブジェクトを改変してデスクトップＧＵＩに対応するモバイルＧＵＩを生成することもできる。一実施形態において、統一システムは、順次的コンポーネントタグ付け処理を使用して、異なるＧＵＩデータ部分にタグ付けすることができる。順次的タグ付け処理は、デスクトップＧＵＩ上に水平に配置され、及び／又は垂直及び水平位置の組み合わせで配置されたＧＵＩコンポーネントが、モバイルＧＵＩのために垂直順序へ再配置されることを可能にできる。この構成は、モバイルデバイスを使用するユーザが、対応するデスクトップビューを有する基礎をなすアプリケーションのコンテンツを見るために、より快適な閲覧体験を結果としてもたらし得る。デスクトップビューは、コンピュータ画面の使用に起因してより水平に構成されたレイアウトを含むことがあるが、モバイルビューは、同じコンポーネントを垂直に構成されたレイアウトで編成することができる。ユーザは、ＧＵＩコンポーネントをスクロールし、モバイルレイアウトを介してより直感的に同じアプリケーションと対話することができ得る。
【００１０】
このように、ユーザは、デスクトップＧＵＩ又はモバイルＧＵＩのいずれかを使用して、同じアプリケーションにアクセスすることができる。統一システムは、アプリケーションにアクセスするデバイスに基づいて、特定のＧＵＩをインスタンス化することができる。さらに、一方のデバイスにおけるＧＵＩの操作は、他方のデバイスにおいて複製され得る。基礎をなすアプリケーションコンテンツ（データ及び／又はレコードなど）の変更のほかに、ユーザは、デスクトップＧＵＩ上の特定のＧＵＩビューのＧＵＩオブジェクトを編集することができる。例えば、ユーザは、デスクトップＧＵＩ上のタブのリストにタブを移動又は追加することができる。統一システムは、モバイルＧＵＩにおいてこの修正（modification）を生成することができる。このように、ユーザがモバイルＧＵＩを見るとき、統一システムは、修正を含むモバイルバージョンをインスタンス化することができる。この構成に基づいて、ユーザは、デスクトップＧＵＩをパーソナライズすることができ、統一システムは、モバイルＧＵＩを調整してパーソナライゼーション（personalization）を含めることができる。
【００１１】
統一システムは、管理者がアプリケーションへのアクセスを管理し、かつ／あるいはＧＵＩビューを構成するための制御を含むこともできる。例えば、統一システムは、管理者（又は許可を有するユーザ）がＧＵＩオブジェクトを操作するために使用できるアプリケーションビルダＧＵＩを提供することができる。アプリケーションビルダは、互換性のあるデスクトップ及びモバイルビューを含むことができ、管理者がＧＵＩコンポーネントを追加及び／又は削除することを可能にできる。例えば、管理者は、ドラッグアンドドロップジェスチャでコンポーネントのギャラリーを使用して、デスクトップ又はモバイルＧＵＩにＧＵＩコンポーネントを追加することができる。次いで、統一システムは、他方の対応するＧＵＩのためにＧＵＩコンポーネントを配置することができる。このように、管理者は、統一システムを使用して、異なるデバイスに適用され得る複数のＧＵＩを迅速に生成することができる。
【００１２】
アプリケーションビルダは、管理者が各ＧＵＩコンポーネントの様々な態様を制御することも可能にできる。例えば、管理者は、ＧＵＩコンポーネント内のＧＵＩオブジェクトを修正することができる。さらに、管理者は、デスクトップＧＵＩとモバイルＧＵＩとの間でＧＵＩコンポーネントビューを区別することができる。例えば、管理者は、可視性フィルタを使用して、特定のＧＵＩコンポーネントをデスクトップＧＵＩ上で可視だがモバイルアプリケーション上で不可視として識別することができる。このカスタマイズは、視覚化における所望の独立性を依然として維持しながら、デスクトップ及びモバイルＧＵＩを依然として統一することができる。デスクトップ又はモバイルいずれかのＧＵＩを使用することで、ＧＵＩにより見られている同じ基礎をなすアプリケーションの操作を依然として可能にできる。
【００１３】
デスクトップＧＵＩをモバイルＧＵＩに翻訳することに加えて、統一システムは、デスクトップＧＵＩのモバイルバージョンのアクセシビリティを支援し得るモバイルＧＵＩ制御を提供することもできる。例えば、統一システムは、アプリケーション、ナビゲーションメニュー、及び／又はカーソル制御の間で切り替えるためのフレームワークを提供することができる。
【００１４】
モバイルアプリケーションでは、デスクトップアプリケーションと同様に、ユーザは、ＧＵＩと対話して異なるアプリケーション間で切り替えることができる。統一システムが、このコマンドを検出したとき、統一システムは、現在表示されているアプリケーションのＧＵＩコンポーネントを、選択されたアプリケーションのＧＵＩコンポーネントで置換することができる。一実施形態において、統一システムは、同じフレームワークが使用されることを維持でき、それにより、ユーザは、ＧＵＩオブジェクトの位置への馴染みやすさを維持できる。特定のコンテンツ、コマンド、及び／又はナビゲーションオプションが、選択されたアプリケーションに従って変わる可能性があるが、統一システムは、選択されたアプリケーション間で共通のフレームワークを維持することができる。このように、統一システムは、複数のアプリケーションへのユーザアクセスと、アプリケーション内の、及び異なるデバイスにわたるＧＵＩビューのカスタマイズとをサポートすることができる。
【００１５】
アプリケーション内をナビゲートする（navigating）とき、アプリケーションは、異なるオブジェクト又はカテゴリを含むことがある。これらのオブジェクトは、デスクトップビュー内のタブであってもよく、かつ／あるいはＧＵＩボタンにより表現されてもよい。これらのオブジェクトと対話することで、ユーザがアプリケーションの異なる要素にナビゲートすることを可能にできる。デスクトップを使用してこれらのオブジェクト内をナビゲートするとき、デスクトップＧＵＩは、モバイルＧＵＩに対して大量の利用可能なＧＵＩスペースに起因してオブジェクトを表示することがある。しかしながら、この同じビューは、モバイルバージョンでは画面サイズ制限に起因して利用できない可能性がある。
【００１６】
画面サイズの差に応じて、統一システムは、対応するナビゲーションボタンを有するナビゲーションメニューを生成することができる。ナビゲーションメニューは、デスクトップＧＵＩビュー内に見えるアプリケーションのオブジェクトに対応することができる。一実施形態において、これらのオブジェクトは、モバイルビュー上のスペースを節約するために隠されたままであってもよい。ナビゲーションボタンを使用し、ユーザは、対応するＧＵＩオブジェクトにナビゲートすることができる。ナビゲーションボタンに対してメニュージェスチャ（例えば、長押し）を使用することで、ナビゲーションメニューを表示することができる。次いで、ユーザは、ナビゲーションメニューからオブジェクトを選択して、特定のオブジェクトにナビゲートすることができる。この選択は、ナビゲーションボタンを更新して、選択されたオブジェクトを反映してもよい。このように、ナビゲーションボタンは、最も最近選択されたオブジェクトを反映してもよく、それにより、ユーザは、選択されたオブジェクトに迅速に戻ることができる。
【００１７】
ナビゲーションボタン及びナビゲーションメニューを使用することで、ユーザがデスクトップＧＵＩにおけるナビゲーションと同様の方法でモバイルＧＵＩを使用してアプリケーション内をナビゲートすることを可能にできる。デスクトップＧＵＩと同じオブジェクトを含むようにモバイルＧＵＩをインスタンス化することにより、統一システムは、これらのビューを統一し、ユーザがいずれかのＧＵＩで同じアクションを実行することを可能にできる。さらに、ユーザがデスクトップＧＵＩ上のオブジェクトをカスタマイズすることを可能にし、該カスタマイズをモバイルＧＵＩ上で再現することにより、ユーザは、所望の構成を保ち、アプリケーションを統一的にナビゲートすることができる。ユーザがオブジェクトをデスクトップＧＵＩの第１の位置から第２の位置に移動する場合、統一システムは、ナビゲーションメニューを調整してオブジェクト位置の変更を反映することもできる。
【００１８】
デスクトップオブジェクトの変更に加えて、統一システムは、モバイルＧＵＩのコンポーネント内をナビゲートするためのモバイルＧＵＩ上の制御を提供することもできる。例えば、モバイルＧＵＩは、ジェスチャ制御のためのインターフェースを含んでもよい。ジェスチャ制御は、分割ナビゲーションを可能にできる。ユーザは、ＧＵＩの一部分を特定の方法で使用して、ＧＵＩの異なる部分を選択することができる。例えば、ユーザは、モバイルＧＵＩの下半分に対してジェスチャ（例えば、長押し）を実行することができる。この下半分は、ユーザが片手でモバイルデバイスを保持している場合により快適な可能性があり、アクセシビリティを支援することもできる。ジェスチャを行った後、ＧＵＩは、ＧＵＩの別の部分（例えば、上半分）にカーソルを表示することができる。次いで、ユーザは、モバイルＧＵＩの下半分に対してジェスチャを使用してカーソルを移動することができる。このように、ユーザは、ＧＵＩの第１の部分を使用してＧＵＩの第２の部分を制御することができる。
【００１９】
これらの実施形態の実現を通じて、統一システムは、１つ以上のアプリケーションにアクセスするための様々なＧＵＩを生成することができる。これらのアプリケーションは、例えば、クラウドコンピューティングプラットフォーム上に存在してもよい。一実施形態において、クラウドコンピューティングプラットフォームは、マルチテナントシステムであってもよい。次いで、ユーザは、異なるコンピューティングデバイスからこれらのＧＵＩにアクセスし、カスタマイズし、かつ／あるいは操作することができ、一方、統一システムは、命令をコンピューティングデバイスに送信して、統一された外観を維持することができる。これらの命令は、コンピューティングデバイスに、ＧＵＩを特定の方法でレンダリングするように指示することができる。本開示が以下に説明するように、統一システムは、アプリケーションの集中管理とＧＵＩ生成とを提供して、デスクトップなどのコンピューティングデバイスとモバイルデバイスとの間の連続性を保つことができる。一方のデバイスで変更を行ったユーザは、統一システムの管理に基づいて、他方のデバイスで該変更を見ることを期待できる。このように、ユーザは、異なるプラットフォームにわたるアプリケーション及び異なるプラットフォームＧＵＩにわたり保たれたパーソナライゼーションと、より効率的に対話することができる。
【００２０】
次に、例示的な実施形態のこれらの特徴が、対応する図面に関してより詳細に論じられる。
【００２１】
図１は、いくつかの実施形態による、コンピューティング環境１００のブロック図を示す。コンピューティング環境１００は、ユーザデバイスがプログラム及び／又はアプリケーションと通信及び対話することを可能にするコンピューティングネットワークを表すことができる。一実施形態において、コンピューティング環境１００は、ユーザデバイスに対するクラウドコンピューティング動作を容易にすることができる。ユーザデバイスは、インターネットブラウザ及び／又はインストールされたプログラムを使用して、クラウドによりホストされたアプリケーション及び／又はデータにアクセスすることができる。
【００２２】
コンピューティング環境１００は、統一システム１１０を含むことができる。統一システム１１０は、１つ以上のプロセッサ、メモリ、データベース、サーバ、ルータ、モデム、アンテナ、及び／又は、１つ以上のＧＵＩを生成し、及び／又はモバイルデバイス１４０及び／又はデスクトップデバイス１５０からＧＵＩ対話（interaction）情報を受信するように構成され得るハードウェア若しくはソフトウェアを使用して実現されてもよい。統一システム１１０は、図１８を参照して説明されるコンピュータシステム１８００を使用して実現されてもよい。統一システム１１０は、例えば、クラウドコンピューティングプラットフォーム及び／又はソフトウェア・アズ・ア・サービスプラットフォームなどのコンピューティングネットワーク内に実現されてもよい。一実施形態において、統一システム１１０は、インターネットアプリケーション及び／又はレコードをホストするクラウドコンピューティングプラットフォームにＧＵＩインスタンス化要素を提供することができる。いくつかの実施形態において、統一システム１１０はまた、インターネットアプリケーション及び／又はレコードの要素をホストすることもできる。いずれの構成においても、統一システム１１０は、複数のユーザ及び／又は複数のユーザの各々に対応する複数のユーザデバイスをサポートすることができる。
【００２３】
統一システム１１０は、モバイルデバイス１４０、デスクトップデバイス１５０、及び／又は管理者デバイス１２０と通信することができる。集合的に、これらのデバイスは、ユーザデバイスと呼ばれてもよい。ユーザデバイスは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、電話、スマートフォン、及び／又は他のコンピューティングデバイスであってもよい。モバイルデバイス１４０は、タブレット、電話、及び／又はスマートフォンを参照してもよく、一方、デスクトップデバイス１５０は、デスクトップコンピュータ又はラップトップコンピュータを参照してもよい。しかしながら、これらのユーザデバイス構成は、これらの特定の実施形態に限定されない。
【００２４】
ユーザデバイスは、ローカルにインストールされたプログラム及び／又はインターネットブラウザを使用して、インターネットを介してアプリケーションにアクセスすることができる。ユーザデバイスがアプリケーションにアクセスすると、統一システム１１０は、媒介として動作し、ＧＵＩビューをインスタンス化して、ユーザがユーザデバイス上にＧＵＩを表示し、ＧＵＩオブジェクトを操作することを可能にできる。次いで、ユーザデバイスは、処理のためにコマンドを統一システム１１０に送出して、ホストされたアプリケーションを制御することができる。一実施形態において、モバイルデバイス１４０、デスクトップデバイス１５０、及び／又は管理者デバイス１２０は、ネットワーク１３０を使用して統一システム１１０と通信することができる。
【００２５】
ネットワーク１３０は、有線又は無線の方法のいずれかで情報を送信することができるネットワークであってもよく、例えば、インターネット、ローカルエリアネットワーク、又はワイドエリアネットワークであってもよい。ネットワーク１３０は、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ＴＣＰ／ＩＰプロトコル、イーサネット（登録商標）、又は非同期転送モードなどのネットワークプロトコルを利用することができる。一実施形態において、ネットワーク１３０は、ユーザデバイスと統一システム１１０との間の通信を容易にする。統一システム１１０は、ユーザデバイス上に表示され得るＧＵＩをインスタンス化することができる。インスタンス化は、ＧＵＩコマンドをユーザデバイスに送信及び／又は送出して、統一システム１１０により指定されたＧＵＩをユーザデバイスに生成させることを含んでもよい。インスタンス化の処理は、コマンドを送信及び／又は送出して、ユーザデバイス上にローカルに記憶されたプログラムコード及び／又はデータを操作することを含んでもよい。ＧＵＩコマンドは、ＧＵＩコマンドで提供される命令に従って、ユーザデバイスにＧＵＩを生成及び／又は表示させることができる。インスタンス化を通して、ユーザは、生成されたＧＵＩを見て、ネットワーク１３０を介してコマンドを統一システム１１０に送出することができる。
【００２６】
統一システム１１０はまた、管理者デバイス１２０と通信することもできる。管理者デバイス１２０は、モバイルデバイス１４０及び／又はデスクトップデバイス１５０を使用するユーザによりアクセス可能なコンテンツ、アプリケーション、及び／又はＧＵＩ機能に対する管理者制御を与えるように構成されたユーザデバイスであってもよい。管理者デバイス１２０を使用し、管理者は、ユーザがアクセス可能なアプリケーション及び／又はレコードを構成することができる。管理者はまた、統一システム１１０に送出されるコマンドを介して複数のユーザを管理することもできる。管理者デバイス１２０は、統一システム１１０を実行しているクラウドコンピューティングプラットフォーム内に実現されてもよい。一実施形態において、管理者デバイス１２０は、ネットワーク１３０を介して統一システム１１０と通信することができる。
【００２７】
これらの対話に基づいて、統一システム１１０は、ＧＵＩをインスタンス化し、及び／又はＧＵＩ情報を維持して、ユーザデバイスにおけるＧＵＩの生成を支援することができる。ＧＵＩをインスタンス化するために、統一システム１１０は、レイアウトシステム１１２、ユーザデータベース１１４、及び／又はコンテンツデータベース１１６を含むことができる。レイアウトシステム１１２は、１つ以上のプロセッサ、サーバ、ルータ、モデム、アンテナ、及び／又は、１つ以上のＧＵＩを生成し、及び／又はモバイルデバイス１４０及び／又はデスクトップデバイス１５０からＧＵＩ対話情報を受信するように構成され得るハードウェア若しくはソフトウェアであってもよい。レイアウトシステム１１２は、ユーザデバイスから要求を受信することができ、プログラムされたルールに基づいてコマンドを形成して、要求されたＧＵＩを生成することができる。
【００２８】
レイアウトシステム１１２は、モバイルデバイス１４０及び／又はデスクトップデバイス１５０から受信した要求データと関連して、ユーザデータベース１１４及び／又はコンテンツデータベース１１６に記憶された情報を利用して、ＧＵＩをインスタンス化することができる。ユーザデータベース１１４は、ユーザプリファレンスに関連する情報を含むメモリであってもよい。ユーザデータベース１１４はまた、管理者により割り当てられた特定のアプリケーション及び／又は許可についての管理者構成を含んでもよい。コンテンツデータベース１１６は、アプリケーションに関連するページ及び／又はレコードデータを含むことができる。一実施形態において、コンテンツデータベース１１６は、統一システム１１０内、及び／又はクラウドアプリケーションを実行するクラウドコンピューティングプラットフォーム内に配置されてもよい。コンテンツデータベース１１６は、ユーザがインスタンス化されたＧＵＩを使用して操作し得る基礎をなすアプリケーションに関連づけられたレコード及び／又はデータを含んでもよい。
【００２９】
一実施形態において、統一システム１１０は、単一のメタデータ定義を使用して、アプリケーションのデータページを定義することができる。統一システム１１０は、モバイルデバイス１４０及びデスクトップデバイス１５０における実行のためにアプリケーションの２つの別個のデータバージョンを有するのでなく、アプリケーションページを表す単一のレコード又はページ定義をコンテンツデータベース１１６に記憶することができる。一実施形態において、この単一のページ定義は、特定のユーザのためのアプリケーション構成を表してもよく、ユーザがアプリケーションにモバイルデバイス１４０上でアクセスしているか又はデスクトップデバイス１５０上でアクセスしているかにかかわらず使用されてもよい。統一システム１１０が、ユーザデバイスからアクセス要求を受信したとき、レイアウトシステム１１２は、アクセスされているデバイスタイプを決定することができる。統一システム１１０は、アクセスがネイティブにインストールされたアプリケーションから来るのか又はインターネットブラウザから来るのかとは独立して、この決定を行うことができる。
【００３０】
例えば、レイアウトシステム１１２は、特定のアプリケーションに対するモバイルデバイス１４０からのアクセス要求を受信することができる。デバイスタイプに基づいて、レイアウトシステム１１２は、コンテンツデータベース１１６から単一のアプリケーションページ定義を取り出すことができる。単一のアプリケーションページ定義は、ユーザにより設定された特定のユーザＧＵＩカスタマイズ又はパーソナライゼーションパラメータを含むことができる。このカスタマイズ及び／又はパーソナライゼーションメタデータは、ページ定義内に記憶されてもよい。要求に応答して、レイアウトシステム１１２は次いで、メタデータを利用してＧＵＩをインスタンス化することができる。一実施形態において、レイアウトシステム１１２は、要求しているデバイスタイプに対応するメタデータの部分を使用することができる。一実施形態において、レイアウトシステム１１２は、記憶されたメタデータに基づいて変換コマンドを供給して、ＧＵＩをインスタンス化することができる。このように、モバイルデバイス１４０及び／又はデスクトップデバイス１５０のためのＧＵＩ生成は、アクセス要求のデバイスタイプに依存して、単一の記憶されたデータ定義をデータ定義の変換と共に使用して完了することができる。
【００３１】
ＧＵＩの実施形態を表す図を参照して以下にさらに説明されるように、統一システム１１０は、共通のページ定義を共有し得る、異なるデスクトップ及びモバイルＧＵＩを生成することができる。この共通のページ定義にアクセスすることにより、統一システム１１０は、異なるデバイス上でＧＵＩを生成し、ＧＵＩに対してなされた修正をあるデバイスから別のデバイスへ再現することができる。
【００３２】
一実施形態において、記憶されたデータ定義は、コンポーネント順番づけ（sequencing）を含むメタデータを含むことができる。コンポーネント順番づけは、デスクトップＧＵＩとモバイルＧＵＩの間で共有され得るＧＵＩコンポーネントの位置配置を示すことができる。この処理を使用することで、ＧＵＩコンポーネントの配置を可能にできる。アプリケーションページを作成又は設計するとき、統一システム１１０は、順番づけ情報を自動的に生成し、順番づけ情報をページ定義に記憶することができる。このように、統一システム１１０が特定のデバイスから要求を受信したとき、統一システム１１０はページ定義にアクセスし、順番づけメタデータを使用して対応するＧＵＩをインスタンス化することができる。この順番づけの一実施形態が、図４を参照してさらに説明される。
【００３３】
この順番づけの非限定的な例を簡単に例示するために、開発者又は管理者は、まず、いくつかのＧＵＩコンポーネントを有するページを設計することができる。例えば、開発者は、デスクトップを使用して、図２Ｄに示された実施形態と同様のコンポーネントを有するページを設計することができる。次いで、統一システム１１０は、ＧＵＩのコンポーネントに順次的番号づけを割り当てることができる。ＧＵＩが水平位置を含む場合、統一システム１１０は、例えば、左から右の方法で番号を割り当ててもよい。この順次的番号づけを使用し、統一システム１１０は、デスクトップＧＵＩからの要素を含むモバイルＧＵＩを生成することができる。統一システム１１０は、順番番号づけに対応するＧＵＩコンポーネントを垂直に順序づけることができる。このように、統一システム１１０は、特定のレコードを記憶して、デスクトップＧＵＩに対応し、かつ同様のルックアンドフィールを維持するモバイルＧＵＩをインスタンス化するための要素を効率的に呼び出すことができる。統一システム１１０は、水平に配置されたＧＵＩコンポーネントを、モバイルデバイス１４０上でより快適な閲覧体験を生じ得る垂直様式に変換することができる。
【００３４】
同様に、ユーザがモバイルデバイス１４０を使用してコンポーネントを再順序づけする場合、統一システム１１０は、モバイルデバイス１４０から再順序づけコマンドを受信することができる。次いで、統一システム１１０は、記憶された定義を、更新された順次的順序づけで更新することができる。統一システム１１０は、割り当て値のセットを再割り当てすることができる。統一システム１１０がデスクトップデバイス１５０から要求を受信したとき、統一システム１１０は、デスクトップＧＵＩをインスタンス化する際に、更新又は再割り当てされた順序づけを使用することができる。このように、統一システム１１０は、異なるデバイス及び異なるデバイスタイプ間でＧＵＩビューを統一することができる。一実施形態において、統一システム１１０はまた、ビュー間の差を保つこともできる。例えば、統一システム１１０は、デスクトップビューのための異なる順序づけを記憶しながら、モバイルビューのための特定の順序づけを記憶してもよい。管理者又はユーザは、統一システム１１０に送出されるコマンドを使用して、この差を指定することができる。
【００３５】
統一システム１１０は、異なるデバイスにわたるユーザ使用のためにＧＵＩをインスタンス化することに加えて、管理者制御を提供することもできる。管理者デバイス１２０は、ユーザに対するアプリケーション許可及び／又は対応するＧＵＩ許可を指定することができる。統一システム１１０は、この情報をコンテンツデータベース１１６に、及びページに対応する定義に記憶して、許可に依存してユーザアクセスをブロックし、かつ／あるいは許可することができる。
【００３６】
図５〜図８に関して以下にさらに説明されるように、統一システム１１０はまた、アプリケーションビルダをインスタンス化することもできる。アプリケーションビルダは、ユーザ及び／又は管理者がアプリケーションの特定のＧＵＩ及び／又はページビューを開発することを可能にできる。これらのＧＵＩ及び／又はページビューは、ユーザにも編集可能であり得るデフォルトビューであってもよい。アプリケーションビルダは、互換性のあるデスクトップ及びモバイルビューを含むことができ、管理者がＧＵＩコンポーネントを追加及び／又は削除することを可能にできる。例えば、管理者は、ドラッグアンドドロップジェスチャでコンポーネントのギャラリーを使用して、デスクトップ又はモバイルＧＵＩにＧＵＩコンポーネントを追加することができる。次いで、統一システム１１０は、他方の対応するＧＵＩのためにＧＵＩコンポーネントを配置することができる。このように、管理者は、統一システム１１０を使用して、異なるデバイスに適用され得る複数のＧＵＩを迅速に生成することができる。
【００３７】
図９〜図１３に関して以下にさらに説明されるように、統一システム１１０はまた、ナビゲーションボタン及び／又はナビゲーションメニューを含むモバイルＧＵＩをインスタンス化することもできる。ナビゲーションメニューは、デスクトップオブジェクトに対応するオブジェクトを含むことができる。モバイルデバイス１４０は、ナビゲーションボタン及び／又はナビゲーションメニューを表示することができ、ユーザがＧＵＩオブジェクトを使用してアプリケーションの異なる部分に迅速にナビゲートすることを可能にできる。また、ユーザは、ＧＵＩオブジェクトの配置を修正することもできる。統一システム１１０は、デスクトップＧＵＩオブジェクトの配置の変更に応答してモバイルＧＵＩオブジェクトの配置を修正することができる。
【００３８】
図１４Ａ〜図１５に関して以下にさらに説明されるように、統一システム１１０はまた、ＧＵＩ表示上にカーソルを生成することもできる。このカーソルは、ユーザがＧＵＩの一部分を、該部分と直接対話することなく操作することを可能にできる。例えば、ＧＵＩがモバイルデバイス１４０上に表示される場合、ユーザは、ＧＵＩの下半分を押して、上部分にカーソルを出現させることができる。このように、統一システム１１０は、アクセシビリティ要素を含み、ユーザがＧＵＩの下部分を制御しながらＧＵＩの上部分にアクセスすることを可能にするモバイルＧＵＩをインスタンス化することができる。
【００３９】
図１６Ａ〜図１７に関して以下にさらに説明されるように、統一システム１１０はまた、異なるアプリケーション間の切り替えと、選択されたアプリケーションに依存した更新ＧＵＩの提供とを容易にすることができる。このように、統一システム１１０は、モバイルデバイス１４０及びデスクトップデバイス１５０上でインスタンス化されたＧＵＩの統一を維持しながら、異なるアプリケーション及びアプリケーションタイプを実現するためのフレームワークを提供することができる。統一システムはまた、異なる関係者により開発された異なるアプリケーションをロードし、各アプリケーションに対して一貫したレイアウトを維持することもできる。
【００４０】
次に、統一システム１１０によりインスタンス化されたＧＵＩ表示と、対応する処理を示す対応するフローチャートとに関して、統一システム１１０の動作を説明する。
【００４１】
［デスクトップＧＵＩ及びモバイルＧＵＩの順次的配置］
【００４２】
図２Ａは、いくつかの実施形態による、アプリケーション選択ページを表示するグラフィカルユーザインターフェース（ＧＵＩ）２００Ａのブロック図を示す。ＧＵＩ２００Ａは、統一システム１１０によりインスタンス化されてもよい。一実施形態において、統一システム１１０は、デスクトップデバイス１５０上に表示されるＧＵＩ２００Ａをインスタンス化することができる。統一システム１１０は、デスクトップデバイス１５０からの要求の受信に応答して、ＧＵＩ２００Ａをインスタンス化することができる。要求は、例えば、ログインクレデンシャル又はセッショントークンなどのユーザ情報を含んでもよい。要求はまた、要求を開始したデバイスタイプ、及び／又は要求がローカルにインストールされたアプリケーションからなされたか又はインターネットブラウザからなされたかを示すデータを含んでもよい。要求を使用し、統一システム１１０は、ＧＵＩ２００Ａをインスタンス化し、かつ／あるいはコマンドをデスクトップデバイス１５０に送出してＧＵＩ２００Ａを表示することができる。要求及び／又はコマンドは、統一システム１１０及びデスクトップデバイス１５０により使用されるＡＰＩを介して交換されてもよい。
【００４３】
一実施形態において、統一システム１１０は、ログオン又はパワーオン要求に応答して表示されるＧＵＩ２００Ａをインスタンス化することができる。ＧＵＩ２００Ａは、ユーザがアプリケーションを選択することを可能にするクラウドコンピューティングプラットフォームのホームページであってもよい。クラウドコンピューティングプラットフォームにより、異なるアプリケーションがサポートされてもよい。これらのアプリケーションは、クラウドコンピューティングプラットフォームに予めプログラムされてもよく、クラウドコンピューティングプラットフォームを使用して管理者により作成されてもよく、かつ／あるいはアプリケーション取引所又はマーケットプレイスから取り出されてもよい。これらのアプリケーションは、図１６Ａ〜図１７を参照してさらに説明される。
【００４４】
ＧＵＩ２００Ａは、ユーザがアプリケーションを選択することを可能にするアプリケーションボタン２１５を表示することができる。表示のアプリケーションボタン２１５は、ユーザアカウント情報に従って許可されるアプリケーションに対応してもよい。例えば、管理者は、ユーザがアクセス可能な特定のアプリケーションを選定することができる。このユーザ許可情報は、ユーザデータベース１１４に記憶されてもよい。統一システム１１０がユーザデバイスから要求を受信したとき、レイアウトシステム１１２は、この許可情報を調べて、ユーザに利用可能なアプリケーションと、どのアプリケーションボタン２１５をＧＵＩ２００Ａに表示するかとを決定することができる。また、許可情報は、ユーザに利用可能な特定のＧＵＩコンポーネントを示してもよい。統一システム１１０は、管理者及び／又はユーザにより選択されたアプリケーションを表示することができる。
【００４５】
ユーザは、アプリケーションボタン２１５を選択するジェスチャを行うことができる。例えば、ＧＵＩ２００Ａがデスクトップモニタ又は表示画面に表示される場合、ユーザは、カーソルをハードウェア入力周辺装置と共に使用して、選択を行うことができる。表示画面がタッチスクリーン機能を含む場合、ユーザは、画面にタッチすることにより特定のアプリケーションボタン２１５を選択することができる。デスクトップデバイス１５０は、選択をローカルに処理して続きのアクション又はＧＵＩ画面を決定し、かつ／あるいはこの選択を統一システム１１０に送出することができる。
【００４６】
ＧＵＩ２００Ａはまた、検索バー２１０を含んでもよい。検索バー２１０は、ユーザが特定のアプリケーションを検索することを可能にできる。一実施形態において、検索バー２１０はまた、ユーザが特定のアプリケーション内のアイテムを検索することを可能にしてもよい。アプリケーションボタン２１５及び／又は検索バー２１０を使用し、ユーザは、アプリケーションを選択し、選択されたアプリケーションの要素を探索することができる。
【００４７】
図２Ｂは、いくつかの実施形態による、アプリケーションホームページを表示するＧＵＩ２００Ｂのブロック図を示す。デスクトップデバイス１５０は、アプリケーションボタン２１５の選択に応答してＧＵＩ２００Ｂを表示することができる。デスクトップデバイス１５０は、ローカルに記憶されたルール又はコマンドに基づいてＧＵＩ２００Ｂを生成することができる。一実施形態において、統一システム１１０は、デスクトップデバイス１５０から選択データを受信した後、ＧＵＩ２００Ｂをインスタンス化してもよい。
【００４８】
ＧＵＩ２００Ｂは、アプリケーションホームページを表示することができる。アプリケーションホームページは、ユーザが選択されたアプリケーションと対話することを可能にできる。アプリケーションホームページは、異なるコマンド及び／又はデータを含み得る１つ以上のＧＵＩコンポーネントを含むことができる。例えば、ＧＵＩ２００Ｂは、検索バー２１０、オブジェクト２２０、及び／又はアプリケーションコンポーネント２３０を含んでもよい。
【００４９】
ＧＵＩ２００Ｂからの検索バー２１０は、ＧＵＩ２００Ａ上に表示される検索バー２１０と同様及び／又は同じであってもよい。ユーザは、検索バー２１０を使用して、アプリケーション間をナビゲートし、かつ／あるいは選択されたアプリケーション内のアイテムを取り出すことができる。ユーザがアプリケーションの異なるページビュー及び／又はコンポーネント内をナビゲートするとき、検索バー２１０は表示画面上に存続してもよく、それにより、ユーザはアプリケーション全体を通してナビゲートできる。
【００５０】
検索バー２１０に加えて、ＧＵＩ２００Ｂは、オブジェクト２２０を含むことができる。オブジェクト２２０は、アプリケーションの異なるページビューを表すことができる。オブジェクト２２０はまた、ユーザがオブジェクト２２０と対話し、かつ／あるいはアプリケーション内をナビゲートするとき、表示画面上で存続することもできる。一実施形態において、オブジェクト２２０は、ＧＵＩ２００Ｂ上のタブとして表されてもよいが、他のＧＵＩボタンにより表されてもよい。オブジェクト２２０はまた、折りたたまれ又はグループ化されたオプションを含んでもよい。グループ化されたオブジェクト２２０は、隠されたボタンを見るために拡張されてもよい。図１２Ａ〜図１２Ｆを参照して以下にさらに説明されるように、オブジェクト２２０は、ユーザにより編集及び／又はカスタマイズされてもよい。
【００５１】
オブジェクト２２０と対話することで、アプリケーションの異なるページビューにアクセスすることができる。オブジェクト２２０は、アプリケーションにより提供される機能性に依存してもよい。アプリケーションは、異なるデータレコード部分及び／又は実行可能プログラムコードを含むことができる。オブジェクト２２０を選択することで、これらのデータレコード及び／又は実行可能プログラムコードをユーザ対話及び／又は操作のために表示することができる。また、ＧＵＩ２００Ｂは、これらのデータレコード及び／又は実行可能プログラムコードをアプリケーションコンポーネント２３０として含んでもよい。
【００５２】
アプリケーションコンポーネント２３０は、データレコード及び／又は実行可能プログラムコードを表示するＧＵＩ２００Ｂの異なる部分を含むことができる。ＧＵＩ２００Ｂは、これらのアプリケーションコンポーネントを表示することができ、かつ／あるいは、ユーザがアプリケーションコンポーネント２３０と対話して、基礎をなすアプリケーションと対話することを可能にできる。一実施形態において、アプリケーションはデータ管理アプリケーションであってもよく、投稿コンポーネント２３０Ａを含んでもよい。投稿コンポーネント２３０Ａは、ユーザがテキスト及び／又はファイルをアプリケーションにサブミットすることを可能にできる。ＧＵＩ２００Ｂはまた、ユーザがレコードを見る、レコードを更新又は修正する、文書、スプレッドシート、又はプレゼンテーションなどのファイルを生成する、承認コマンドを送出する、かつ／あるいはクラウドコンピューティングプラットフォームにより管理される外部プログラム又は他のプログラムに接続することを可能にする他のコンポーネントを含んでもよい。ＧＵＩ２００Ｂを見ているとき、ユーザは、利用可能なアプリケーションコンポーネント２３０と対話し、かつ／あるいはオブジェクト２２０を使用してアプリケーションの他の要素にナビゲートすることができる。例えば、ユーザは、カーソルコマンド又はジェスチャを使用することにより、オブジェクト２２０Ｃを選択することができる。このコマンドの受信に応答して、デスクトップデバイス１５０及び／又は統一システム１１０は、図２Ｃに示すように、ＧＵＩ２００Ｃをインスタンス化することができる。
【００５３】
図２Ｃは、いくつかの実施形態による、オブジェクトホームページを表示するＧＵＩ２００Ｃのブロック図を示す。ＧＵＩ２００Ｃは、オブジェクト２２０及び／又は検索バー２１０を含んでもよく、これらは、オブジェクト２２０の選択の後にも存続してもよい。オブジェクトホームページは、選択されたオブジェクト２２０に対応することができる。一実施形態において、オブジェクトホームページは、グループ化され及び／又は折りたたまれたオブジェクト２４０を表示することができる。オブジェクトホームページは、例えば、ユーザがグループ化され及び／又は折りたたまれたオブジェクト２４０間をナビゲートすることを可能にする媒介アプリケーションページであってもよい。ユーザが、ＧＵＩ２００Ｃに示されるようにグループ化され及び／又は折りたたまれたオブジェクト２４０のうちの１つを選択した場合、ユーザは、ＧＵＩ２００Ｄ及び図２Ｄに示されるように、レコードページにアクセスすることができる。
【００５４】
一実施形態において、ユーザは、ＧＵＩ２００Ｂ及び／又はＧＵＩ２００Ｃからレコードページにアクセスすることができる。例えば、ユーザが、グループ化されていないオブジェクト２２０をＧＵＩ２００Ｂから選択した場合、統一システム１１０は、ＧＵＩ２００Ｄをインスタンス化して、選択されたオブジェクトに対応するレコードページを表示することができる。対照的に、ユーザが、オブジェクト２２０Ｃなどの複数のオブジェクト選択肢を有するオブジェクト２２０を選択した場合、統一システム１１０は、ＧＵＩ２００Ｃに示されるオブジェクトホームページを生成することができる。オブジェクトホームページは、グループ化され及び／又は折りたたまれたオブジェクト２４０を含むことができる。ユーザは、グループ化され及び／又は折りたたまれたオブジェクト２４０を選択して、対応するレコードページにアクセスすることができる。
【００５５】
さらに、グループ化され及び／又は折りたたまれたオブジェクト２４０は、ＧＵＩ２００Ｂからアクセスされてもよい。例えば、ＧＵＩ２００Ｂからオブジェクト２２０Ｃにアクセスするとき、ＧＵＩ２００Ｂは、グループ化され及び／又は折りたたまれたオブジェクト２４０を含むメニューを表示することができる。次いで、ユーザは、このメニューからグループ化され及び／又は折りたたまれたオブジェクト２４０を選択して、レコードページにアクセスすることができる。
【００５６】
図２Ｄは、いくつかの実施形態による、レコードページを表示するＧＵＩ２００Ｄのブロック図を示す。レコードページは、アプリケーションコンポーネント２３０と同様のコンポーネントを有する特定のアプリケーションページであってもよい。例えば、レコードページは、「アカウント（Accounts）」オブジェクト下の「アカウント（Account）」のインスタンスを指定する「食料雑貨会社（The  Grocery  Company）」などの特定のアカウントであってもよい。ＧＵＩ２００Ｄ内のコンポーネントは、データレコード及び／又は実行可能プログラムコードを含んでもよい。例えば、ヘッダコンポーネント２５０は、データレコード情報、及び／又はユーザがヘッダコンポーネント２５０と対話することを可能にするＧＵＩボタンを含むことができる。同様に、情報コンポーネント２６０は、レコードデータを含んでもよく、かつ／あるいはユーザがデータレコードを見る、及び／又は該データレコード内をナビゲートすることを可能にできる。情報コンポーネント２６０は、タブコンポーネント２６２などのコンポーネントを含んでもよい。タブコンポーネント２６２は、ユーザが異なるタブコンポーネント２６２によりグループ化された異なるデータレコード内をナビゲートすることを可能にできる。
【００５７】
レコードページはまた、メッセージングコンポーネント２７０を含んでもよい。メッセージングコンポーネント２７０は、通信にリンクされたデータレコードを取り出すことができる。例えば、管理者デバイス１２０は、特定のレコードページ、ユーザ、及び／又は組織に関連するニュース及び／又は他の通信を供給することができる。
【００５８】
レコードページはまた、プログラムコンポーネント２８０を含んでもよい。プログラムコンポーネント２７０は、１つ以上のプログラムタブ２８２を含むことができる。プログラムタブ２８２は、実行可能プログラムコードの異なる部分の選択を可能にできる。例えば、プログラムタブ２８２Ａは、アクティビティモニタを含んでもよい。アクティビティモニタは、ユーザのタスク及び／又は特定のレコードページに関連するタスクを追跡することができる。
【００５９】
プログラムコンポーネント２８０はまた、ユーザが情報を投稿することを可能にするプログラムタブ２８２Ｂを含んでもよい。例えば、ユーザは、レコードページに関連する情報を投稿することができる。統一システム１１０は、デスクトップデバイス１５０から受信したデータを受け入れることができ、投稿データをレコードページと相関させることができる。一実施形態において、統一システム１１０は、この情報を、アプリケーションを実行してアプリケーションデータを処理するクラウドコンピューティングプログラムに渡すことができる。
【００６０】
プログラムコンポーネント２８０はまた、ユーザがファイルを作成することを可能にするプログラムタブ２８２Ｃを含んでもよい。ファイルは、クラウドコンピューティングプラットフォームに記憶されてもよく、かつ／あるいはファイルを作成するためのプログラムコードを実行してもよい。ファイルは、例えば、ワード処理ファイル、スプレッドシートファイル、プレゼンテーション、画像、オーディオファイル、ビデオファイル、及び／又は他のデータファイルであってもよい。ＧＵＩ２００Ｄを使用してファイルを作成することで、ユーザがファイルを表示されたレコードページに相関させることを可能にできる。統一システム１１０は、基礎をなすアプリケーションとのこの相関を容易にすることができる。このように、ユーザは、プログラムコンポーネント２８０及び／又はＧＵＩ２００Ｄを利用して、アプリケーションのレコードページと対話することができる。
【００６１】
一実施形態において、図２Ａ〜図２Ｄは、デスクトップデバイス１５０上に表示されるＧＵＩ例に対応し得る。統一システム１１０は、これらのＧＵＩ例をインスタンス化することができ、ユーザがアプリケーションにアクセスすることを可能にできる。統一システム１１０はまた、モバイルデバイス１４０上の対応するＧＵＩをインスタンス化することもできる。これらのモバイルＧＵＩは、図３Ａ〜図３Ｄに関して以下に論じられる実施形態で説明される。
【００６２】
図３Ａは、いくつかの実施形態による、モバイルアプリケーションメニューページを表示するＧＵＩ３００Ａのブロック図を示す。ＧＵＩ３００Ａは、統一システム１１０によりインスタンス化することができる。一実施形態において、統一システム１１０は、モバイルデバイス１４０上に表示されるべきＧＵＩ３００Ａをインスタンス化することができる。統一システム１１０は、モバイルデバイス１４０からの要求の受信に応答して、ＧＵＩ３００Ａをインスタンス化することができる。要求は、例えば、ログインクレデンシャル又はセッショントークンなどのユーザ情報を含むことができる。要求はまた、要求を開始したデバイスタイプ、及び／又は要求がローカルにインストールされたアプリケーションからなされたか又はインターネットブラウザからなされたかを示すデータを含むこともできる。要求を使用し、統一システム１１０は、ＧＵＩ３００Ａをインスタンス化し、かつ／あるいはモバイルデバイス１４０にコマンドを送出してＧＵＩ３００Ａを表示することができる。要求及び／又はコマンドは、統一システム１１０及びモバイルデバイス１４０により使用されるＡＰＩを介して交換されてもよい。
【００６３】
ＧＵＩ３００Ａは、モバイルアプリケーションメニューページを示すことができる。モバイルアプリケーションメニューページは、図２Ｂに示されるＧＵＩ２００Ｂに対応し得る。ＧＵＩ３００Ａは、モバイルデバイス１４０上に表示される選択されたアプリケーションを表すことができる。ＧＵＩ３００Ａは、別のアプリケーションを選択するためのアプリケーションメニューボタン３１５を含むことができる。アプリケーションメニューボタン３１５を選択することで、図１６Ｂに示すように、モバイルデバイス１４０にＧＵＩ１６００Ｂ及びモバイルアプリケーション選択ページ１６０５を表示させることができる。
【００６４】
ＧＵＩ３００Ａはまた、オブジェクト３２０を含むこともできる。オブジェクト３２０は、デスクトップＧＵＩからのオブジェクト２２０に対応し得る。オブジェクト３２０を選択することで、ユーザがアプリケーションの異なるページ内をナビゲートすることを可能にできる。これらのオブジェクトにアクセスすることで、統一システム１１０及び／又はクラウドコンピューティングプラットフォームにより管理されるページの単一の定義にアクセスすることができる。オブジェクト２２０へのアクセスと同様に、ユーザがオブジェクト３２０を選択したとき、モバイルデバイス１４０は、選択されたオブジェクト３２０がグループ化されたオブジェクトを含むかどうかに依存して、ＧＵＩ３００Ｂ又はＧＵＩ３００Ｃを表示することができる。
【００６５】
例えば、選択されたオブジェクト３２０がグループ化されたオブジェクトを含む場合、統一システム１１０は、ＧＵＩ３００Ｂをインスタンス化することができる。図３Ｂは、いくつかの実施形態による、モバイルオブジェクトホームページを表示するＧＵＩ３００Ｂのブロック図を示す。ＧＵＩ３００Ｂから、ユーザは、グループ化され及び／又は折りたたまれたオブジェクト３４０を選択して、レコードページにアクセスすることができる。このように、ＧＵＩ３００Ｂは、デスクトップ閲覧のためのＧＵＩ２００Ｃと同様であってもよい。
【００６６】
モバイルデバイス１４０がＧＵＩ３００Ａを表示しており、ユーザがグループ化され又は折りたたまれたオブジェクトを含まないオブジェクト３２０を選択した場合、統一システム１１０は、ＧＵＩ３００Ｃを直接インスタンス化して、オブジェクト３２０に対応するレコードページを表示することができる。このように、オブジェクト３２０及び／又はグループ化され及び／又は折りたたまれたオブジェクト３４０との対話は、ユーザがＧＵＩ３００Ｃに表示されるレコードページに到達することを可能にできる。
【００６７】
オブジェクトナビゲーションに加えて、ＧＵＩ３００Ａは、モバイルデバイス１４０上に表示されるＧＵＩを通したナビゲーションを可能にする様々なモバイルボタン３１０〜３１８を含むことができる。モバイルボタン３１０〜３１８は、ユーザがモバイルデバイス１４０に表示されるアプリケーションの異なるページにナビゲートするとき、存続することができ、現れることができる。モバイルボタン３１０〜３１８は、ナビゲーションボタン３１０、お気に入り（favorites）ボタン３１２、検索（search）ボタン３１４、通知（notifications）ボタン３１６、及び／又はメニュー（menu）ボタン３１８を含んでもよい。ナビゲーションボタン３１０は、アプリケーションの異なるオブジェクトへの迅速なナビゲーションを可能にでき、１つ以上のオブジェクト３２０を含むナビゲーションメニューを見せることができる。ナビゲーションボタン３１０は、図９〜図１３を参照してさらに詳細に説明される。
【００６８】
お気に入りボタン３１２は、お気に入りとしてマークづけされたレコードページ及び／又はオブジェクト３２０を示すことができる。お気に入りボタン３１２を選択することで、マークづけされたお気に入りを表示するＧＵＩを生成することができる。
【００６９】
検索ボタン３１４は、基礎をなすアプリケーションに関連するオブジェクト及び／又はレコードの検索を可能にできる。検索ボタン３１４を選択することで、ユーザが検索語を入力することを可能にできるインターフェースを含む検索ＧＵＩを見せることができる。検索ボタン３１４はまた、図１４Ａ〜図１５を参照してさらに説明されるように、カーソル制御を生成するために使用されてもよい。
【００７０】
通知ボタン３１６は、ユーザがユーザに関連する更新を見ることを可能にできる。例えば、ユーザが投稿で言及されている場合、又はユーザに結び付けられたレコードに対して警告が生成された場合、ユーザは、通知ボタン３１６を使用して更新を見ることができる。
【００７１】
メニューボタン３１８は、ユーザがＧＵＩ３００Ａを表示することを可能にできる。例えば、ユーザが、異なるオブジェクト及び／又はデータレコードをナビゲートし、及び／又はこれらと対話するとき、ユーザは、ＧＵＩ３００Ａに戻ることを望む可能性がある。例えば、ユーザは、アプリケーションメニューボタン３１５を使用して、異なるオブジェクト３２０及び／又は異なるアプリケーションを選択することを望む可能性がある。メニューボタン３１８を選択することで、ＧＵＩ３００Ａを見せることができ、ユーザが所望の動作を遂行することを可能にできる。
【００７２】
ユーザが、オブジェクト３２０及び／又はグループ化され及び／又は折りたたまれたオブジェクト３４０を選択した後、統一システム１１０は、モバイルレコードページをインスタンス化することができる。図３Ｃは、いくつかの実施形態による、モバイルレコードページを表示するＧＵＩ３００Ｃのブロック図を示す。図３Ｄは、いくつかの実施形態による、スクロールされたモバイルレコードページを表示するＧＵＩ３００Ｄのブロック図を示す。モバイルレコードページは、ＧＵＩ２００Ｄ及び図２Ｄに説明されるレコードページに対応し得る。統一システム１１０は、このレコードページのための定義を記憶することができ、レコードページにアクセスするデバイスタイプに依存してＧＵＩ２００Ｄ又はＧＵＩ３００Ｃ〜３００Ｄをインスタンス化することができる。
【００７３】
また、ＧＵＩ３００Ｃ〜３００Ｄが、デスクトップデバイス１５０に示されるＧＵＩ２００Ｄと同じレコードページを示すこともできるため、ＧＵＩ３００Ｃ〜３００Ｄは、同じコンポーネントを示すこともできる。例えば、ＧＵＩ３００Ｃ〜３００Ｄは、ヘッダコンポーネント２５０に対応するヘッダコンポーネント３５０と、情報コンポーネント２６０に対応する情報コンポーネント３６０と、メッセージングコンポーネント２７０に対応するメッセージングコンポーネント３７０と、プログラムコンポーネント２８０に対応するプログラムコンポーネント３８０とを含むことができる。
【００７４】
これらのモバイルコンポーネントは、デスクトップコンポーネントと同様の機能を含むことができる。例えば、情報コンポーネント３６０は、タブコンポーネント２６２と同様のタブコンポーネント３６２を含んでもよい。タブコンポーネント３６４を選択することで、ユーザが関連情報を見る、及び／又は異なるデータレコードへ「ドリルダウンする」ことを可能にできる。このＧＵＩ構成は、馴染みやすいタブを有するＧＵＩのデスクトップバージョンと同様のルックアンドフィールを可能にできるが、より多くの情報が表示及び／又はアクセス可能であるようにモバイルバージョンにおける表示画面スペースを保つこともできる。
【００７５】
同様に、ＧＵＩ３００Ｄに表示されるように、プログラムコンポーネント３８０は、プログラムタブ２８２と同様であり得るプログラムタブ３８２を含むことができる。ユーザは、スクロールジェスチャを使用して、モバイルレコードページを移動させ、プログラムコンポーネント３８０を見ることができる。プログラムタブ２８２と同様に、ユーザは、プログラムタブ３８２と対話して、アプリケーションに対応する特定のプログラムコードを実行することができる。
【００７６】
ページのデスクトップＧＵＩバージョンとモバイルＧＵＩバージョンとの間のコンポーネントは同様であってもよく、かつ／あるいは同様のコンポーネントを含んでもよいが、コンポーネントの順番づけ及び／又は配置は異なってもよい。統一システム１１０は、この順番づけを制御することができ、それにより、モバイルＧＵＩバージョンは、デスクトップバージョンと同様のルックアンドフィールを維持するが、より小さい画面サイズに基づいて効率的なアクセシビリティを依然として維持することができる。
【００７７】
これらのコンポーネントを管理するために、統一システム１１０は、順次的割り当て処理を使用してコンポーネントを特徴づけることができる。この順次的割り当て処理の一実施形態は、図４を参照してさらに説明される。
【００７８】
順次的割り当て処理は、デスクトップＧＵＩを解析してレコードページの特定のＧＵＩコンポーネントを識別することを含むことができる。次いで、統一システム１１０は、ＧＵＩコンポーネントがＧＵＩ上の異なる位置にある場合でも、各ＧＵＩコンポーネントに値を順次的に（sequentially）割り当てることができる。例えば、ＧＵＩコンポーネントは、異なる行及び／又は列に位置してもよく、かつ／あるいは相対的な水平配置を含んでもよい。しかしながら、これらの水平位置は、レコードページがモバイルデバイス１４０上に表示されるとき、垂直の画面構造に起因して望ましくない場合がある。この場合、統一システム１１０は、モバイルデバイス１４０上でレコードページを見る要求の受信に応答して、順次的に割り当てられた値を利用して、モバイルデバイス１４０のための垂直編成をインスタンス化することができる。垂直画面構造は、ユーザが水平にスクロールする必要なく、レコードページを垂直にスクロールすることを可能にできる。この構造は、ユーザアクセシビリティを支援し、ユーザがレコードの異なる部分へより迅速にナビゲートすることを可能にできる。ユーザが、１次元の垂直スクロール移動に焦点を合わせることができるため、ユーザは、所望のＧＵＩオブジェクトの位置を特定しようとして第２の次元においてスクロールすることを回避できる。
【００７９】
さらに、ＧＵＩ３００Ｃ〜３００Ｄは、アクションボタン３９０を含むことができる。ユーザがレコードページをスクロールし、かつ／あるいはナビゲートする間、アクションボタン３９０は存続することができ、ユーザが表示されたレコードページに関連するアクションを実行することを可能にできる。例えば、編集（edit）ボタン３９０Ａは、ユーザがレコードページ内のデータを編集することを可能にできる。投稿（Post）ボタン３９０Ｂは、ユーザがレコードページにコメントを投稿することを可能にできる。コメントは、ユーザメッセージ又はメモであってもよく、レコードページに対応するデータと異なってもよい。例えば、データは組織名であってもよく、一方、コメントはレコードページにアクセスすることができる別のユーザへのユーザメッセージであってもよい。同様に、ログ（log）ボタン３９０Ｃは、電話呼び出しなどの情報をロギングすることに向けられた特別なタイプの投稿を含むことができる。一実施形態において、ログボタン３９０Ｃは、情報を追跡するための特別なデータレコードを作成することができる。
【００８０】
アクションボタン３９０はまた、レコードページ及び／又はアプリケーションに依存して他のアクションを含むこともできる。表示されるアクションボタン３９０はまた、図３Ｃに表示されるアクションボタン３９０の数より多い及び／又は少ない数を含んでもよい。拡張ボタン３９０Ｄは、他の可能なアクションをさらに見せることができる。例えば、他の可能なアクションは、ファイルを生成又は付加すること、リンクを生成すること、新しいユーザグループを生成すること、新しいメモを追加すること、投票を生成すること、質問を投稿すること、感謝のメモを追加すること、ビデオを付加すること、電子メールを送出すること、及び／又は他のアクションを含んでもよい。
【００８１】
アクションを選択するために、ユーザは、アクションをクリックし、かつ／あるいは押すことができる。一実施形態において、ユーザは、検索ボタン３１４と共にスクラブジェスチャを使用することができる。また、検索ボタン３１４は、図１４Ａ〜図１５を参照してさらに説明されるように、カーソル制御を生成するために使用されてもよい。ユーザは、長押しを使用してカーソルでスクロールすることができる。カーソルがアクションボタン３９０を選択したとき、長押しを解放することで、カーソルにより選択された特定のアクションボタン３９０の選択を指定することができる。
【００８２】
ＧＵＩ３００Ｃ〜３００Ｄを使用し、ユーザは、モバイルデバイス１４０を使用してレコードページをナビゲートすることができる。以下にさらに説明されるように、デスクトップデバイス１５０上のユーザにより作成されたパーソナライゼーション構成が、モバイルＧＵＩバージョンにさらに現れることができる。統一システム１１０は、これらの構成を記憶し、要求に応答してこれらを取り出すことができる。統一システム１１０は、モバイルＧＵＩを生成するときにパーソナライゼーション選択を適用することができる。これらの選択に加えて、統一システム１１０は、順次的コンポーネント割り当て処理を利用してモバイルを生成することができる。
【００８３】
図４は、いくつかの実施形態による、第１のＧＵＩに対応する第２のＧＵＩを順次的に生成する方法４００を示すフローチャートを示す。方法４００は、図１を参照して説明される。しかしながら、方法４００は、その例示的な実施形態に限定されない。
【００８４】
一実施形態において、統一システム１１０は、方法４００を利用して、第１のＧＵＩに対応する第２のＧＵＩを生成することができる。前述の説明は、ＧＵＩ２００Ｄ及びＧＵＩ３００Ｃ〜３００Ｄに関して方法４００の実行の一実施形態を説明するが、任意のマッピングＧＵＩに適用可能でもよい。方法４００は、統一システム１１０を参照して説明されるが、方法４００は、例えば、図１８を参照して説明されるコンピュータシステム、及び／又はハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はこれらの組み合わせを含み得る処理論理などの、任意のコンピューティングデバイス上で実行されてもよい。
【００８５】
本明細書に提供される開示を実行するために全てのステップが必要とされ得るわけではないことを十分理解されたい。さらに、当業者により理解されるように、ステップのいくつかが同時に、又は図４に示されているものと異なる順序で実行されてもよい。
【００８６】
一実施形態において、４１０において、統一システム１１０が、第１のデバイスに対応する第１のグラフィカルユーザインターフェース（ＧＵＩ）をインスタンス化することができ、第１のＧＵＩは、アプリケーションの複数のＧＵＩコンポーネントを含む。統一システム１１０は、デスクトップデバイス１５０上の第１のＧＵＩをインスタンス化することができる。例えば、ユーザ、管理者が、アプリケーションに対応する第１のＧＵＩを構築することができる。アプリケーションは、クラウドコンピューティングプログラム及び／又はネットワーク化されたコンピューティングシステムによりホストされてもよい。管理者及び／又はユーザは、アプリケーションに対応する１つ以上のＧＵＩビューを開発することができる。第１のＧＵＩは、例えば、レコードページに対応してもよい。一実施形態において、管理者及び／又はユーザは、アプリケーションビルダを使用してレコードページを生成することができる。アプリケーションビルダの一実施形態が、図５〜図８を参照して説明される。
【００８７】
レコードページは、第１のＧＵＩを使用して表示されてもよい。第１のＧＵＩは、デスクトップデバイス１５０上に表示されるレコードページを表すことができる。第１のＧＵＩは、アプリケーションに対する異なるアクセス部分を表す複数のＧＵＩコンポーネントを含んでもよい。ＧＵＩコンポーネントの一例示的な実施形態は、図２Ｄ及びＧＵＩ２００Ｄを参照して説明されている。管理者及び／又はユーザは、コンポーネントを第１のＧＵＩの所望の位置に置くことができる。これらの位置は、行及び／又は列内であってもよく、かつ／あるいは任意であってもよい。４１０において、ユーザ又は管理者は、コンポーネントの位置を修正することができ、統一システム１１０は、修正された位置を追跡することができる。統一システム１１０は、第１のＧＵＩの作成及び／又は修正が完了したことを、例えば、経過時間を使用して、及び／又は第１のＧＵＩを保存するコマンドの受信から気づくことができる。一実施形態において、統一システム１１０は、ユーザからの直接的なコマンドなしに、第１のＧＵＩの構成を連続的及び／又は監視の方法で保存することができる。４１０において、インスタンス化は、第１のＧＵＩを表示するようデスクトップデバイス１５０に指示することを含んでもよく、かつ／あるいは第１のＧＵＩの構成を保存することを含んでもよい。
【００８８】
４２０において、統一システム１１０が、第１のＧＵＩの複数のＧＵＩコンポーネントの各ＧＵＩコンポーネントに値を順次的に割り当てて、割り当て値のセットを生成することができる。図２Ｄ及びＧＵＩ２００Ｄを参照し、第１のＧＵＩは、コンポーネント２５０〜２８０を含み得る。これらのコンポーネント２５０〜２８０は、任意様式で、及び／又は行及び列へ配置されてもよい。例えば、ヘッダコンポーネント２５０は、情報コンポーネント２６０、メッセージングコンポーネント２７０、及びプログラムコンポーネント２８０の上に配置されてもよい。情報コンポーネント２６０は、メッセージングコンポーネント２７０及びプログラムコンポーネント２８０の左に位置してもよい。メッセージングコンポーネント２７０は、プログラムコンポーネント２８０の上に位置してもよい。
【００８９】
統一システム１１０は、これらの位置に関連するメタデータを記憶することができる。メタデータは、レコードページの共有定義に対応することができる。この共有定義は、第１のＧＵＩ及び／又は第２のＧＵＩをインスタンス化するために使用されてもよい。このメタデータを記憶するとき、統一システム１１０は、第１のＧＵＩの各コンポーネントに値を順次的に割り当てることができる。例えば、統一システム１１０は、第１のＧＵＩ上の配置に基づいて、コンポーネントに対応する数値又は２進コードを割り当てることができる。統一システム１１０は、値を割り当てる左から右へ、及び上から下への処理を利用することができる。例えば、ヘッダコンポーネント２５０が最初であり、情報コンポーネント２６０、メッセージングコンポーネント２７０、及びプログラムコンポーネント２８０が続いてもよい。各ＧＵＩコンポーネントは、順次的な値を割り当てられてもよい。この順次的な値は、第１のＧＵＩを異なるデバイスに表示される第２のＧＵＩとして再作成することを支援できる。第２のデバイスは、例えば垂直表示画面を利用することができ、コンポーネントを再順序づけすることで、図２Ｄに表示される水平ＧＵＩ２００Ｄに対してよりアクセス可能なＧＵＩを支援できる。
【００９０】
４３０において、統一システム１１０が、割り当て値のセットをメモリに記憶することができる。前に論じられたように、割り当て値は、メタデータとしてメモリに記憶されてもよい。統一システム１１０は、このメタデータをコンテンツデータベース１１６に記憶することができ、かつ／あるいはメタデータを外部に記憶することができる。例えば、クラウドコンピューティングシステムが、統一システム１１０を使用してアプリケーションビューのＧＵＩ構築を管理している場合、割り当て値のセットは、記憶のためにクラウドコンピューティングシステムに渡されてもよい。
【００９１】
一実施形態において、割り当て値のセットは、第１のＧＵＩにより表示されるレコードページに対応して記憶されてもよい。レコードページは、割り当て値のセットを含むように修正され得る単一の定義を使用してもよい。この単一の定義は、アプリケーションにより容易にされるデータ構造又はレコードであってもよい。統一システム１１０は、この単一の定義を使用して、レコードページの異なるＧＵＩビューを再作成することができる。例えば、統一システム１１０は、この単一の定義を使用して、第１のＧＵＩ及び／又は第２のＧＵＩを生成してもよい。
【００９２】
４４０において、統一システム１１０が、アプリケーションを第２のデバイスで見る要求を受信することができる。第２のデバイスは、第１のデバイスと異なってもよく、かつ／あるいは異なるデバイスタイプであってもよい。例えば、第１のデバイスはデスクトップデバイス１５０であってもよく、一方、第２のデバイスはモバイルデバイス１４０であってもよい。第２のデバイスからの要求は、ログインクレデンシャル、セッショントークン、デバイス情報、及び／又は第２のデバイスを識別する他の情報を含むメッセージであってもよい。統一システム１１０が要求を受信したとき、統一システム１１０は、このデータを解析してデバイスタイプを決定することができる。例えば、４４０において、統一システム１１０は、第２のデバイスがモバイルデバイス１４０であると決定することができる。一実施形態において、統一システム１１０は、ルール及び／又は論理を利用して、モバイルデバイス１４０のＧＵＩインスタンス化がデスクトップデバイス１５０のＧＵＩインスタンス化と異なると決定することができる。
【００９３】
４５０において、要求の受信に応答して、統一システム１１０が、メモリから割り当て値のセットを取り出すことができる。要求のデータ又はメタデータをチェックすることによりデバイスタイプを決定した後、統一システム１１０は、割り当て値のセットを取り出してＧＵＩコンポーネントの配置を決定することができる。要求がデスクトップデバイス１５０から受信された場合、統一システム１１０は、ＧＵＩ２００Ｄと同様の方法でＧＵＩコンポーネントを配置してもよい。しかしながら、要求が第２のデバイスから受信されるため、統一システムは、割り当て値のセットを利用して異なるＧＵＩを作成し得る。
【００９４】
４６０において、統一システム１１０が、割り当て値のセットに従って複数のＧＵＩコンポーネントを配置することにより、第２のＧＵＩをインスタンス化することができる。例えば、第２のデバイスがモバイルデバイス１４０であると決定した後、統一システム１１０は、プログラムによるルール又は論理を使用して、モバイルデバイスに対応する方法で第２のＧＵＩをインスタンス化することができる。例えば、統一システム１１０は、ＧＵＩコンポーネントがモバイルデバイス及びモバイルデバイス１４０に対して、表示画面の垂直な性質のため垂直に配置されるべきであると認識することができる。
【００９５】
このように、統一システム１１０は、モバイルデバイス１４０上に表示されるべきＧＵＩ３００Ｃ〜３００Ｄをインスタンス化することができる。コンポーネントの特定の順番は、割り当て値のセットに対応し得る。この順番は、統一システム１１０がモバイルデバイス１４０及びデスクトップデバイス１５０に対して同様のルックアンドフィールを作り出すことを可能にできる。
【００９６】
このように、方法４００を使用することで、統一システム１１０が異なるデバイスに対して異なるＧＵＩコンポーネント配置を再作成することを可能にできる。統一システム１１０は、特定のデバイスから要求を受信すると取り出され得る単一のページ定義を記憶することができる。次いで、統一システム１１０は、デバイスタイプを決定し、デバイスタイプに基づいて対応するＧＵＩをインスタンス化することができる。このように、デバイスは、統一システム１１０により管理される単一のページ定義を共有することができる。単一のページ定義は修正されてもよい。例えば、ユーザは、第１のデバイスを使用して特定のコンポーネントの位置を修正することができる。以下にさらに説明されるように、ユーザはまた、オブジェクト位置を修正することもできる。統一システム１１０は、これらの修正を含むように単一のページ定義を更新することができる。次いで、統一システム１１０は、レコードページの新しいＧＵＩビューをインスタンス化するとき、単一のページ定義を調べることができる。このように、統一システム１１０は、ＧＵＩコンポーネントのユーザパーソナライゼーションを可能にでき、修正又はパーソナライゼーション選択を異なるデバイスにわたり再現することができる。統一システム１１０はまた、修正されたアプリケーションコンテンツを管理することもできるが、ＧＵＩコンポーネントの修正を可能にし、追跡することで、ユーザが異なるデバイスにわたりさらなる柔軟性及びナビゲーションアクセスを有することを可能にする。
【００９７】
［アプリケーションビルダ］
【００９８】
統一システム１１０は、デバイスタイプに依存してアプリケーション又はレコードページの様々なＧＵＩビューをインスタンス化し得るが、統一システム１１０は、アプリケーションビルダをさらに提供することもできる。統一システム１１０は、ユーザ及び／又は管理者がアプリケーションのレコードページを構成及び／又は作成することを可能にするアプリケーションビルダの様々なＧＵＩビューをインスタンス化することができる。以下の説明は、アプリケーションビルダＧＵＩにアクセスする管理者デバイス１２０を参照し得るが、ユーザもまた、デスクトップデバイス１５０を使用してアプリケーションビルダＧＵＩにアクセスし、かつ／あるいは操作してもよい。この機能性は、ユーザが管理者によりアクセスを付与されているかどうかに依存してもよい。
【００９９】
図５は、いくつかの実施形態による、アプリケーションビルダを表示するＧＵＩ５００のブロック図を示す。アプリケーションビルダは、統一システム１１０により管理されてもよく、管理者がアプリケーションのレコードページを修正することを可能にできる。これらの修正は、レコードページにアクセスするときユーザに利用可能な特定のコンポーネントを含むＧＵＩ修正を含むことができる。一実施形態において、統一システム１１０は、管理者デバイス１２０上でＧＵＩ５００をインスタンス化することができる。管理者デバイス１２０は、コマンド及び／又はＧＵＩ５００との対話を受け入れることができる。次いで、管理者デバイス１２０は、これらのコマンド及び／又は対話を統一システム１１０に送信することができる。次いで、統一システム１１０は、これらのコマンドを保存することができ、かつ／あるいはコマンドに従ってレコードページを更新することができる。一実施形態において、統一システム１１０は、レコードページに対応する単一の定義データ構造を更新することができる。統一システム１１０は、モバイルデバイス１４０及び／又はデスクトップデバイス１５０のためのアプリケーション及び／又はレコードページのＧＵＩビューをインスタンス化するときに、この単一の定義データ構造を使用することができる。
【０１００】
ＧＵＩ５００は、管理者又はユーザがレコードページのＧＵＩビューを見る、作成する、及び／又は修正することを可能にする異なる要素を含むことができる。例えば、ＧＵＩ５００は、デバイスボタン５１０、保存ボタン５２０、ＧＵＩビューア５３０、コンポーネントパネル５４０、ページパネル５５０、可視性アイコン５６０、及び／又はページボタン５７０を含んでもよい
【０１０１】
デバイスボタン５１０は、管理者がレコードのＧＵＩビューをトグルすることを可能にできる。デバイスボタン５１０は、特定のデバイスを選択するためのドロップダウンメニュー及び／又はアイコンであってもよい。デバイスボタン５１０は、例えば、「デスクトップ」又は「モバイル」などのデバイスタイプを示してもよい。デバイスボタン５１０は、「デスクトップ」、「ラップトップ」、「タブレット」、又は「電話」などのデバイスタイプに基づいて異なるカテゴリ化を可能にしてもよい。一実施形態において、デバイスボタン５１０は、ユーザが「ユーザのタブレットＩＤ  ＃１２３」などの特定のデバイスを指定することを可能にできる。デバイスボタン５１０の選択に基づいて、統一システム１１０は、ＧＵＩビューア５３０の内容を修正することができる。
【０１０２】
ＧＵＩビューア５３０は、アプリケーションビルダにより作成及び／又は修正されているＧＵＩのプレビューを含むことができる。ＧＵＩビューア５３０は、例えば、デスクトップデバイス１５０上に表示されるべきＧＵＩ又はレコードページを表示することができる。例えば、ＧＵＩビューア５３０は、ＧＵＩ２００Ｄからのコンポーネントを表示することができる。管理者は、ＧＵＩビューア５３０と対話してＧＵＩのコンポーネントを修正することができる。
【０１０３】
管理者は、管理者デバイス１２０を使用して統一システム１１０にコマンドを供給することができる。コマンドに応答して、統一システム１１０は、ＧＵＩビューア５３０に表示されるＧＵＩを修正することができる。例えば、統一システム１１０は、特定のコンポーネントの位置を修正することができる。管理者は、ＧＵＩ５００と対話するとき、ドラッグアンドドロップコマンド又はジェスチャを供給することができる。このコマンドに応答して、統一システム１１０は、コンポーネントを示された位置に移動させることができる。さらに、統一システム１１０は、行若しくは列又はコンポーネント配置の観点で異なるレイアウトを提供することができる。このように、管理者は、レコードページのＧＵＩコンポーネントをカスタマイズすることができる。図７を参照して以下に説明されるように、管理者は、ＧＵＩビューア５３０を使用してＧＵＩコンポーネント内の要素をさらに構成することもできる。
【０１０４】
コンポーネントの位置を修正することに加えて、管理者は、ＧＵＩからＧＵＩコンポーネントを追加及び／又は削除することもできる。ＧＵＩコンポーネントを削除するために、管理者は、管理者デバイス１２０から統一システム１１０に消去コマンドを供給することができる。この消去コマンドは、ＧＵＩコンポーネントを削除することを参照し得るが、基礎をなすレコードデータを削除しなくてもよく、かつ／あるいはアプリケーションデータ又は実行可能プログラムを修正しなくてもよい。ＧＵＩコンポーネントを削除することは、設計判断を反映してもよく、特定のコンポーネントがロードされないことを統一システム１１０に示してもよい。ユーザは、他の操作を使用してコンポーネント又は基礎をなすアプリケーション要素に依然としてアクセスしてもよく、あるいはそうでなくてもよい。
【０１０５】
一実施形態において、管理者は、特定のユーザに対する特定のＧＵＩビューを指定することができる。管理者は、ユーザが特定のアプリケーション要素及び／又はＧＵＩコンポーネントを使用することをブロックするよう決定することができる。このように、統一システム１１０は、特定のＧＵＩコンポーネントがブロックであることを示すコマンドを受信するように構成されてもよく、ユーザがアプリケーション要素にアクセスすることを防止するために、ユーザに対して特定のＧＵＩコンポーネントをロードしなくてもよい。
【０１０６】
ＧＵＩからＧＵＩコンポーネントを削除及び／又はブロックすることに加えて、管理者は、コンポーネントを追加することができる。管理者は、コンポーネントパネル５４０を使用してコンポーネントにアクセスすることができる。統一システム１１０は、クラウドコンピューティングプラットフォーム内のインストールされたコンポーネントに依存して、これらのコンポーネントを取り出すことができる。コンポーネントパネル５４０を使用し、ドラッグアンドドロップジェスチャでコンポーネントをＧＵＩビューア５３０に移動させ、列挙されたコンポーネントをＧＵＩに追加する。次いで、ユーザは、追加されたＧＵＩコンポーネントを所望の位置に移動することができる。ＧＵＩビューア５３０は、図５において４つのコンポーネントを表示しているが、より多くの又はより少ないコンポーネントが追加されてもよい。また、コンポーネントは、管理者により提供されたコマンドに基づいて、統一によりサイズ変更されてもよい。さらに、追加されたコンポーネントは、「画面外で」オーバーフローする可能性がある。この場合、統一システム１１０は、ＧＵＩビューア５３０内にスクロール要素を提供して、ユーザがコンポーネントをスクロールし、見ることを可能にできる。
【０１０７】
コンポーネントパネル５４０は、クラウドコンピューティングプラットフォームから予めロードされたコンポーネントを含み得るが、コンポーネントパネル５４０はまた、さらなるコンポーネントを取り出すためのボタンを含んでもよい。このボタンは、さらなるコンポーネントをインストールするためのアプリケーションマーケットプレイス又は取引所を見せることができる。また、ユーザは、コンポーネントパネル５４０内の検索バーを使用して、特定のコンポーネントをフィルタリングし、かつ／あるいは取り出すことができる。
【０１０８】
ここで論じられるコンポーネントは、アプリケーションで利用され得るＧＵＩビュー及び／又はコマンドに対応し得る。例えば、レコードは、ヘッダコンポーネント内に列挙され得るアカウント情報を含むことができる。情報コンポーネントは、レコードデータをタブ様式で編成して、ユーザが記憶された情報をブラウズすることを可能にできる。アクションコンポーネントは、ユーザがレコードデータを編集し、かつ／あるいは基礎をなすアプリケーションにより提供される機能性に基づいてレコードデータと対話することを可能にできる。このように、管理者は、ＧＵＩを構成するためのコンポーネントを定義することができ、ユーザは、これらのコンポーネントを使用して、基礎をなすアプリケーション及びアプリケーションレコードデータと対話することができる。
【０１０９】
ＧＵＩコンポーネントを編集することに加えて、管理者は、ページパネル５５０を使用して、レコードに関連づけられたメタデータを編集することもできる。ページパネル５５０は、管理者メタデータを含んでもよく、該管理者メタデータは、ユーザが閲覧に利用できなくてもよい。例えば、ページパネル５５０は、管理者が、ＧＵＩビューのラベル、開発者名、ページタイプ、オブジェクト記述を追加し、テンプレートを選択し、かつ／あるいは記述を追加することを可能にできる。このメタデータ編集は、レコードをカテゴリ化するのに有用であり得る。例えば、メタデータは、特定のレコードページが「アカウント」オブジェクトであることを指定できる。次いで、ページパネル５５０は、オブジェクト情報を表示することができる。
【０１１０】
ページパネル５５０はまた、ユーザがコンポーネントの特定のテンプレートを選択して、ＧＵＩビューを迅速に構築することを可能にできる。このテンプレートは、予め選択されたコンポーネント及び／又はコンポーネント位置を含んでもよい。また、テンプレートを変更することで、統一システム１１０に、ＧＵＩをテンプレートに適合するように修正させることができる。
【０１１１】
図７に関してさらに論じられるように、ＧＵＩ５００はまた、可視性アイコン５６０を含んでもよい。可視性アイコン５６０は、デバイスタイプに依存して異なるプロパティを有するＧＵＩコンポーネントを表すことができる。例えば、一実施形態において、統一システム１１０がデスクトップデバイス１５０上のＧＵＩをインスタンス化するとき、デスクトップデバイス１５０は、可視性アイコン５６０を有するコンポーネントを表示することができる。しかしながら、統一システム１１０がモバイルデバイス１４０上のＧＵＩをインスタンス化するとき、モバイルデバイス１４０は、この実施形態においてコンポーネントを表示しなくてもよい。統一システム１１０は、この可視性情報をレコードページのための単一の定義に記憶することができる。統一システム１１０は、これらの可視性要素を維持することができ、管理者がデバイスタイプに依存して特定のコンポーネントを隠し及び／又は見せることを可能にできる。管理者は、例えば、より大きな画面サイズのためにデスクトップデバイス１５０上でコンポーネントを提供するが、モバイルデバイス１４０上でコンポーネントを隠すことを望む可能性がある。このように、モバイルデバイス１４０のためのレコードページのＧＵＩ表示は、管理者の選択に依存して、より審美的に魅力的であり得る。
【０１１２】
ＧＵＩ５００はまた、ページボタン５７０を含んでもよい。ページボタン５７０は、レコードページ間の迅速なアクセスを可能にして、ＧＵＩコンポーネントの編集を可能にできる。管理者は、ページボタン５７０を使用してドロップダウンメニューを見せ、特定のページを選択することができる。次いで、統一システム１１０は、ＧＵＩビューア５３０においてそのページをインスタンス化し、管理者が該ページを操作することを可能にできる。
【０１１３】
ＧＵＩ５００はまた、保存ボタン５２０を含んでもよい。保存ボタン５２０上での対話の受信に応答して、統一システム１１０は、ページに対応する単一のページ定義にＧＵＩコンポーネント構成を保存することができる。この単一のページ定義は、管理者により提供される構成情報に依存して、単一のユーザ及び／又は２以上のユーザに適用されてもよい。例えば、管理者は、あるコンポーネントを含むユーザＡに対するＧＵＩを構成することができ、該コンポーネントを含まないユーザＢに対するＧＵＩを構成することができる。統一システム１１０は、この構成情報を維持することができる。しかしながら、一実施形態において、コンポーネントがユーザＡに利用可能である場合、統一システム１１０は、ユーザＡのための単一のページ定義を管理し、ユーザＡがデスクトップデバイス１５０及び／又はモバイルデバイス１４０を使用して該コンポーネントにアクセスすることを可能にできる。ＧＵＩコンポーネント及び／又はアプリケーションコンテンツに対する修正が、ユーザＡについて単一のページ定義内に保存されてもよく、それにより、これらは、ユーザＡに対応する各ユーザデバイスに対して再現できる。
【０１１４】
図６は、いくつかの実施形態による、モバイルアプリケーションビルダを表示するＧＵＩ６００のブロック図を示す。ＧＵＩ６００は、図５を参照して説明されたようにＧＵＩビューア５３０で編集されたＧＵＩのモバイルビューを示し得る。統一システム１１０は、デバイスボタン５１０との対話の受信に応答して、ＧＵＩ６００をインスタンス化することができる。対話は、例えば、ビューをモバイルビューに切り替えるクリック又はタップであってもよい。
【０１１５】
ＧＵＩ６００は、ＧＵＩ５００と同様の要素を含んでもよく、同様の方法で動作してもよい。例えば、ＧＵＩ６００は、デバイスボタン６１０、保存ボタン６２０、ＧＵＩビューア６３０、コンポーネントパネル６４０、ページパネル６５０、可視性アイコン６６０、及び／又はページボタン６７０を含んでもよい。デバイスボタン６１０を使用することで、ユーザがＧＵＩビューア６３０に示されるようなモバイルビューとＧＵＩビューア５３０に示されるようなデスクトップビューとの間でトグルすることを可能にできる。
【０１１６】
統一システム１１０は、単一のページ定義を利用して、ＧＵＩビューア６３０内のＧＵＩコンポーネントをインスタンス化することができる。このように、ＧＵＩビューア６３０内のＧＵＩコンポーネントは、ＧＵＩビューア５３０内のＧＵＩコンポーネントに対応し得る。統一システム１１０は、これらのコンポーネントを、図４を参照して説明されたように順次的な方法で配置することができる。一実施形態において、管理者は、ＧＵＩコンポーネントを特定のデスクトップレイアウトで配置することができる。次いで、統一システムは、ＧＵＩコンポーネントの対応する配置を有するデフォルトのモバイルレイアウトを自動的に生成することができる。一実施形態において、管理者又はユーザは、デスクトップレイアウトとモバイルレイアウトとの間の順序づけを区別することができる。例えば、管理者又はユーザは、デスクトップラベルと別個に修正レイアウトを修正することができる。次いで、統一システム１１０は、異なる配置を記憶し、デスクトップデバイス１５０及び／又はモバイルデバイス１４０それぞれにおいてＧＵＩをインスタンス化するときに指定された配置を使用することができる。
【０１１７】
ＧＵＩビューア６３０を使用し、管理者は、レコードページのモバイルＧＵＩビューを修正することができる。ＧＵＩ５００と同様に、管理者は、コンポーネントパネル６４０及びＧＵＩビューア６３０を使用して、ＧＵＩビューア６３０に表示されるモバイルＧＵＩのコンポーネントを追加し、削除し、修正し、かつ／あるいは改変することができる。管理者はまた、ページパネル６５０を使用してメタデータを修正することもできる。モバイルＧＵＩビュー上のこれらの修正は、保存されてもよく、ＧＵＩビューア５３０に示されるデスクトップビュー上に自動的に複製されてもよい。このように、アプリケーションビルダは、ユーザがレコードページのデスクトップビューとモバイルビューとの双方を編集することを可能にできる。次いで、統一システム１１０は、変更を保存し、ＧＵＩビューを自動的に更新することができ、それにより、編集が双方のＧＵＩで見える。アプリケーションビルダを使用し、管理者は、ユーザがアプリケーション及び／又はデータレコードにアクセスすることを可能にするデスクトップＧＵＩ及び／又は対応するモバイルＧＵＩを迅速に生成することができる。同様に、管理者は、モバイルＧＵＩを生成することができ、統一システム１１０は、モバイルＧＵＩのデスクトップバージョンを自動的に生成することができる。
【０１１８】
統一システム１１０は、デスクトップ及びモバイルビューのためのＧＵＩコンポーネントを自動的に編成し、かつ／あるいは複製することができるが、統一システム１１０はまた、管理者が特定のコンポーネントを特定のビュー上でのみ見えるように区別することも可能にできる。例えば、ユーザは、デスクトップビュー上で見えるがモバイルビュー上で見えないコンポーネントを選定することができる。このコンポーネントは、可視性アイコン６６０でマークづけされてもよい。コンポーネントは、作成されたＧＵＩのエンドユーザに見えない可能性があるが、管理者は依然として、ＧＵＩビューア６３０内のコンポーネントを見て、コンポーネントを修正し、かつ／あるいはコンポーネントの隠された態様を受け入れることができる。
【０１１９】
このように、アプリケーションビルダは、管理者がＧＵＩコンポーネントビューをカスタマイズすることを可能にできる。管理者がユーザに許可を付与した場合、ユーザもまたＧＵＩコンポーネントビューをカスタマイズすることができてもよい。統一システム１１０は、異なるデバイス及びデバイスタイプにわたりこれらの構成を保ち、作成されたＧＵＩビューをインスタンス化することができる。統一システム１１０は、要求を送出しているデバイスタイプにかかわらずアクセスされる単一の定義ファイルを使用して、これらの構成を管理することができる。
【０１２０】
図７は、いくつかの実施形態による、エディタプロンプト７７０を表示するＧＵＩ７００のブロック図を示す。モバイルビューを通じて表示されている間、エディタプロンプト７７０は、デスクトップビューを通じてさらに現れてもよい。エディタプロンプト７７０は、管理者が特定のコンポーネントの構成を編集することを可能にできる。例えば、エディタプロンプト７７０は、コンポーネントの特定フィールドの編集を可能にできる。コンポーネントは、いくつかのタブを含んでもよい。エディタプロンプト７７０を使用することで、管理者が見えるタブを修正することを可能にできる。
【０１２１】
同様に、エディタプロンプト７７０は、管理者がコンポーネントの可視性パラメータを選定することを可能にできる。上述のように、管理者は、あるコンポーネントを（例えば、デスクトップデバイス１５０のための）第１のＧＵＩ内で見せることを望む場合があるが、該コンポーネントを（例えば、モバイルデバイス１４０のための）第２のＧＵＩ内で隠すことを望む場合がある。エディタプロンプト７７０を使用し、管理者は、この選定を行うことができる。調整された可視性パラメータを有するコンポーネントは、可視性アイコン７６０を含んでもよい。
【０１２２】
エディタプロンプト７７０を使用し、管理者は、いくつかの可視性ルールを定義することができる。例えば、管理者は、デスクトップ、タブレット、及び電話などの複数のデバイスカテゴリを作成することができる。次いで、管理者は、カテゴリの各々について可視性パラメータを定義することができる。例えば、コンポーネントが、電話で見えるがデスクトップ又はタブレットで見えなくてもよい。エディタプロンプト７７０を使用し、管理者は、これらの可視性パラメータを指定し、かつ／あるいはカスタマイズすることができる。次いで、統一システム１１０は、特定のＧＵＩがインスタンス化されるとき、アプリケーションのためのこれらのパラメータを記憶することができる。
【０１２３】
一実施形態において、エディタプロンプト７７０は、管理者が特定のＧＵＩコンポーネントを示すデバイスのタイプを指定することを可能にするドロップダウンメニューを含むことができる。例えば、ドロップダウンメニューは、「小（small）」オプション、「大（large）」オプション、及び／又は空白オプションを含んでもよい。一実施形態において、「小」オプションを選択することで、ＧＵＩコンポーネントがモバイルデバイス１４０上にのみ示されるべきであることを示してもよい。同様に、「大」オプションが、ＧＵＩコンポーネントがデスクトップデバイス１５０上にのみ示されるべきであることを示してもよい。空白オプションが、ＧＵＩコンポーネントがすべてのデバイスに表示されることを示してもよい。ドロップダウンメニューは「中」オプションをさらに含んでもよく、該オプションはタブレットデバイスに対応してもよい。一実施形態において、エディタプロンプト７７０はまた、管理者が否定条件を指定し、かつ／あるいはＧＵＩコンポーネントを隠すデバイスを選択することを可能にできる。これらの可視性オプションを使用し、管理者は、異なるユーザデバイスにわたり異なるＧＵＩビューをカスタマイズすることができる。
【０１２４】
図８は、いくつかの実施形態による、統一されたアプリケーションを構築する方法８００を示すフローチャートを示す。方法８００は、図１を参照して説明される。しかしながら、方法８００は、その例示的な実施形態に限定されない。
【０１２５】
一実施形態において、統一システム１１０は、アプリケーションビルダの異なるＧＵＩビューを管理する方法８００を利用することができる。前述の説明は、ＧＵＩ５００及びＧＵＩ６００に関して方法８００の実行の一実施形態を説明するが、任意のアプリケーションビルダＧＵＩに適用可能でもよい。方法８００は統一システム１１０を参照して説明されるが、方法８００は、例えば、図１８を参照して説明されるコンピュータシステム、及び／又はハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はこれらの組み合わせを含み得る処理論理などの、任意のコンピューティングデバイス上で実行されてもよい。
【０１２６】
本明細書に提供される開示を実施するために全てのステップが必要とされ得るわけではないことを十分理解されたい。さらに、当業者により理解されるように、ステップのいくつかが同時に、又は図８に示されているものと異なる順序で実行されてもよい。
【０１２７】
一実施形態において、８１０において、統一システム１１０が、第１のデバイスに対応する第１のＧＵＩを表示する第１のビューと、第２のデバイスに対応する第２のＧＵＩを表示する第２のビューとを含むエディタＧＵＩをインスタンス化することができる。第１のビューは、ＧＵＩ５００であってもよく、かつ／あるいはＧＵＩビューア５３０を含んでもよい。対応するデバイスは、デスクトップデバイス１５０であってもよい。統一システム１１０は、編集されている特定デバイスのＧＵＩを識別し、特定デバイスのためのメモリにＧＵＩコンポーネントに対する修正を記憶することができる。
【０１２８】
第２のビューは、ＧＵＩ６００であってもよく、かつ／あるいはＧＵＩビューア６３０を含んでもよい。対応するデバイスは、モバイルデバイス１４０であってもよい。統一システム１１０は、ユーザ又は管理者がこれら２つのビューをトグルして、ＧＵＩがユーザデバイス上でインスタンス化されたとき現れるのと同様のＧＵＩを見ることを可能にできる。さらに、統一システム１１０は、アプリケーション又はレコードの単一のページ定義を使用して、第１のビュー及び第２のビューをインスタンス化することができる。
【０１２９】
８２０において、統一システム１１０が、第１のＧＵＩのＧＵＩコンポーネントを修正する第１のビューとの編集対話を受信することができる。編集対話は、第１のＧＵＩにコンポーネントを追加すること、第１のＧＵＩからコンポーネントを削除すること、第１のＧＵＩ上のコンポーネントの位置を変更すること、コンポーネントパラメータを調整すること、コンポーネントの可視性パラメータを調整すること、及び／又は他の編集を含むことができる。管理者デバイス１２０は、編集対話を統一システム１１０に供給することができる。統一システム１１０は、アプリケーション又はレコードのための単一のページ定義に構成を保存することができ、かつ／あるいは第１のビューを更新して修正されたＧＵＩコンポーネントを含めることができる。
【０１３０】
８３０において、統一システム１１０が、受信に応答して、第１のＧＵＩのＧＵＩコンポーネントに対応する第２のＧＵＩのＧＵＩコンポーネントを修正することができる。一実施形態において、統一システム１１０は、単一のページ定義を使用してこの修正を実行することができる。例えば、管理者が、第２のＧＵＩを見るようトグルしたとき、第２のＧＵＩは、第１のＧＵＩで実行された修正に基づいて更新されてもよい。統一システム１１０は、共有された単一のページ定義を使用して、この修正を自動的に再現することができる。管理者は、第２のＧＵＩ上の要素を引き続き修正することができ、統一システム１１０は、第１のＧＵＩ上でこれらのさらなる修正を再現することができる。このように、統一システム１１０は、異なるＧＵＩビューにわたるコンポーネント修正を可能にでき、管理者が（例えば、デスクトップデバイス１５０上に表示される）第１のＧＵＩ上の潜在的な修正が（例えば、モバイルデバイス１４０上に表示される）第２のＧＵＩにどのように影響し得るかを迅速に見ることを可能にできる。
【０１３１】
［ナビゲーションボタン及びナビゲーションメニュー］
【０１３２】
統一システム１１０は、ナビゲーションボタン及び／又はナビゲーションメニューをインスタンス化することができる。これらのナビゲーションＧＵＩ要素は、ユーザがアプリケーションの異なるページビュー内をナビゲートすることを支援できる。これらのＧＵＩ要素はまた、モバイルデバイス１４０上でその位置及びアクセシビリティに起因してより高速なナビゲーションを提供することができる。ユーザは、ナビゲーションボタン及び／又はナビゲーションメニューを使用して、異なるアプリケーションオブジェクトを選択することができる。また、統一システム１１０は、ナビゲーションボタン及び／又はナビゲーションメニュー内のオブジェクトを修正することができる。一実施形態において、統一システム１１０は、デスクトップＧＵＩビュー上のオブジェクトの追加、消去、及び／又は移動を識別することができる。統一システム１１０は、デスクトップデバイス１５０からこれらのコマンドを受信することができる。次いで、統一システム１１０は、ナビゲーションボタン及び／又はナビゲーションメニューを改変して、同じパーソナライゼーションを維持することができる。図９〜図１３は、ナビゲーションボタン及びナビゲーションメニューを説明する。
【０１３３】
図９は、いくつかの実施形態による、ナビゲーションボタン９１０を表示するＧＵＩ９００のブロック図を示す。ナビゲーションボタン９１０は、図３Ａに関して説明されたナビゲーションボタン３１０と同様の方法で動作することができる。統一システム１１０は、モバイルデバイス１４０上のＧＵＩ９００をインスタンス化することができる。ＧＵＩ９００を見るユーザは、モバイルデバイス１４０の表示画面及び／又は他のタッチスクリーンインターフェースと対話して、ナビゲーションボタン９１０とのユーザ対話をサブミットすることができる。ユーザ対話は、例えば、ナビゲーションボタン９１０上のクリック又はタップであってもよい。モバイルデバイス１４０は、この対話を統一システム１１０に送信することができ、かつ／あるいは該対話をローカルで処理することができる。
【０１３４】
ナビゲーションボタン９１０との対話の受け取りに応答して、モバイルデバイス１４０は、ナビゲーション画面９２０を表示することができる。ナビゲーション画面９２０は、統一システム１１０によりインスタンス化されてもよく、かつ／あるいはモバイルデバイス１４０の内部で決定されてもよい。ナビゲーション画面９２０は、ナビゲーションボタン９１０に表示されるオブジェクトに対応することができる。例えば、ナビゲーションボタン９１０が、基礎をなすアプリケーション内の「アカウント（Accounts）」オブジェクトを表す場合、ナビゲーションボタン９１０を選択することで、ナビゲーション画面９２０上に「アカウント」ホームページを表示してもよい。このように、ナビゲーションボタン９１０が異なるオブジェクトを表すよう変化する場合、ユーザがナビゲーションボタン９１０を選択したとき、ナビゲーション画面９２０は、そのオブジェクトのページを表すよう変化する。この変化するナビゲーションボタン９１０は、図１１を参照してさらに説明される。
【０１３５】
図１０は、いくつかの実施形態による、ナビゲーションメニュー１０３０を表示するＧＵＩ１０００のブロック図を示す。ナビゲーションメニュー１０３０を表示するために、ユーザは、ナビゲーションボタン１０１０と対話することができる。図９に関して説明された対話と対照的に、ナビゲーションボタン１０１０との対話は、ナビゲーションメニュー１０３０を見せるように、異なってもよい。例えば、ユーザは、ナビゲーションボタン１０１０に長押しを使用して、ナビゲーションメニュー１０３０を見せることができる。長押しは、所定量の時間より長い間のナビゲーションボタン１０１０との接触を示し、あるいは所定の時間閾値を超える、ジェスチャ又は選択であってもよい。モバイルデバイス１４０は、ユーザ接触に対応する経過時間を測定して、長押し対話が検出されたかどうかを決定することができる。一実施形態において、モバイルデバイス１４０上で動作するオペレーティングシステムは、長押し、短押し、及び／又は他のジェスチャを検出することができる。この場合、モバイルデバイス１４０上で実行し、統一システム１１０と通信するソフトウェアプログラムが、特定ジェスチャの検出に応答してオペレーティングシステムにより呼び出されたとき、機能を実行することができる。
【０１３６】
短押しは、所定量の時間を下回るナビゲーションボタン１０１０との対話であってもよい。短押しがナビゲーションボタン１０１０上で検出された場合、図９で説明された処理と同様に、モバイルデバイス１４０は、ナビゲーション画面１０２０を改変して、ナビゲーションボタン１０１０に現在表示されるオブジェクトに対応するホームページを表示することができる。このように、２つの異なるジェスチャがナビゲーションボタン１０１０に適用されて、ナビゲーションメニュー１０３０を見せ、かつ／あるいはハイライトされたオブジェクトにナビゲートすることができる。
【０１３７】
ナビゲーションメニュー１０３０は、アプリケーションに対応するオブジェクト１０３５のリストを含むことができる。これらのオブジェクト１０３５は、図２Ｂを参照して説明されたオブジェクト２２０と同様であってもよい。ナビゲーションメニュー１０３０が見せられると、ユーザは、オブジェクト１０３５を選択して、選択されたオブジェクトページにナビゲートすることができる。非限定的な例において、ユーザは、オブジェクト１０３５Ｆを選択して、「機会（Opportunities）」オブジェクトにナビゲートすることができる。図１１は、この選択の結果の一実施形態を示す。
【０１３８】
図１１は、いくつかの実施形態による、選択されたオブジェクトに対応する更新されたナビゲーションボタン１１１０を表示するＧＵＩ１１００のブロック図を示す。ユーザが、ナビゲーションメニュー１０３０から特定のオブジェクト１０３５を選択した場合、統一システム１１０及び／又はモバイルデバイス１４０は、ナビゲーションボタン１０１０をナビゲーションボタン１１１０になるように更新することができ、かつ／あるいはナビゲーション画面１０２０をナビゲーション画面１１２０になるように更新することができる。
【０１３９】
例えば、ユーザが、オブジェクト１０３５Ｆを選択して「機会」オブジェクトにナビゲートする場合、ナビゲーションボタン１１１０は、「機会」アイコンを表示するように更新されてもよい。同様に、ナビゲーション画面１１２０は、「機会」ホームページ又はオブジェクトホームページを表示することができる。このように、ユーザは、ナビゲーションメニュー１０３０を使用して、アプリケーションの異なるオブジェクトにナビゲートすることができてもよい。
【０１４０】
更新されたナビゲーションボタン１１１０では、ユーザは、短押しジェスチャを使用してナビゲーション画面１１２０に戻ることができる。ユーザが異なるアプリケーションページにナビゲートする場合、ナビゲーションボタン１１１０を選択することで、ナビゲーション画面を見せることができる。このように、ナビゲーションボタン１１１０は、ナビゲーションメニュー１０３０からの「最も最近の」選択を反映するように更新されてもよい。統一システム１１０及び／又はモバイルデバイス１４０は、この選択をメモリに記憶することができ、それにより、ユーザは、前に選択されたオブジェクトに迅速にナビゲートして戻ることができる。さらに、ユーザは、ナビゲーションメニュー１０３０を呼び出し、異なるオブジェクトを選択することにより、ナビゲーションボタン１１１０を更新することができる。
【０１４１】
図１２Ａ〜図１２Ｆを参照してさらに説明されるように、ナビゲーションメニュー１０３０に列挙されたモバイルオブジェクト１０３５は、アプリケーションＧＵＩのデスクトップバージョンで見られるタブオブジェクト１２４５に対応することができる。このように、デスクトップデバイス１５０上のタブオブジェクト１２４５の操作は、ナビゲーションメニュー１０３０のオブジェクトの変更を結果としてもたらしてもよく、その逆もまた同様である。統一システム１１０は、モバイルデバイス１４０上に表示されるＧＵＩ及びデスクトップデバイス１５０上に表示されるＧＵＩの双方に使用される単一の定義に基づいて、これらの変更を容易にすることができる。
【０１４２】
図１２Ａは、いくつかの実施形態による、タブオブジェクト１２４５を含むページを表示するＧＵＩ１２００Ａのブロック図を示す。タブオブジェクト１２４５は、図２Ｂを参照して説明されたオブジェクト２２０と同様であってもよい。統一システム１１０は、デスクトップデバイス１５０上に表示されるＧＵＩ１２００Ａをインスタンス化することができる。
【０１４３】
図１２Ｂは、いくつかの実施形態による、タブオブジェクト１２４５の移動を表示するＧＵＩ１２００Ｂのブロック図を示す。統一システム１１０は、タブオブジェクト１２４５の移動対話の検出に応答して、ＧＵＩ１２００Ｂをインスタンス化することができる。例えば、ＧＵＩ１２００Ａから、ユーザは、タブオブジェクト１２４５Ｄをタブオブジェクト１２４５Ｃと１２４５Ｅとの間からタブオブジェクト１２４５Ａと１２４５Ｂとの間に移動させることができる。ユーザは、デスクトップデバイス１５０でこのジェスチャを供給していてもよい。デスクトップデバイス１５０は、この修正を統一システム１１０に送信していてもよい。統一システム１１０は、この修正を記憶し、タブオブジェクト１２４５の順序づけを更新することができる。統一システム１１０は、この修正を、ページを表す単一のページ定義への更新として記憶することができる。さらに、統一システム１１０が、単一のページ定義を利用してタブオブジェクトを相関させることができるため、統一システム１１０は、ページがモバイルデバイス１４０上でアクセスされたとき、この修正を適用することができる。
【０１４４】
図１２Ｃは、いくつかの実施形態による、モバイルオブジェクト１２３５の移動を表示するＧＵＩ１２００Ｃのブロック図を示す。図１０と対照的に、ナビゲーションメニュー１２３０は、ナビゲーションメニュー１０３０に対してオブジェクトの異なる順序づけを含む。例えば、「機会（Opportunities）」オブジェクト１２３５Ｄは、「ホーム（Home）」オブジェクト１２３５Ａの次であってもよい。この変更は、図１２Ｂに示されるタブオブジェクト１２４５の配置に対応することができる。ナビゲーションメニュー１２３０は、ナビゲーションボタン１２１０を使用してジェスチャで呼び出されてもよい。
【０１４５】
図１２Ａから図１２Ｃへのフローは、デスクトップデバイス１５０環境におけるオブジェクト移動を追跡し、この移動をナビゲーションメニュー１２３０に翻訳する統一システム１１０の能力を示すことができる。この移動は、ユーザによる特定の所望の順序づけを保つことができ、ユーザにより使用されるユーザデバイスに反映されることができる。このように、統一システム１１０は、ＧＵＩオブジェクト修正を双方向的に保存し、デスクトップデバイス１５０環境及びモバイルデバイス１４０環境の双方においてより高速なユーザナビゲーションを可能にできる。アプリケーションコンテンツの修正のほかに、統一システム１１０は、ＧＵＩコンポーネントの特定の修正をカスタマイズ可能な方法で可能にする。
【０１４６】
図１２Ａから図１２Ｃを参照して説明されたフローと同様に、図１２Ｄ〜図１２Ｆは、オブジェクトのリストにオブジェクトを追加するフローを表すことができる。
【０１４７】
図１２Ｄは、いくつかの実施形態による、拡張タブオブジェクト１２５０を含むページを表示するＧＵＩ１２００Ｄのブロック図を示す。図２Ｃを参照して説明されたグループ化され及び／又は折りたたまれたオブジェクト２４０と同様に、ＧＵＩ１２００Ｄは、タブオブジェクト１２４５の間に拡張タブオブジェクト１２５０を含むことができる。拡張タブオブジェクト１２５０は、特定のタブオブジェクト１２４５の拡張に起因して現在見えるグループ化されたオブジェクトを表すことができる。一実施形態において、ユーザは、拡張タブオブジェクト１２５０をグループから削除し、拡張タブオブジェクト１２５０をタブオブジェクト１２４５と同様のスタンドアロンオブジェクトとして使用することを望む場合がある。このように、ユーザは、拡張タブオブジェクト１２５０をタブオブジェクト１２４５のリストにドラッグアンドドロップすることができる。
【０１４８】
図１２Ｅは、いくつかの実施形態による、追加されたタブオブジェクト１２５０を含むページを表示するＧＵＩ１２００Ｅのブロック図を示す。ドラッグアンドドロップ対話に応答して、統一システム１１０は、追加されたタブオブジェクト１２５０がタブオブジェクト１２４５のリストに現在追加されていると識別することができる。統一システム１１０は、オブジェクトを表すＧＵＩ部分を調整及び／又はサイズ変更して、ＧＵＩ１２００Ｅ上の間隔を提供することができる。新しい位置において、ユーザは、追加されたタブオブジェクト１２５０と対話して、対応するオブジェクトホームページに到達することができる。同様に、統一システム１１０は、この構成を単一のページ定義に保存して、モバイルＧＵＩ上でこの順序づけを再現することができる。
【０１４９】
図１２Ｆは、いくつかの実施形態による、追加されたモバイルオブジェクト１２５５を表示するＧＵＩ１２００Ｆのブロック図を示す。ＧＵＩ１２００Ｆに見られるように、追加されたモバイルオブジェクト１２５５は、ナビゲーションメニュー１２３０に現れることができる。ナビゲーションメニュー１２３０の順序づけもまた、デスクトップＧＵＩ上に追加されたタブオブジェクト１２５０を有するタブオブジェクト１２４５の順序づけに対応することができる。このように、統一システム１１０は、オブジェクトに対する修正がデスクトップデバイス１５０から検出された場合に、修正されたＧＵＩビューを再現することができる。統一システム１１０は、これらのＧＵＩ修正を含むように、モバイルデバイス１４０上に表示されるＧＵＩを修正することができる。
【０１５０】
これらの説明は、デスクトップデバイス１５０上の最初の修正を説明したが、一実施形態において、修正は、モバイルデバイス１４０上で実行されてもよい。統一システム１１０は、この修正をデスクトップデバイス１５０のＧＵＩへ翻訳することができる。
【０１５１】
さらに、統一システム１１０は、オブジェクトがリストから削除されるとき、同様の手法を適用することもできる。オブジェクトの削除は、基礎をなすアプリケーションデータを消去しなくてもよいが、特定のＧＵＩビューからオブジェクトを削除することができる。例えば、オブジェクトが、デスクトップデバイス１５０上のリストから削除された場合、統一システム１１０は、該オブジェクトをモバイルデバイス１４０上のリストから削除することができ、その逆もまた同様である。
【０１５２】
このＧＵＩ修正のさらなる態様は、管理者及びユーザのカスタマイズ対パーソナライゼーションの組み合わせを含む。管理者デバイス１２０を使用する管理者は、ユーザがアクセス可能な特定のアプリケーションを識別することができる。一実施形態において、管理者はまた、例えばアプリケーションビルダを使用して、ユーザがアクセス可能なＧＵＩコンポーネントを指定することもできる。管理者のカスタマイズ制御の範囲内で層化され（Layered）、ユーザは、その独自のデスクトップＧＵＩ又はモバイルＧＵＩのビューをパーソナライズすることができる。前に論じられたように、ユーザ制御は、オブジェクトの移動、追加、及び／又は削除を含むことができる。さらに、ユーザは、ＧＵＩコンポーネント内の異なる要素をパーソナライズすることができる。このように、統一システム１１０は、管理者及びユーザ双方のカスタマイズを同時にサポートすることができる。単一のページ定義を使用し、これらの構成は、記憶され、かつ／あるいは取り出されて、アプリケーションがモバイルデバイス１４０及び／又はデスクトップデバイス１５０上でアクセスされたときにユーザに対する１つ以上のＧＵＩをインスタンス化することができる。
【０１５３】
図１３は、いくつかの実施形態による、ナビゲーションメニューを修正する方法１３００を示すフローチャートを示す。方法１３００は、図１を参照して説明される。しかしながら、方法１３００は、その例示的な実施形態に限定されない。
【０１５４】
一実施形態において、統一システム１１０は、方法１３００を利用して、ナビゲーションメニュー１２３０などのナビゲーションメニューを修正することができる。前述の説明は、ＧＵＩ１２００Ａ〜１２００Ｆに関して方法１３００の実行の一実施形態を説明するが、ナビゲーションメニューを含む任意のＧＵＩに適用可能でもよい。方法１３００は統一システム１１０を参照して説明されるが、方法１３００は、例えば、図１８を参照して説明されるコンピュータシステム、及び／又はハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はこれらの組み合わせを含み得る処理論理などの、任意のコンピューティングデバイス上で実行されてもよい。
【０１５５】
本明細書に提供される開示を実施するために全てのステップが必要とされ得るわけではないことを十分理解されたい。さらに、当業者により理解されるように、ステップのいくつかが同時に、又は図１３に示されているものと異なる順序で実行されてもよい。
【０１５６】
一実施形態において、１３１０において、統一システム１１０が、第１のデバイス上に表示するように構成された第１のＧＵＩメニューのインスタンスを生成することができ、第１のＧＵＩメニューは、オブジェクトのリストを含む。第１のＧＵＩメニューは、例えば、ナビゲーションメニュー１２３０であってもよい。ナビゲーションメニュー１２３０は、モバイルデバイス１４０などの第１のデバイス上に表示されてもよい。オブジェクトのリストは、オブジェクト１２３５であってもよい。オブジェクトを使用し、ユーザは、異なるオブジェクトホームページにナビゲートすることができる。
【０１５７】
１３２０において、統一システム１１０が、第２のデバイス上に表示するように構成された第２のＧＵＩメニューのインスタンスを生成することができ、第２のＧＵＩメニューは、オブジェクトのリストを含む。第２のＧＵＩメニューは、例えば、タブオブジェクト１２４５のリストであってもよい。タブオブジェクト１２４５のリストは、デスクトップデバイス１５０などの第２のデバイスに表示されてもよい。モバイルシナリオと同様に、ユーザは、タブオブジェクト１２４５を使用して異なるオブジェクトホームにナビゲートすることができる。
【０１５８】
１３３０において、統一システム１１０が、第２のＧＵＩメニュー上のオブジェクトのリストのうちのオブジェクトを修正する、第２のＧＵＩにおける修正対話を受信することができる。例えば、デスクトップデバイス１５０におけるユーザが、タブオブジェクト１４５のリストを修正することができる。ユーザは、順序づけを変更し、オブジェクトを追加し、かつ／あるいはオブジェクトを削除することができる。この場合、統一システム１１０は、デスクトップデバイス１５０から修正対話を受信することができる。統一システム１１０は、この修正を、ページを表す単一のレコードへの更新として記憶することができる。
【０１５９】
１３４０において、受信に応答して、統一システム１１０が、修正対話に従って、第１のＧＵＩメニュー上のオブジェクトのリストを修正することができる。統一システム１１０は、レコードにアクセスし、コマンドをモバイルデバイス１４０に送信して、デスクトップデバイス１５０から検出された変更に従ってナビゲーションメニュー１２３０を修正することができる。例えば、統一システム１１０は、オブジェクト１２３５の順序づけを変更し、オブジェクト１２３５を削除し、かつ／あるいはオブジェクト１２３５を追加することができる。この場合、統一システム１１０は、オブジェクトのリストを修正することができ、それにより、カスタマイズ選択が異なるＧＵＩ間で保たれる。統一システム１１０は、モバイルデバイス１４０及び／又はデスクトップデバイス１５０における修正の検出に応答して、方法１３００を自動的に実行することができる。
【０１６０】
第１のデバイスがモバイルデバイス１４０として説明され、第２のデバイスがデスクトップデバイス１５０として説明されたが、これらは逆にすることもできる。一実施形態において、デバイスはさらに、タブレット又はインターネットブラウザなどの他のデバイス及び／又はソフトウェアアプリケーションであってもよい。例えば、ユーザは、コンピュータ上で２つのウィンドウを使用してアプリケーションにアクセスすることができる。第１のウィンドウにおいてオブジェクトのリストを修正することで、第２のウィンドウにおけるオブジェクトのリストの修正を結果としてもたらすことができる。
【０１６１】
［カーソルジェスチャ制御］
【０１６２】
図１４Ａ〜図１５に関して以下にさらに説明されるように、統一システム１１０は、ＧＵＩ表示上にカーソルをさらに生成することができる。このカーソルは、ユーザがＧＵＩの一部分と直接対話することなく、該部分を操作することを可能にできる。例えば、ＧＵＩがモバイルデバイス１４０上に表示される場合、ユーザは、ＧＵＩの下半分を押して、カーソルを上部分に出現させることができる。このように、統一システム１１０は、アクセシビリティ要素を含み、かつユーザがＧＵＩの下部分を制御しながらＧＵＩの上部分にアクセスすることを可能にする、モバイルＧＵＩをインスタンス化することができる。ＧＵＩコンテンツ及び／又はプログラム要素は、統一システム１１０から供給されてもよい。次いで、モバイルデバイス１４０は、これらのプログラム要素を実行して、対応するＧＵＩ及び／又はカーソル制御を表示することができる。このように、本明細書で説明されるカーソル制御は、コンピューティングデバイス上で実行しＧＵＩを表示する任意のプログラムに適用されてもよい。
【０１６３】
図１４Ａは、いくつかの実施形態による、カーソルボタン１４１０を含むモバイルページを表示するＧＵＩ１４００Ａのブロック図を示す。カーソルボタン１４１０は、ＧＵＩ１４００Ａ上のスペースを占有し、ユーザがＧＵＩ１４００Ａの別個の部分にカーソルを生成することを可能にする。一実施形態において、カーソルボタン１４１０は、別のボタンと同じスペースを占有してもよい。例えば、カーソルボタン１４１０は、検索ボタン３１４と同じスペースを占有し得る。カーソルボタン１４１０が、検索ボタン３１４と同じスペースを占有し得るが、カーソルボタン１４１０にアクセスすることは、検索ボタン３１４にアクセスすることに対し異なるジェスチャを使用することを含む。
【０１６４】
一実施形態において、検索ボタン３１４を使用することが短押しを含んでもよく、一方、カーソルボタン１４１０を使用することが長押しを含んでもよい。ＧＵＩ１４００Ａがモバイルデバイス１４０上に表示される場合、モバイルデバイス１４０は、押しのタイミングに基づいて、検出された対話のタイプを決定することができる。さらに、カーソルボタン１４１０は、検索ボタン３１４のスペースを占有するものとして示され得るが、カーソルボタン１４１０は、ＧＵＩ１４００Ａ上の他のスペースを占有してもよく、特定の対話をもたらすこと（例えば、長押し）が、カーソルボタン１４１０コマンドを初期化してもよい。
【０１６５】
カーソルボタン１４１０に加えて、ＧＵＩ１４００Ａは、アクションボタン１４２０を含むことができる。アクションボタン１４２０は、図３Ｃを参照して説明されたアクションボタン３９０と同様であってもよい。以下に説明されるように、カーソルボタン１４１０を使用することで、ユーザが表示画面からアクションボタン１４２０を選択することを可能にできる。カーソルボタン１４１０と対話するユーザは、画面にわたりスクラブされ（scrubbed）得るカーソルを生成して、所望のアクションボタン１４２０を選択することができる。
【０１６６】
図１４Ｂは、いくつかの実施形態による、可視カーソル１４４０を含むモバイルページを表示するＧＵＩ１４００Ｂのブロック図を示す。カーソル１４４０を見せるために、ユーザは、対話１４３０を使用してカーソルボタン１４１０を呼び出すことができる。例えば、対話１４３０は、カーソルボタン１４１０の長押し、ダブルタップ、形状の描画、及び／又は他の対話であってもよい。長押しの検出に応答して、モバイルデバイス１４０は、カーソル１４４０を表示することができる。統一システム１１０は、モバイルＧＵＩを生成することができるが、モバイルデバイス１４０がカーソルボタン対話のための処理を管理することを可能にできる。
【０１６７】
カーソル１４４０を表示した後、ユーザは、画面の下部に沿ってスクラブしてカーソル１４４０を移動させることができる。例えば、この動きは、図１４Ｃで見ることができる。図１４Ｃは、いくつかの実施形態による、カーソル１４４０の移動を含むモバイルページを表示するＧＵＩ１４００Ｃのブロック図を示す。ＧＵＩ１４００ＢからＧＵＩ１４００Ｃに移動するとき見られるように、ユーザが対話１４３０を右に移動したとき、カーソル１４４０もまた右に移動することができる。カーソル１４４０は、アクションボタン１４２０Ａの選択からアクションボタン１４２０Ｂの選択に移動することができる。また、ユーザは、対話１４３０を左に移動させてカーソル１４４０を左に移動させることもできる。
【０１６８】
一実施形態において、この移動は長押しに対応することができる。すなわち、ユーザは、表示画面上で連続的にタップ又は保持して対話１４３０を生成することができる。ユーザが対話１４３０を移動させるとき、ユーザは表示画面を押し続けることができる。ユーザは、対話１４３０を左又は右に移動させて、カーソル１４４０を左又は右にそれぞれ移動させることができる。さらに、この対話は、アクションボタン１４２０Ｄの下に隠されたアクションボタンなどの、他のアクションボタン１４２０を見せることができる。カーソル１４４０のためのこのスクロール移動は、アクセシビリティの増加を可能にできる。モバイルデバイス１４０を保持するユーザは、画面の上部でアクションを制御しながら画面の下部分と対話することができる。ＧＵＩ操作のこの分割態様は、ユーザが例えば一方の手を使用してＧＵＩをナビゲートすることを可能にできる。このナビゲーションは、ナビゲーションの快適性を高めることができる。
【０１６９】
カーソル１４４０を生成した後、アプリケーションボタンを選択するために、ユーザは、対話１４３０を解放し、かつ／あるいは対話１４３０を停止することができる。例えば、対話１４３０が長押しである場合、押しを解放することで、カーソル１４４０により現在ハイライトされているアクションボタン１４２０の選択を示すことができる。次いで、モバイルデバイス１４０は、選択に対して対応するＧＵＩを生成し、かつ／あるいは要求されたＧＵＩをインスタンス化するために要求を統一システム１１０送出することができる。この選択は、カーソル１４４０に対応するアクション又はアクションボタン１４２０を実行することができる。
【０１７０】
前に論じられたように、対話１４３０は、ＧＵＩ１４００Ｂの異なる部分に現れることができる。例えば、検索ボタン３１４を押すのでなく、カーソルボタン１４１０は、画面又はＧＵＩの部分により表されてもよい。例えば、カーソルボタン１４１０は、画面の下半分又は下３分の１として定義されてもよい。モバイルデバイス１４０が、カーソルボタン１４１０を呼び出す対話１４３０を検出したとき、モバイルデバイス１４０は、カーソル１４４０を表示することができる。
【０１７１】
同様に、カーソル１４４０は、対話１４３０の移動に応答して移動するオブジェクトであってもよい。一実施形態において、この移動は、１方向であってもよい。例えば、対話１４３０が左又は右に移動すると、カーソル１４４０もまた左又は右に移動することができる。カーソル１４４０は、指定されたトラックに沿って移動してもよく、かつ／あるいはＧＵＩ１４００Ｂ又はＧＵＩ１４００Ｃ上に表示されるアイコンに貼りついてもよい。一実施形態において、カーソル１４４０は、指定されたトラックに従わなくてもよく、任意の位置に移動可能であってもよい。
【０１７２】
いくつかの実施形態において、カーソル１４４０は、２次元の位置に移動されてもよい。この移動は、マウスカーソル移動に似ていてもよい。対話１４３０は、カーソル１４４０に対して、ＧＵＩの異なる部分に移動し、及び／又は異なるＧＵＩ要素と対話するように指示することができる。また、この移動は、ユーザがＧＵＩ上でナビゲートするための有益なアクセシビリティオプションを提供することができる。
【０１７３】
図１５は、いくつかの実施形態による、カーソル１４４０を生成する方法１５００を示すフローチャートを示す。方法１５００は、図１を参照して説明される。しかしながら、方法１５００は、その例示的な実施形態に限定されない。
【０１７４】
一実施形態において、統一システム１１０及び／又はモバイルデバイス１４０は、方法１５００を利用してＧＵＩカーソル１４４０を生成することができる。前述の説明は、ＧＵＩ１４００Ａ〜１４００Ｃに関して方法１５００の実行の一実施形態を説明するが、カーソルを含む任意のＧＵＩに適用可能でもよい。方法１５００は統一システム１１０及び／又はモバイルデバイス１４０を参照して説明されるが、方法１５００は、例えば、図１８を参照して説明されるコンピュータシステム、及び／又はハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はこれらの組み合わせを含み得る処理論理などの、任意のコンピューティングデバイス上で実行されてもよい。
【０１７５】
本明細書に提供される開示を実施するために全てのステップが必要とされ得るわけではないことを十分理解されたい。さらに、当業者により理解されるように、ステップのいくつかが同時に、又は図１５に示されているものと異なる順序で実行されてもよい。
【０１７６】
一実施形態において、１５１０において、統一システム１１０及び／又はモバイルデバイス１４０が、第１のＧＵＩ部分及び第２のＧＵＩ部分を有するＧＵＩのインスタンスを生成することができる。統一システム１１０は、コマンドをモバイルデバイス１４０に供給して特定のＧＵＩをインスタンス化することができる。次いで、モバイルデバイス１４０は、インスタンス化されたＧＵＩを表示画面上に表示することができる。モバイルデバイス１４０は、例えば、ＧＵＩ１４００Ａを表示してもよい。ＧＵＩ１４００Ａは、アクションボタン１４２０を表す第１のＧＵＩ部分及び／又はカーソルボタン１４１０を表す第２のＧＵＩ部分を含んでもよい。
【０１７７】
１５２０において、モバイルデバイス１４０が、第１のＧＵＩ部分において選択対話１４３０を受け取ることができる。１５３０において、モバイルデバイス１４０が、第１のＧＵＩ部分における選択対話をカーソル１４４０ジェスチャとして識別することができる。選択対話１４３０は、カーソルボタン１４１０を呼び出す特定の対話であってもよい。例えば、対話１４３０は、長押し、又はダブルタップ、又は描画された特定の形状であってもよい。統一システム１１０により提供され、かつ／あるいはモバイルデバイス１４０にローカルに記憶されたプログラムされた論理に基づいて、モバイルデバイス１４０は選択対話を決定することができる。
【０１７８】
１５４０において、選択対話１４３０の識別に応答して、モバイルデバイス１４０が、第２のＧＵＩ部分上にＧＵＩカーソル１４４０を生成することができる。上述のように、このＧＵＩカーソル１４４０は、ユーザが第１のＧＵＩ部分と対話して第２のＧＵＩ部分に制御を提供することを可能にできる。ユーザは、スクラブ又はスクロールモーションを使用してカーソルを移動させて、例えばアクションボタン１４２０などの異なるＧＵＩボタンを選択することができる。対話１４３０を解放することで、アクションボタン１４２０又は第２のＧＵＩ部分の要素のユーザ選択を示してもよい。選択に基づいて、モバイルデバイス１４０は、選択を処理のために統一システム１１０に送信することができ、かつ／あるいは処理をローカルで扱うことができる。
【０１７９】
［アプリケーションフレームワーク及びアプリケーション選択］
【０１８０】
図１６Ａ〜図１７に関して以下にさらに説明されるように、統一システム１１０は、異なるアプリケーション間の切り替えと、選択されたアプリケーションに依存して更新されたＧＵＩの提供とをさらに容易にすることもできる。このように、統一システム１１０は、モバイルデバイス１４０及びデスクトップデバイス１５０上でインスタンス化されたＧＵＩの統一を維持しながら、異なるアプリケーション及びアプリケーションタイプを実現するフレームワークを提供することができる。また、統一システムは、異なる関係者により開発された異なるアプリケーションをロードし、各アプリケーションについて一貫したレイアウトを維持することができる。
【０１８１】
図１６Ａは、いくつかの実施形態による、モバイルアプリケーションメニューページを表示するＧＵＩ１６００Ａのブロック図を示す。ＧＵＩ１６００Ａは、図３Ａに示されるＧＵＩ３００Ａと同様であってもよい。ＧＵＩ１６００Ａは、統一システム１１０によりインスタンス化されてもよく、かつ／あるいはモバイルデバイス１４０上に表示されてもよい。
【０１８２】
ＧＵＩ１６００Ａは、特定のアプリケーションのオブジェクト１６２０を表示するメニューページを示すことができる。ユーザは、例えば、図３Ａを参照して説明されたようにメニューボタン３１８を選択することにより、メニューページにアクセスすることができる。ＧＵＩ１６００Ａはアプリケーションメニューボタン１６１０を含んでもよく、アプリケーションメニューボタン１６１０はアプリケーションメニューボタン３１５と同様でもよい。アプリケーションメニューボタン１６１０と対話することで、ユーザが異なるアプリケーションを選択することを可能にできる。オブジェクト１６２０との対話は、ユーザがオブジェクト１６２０に対応するページを見ることを可能にできる。ＧＵＩ１６００Ａは、ナビゲーションの容易さのためにオブジェクト１６２０をリスト１６３０として提示することができる。図１０に関して前述したように、ＧＵＩは、列挙されたオブジェクト１６２０に対応するナビゲーションメニュー１０３０を見せることができるナビゲーションボタンを含んでもよい。一実施形態において、ナビゲーションメニュー１０３０は、メニューページ上で見られるリスト１６３０の短縮バージョンであってもよい。
【０１８３】
リスト１６３０及びオブジェクト１６２０は、現在選択されているアプリケーションに対応することができる。図１６Ｂに関して説明されるように、及び図２Ａに関して前述されたように、ユーザは、異なるアプリケーションを選択することができる。この選択は、リスト１６３０、オブジェクト１６２０、及び／又はナビゲーションメニュー１０３０を改変することができる。
【０１８４】
図１６Ｂは、いくつかの実施形態による、モバイルアプリケーション選択ページ１６０５を表示するＧＵＩ１６００Ｂのブロック図を示す。統一システム１１０は、アプリケーションメニューボタン１６１０における選択の受信に応答して、モバイルデバイス１４０上に表示されるべきＧＵＩ１６００Ｂをインスタンス化することができる。アプリケーション選択ページ１６０５に列挙されるのは、アプリケーションボタン１６１５であってもよい。アプリケーションボタン１６１５は、図２Ａを参照して説明されたアプリケーションボタン２１５と同様であってもよい。特定のアプリケーションボタン１６１５を選択することで、ユーザが異なる利用可能なアプリケーションの間で選択することを可能にできる。一実施形態において、ＧＵＩ１６００Ａは、アプリケーションボタン１６１５Ａに対応していてもよい。しかしながら、アプリケーションボタン１６１５Ｂなどの異なるアプリケーションボタンを選択することで、異なるメニューページ及び／又は異なる対応するオブジェクトを結果としてもたらすことができる。
【０１８５】
これらの選択オブジェクトから分かるように、統一システム１１０は、ユーザが選択及び／又は利用するための複数のアプリケーションをサポートすることができる。統一システム１１０は、クラウドコンピューティングプラットフォーム及び／又は使用を可能にされたアプリケーションのためのＧＵＩビューをサポートするフレームワークを提供することができる。一実施形態において、クラウドコンピューティングプラットフォームは、予めプログラムされ得る標準供給アプリケーションを利用することができる。クラウドコンピューティングプラットフォームはまた、ユーザ又は管理者がその独自のアプリケーションを作成することも可能にできる。一実施形態において、ユーザは、サードパーティからアプリケーションをダウンロードすることができてもよく、かつ／あるいはアプリケーションマーケットプレイス又はアプリケーション取引所を使用してもよい。ユーザは、これらのアプリケーションをクラウドコンピューティングプラットフォームと共に使用されるようインストールすることができる。
【０１８６】
このように、統一システム１１０は、異なるタイプのアプリケーションをサポートし、デスクトップデバイス１５０環境及びモバイルデバイス１４０環境にわたり、結合力のある（cohesive）ＧＵＩ体験を作り出すことができる。異なるアプリケーション、アプリケーションタイプ、及び／又は異なるアプリケーションソースにわたる、この結合力のあるルックアンドフィールの生成は、管理者及び／又はユーザのためのより良いスケーラビリティ及びカスタマイズを可能にできる。このように、統一システム１１０は、異なるアプリケーションを管理するためのフレームワーク又はコンテナとして機能し、あるいはその中に含まれることができる。
【０１８７】
ＧＵＩ１６００Ｂに戻り、ユーザは、アプリケーションボタン１６１５Ｂを選択するよう決定することができる。アプリケーションボタン１６１５Ｂに対応するアプリケーションは、タイプ及び／又はソースにおいて、アプリケーションボタン１６１５Ａに対応する前に見られていたアプリケーションと異なってもよい。選択に応答して、モバイルデバイス１４０は、選択の指示を統一システム１１０に送信することができる。次いで、統一システム１１０は、ＧＵＩ１６００Ｃなどの対応するＧＵＩをインスタンス化することができる。
【０１８８】
図１６Ｃは、いくつかの実施形態による、更新されたモバイルアプリケーションメニューページを表示するＧＵＩ１６００Ｃのブロック図を示す。この選択は、アプリケーションとの対応に基づいて、利用可能なオブジェクト及びナビゲーションメニューを変更することができる。
【０１８９】
ＧＵＩ１６００Ｃは、ＧＵＩ１６００Ａと同様のアプリケーションメニューボタン１６１０を含むことができる。アプリケーションメニューボタン１６１０と対話することで、ＧＵＩ１６００Ｂをインスタンス化し、ユーザが別のアプリケーションボタン１６１５を選択することを可能にできる。
【０１９０】
ユーザが別のアプリケーションを選択したため、統一システム１１０は、該別のアプリケーションをインスタンス化し、更新されたオブジェクト１６４０、更新されたリスト１６５０、更新されたナビゲーションメニュー１６８０、更新されたナビゲーションボタン１６６０、及び／又は更新されたナビゲーションオブジェクト１６７０を提供することができる。これらの更新されたコンポーネントは、機能において、過去のオブジェクト及びナビゲーション要素と同様であってもよい。しかしながら、更新されたバージョンは、新たに選択されたアプリケーション及びアプリケーションボタン１６１５に対応することができる。
【０１９１】
例えば、リスト１６５０及びオブジェクト１６４０は、新たに選択されたアプリケーションのオブジェクトを表すことができる。選択に応答して、モバイルデバイス１４０は、新たに選択されたアプリケーションを今やサポートし、ユーザが対応するオブジェクト１６４０と対話することを可能にできる。
【０１９２】
同様に、ナビゲーションメニュー１６８０は、オブジェクト１６４０に対応するナビゲーションオブジェクト１６７０を含むように更新されている。ナビゲーションメニュー１６８０は、それが折りたたみ可能であっても更新され得る。このように、ユーザがナビゲーションボタン１６６０と対話してナビゲーションメニュー１６８０を見せるとき、ユーザは、ナビゲーションオブジェクト１６７０から選択して、新たに選択されたアプリケーションの異なる部分にナビゲートすることができる。アプリケーションボタン１６１５Ｂに対応する新たに選択されたアプリケーションは、アプリケーションボタン１６１５Ａに対応するアプリケーションと異なり得るその独自のデータレコード及び／又は実行可能プログラムセットを含んでもよい。しかしながら、統一システム１１０は、ユーザがモバイルデバイス１４０上及び／又はデスクトップデバイス１５０上のこれらのアプリケーションの間で切り替えることを可能にできてもよい。このように、統一システム１１０は、フレームワーク又はコンテナとして動作することができ、異なるアプリケーションにわたり同様であり得るルックアンドフィールを維持しながら、異なるアプリケーションをサポートすることができる。
【０１９３】
図１７は、いくつかの実施形態による、アプリケーションに対応するオブジェクトのリストを置換する方法１７００を示すフローチャートを示す。方法１７００は、図１を参照して説明される。しかしながら、方法１７００は、その例示的な実施形態に限定されない。
【０１９４】
一実施形態において、統一システム１１０は、方法１７００を利用して、選択されたアプリケーションに基づいてオブジェクトのリストを更新し、かつ／あるいは置換することができる。前述の説明は、ＧＵＩ１６００Ａ〜１６００Ｃに関して方法１７００の実行の一実施形態を説明するが、複数のアプリケーションをサポートする任意のＧＵＩに適用可能でもよい。方法１７００は統一システム１１０を参照して説明されるが、方法１７００は、例えば、図１８を参照して説明されるコンピュータシステム、及び／又はハードウェア（例えば、回路、専用論理、プログラマブル論理、マイクロコード等）、ソフトウェア（例えば、処理デバイス上で実行する命令）、又はこれらの組み合わせを含み得る処理論理などの、任意のコンピューティングデバイス上で実行されてもよい。
【０１９５】
本明細書に提供される開示を実施するために全てのステップが必要とされ得るわけではないことを十分理解されたい。さらに、当業者により理解されるように、ステップのいくつかが同時に、又は図１７に示されているものと異なる順序で実行されてもよい。
【０１９６】
一実施形態において、１７１０において、統一システム１１０が、第１のアプリケーションに対応するＧＵＩのインスタンスを生成することができ、ＧＵＩは、第１のアプリケーションに対応するオブジェクトの第１のリストを含む。例えば、統一システム１１０は、オブジェクト１６２０のリスト１６３０を有するＧＵＩ１６００Ａを生成することができる。オブジェクト１６２０は、特定のアプリケーションに対応することができる。アプリケーションが選択されている間、ユーザは、様々なオブジェクト及び／又はＧＵＩコンポーネントを通してアプリケーションと対話することができる。これらの対話は、アプリケーションに対応するレコード、プログラム、及び／又はコマンドを操作することができる。
【０１９７】
１７２０において、統一システム１１０が、第２のアプリケーションを選択する、ＧＵＩにおける選択対話を受信することができる。例えば、モバイルデバイス１４０は、ＧＵＩ１６００Ａ及び／又はアプリケーションメニューボタン１６１０を表示することができる。ユーザは、アプリケーションメニューボタン１６１０を選択することができる。モバイルデバイス１４０は、この選択を統一システム１１０に送信することができる。応答して、統一システム１１０は、利用可能なアプリケーションのリストを送信し、かつ／あるいはＧＵＩ１６００Ｂに表示されるように利用可能なアプリケーションボタン１６１５をインスタンス化することができる。次いで、ユーザは、選択ページ１６０５からアプリケーションボタン１６１５を選択することができる。モバイルデバイス１４０は、この選択を処理してもよく、この選択の指示を統一システム１１０に送信してもよい。
【０１９８】
１７３０において、選択対話の受信に応答して、統一システム１１０が、オブジェクトの第１のリストを、第２のアプリケーションに対応するオブジェクトの第２のリストで置換することができる。統一システム１１０は、例えば、ＧＵＩ１６００Ｃをインスタンス化することができる。統一システム１１０は、リスト１６３０をリスト１６５０で置換することができる。同様に、統一システム１１０は、オブジェクト１６２０をオブジェクト１６４０で置換することができる。統一システム１１０はまた、ナビゲーションメニュー１６８０を修正して、更新されたナビゲーションオブジェクト１６７０を有する更新されたナビゲーションメニュー１６８０とナビゲーションボタン１６６０とを含めることもできる。このＧＵＩを使用し、ユーザは、統一システム１１０により管理されるフレームワークで供給されるように、異なるアプリケーションをナビゲートし、かつ／あるいは対話することができる。
【０１９９】
図１６Ａ〜図１７は、モバイルデバイス１４０のための異なるアプリケーションオプションを説明したが、統一システム１１０は、これらの異なるアプリケーションをデスクトップデバイス１５０のために維持することもできる。上記で論じられたように、デスクトップデバイス１５０上で実行される修正は、統一システム１１０によりモバイルデバイス１４０上で再現され得る。このように、統一システム１１０は、異なる管理者カスタマイズパラメータ、異なるアプリケーションカスタマイズパラメータ、及び／又は異なるユーザパーソナライゼーションパラメータを管理することができ、それにより、特定のルックアンドフィールが、異なるユーザデバイスにわたり再現され得る。このように、統一システム１１０は、異なるユーザデバイスについてユーザに対する特定のＧＵＩレイアウトを編成することを支援できる。ユーザは、複数のタイプのユーザデバイスにわたり、フレームワーク及び統一システム１１０によりインスタンス化されたＧＵＩを使用して、異なるアプリケーションオブジェクト及びレコードページ内をより迅速にナビゲートすることができ得る。
【０２００】
［例示的なコンピュータシステム］
【０２０１】
様々な実施形態が、例えば、図１８に示されるコンピュータシステム１８００などの１つ以上の良く知られたコンピュータシステムを使用して実現できる。１つ以上のコンピュータシステム１８００は、例えば、本明細書で論じられた実施形態のうち任意のもの、並びにこれらの組み合わせ及びサブコンビネーションを実現するために使用できる。
【０２０２】
コンピュータシステム１８００は、１つ以上のプロセッサ（中央処理ユニット又はＣＰＵとも呼ばれる）、例えばプロセッサ１８０４などを含むことができる。プロセッサ１８０４は、通信インフラストラクチャ又はバス１８０６に接続されてもよい。
【０２０３】
コンピュータシステム１８００は、ユーザ入力／出力インターフェース１８０２を通して通信インフラストラクチャ１８０６と通信できるユーザ入力／出力デバイス１８０３、例えば、モニタ、キーボード、ポインティングデバイスなどをさらに含むことができる。
【０２０４】
プロセッサ１８０４の１つ以上が、グラフィックス処理ユニット（ＧＰＵ）であってもよい。一実施形態において、ＧＰＵは、数学的に集中的なアプリケーションを処理するように設計された、特化された電子回路であるプロセッサでもよい。ＧＰＵは、コンピュータグラフィクスアプリケーション、画像、ビデオ等に共通の数学的に集中的なデータなどの、データの大きいブロックの並列処理に対して効率的な並列構造を有し得る。
【０２０５】
コンピュータシステム１８００は、メイン又はプライマリメモリ１８０８、例えば、ランダムアクセスメモリ（ＲＡＭ）などをさらに含むことができる。メインメモリ１８０８は、１つ以上のレベルのキャッシュを含んでもよい。メインメモリ１８０８は、その中に制御論理（すなわち、コンピュータソフトウェア）及び／又はデータを記憶していてもよい。
【０２０６】
コンピュータシステム１８００は、１つ以上のセカンダリストレージデバイス又はメモリ１８１０をさらに含むことができる。セカンダリメモリ１８１０は、例えば、ハードディスクドライブ１８１２及び／又は取外し可能ストレージデバイス若しくはドライブ１８１４を含んでもよい。取外し可能ストレージドライブ１８１４は、フロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光学ストレージデバイス、テープバックアップデバイス、及び／又は任意の他のストレージデバイス／ドライブでもよい。
【０２０７】
取外し可能ストレージドライブ１８１４は、取外し可能ストレージユニット１８１８と対話することができる。取外し可能ストレージユニット１８１８は、コンピュータソフトウェア（制御論理）及び／又はデータを記憶させたコンピュータ使用可能又は読取可能ストレージデバイスを含んでもよい。取外し可能ストレージユニット１８１８は、フロッピーディスク、磁気テープ、コンパクトディスク、ＤＶＤ、光学ストレージディスク、及び／任意の他のコンピュータデータストレージデバイスでもよい。取外し可能ストレージドライブ１８１４は、取外し可能ストレージユニット１８１８から読み出し、かつ／あるいは取外し可能ストレージユニット１８１８に書き込むことができる。
【０２０８】
セカンダリメモリ１８１０は、コンピュータプログラム及び／又は他の命令及び／又はデータがコンピュータシステム１８００によりアクセスされることを可能にする他の手段、デバイス、コンポーネント、媒介、又は他のアプローチを含んでもよい。こうした手段、デバイス、コンポーネント、媒介、又は他のアプローチは、例えば、取外し可能ストレージユニット１８２２及びインターフェース１８２０を含むことができる。取外し可能ストレージユニット１８２２及びインターフェース１８２０の例は、プログラムカートリッジ及びカートリッジインターフェース（例えば、ビデオゲームデバイスで見られるものなど）、取外し可能メモリチップ（例えば、ＥＰＲＯＭ又はＰＲＯＭなど）及び関連づけられたソケット、メモリスティック及びＵＳＢポート、メモリカード及び関連づけられたメモリカードスロット、及び／又は任意の他の取外し可能ストレージユニット及び関連づけられたインターフェースを含んでもよい。
【０２０９】
コンピュータシステム１８００は、通信又はネットワークインターフェース１８２４をさらに含むことができる。通信インターフェース１８２４は、コンピュータシステム１８００が（参照番号１８２８により個々に及び集合的に参照される）外部デバイス、外部ネットワーク、外部エンティティ等の任意の組み合わせと通信及び対話することを可能にし得る。例えば、通信インターフェース１８２４は、コンピュータシステム１８００が通信経路１８２６を通じて外部又はリモートデバイス１８２８と通信することを可能にでき、通信経路１８２６は、有線及び／又は無線（又はこれらの組み合わせ）でもよく、通信経路１８２６は、ＬＡＮ、ＷＡＮ、インターネット等の任意の組み合わせを含んでもよい。制御論理及び／又はデータが、通信経路１８２６を介してコンピュータシステム１８００に、及びコンピュータシステム１８００から送信されてもよい。
【０２１０】
コンピュータシステム１８００はまた、いくつかの非限定的な例を挙げると、パーソナルデジタルアシスタント（ＰＤＡ）、デスクトップワークステーション、ラップトップ若しくはノートブックコンピュータ、ネットブック、タブレット、スマートフォン、スマートウォッチ若しくは他のウェアラブル、電化製品、モノのインターネットの一部、及び／又は埋め込みシステム、又はこれらの任意の組み合わせであってもよい。
【０２１１】
コンピュータシステム１８００は、これらに限定されないがリモート若しくは分散クラウドコンピューティングソリューション、ローカル若しくはオンプレミスソフトウェア（「オンプレミス」クラウドベースソリューション）、「アズ・ア・サービス（as  a  service）」モデル（例えば、コンテンツ・アズ・ア・サービス（content  as  a  service、ＣａａＳ）、デジタルコンテンツ・アズ・ア・サービス（digital  content  as  a  service、ＤＣａａＳ）、ソフトウェア・アズ・ア・サービス（software  as  a  service、ＳａａＳ）、管理ソフトウェア・アズ・ア・サービス（managed  software  as  a  service、ＭＳａａＳ）、プラットフォーム・アズ・ア・サービス（platform  as  a  service、ＰａａＳ）、デスクトップ・アズ・ア・サービス（desktop  as  a  service、ＤａａＳ）、フレームワーク・アズ・ア・サービス（framework  as  a  service、ＦａａＳ）、バックエンド・アズ・ア・サービス（backend  as  a  service、ＢａａＳ）、モバイルバックエンド・アズ・ア・サービス（mobile  backend  as  a  service、ＭＢａａＳ）、インフラストラクチャ・アズ・ア・サービス（infrastructure  as  a  service、ＩａａＳ）等）、及び／又は前述の例又は他のサービス若しくは配信パラダイムの任意の組み合わせを含むハイブリッドモデルを含む、任意の配信パラダイムを通して任意のアプリケーション及び／又はデータについてアクセス又はホストするクライアント又はサーバであってもよい。
【０２１２】
コンピュータシステム１８００における任意の適用可能なデータ構造、ファイルフォーマット、及びスキーマは、これらに限られないがＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）、拡張可能マークアップ言語（Extensible  Markup  Language、ＸＭＬ）、イェット・アナザー・マークアップ言語（Yet  Another  Markup  Language、ＹＡＭＬ）、拡張可能ハイパーテキストマークアップ言語（Extensible  Hypertext  Markup  Language、ＸＨＴＭＬ）、ワイヤレスマークアップ言語（Wireless  Markup  Language、ＷＭＬ）、ＭｅｓｓａｇｅＰａｃｋ、ＸＭＬユーザインターフェース言語（XML  User  Interface  Language、ＸＵＬ）、又は任意の他の機能的に同様の表現を単独又は組み合わせで含む、標準から導出されてもよい。代替的に、専有のデータ構造、フォーマット、又はスキーマが、排他的に、又は既知若しくはオープンの標準との組み合わせで使用されてもよい。
【０２１３】
いくつか実施形態において、制御論理（ソフトウェア）を記憶させた有形の非一時的コンピュータ使用可能又は読取可能媒体を含む有形の非一時的装置又は製造品が、本明細書でコンピュータプログラムプロダクト又はプログラム記憶装置としてさらに参照され得る。これは、これらに限られないがコンピュータシステム１８００、メインメモリ１８０８、セカンダリメモリ１８１０、及び取外し可能ストレージユニット１８１８及び１８２２、並びに前述の任意の組み合わせを具現化した有形製造品を含む。こうした制御論理は、１つ以上のデータ処理デバイス（例えば、コンピュータシステム１８００など）により実行されたとき、上記データ処理デバイスに本明細書で説明されたように動作させることができる。
【０２１４】
本開示に含まれる教示に基づき、図１８に示されるもの以外のデータ処理デバイス、コンピュータシステム、及び／又はコンピュータアーキテクチャを使用して本開示の実施形態を作成及び使用する方法が当業者に明らかになるであろう。詳細には、実施形態は、本明細書に説明されるもの以外のソフトウェア、ハードウェア、及び／又はオペレーティングシステム実装で動作することができる。
【０２１５】
他のセクションでなく詳細な説明セクションが、特許請求の範囲を解釈するために使用されるよう意図されることを十分理解されたい。他のセクションは、発明者により企図されるすべてではないが１つ以上の例示的な実施形態を説明することができ、ゆえに、いかなる方法でも本開示又は別記の特許請求の範囲を限定するようには意図されない。
【０２１６】
本開示は、例示的な分野及び適用に対して例示的な実施形態を説明するが、開示はそれに限定されないことを理解されたい。他の実施形態及びこれに対する変更が可能であり、本開示の範囲及び主旨の範囲内である。例えば、この段落の一般性を限定することなく、実施形態は、図面に例示され、及び／又は本明細書に説明されるソフトウェア、ハードウェア、ファームウェア、及び／又はエンティティに限定されない。さらに、実施形態は（本明細書で明示的に説明されるか否かにかかわらず）、本明細書に説明される例を越えた分野及び適用に対して有意な有用性を有する。
【０２１７】
実施形態が、指定された機能及びその関係の実現を例示する機能構築ブロックを用いて本明細書で説明された。これら機能構築ブロックの境界は、説明の簡便さのために本明細書で任意的に定義されている。指定された機能及び関係（又は、その同等物）が適切に実行される限り、代替的な境界が定義されてもよい。さらに、代替的な実施形態が、本明細書に説明されるものと異なる順序づけを使用して機能ブロック、ステップ、動作、方法等を実行することができる。
【０２１８】
本明細書において、「１つの実施形態」、「一実施形態」、「一例示的な実施形態」、又は同様のフレーズに対する参照は、説明される実施形態が特定の特徴、構造、又は特性を含み得るが、あらゆる実施形態が必ずしも上記特定の特徴、構造、又は特性を含み得るわけではないことを示す。さらに、こうしたフレーズは、必ずしも同じ実施形態を参照するわけではない。さらに、特定の特徴、構造、又は特性が一実施形態に関連して説明されたとき、こうした特徴、構造、又は特性を本明細書で明示的に言及又は説明されているか否かにかかわらず他の実施形態に組み込むことは、当業者の知識の範囲内である。さらに、いくつかの実施形態は、表現「結合された」及び「接続された」をその派生形と共に使用して説明されることがある。これら用語は、必ずしも互いの同義語として意図されない。例えば、いくつかの実施形態は、２つ以上の要素が互いに直接物理的又は電気的に接触することを示すために、用語「接続された」及び／又は「結合された」を使用して説明されることがある。しかしながら、用語「結合された」は、２つ以上の要素が互いに直接接触しないが、しかし依然として互いに協働又は対話することをさらに意味することがある。
【０２１９】
本開示の幅及び範囲は、上記で説明された例示的な実施形態のいずれによっても限定されるべきでなく、別記の特許請求の範囲及びその均等物に従ってのみ定義されるべきである。
【図１】
2020053045.tif 000003
【図２Ａ】
2020053045.tif 000004
【図２Ｂ】
2020053045.tif 000005
【図２Ｃ】
2020053045.tif 000006
【図２Ｄ】
2020053045.tif 000007
【図３Ａ】
2020053045.tif 000008
【図３Ｂ】
2020053045.tif 000009
【図３Ｃ】
2020053045.tif 000010
【図３Ｄ】
2020053045.tif 000011
【図４】
2020053045.tif 000012
【図５】
2020053045.tif 000013
【図６】
2020053045.tif 000014
【図７】
2020053045.tif 000015
【図８】
2020053045.tif 000016
【図９】
2020053045.tif 000017
【図１０】
2020053045.tif 000018
【図１１】
2020053045.tif 000019
【図１２Ａ】
2020053045.tif 000020
【図１２Ｂ】
2020053045.tif 000021
【図１２Ｃ】
2020053045.tif 000022
【図１２Ｄ】
2020053045.tif 000023
【図１２Ｅ】
2020053045.tif 000024
【図１２Ｆ】
2020053045.tif 000025
【図１３】
2020053045.tif 000026
【図１４Ａ】
2020053045.tif 000027
【図１４Ｂ】
2020053045.tif 000028
【図１４Ｃ】
2020053045.tif 000029
【図１５】
2020053045.tif 000030
【図１６Ａ】
2020053045.tif 000031
【図１６Ｂ】
2020053045.tif 000032
【図１６Ｃ】
2020053045.tif 000033
【図１７】
2020053045.tif 000034
【図１８】
2020053045.tif 000035
【外国語明細書】
2020053045000001.pdf