FullShellRotation
7637
Comment:
|
7727
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
In order to deliver a more rick 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, thought it's low risk, it would be good to make sure we do not regress our Unity8 desktop experience. | 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. 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, include: {{{X-Ubuntu-Supported-Orientations=portrait}}} or {{{X-Ubuntu-Supported-Orientations=landscape}}} for example, you can add ''''portrait'''' to {{{/usr/share/applications/dialer-app.desktop }}} as well as {{{/usr/share/click/preinstalled/com.ubuntu.calculator/current/com.ubuntu.calculator_calculator.desktop}}} Due to this promoted change, 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. |
Line 6: | Line 25: |
Also, though it's low risk, it would be good to make sure we do not regress our Unity8 desktop experience. |
|
Line 11: | Line 32: |
Currently the easiest way to determine if you are running QtComp besides checking the packages is to open a few applications, right hand long swipe to place into "spread" mode. If you can quit an app by swiping up or down then you are running QtComp. | 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 17: | Line 38: |
* * |
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 |
Line 28: | Line 48: |
Line 30: | Line 51: |
TBD | |
Line 34: | Line 55: |
Functioning & performing well Note, unity8 desktop does take an unusual amount of time to completely boot. |
TBD Note, unity8 desktop can take an unusual amount of time to completely boot. |
Line 39: | Line 61: |
Functioning & performing well | TBD |
Line 43: | Line 65: |
Functioning & performing well, arguably more stable | TBD === krillin === TBD |
Line 47: | Line 73: |
We're using our CI Train build silo's as a way to keep up with the latest image and iterate over the proposed branches. ''' note: ''' we will continue to polish & fix bugs we find on the branches, so the packages may update. |
We're using a ppa based on vivid https://launchpad.net/~unity-team/+archive/ubuntu/demo-stuff |
Line 50: | Line 76: |
Current silo is https://launchpad.net/~ci-train-ppa-service/+archive/landing-006 ''' note: ''' silo's sometimes get reallocated, so the package location may change, so double check its platform-api, qtmir, qtubuntu, and unity8 in this location. |
''' 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. |
Line 56: | Line 80: |
1. flash your device with the latest devel-proposed image or the image listed at the top of this wiki, assuming you're already setup, connect your host machine to device usb | 1. flash your device with the latest devel-proposed image, assuming you're already setup, connect your host machine to device usb |
Line 58: | Line 82: |
host-computer${{{ adb reboot bootloader}}} | host-computer${{{ ubuntu-device-flash --channel=devel-proposed --wipe --developer-mode --password=1111 }}} |
Line 60: | Line 84: |
host-computer${{{ ubuntu-device-flash --channel=devel-proposed --bootstrap --developer-mode}}} | for more information on devices, flashing & setup see https://wiki.ubuntu.com/Touch/Install |
Line 62: | Line 86: |
'''OR''' if the PPA install fails, use the last-known-good image it was built against host-computer${{{ ubuntu-device-flash --channel=devel-proposed --bootstrap --developer-mode --revision=145 }}} for more information on devices, flashing & setup see https://wiki.ubuntu.com/Touch/Install '''NOTE''' After flashing you'll probably want to give the untouch image a test drive before proceeding to adding the PPA. |
'''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. |
Line 76: | Line 94: |
3. 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. |
|
Line 78: | Line 110: |
3. Add the PPA to your device | 4. In the instance you are testing the Unity8-desktop-session, you would follow similar installation like so |
Line 80: | Line 112: |
host-computer${{{ adb shell apt-add-repository -y ppa:ci-train-ppa-service/landing-006 }}} | desktop${{{ sudo apt-add-repository ppa:unity-team/demo-stuff}}} |
Line 82: | Line 114: |
'''NOTE''' if you have packaging dependency issues, its likely due to packages being stuck in proposed (since the silo builds against proposed). So simply modify your /etc/apt/sources.list on your device to include {{{deb http://ports.ubuntu.com/ubuntu-ports/ utopic-proposed main restricted universe}}} |
follow the prompt, |
Line 85: | Line 116: |
host-computer${{{ adb shell apt-get update }}} | desktop${{{ apt-get update }}} |
Line 87: | Line 118: |
4. **Note** If you apt-get dist-upgrade to install, you will **NOT** pull in all the required packages. See below! Dist-upgrade also pulls in other unrelated packages. I recommend installing in isolation like so host-computer$ {{{ phablet-shell }}} device-phablet$ {{{ sudo apt-get install qtubuntu-android qtmir-android indicators-client unity8 unity8-autopilot unity8-common unity8-private libubuntu-application-api2 libubuntu-platform-hardware-api2 ubuntu-application-api2-touch libsystemsettings1 ubuntu-system-settings ubuntu-system-settings-wizard }}} password is 'phablet' alternately, you may update like so (but note, you'll get other updates from archive, not in your image & unrelated to this silo) device-phablet$ {{{ sudo apt-get dist-upgrade }}} device-phablet$ {{{ sudo apt-get install qtmir-android ubuntu-touch}}} Note: the dist-upgrade might remove the ubuntu-touch package. If the phone doesn't boot after those steps, make sure "ubuntu-touch" is installed. 5. In the instance you are testing the Unity8-desktop-session, you would follow similar installation like so desktop${{{ sudo apt-add-repository ppa:ci-train-ppa-service/landing-006 }}} follow the prompt, apt-get update, and then do: |
and then do: |
Line 112: | Line 122: |
or desktop$ {{{ sudo apt-get install qtmir-desktop qtubuntu-desktop indicators-client unity8 unity8-autopilot unity8-common ubuntu-touch unity8-private libubuntu-application-api2 libubuntu-platform-hardware-api2 ubuntu-application-api2-desktop libsystemsettings1 ubuntu-system-settings ubuntu-system-settings-wizard}}} |
|
Line 120: | Line 127: |
desktop${{{ sudo ppa-purge ppa:ci-train-ppa-service/landing-006 }}} | desktop${{{ sudo ppa-purge ppa:unity-team/demo-stuff }}} |
Line 126: | Line 133: |
Just about anything. But primarily, this is a change on Ubuntu phone pertains to application switching, spread, interaction with the ubuntu-keyboard/OSK and general shell interaction. Its also relevant to test the display blanking, application rotation & application bottom bars. The Unity8 desktop session also needs testing. | 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. Currently, in this ppa only the Browser and System Settings application are rotating with full shell. 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 130: | Line 141: |
Symptoms that we don't expect but you might witness: freezing apps, inability to reveal/dismiss OSK, problems with right edge switching, or poor user experience of rotated applications. | === For those who want a little more === To make other applications that typically rotate support this rotation case (e.g. messaging-app), log on to the device shell and modify {{{ /usr/share/application/<app-of-choice>.desktop }}} to include this line {{{ X-Ubuntu-Supported-Orientations=landscape;portrait;inverted-landscape }}} Specifically for the Camera App add {{{ X-Ubuntu-Supported-Orientations=portrait;landscape;inverted-portrait;inverted-landscape }}} {{{ X-Ubuntu-Rotates-Window-Contents=true }}} to this file {{{ /usr/share/click/preinstalled/com.ubuntu.camera/current/camera-app.desktop }}} |
Line 134: | Line 162: |
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=qtcomp|QtCompBugList]]. Please use the tag "qtcomp". Please note the applications you've launched, 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. 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 |
Line 143: | Line 171: |
You can note the image number from | You can note the image number for Ubuntu phone from |
Line 149: | Line 177: |
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 (if mir related #ubuntu-mir at kgunn, camako, alan_g). Or feel free to email the ubuntu-phone mailing list (ubuntu-phone@lists.launchpad.net). | 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). |
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.
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, include:
X-Ubuntu-Supported-Orientations=portrait
or
X-Ubuntu-Supported-Orientations=landscape
for example, you can add 'portrait' to
/usr/share/applications/dialer-app.desktop
as well as /usr/share/click/preinstalled/com.ubuntu.calculator/current/com.ubuntu.calculator_calculator.desktop
Due to this promoted change, 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.
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
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 https://docs.google.com/a/canonical.com/spreadsheets/d/140Icn5zcZwMvg1SONrwRKXYip-Pie7jtbEARpWwgxfw/edit#gid=0
Results so far
To be updated, will track thru
https://bugs.launchpad.net/unity8/+bugs?field.tag=fullshellrotation
Nexus 4
TBD
Unity8 Desktop Session
TBD
Note, unity8 desktop can take an unusual amount of time to completely boot.
Nexus 10
TBD
Nexus 7
TBD
krillin
TBD
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
- 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.
Don't forget to connect to the network & make writable
host-computer$ phablet-network
host-computer$ phablet-config writable-image
- 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
- 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, bottom edge interactions within applications, and general shell interaction.
Currently, in this ppa only the Browser and System Settings application are rotating with full shell.
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.
For those who want a little more
To make other applications that typically rotate support this rotation case (e.g. messaging-app), log on to the device shell and modify
/usr/share/application/<app-of-choice>.desktop
to include this line
X-Ubuntu-Supported-Orientations=landscape;portrait;inverted-landscape
Specifically for the Camera App add
X-Ubuntu-Supported-Orientations=portrait;landscape;inverted-portrait;inverted-landscape
X-Ubuntu-Rotates-Window-Contents=true
to this file /usr/share/click/preinstalled/com.ubuntu.camera/current/camera-app.desktop
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. You can check here 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
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
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).
Unity8/FullShellRotation (last edited 2015-02-02 11:00:39 by 84-199-88-155)