FullShellRotation

Differences between revisions 6 and 17 (spanning 11 versions)
Revision 6 as of 2014-11-14 23:05:19
Size: 6642
Editor: c-98-237-202-29
Comment: Fix typos
Revision 17 as of 2015-02-02 11:00:39
Size: 9329
Editor: 84-199-88-155
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
In order to deliver a more rich and usable Unity8 experience, we want to enable full shell rotation. We need to make sure that all the shell components rotate and are accessible by the user. Likewise, we need to stay put in cases where the application has a fixed orientation. Also, though it's low risk, it would be good to make sure we do not regress our Unity8 desktop experience.
Line 5: Line 4:
The key areas to scrutinize: Does the shell follow what you as a user would think with respect to application orientation ? Is it animating nicely ? Does it behave properly with respect to orientation locking ? In order to deliver a more rich and usable Unity8 experience, we want to enable full shell rotation. We need to make sure that all the shell components rotate and are accessible by the user. Likewise, we need the shell to stay put in cases where the application has a fixed orientation.

''''Important note''''As part of this change, we are also suggesting to break how the platform and applications treat rotation. Today, applications have to opt-in to rotate. However, we are promoting a change for the SDK to rotate applications by default. If they prefer not to be rotated, they must express this through their desktop files.
So you may as part of testing, you might want to modify application's desktop files for preferred orientation support, for instance
{{{/usr/share/applications/dialer-app.desktop }}}
as well as {{{/usr/share/click/preinstalled/com.ubuntu.calculator/current/com.ubuntu.calculator_calculator.desktop}}}

by adding

{{{X-Ubuntu-Supported-Orientations=portrait}}}

or you may have an application that needs to be landscape, simply locate it's desktop file to include

{{{X-Ubuntu-Supported-Orientations=landscape}}}
 
You can modify applications from the store with it's respective desktop files located in {{{~/.local/share/click/hooks/desktop}}}

Note, if you update the device, you will overwrite the click desktop files (as they're created dynamically)

Due to this promoted change regarding applications, there will be certain issues identified in this call for testing that can only be addressed through the application. The intent of this testing is to ensure proper behavior of the shell components. We will be working with the application developer community in order to accommodate this change & this change can be added with no impact before we land this change.

At any rate, the key areas to scrutinize: Does the shell follow what you as a user would think with respect to application orientation ? Is it animating nicely ? Does it behave properly with respect to orientation locking ?

Also, though it's low risk, it would be good to make sure we do not regress our Unity8 desktop experience.
Line 11: Line 33:
Currently the easiest way to determine if you are running Full Shell Rotation besides checking the packages is to open the Browser or System Settings, rotate the device 90 degrees. If the indicator panel rotates with the application then you are running Full shell Rotation. Currently the easiest way to determine if you are running Full Shell Rotation besides checking the packages is to open the Browser, rotate the device 90 degrees. If the indicator panel rotates with the application then you are running Full shell Rotation.
Line 13: Line 35:
== Known Limitations == == Known Limitations and Results ==
Line 17: Line 39:
 * Applications rotating with the shell, System-Settings & Browser (other apps possible with manual mods, see more below)

 *

== Results so far ==

To be updated, will track thru

https://bugs.launchpad.net/unity8/+bugs?field.tag=fullshellrotation
The best location currently listing a variety of issues being worked is here
[[https://docs.google.com/a/canonical.com/spreadsheets/d/140Icn5zcZwMvg1SONrwRKXYip-Pie7jtbEARpWwgxfw/edit#gid=0|UnityUIDevTeamFullShellRotationIssuesList]]
Line 30: Line 45:
TBD Working
Line 34: Line 49:
TBD Boots and is functional, but Dash orientation is incorrect.
Line 40: Line 55:
TBD Rotation animation is slow. Side stage is mostly broken.
Line 44: Line 59:
TBD Working, side stage bugs being actively worked.
Line 48: Line 63:
TBD Working.
Line 112: Line 127:
Just about anything. But primarily, this is a change on Ubuntu phone pertains to orientation changes. Good things to test are rotating various applications, selecting/unselecting the orientation lock with System Settings, application switching, interacting with the right hand spread, interaction with the ubuntu-keyboard/OSK, interaction with the indicator panel, bottom edge interactions within applications, and general shell interaction. Just about anything. But primarily, this is a change on Ubuntu phone pertains to orientation changes. Good things to test are rotating various applications, selecting/unselecting the orientation lock with System Settings, application switching, interacting with the right hand spread, interaction with the ubuntu-keyboard/OSK, interaction with the indicator panel, firing notifications during rotation, bottom edge interactions within applications, and general shell interaction.
Line 114: Line 129:
Currently, in this ppa only the Browser and System Settings application are rotating with full shell. '''bugged at the moment''' In the instance of Unity8 desktop session it is primarily testing to ensure no regressions creeps in. So general shell and application interaction that is possible today on the Unity8 desktop session.
Line 116: Line 131:
In the instance of Unity8 desktop session it is primarily testing to ensure no regressions creeps in. So general shell and application interaction that is possible today on the Unity8 desktop session.

We would expect all behaviors of the applications to remain the same as before introducing this change.
We would expect applications to now rotate by default, unless you alter the desktop file or unless the application has taken additional measures to maintain it's orientation.
Line 122: Line 135:
To make other applications that typically rotate support this rotation case (e.g. messaging-app), log on to the device shell and modify To make system applications prefer an orientation, modify
Line 126: Line 139:
to include this line to include the line
Line 128: Line 141:
{{{ X-Ubuntu-Supported-Orientations=landscape;portrait;inverted-landscape }}} {{{ X-Ubuntu-Supported-Orientations=landscape }}}
Line 130: Line 143:
Specifically for the Camera App add or
Line 132: Line 145:
{{{ X-Ubuntu-Supported-Orientations=portrait;landscape;inverted-portrait;inverted-landscape }}} {{{ X-Ubuntu-Supported-Orientations=portrait }}}
Line 134: Line 147:
{{{ X-Ubuntu-Rotates-Window-Contents=true }}} You can also choose to modify preinstalled click applications modifying files here
Line 136: Line 149:
to this file {{{ /usr/share/click/preinstalled/com.ubuntu.camera/current/camera-app.desktop }}} {{{/usr/share/click/preinstalled/com.ubuntu.calculator/current/com.ubuntu.<app-of-choice>}}}

and installed applications by modifying files located in

{{{~/.local/share/click/hooks/desktop/}}}

== Applications Tested ==

We have started to test exiting applications and their response to default rotation.
Here are the results so far:
[[https://docs.google.com/a/canonical.com/spreadsheets/d/1defEDFoggEgrBUz0_7MHQ5ZzpKSqaXM9MpLa-8GBCx8|ApplicationsTested]]
Line 141: Line 164:
If you find what you think is a bug potentially due to this change, please check the known bugs for this silo first. You can check here [[https://bugs.launchpad.net/bugs/+bugs?field.searchtext=fullshellrotation|FullShellrotationBugList]].
Please use the tag "fullshellrotation". Please note the applications you've launched, in order, specific application visual issues or interactions. Also, please note the version of the packages you tested since we plan to be updating those as we fix bugs. You can do this by noting in the bug output from
If you find what you think is a bug potentially due to this change, please check the known bugs for this silo first.

At the moment, we know we will have enough work to do which would make using launchpad bugs a bit cumbersome.
Please use this to track your issues and findings.
[[https://docs.google.com/spreadsheets/d/1YQFDWl_WE-BmDcqr4_A8ieRTLy9Z0BOkXbtaav75tCM/edit?usp=sharing|FullShellRotationTesterList]]

Once we feel desktop & tablet are in a good working order we will most likely move into using launchpad bugs. So check back often if you would like to help continued testing efforts.

You can check here [[https://docs.google.com/a/canonical.com/spreadsheets/d/140Icn5zcZwMvg1SONrwRKXYip-Pie7jtbEARpWwgxfw/edit#gid=0|UnityUIDevTeamFullShellRotationIssuesList]] for our "internal tracking list" we're using before we move to launchpad.

When we do move to launchpad, we'll likely use the tag 'fullshellrotation' .

Also, please note the version of the packages you tested since we plan to be updating those as we fix bugs. You can do this by noting in the bug output from
Line 154: Line 188:
Any and all of this information in the issue tracker or launchpad bug entry is always helpful. Thanks!
Line 157: Line 193:

== Thank You ==

We couldn't do this without your help. Thanks for testing!

Testing Unity8 Full Shell Rotation

In order to deliver a more rich and usable Unity8 experience, we want to enable full shell rotation. We need to make sure that all the shell components rotate and are accessible by the user. Likewise, we need the shell to stay put in cases where the application has a fixed orientation.

'Important note'As part of this change, we are also suggesting to break how the platform and applications treat rotation. Today, applications have to opt-in to rotate. However, we are promoting a change for the SDK to rotate applications by default. If they prefer not to be rotated, they must express this through their desktop files. So you may as part of testing, you might want to modify application's desktop files for preferred orientation support, for instance /usr/share/applications/dialer-app.desktop  as well as /usr/share/click/preinstalled/com.ubuntu.calculator/current/com.ubuntu.calculator_calculator.desktop

by adding

X-Ubuntu-Supported-Orientations=portrait

or you may have an application that needs to be landscape, simply locate it's desktop file to include

X-Ubuntu-Supported-Orientations=landscape

You can modify applications from the store with it's respective desktop files located in ~/.local/share/click/hooks/desktop

Note, if you update the device, you will overwrite the click desktop files (as they're created dynamically)

Due to this promoted change regarding applications, there will be certain issues identified in this call for testing that can only be addressed through the application. The intent of this testing is to ensure proper behavior of the shell components. We will be working with the application developer community in order to accommodate this change & this change can be added with no impact before we land this change.

At any rate, the key areas to scrutinize: Does the shell follow what you as a user would think with respect to application orientation ? Is it animating nicely ? Does it behave properly with respect to orientation locking ?

Also, though it's low risk, it would be good to make sure we do not regress our Unity8 desktop experience.

Don't forget to help us determine how many people participated by simply listing your name and test environment here at FullShellRotationTesterList

How do I know I'm running Full Shell Rotation ?

Currently the easiest way to determine if you are running Full Shell Rotation besides checking the packages is to open the Browser, rotate the device 90 degrees. If the indicator panel rotates with the application then you are running Full shell Rotation.

Known Limitations and Results

The code is actively being worked, this section will continue to be updated as the state of the code improves.

The best location currently listing a variety of issues being worked is here UnityUIDevTeamFullShellRotationIssuesList

Nexus 4

Working

Unity8 Desktop Session

Boots and is functional, but Dash orientation is incorrect.

Note, unity8 desktop can take an unusual amount of time to completely boot.

Nexus 10

Rotation animation is slow. Side stage is mostly broken.

Nexus 7

Working, side stage bugs being actively worked.

krillin

Working.

How To Test

We're using a ppa based on vivid https://launchpad.net/~unity-team/+archive/ubuntu/demo-stuff

note: we will continue to polish & fix bugs we find on the branches, so the packages may update. And there may be a need to rebuild them to work with the very latest.

Steps to install

  1. flash your device with the latest devel-proposed image, assuming you're already setup, connect your host machine to device usb
    • host-computer$ ubuntu-device-flash --channel=devel-proposed --wipe --developer-mode --password=1111 

for more information on devices, flashing & setup see https://wiki.ubuntu.com/Touch/Install

NOTE After flashing you'll probably want to give the image a test drive before proceeding to adding the PPA. Especially if you're not familiar with the applications and how rotation currently operates.

  1. Don't forget to connect to the network & make writable

    • host-computer$ phablet-network 

      host-computer$ phablet-config writable-image 

  2. Add the PPA to your device
    • host-computer$ phablet-shell 

      device$ sudo apt-add-repository ppa:unity-team/demo-stuff 

respond to the prompt.

  • device$ sudo apt-get update 

    device$ sudo apt-get dist-upgrade 

respond to the prompt.

  • host-computer$ adb reboot 

  1. In the instance you are testing the Unity8-desktop-session, you would follow similar installation like so
    • desktop$ sudo apt-add-repository ppa:unity-team/demo-stuff

follow the prompt,

  • desktop$ apt-get update 

and then do:

  • desktop$ sudo apt-get dist-upgrade 

Don't forget to use ppa-purge to remove and downgrade unwanted packages after testing. Note, failing to do so could pull in unknown packages in the future as silos are reused for other package landings. To install and use ppa-purge

  • desktop$ sudo apt-get install ppa-purge 

    desktop$ sudo ppa-purge ppa:unity-team/demo-stuff 

follow any prompts.

What to test

Just about anything. But primarily, this is a change on Ubuntu phone pertains to orientation changes. Good things to test are rotating various applications, selecting/unselecting the orientation lock with System Settings, application switching, interacting with the right hand spread, interaction with the ubuntu-keyboard/OSK, interaction with the indicator panel, firing notifications during rotation, bottom edge interactions within applications, and general shell interaction.

bugged at the moment In the instance of Unity8 desktop session it is primarily testing to ensure no regressions creeps in. So general shell and application interaction that is possible today on the Unity8 desktop session.

We would expect applications to now rotate by default, unless you alter the desktop file or unless the application has taken additional measures to maintain it's orientation.

For those who want a little more

To make system applications prefer an orientation, modify

 /usr/share/application/<app-of-choice>.desktop 

to include the line

 X-Ubuntu-Supported-Orientations=landscape 

or

 X-Ubuntu-Supported-Orientations=portrait 

You can also choose to modify preinstalled click applications modifying files here

/usr/share/click/preinstalled/com.ubuntu.calculator/current/com.ubuntu.<app-of-choice>

and installed applications by modifying files located in

~/.local/share/click/hooks/desktop/

Applications Tested

We have started to test exiting applications and their response to default rotation. Here are the results so far: ApplicationsTested

Logging Bugs

If you find what you think is a bug potentially due to this change, please check the known bugs for this silo first.

At the moment, we know we will have enough work to do which would make using launchpad bugs a bit cumbersome. Please use this to track your issues and findings. FullShellRotationTesterList

Once we feel desktop & tablet are in a good working order we will most likely move into using launchpad bugs. So check back often if you would like to help continued testing efforts.

You can check here UnityUIDevTeamFullShellRotationIssuesList for our "internal tracking list" we're using before we move to launchpad.

When we do move to launchpad, we'll likely use the tag 'fullshellrotation' .

Also, please note the version of the packages you tested since we plan to be updating those as we fix bugs. You can do this by noting in the bug output from

  • device-phablet$  apt-cache policy unity8 qtmir-android qtubuntu-android 

Or in the case of Unity8 desktop session bugs

  • device-phablet$  apt-cache policy unity8 qtmir-desktop qtubuntu-desktop 

You can note the image number for Ubuntu phone from

  • host-machine$  adb shell system-image-cli -i

Any and all of this information in the issue tracker or launchpad bug entry is always helpful. Thanks!

Contact us

If you're not sure if something is a bug or need help for any reason on directions. Feel free to hit any of us up on IRC freenode #ubuntu-unity at kgunn, greyback, dandrader, mzanetti, josharenson . Or feel free to email the ubuntu-phone mailing list (ubuntu-phone@lists.launchpad.net).

Thank You

We couldn't do this without your help. Thanks for testing!

Unity8/FullShellRotation (last edited 2015-02-02 11:00:39 by 84-199-88-155)