Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


Info
titleSource code and Bolt details

...

The process flows for all new UI actions have been documented and need to be reviewed, and several additional flows are still pending and will have to be updated later in this document.  

Old UI v/s New UI – A comparison

The non-DAC based Ref UI

Image Removed

The DAC based Ref UI (For Illustration only, actual look may differ)

Image Removed 


...

Architectural changes w.r.t UI

With the introduction of AI 2.0 and the DAC-based architecture, the design and operation of the new UI and associated applications will change significantly. All applications—including the UI—will now be delivered as DAC app bundles (Bolt packages). The UI will be shipped as a preinstalled bundle, while all other applications can be downloaded and installed by the user as needed. Some of the major change include:

...

The diagram (mentioned below) illustrates the shift from the old UI architecture to the new AI 2.0 / DAC architecture. This is not a process flow diagram; rather, it provides a high-level conceptual mapping.


 

...

 Default  Default Home Page – A Look

The Home Page of the restructured UI appears as shown above.

...

Note: The VoD row is expected to use the platform player like AAMP. However, in a DAC based environment, this is not still be entirely functional.

...

Overlay/Modal Types



                           

...

  • Another feature required for the DACsupporting UI is the info/error overlays.
  • These overlays are used to indicate when something has gone wrong or when additional information is needed from the user.
  • There are two types of overlays: 1. Single choice overlay, 2. Multiple choice overlay.
  • In the single choice overlay—used to indicate errors, additional information, or warnings— the user has no choice but to go back to Home page or the previous UI page (topmost picture) A Cancel button is available at the top left corner, and pressing it should exit the overlay and return the user to the previous UI page. The user should also be able to exit the overlay using the Back button on the remote or keyboard.
  • In the multiple choice overlay (e.g., prompting the user for confirmation when uninstalling an app), there are two options, for ex. a "Yes" or a "No." Both should be navigable options when the overlay opens. Selecting either option should allow the UI to execute the appropriate next steps based on the user's choice and then exit the overlay.
  • The overlay windows should have 60% opacity, allowing partial transparency so that the underlying page remains visible.
  • It should occupy approximately onefourth (1/4) of the screen, centered both vertically and horizontally.
  • If the overlay contains icons, they should occupy the 50% of the overlay window towards the left, while the right 50% should be allocated for error or informational text.


...

Home Page Actions

Reboot after a factory reset

Image Modified 


  • After a factoryreset reboot or booting up for the very first time, the Home page of the UI will appear as shown above.
  • The Home page contains two rows of applications: the top row displays Recommended Apps, while the bottom row displays Video on Demand (VoD) apps. My Apps row is hidden as there are no DAC apps installed yet.
  • The Recommended Apps row lists applications that can be downloaded from the App Catalogue.
  • On every device boot up, the UI should list the first four DAC apps from the App Catalogue in the tiles, along with a final tile for the "More Apps" option. The UI should download the meta-data and app icons related to the first four DAC apps to populate this row.
  • The App Catalogue URL is set via an RFC parameter.
  • The Recommended Apps row will display the first four apps from the catalogue, typically in alphabetical order, though this can later be optimized to reflect operator defined ordering.
  • If app icons take time to load—for example, due to network latency—the UI should display a loading/buffering indicator until the Recommended Apps row data fully loads.
  • Selecting the "More Apps" tile at the end of the Recommended Apps row should open a dedicated page listing all applications available in the DAC App Catalogue; details of this page are described later.
  • The Recommended Apps row is populated by the UI contacting the App Catalogue during the first boot; on all subsequent Home page re-loads during the same boot cycle, it is populated using cached data.

...

  • When the user selects any app tile on the Recommended Apps row, the corresponding application must be downloaded and installed on the device.
  • Upon selecting the app, the UI should send a request to the Package Manager to download and install the specific DAC bundle onto the device by providing the app bundle's remote URL information to the package manager.
  • While the Package Manager downloads the bundle, a buffering/loading indicator should be displayed on the app tile.
  • Once the bundle has been downloaded and installed, the Package Manager should notify the UI of a successful installation. At this point, a green tick icon should appear on the tile for approximately 2 seconds before disappearing.
  • After installation, the UI should create a new topmost row called "My Apps", where the newly installed app will be displayed.
  • The My Apps row should now start displaying all applications downloaded by the user henceforth.
  • Any subsequent presses on the same app tile after the app is successfully installed, should always launch the app. (Either cold launch /hot launch based on the app's previous state).If App launch fails for any reason, there should be a error overlay indicating what went wrong.
  • However, any user presses made while the application is in the download state should be ignored.
  • Once installed, the DAC apps can be launched by pressing on any app tile anywhere – i.e. on the My Apps row or if the same app tile is present on the Recommended apps row.
  • All apps downloaded by the user will remain accessible within this My Apps row and can be navigated horizontally for accessing. This may not be user friendly if many DAC apps are installed, as extensive horizontal navigation can become difficult. However, this behavior can be optimized in a future update.
  • If an app fails to download—due to a network issue, a problem with the DAC server hosting the bundles, or insufficient device memory—the UI should display an error overlay explaining why the installation failed. This error information should be obtained from the Package Manager plugin.
  • The error overlay dialog should contain a single-choice navigable cancel button/icon that allows the user to exit back to the Home page upon selection.
  • On the next device reboot, device should show up the My Apps row as the topmost row, since the user has now installed DAC app(s) onto the device.

...

More Apps Button/Page

Pressing "More Apps" on Recommended Apps row

Image Modified 


  • As mentioned previously, there is a "More Apps" icon in the Recommended Apps row. When the user selects this icon, the UI should navigate to a dedicated page that displays the full list of applications hosted in the DAC App Catalogue.
  • The UI should contact the App Catalogue and display the list of all the applications hosted in the Apps Catalogue.
  • If the apps list /icons take time to load, the UI should display loading indicators on 3 blank placeholder tiles until the data is available.
  • All applications provided by the DAC App Catalogue should be listed on this page in alphabetical order, arranged in a row column (n x 5) grid layout.
  • When the user selects an app tile, the app should be downloaded and installed from the DAC App Catalogue if it is not already installed on the device.
  • If the selected DAC app is already installed on the device, pressing the tile should launch the app, as described in the previous section about downloading and installing the app.
  • If a user selects a DAC app that is already installed on the device, but a newer version is available in the Apps Catalogue, the app should automatically update to the latest version upon user selection.

...

  • Upon selecting any app tile on the "More Apps" page, if the app is not already downloaded or installed, the UI should initiate the download process.
  • The download flow is identical to the DAC app download flow used on the Home page.
  • The UI should request the necessary DAC bundles for download through the Package Manager by providing the app download URL.
  • During the download process, a buffering/loading icon should be displayed on the app tile to indicate ongoing activity.
  • If the download of any app fails, an error dialog should appear, showing the reason for the failure (e.g., network issues, catalogue server problem, insufficient memory).
  • The user should be able to exit the error dialog by navigating to and selecting the Cancel button, or by pressing the Back button on the remote.
  • Once the installation completes successfully, a green tick icon should be displayed on the app tile for approximately 2–3 seconds.
  • Key presses to same tile during download is ignored.
  • Any subsequent selection of that app tile should launch the installed DAC application.
  • Like mentioned in previous section, Update flow should be invoked if there is a higher version of the app available on the catalogue.
  • Multiple rapid key presses on different app tiles may overload the system by triggering multiple concurrent downloads. As per the current reference DAC store implementation, the multiple downloads are queued.

...

IApp Info Option Behaviors

Pressing the "Apps Info" button

...

Pressing the uninstall button on "App Info" page


Image Modified 


  • The third available option is Uninstall. When the user selects this option, the DAC bundle and all associated data for that specific application must be removed from the device.
  • When the user clicks Uninstall, a confirmation dialog should appear to verify whether the user truly intends to remove the application. If the user selects Yes, the UI should issue the appropriate command to the Package Manager to delete the DAC application.
  • During the deletion process, a buffering/loading indicator should be displayed on the application tile. Once deletion is complete, the application should be removed from the list shown on the App Info page.
  • The deleted application should also be removed from the My Apps row on the Home page when UI next re-loads the Home Page.
  • If the user selects No when asked to confirm the uninstall action, focus should be returned to the App Info page.

...

Info
titleDial Is not Currently handled in Ref Ui in RDK8

DIAL support for DAC Apps

The UI interaction with DIAL should be tailored to fit into the DAC environment, since applications are no longer "static" on the platform. Users now have the flexibility to install or uninstall DAC Apps at any time, which means the set of DIALcapable applications on a device is dynamic.Therefore, the UI must be enhanced to register, enable, and deregister DIAL support based on the applications currently present on the device. Requirements now look like:

  • At bootup, the UI should enable DIAL support for all DAC applications that are already installed on the device.
  • When a new DAC application is installed, the UI must automatically enable and register DIAL support for that application (provided DAC app is a DIAL enabled app)
  • When a DAC application is uninstalled, the UI must deregister and remove DIAL support for that application to ensure the system does not expose any invalid DIAL endpoints.

Complete UI process flow