User Tools

Site Tools


agl-distro:demo-apps:home-screen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
agl-distro:demo-apps:home-screen [2015/08/09 13:38]
wminer created
agl-distro:demo-apps:home-screen [2015/08/20 19:57]
wminer Add block diagram and shell options
Line 1: Line 1:
-Home Screen ​FIXME+===== Home Screen ​Demo Application for AGL Distribution ===== 
 + 
 +==== Overview ==== 
 +We are developing the Best Freakin'​ Home Screen Ever for release with version 1 of the AGL distribution.  
 + 
 +==== Requirements ==== 
 +Requirements for the Home Screen application are based on the [[:​agl_specification|AGL Requirements Specification ver 1.0]].  
 + 
 +**//Summary of Home Screen Requirements//​** 
 +  * Customize GUI layout by each vehicle, grade, brand and so on. 
 +  * Display status notifications,​ pop-up window, system setting, software keyboard for ivi-use. 
 +  * Manage applications (menu screen, kick applications launcher, install applications) 
 +  * Switch applications ( application stack, last application) 
 + 
 +The team pulled the requirements from the spec and determined which requirements are to be met during this development cycle (through the end 2015). That list of requirements is {{:​agl-distro:​demo-apps:​agl_spec_homescreen_rev01.pdf|here}}. 
 + 
 +==== Architecture ==== 
 + 
 +**//​Comparing ivi-shell to desktop-shell//​** 
 + 
 +A shell consists of two components. 
 +  * Plugin: provided as the weston plugin 
 +  * Daemon: GUI for the system. 
 +Weston provides two type of plugins. 
 +  * desktop-shell:​ for PC use sample. 
 +  * ivi-shell: for ivi use provided by GENIVI. 
 + 
 +|          ^ desktop-shell ​ ^ ivi-shell ​                 ^ 
 +^ Plug-in ​ | Standard APIs              | APIs for ivi-applications ​ | 
 +^:::       | APIs for desktop creation ​ | APIs for HMI control daemon| 
 +^:::       ​| ​                           | Layer control functions ​   | 
 +^ daemon ​  | GUI Design ​                | GUI Design ​                | 
 +^:::       | Application Launcher ​      | Application Launcher ​      | 
 +^:::       ​| ​                           | Layout, layer definition ​  | 
 + 
 +**Tizen Wiki**([[https://​wiki.tizen.org/​wiki/​IVI-Shell]])\\ 
 +IVI-Shell does not support "​wl_shell"​ nor "​xdg-shell"​ (the "​desktop"​ shell protocols found in upstream Weston) but a totally different one, named "​ivi-application"​. 
 +This means that standard Wayland clients cannot be displayed on IVI-Shell, unless they somehow use the IVI-Shell protocol. The package itself provides demo clients, but incompatible clients are more common.\\ 
 + 
 +Which plugin should AGL homescreen use? 
 +  * Opt.1: re-use ivi-shell 
 +{{:​agl-distro:​demo-apps:​option1.png?​300|}} 
 + 
 +  * Opt.2: create a new shell for AGL 
 +{{:​agl-distro:​demo-apps:​option2.png?​300|}} 
 + 
 + 
 +|          ^ Pros                        ^ Cons                       ^ 
 +^ Option 1 | ivi-shell upstream already ​ | Standard API Support needs to be added        | 
 +^:::       | Layer functionality available ​ | APIs for HMI control daemon ​               | 
 +^ Option 2 | Standard API support available | Need to create new software ​               | 
 +^:::       ​| ​                               | Layer functionality needs to be designed ​  | 
 + 
 +The team prefers to reuse ivi-shell (option 1) assuming the maintainer supports AGL changes.  
 +  * Support standard APIs 
 +  * Maintain and support AGL requirements 
 + 
 +---- 
 + 
 +**//​Proposed Software Block Diagram//​** 
 +{{:​agl-distro:​demo-apps:​softwareblockdiagram_proposal_.png?​700 |}} 
 + 
 + 
 +---- 
 +**//Weston ivi-shell Software Block Diagram//​** 
 + 
 +{{ :​agl-distro:​demo-apps:​weston_ivi-shell_block_diagram.png?​700 |}} 
 + 
 +From [[https://​github.com/​Tarnyko/​weston-ivi-shell/​blob/​weston150_ivi-shell_v6/​README.md]] 
 + 
 + 
 +==== Code ==== 
 + 
 +TBD