Touch Demo Preparation

Earlier today I prepared to demo the latest daily build of Ubuntu Touch for the San Francisco Ubuntu Hour on a Nexus 7 device. I needed to do a few things.

thanks @pleia2

thank you for the snapshot @pleia2

  1. I followed the directions. The well done tool does all the work. phablet-flash cdimage-touch Patience is a virtue, even when the messages on screen give an impression of doing nothing. The device reboots several times during the process.
  2. Using a real keyboard for typing is much easier than the soft keyboard so after connecting to wifi I opened a terminal. sudo apt-get update; sudo apt-get install openssh-server. The default password for the user phablet is phablet.
  3. On the device ifconfig will show the IP number provided by your network. In my case it was So to connect from my computer: ssh phablet@
  4. Demoing a device that displays UTC time is less than impressive. In the Release notes it describes how to change the timezone using two commands.
    echo "America/Los_Angeles" | sudo tee /etc/timezone
    sudo dpkg-reconfigure --frontend noninteractive tzdata
  5. I wanted to run the Intro Tour again that happens when you FIRST launch the device. Many thanks to the people who provided assistance in the #ubuntu-touch IRC channel on today. I put the following commands in a file named ./demo (using pico or vi) then chmod +x ./demo to make it executable. The file ./demo contains these three lines. One of them is very long indeed.


    dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User32011 org.freedesktop.DBus.Properties.Set string:com.canonical.unity.AccountsService string:demo-edges variant:boolean:true

    sudo -iu phablet /sbin/restart unity8

  6. Each time I wanted to show a new person the Nexus 7 running Ubuntu Touch I ran ./demo in the terminal, waited for unity8 to restart and handed it to them.

The Intro Tour really does help new users get started and build confidence. The tour is much better than a clumsy verbal lecture/description and helps leave a much more robust overall impression.

There were still a set of recurring questions from new users about the new gestures. The gestures take some time to learn and feel natural. For example, the web browser’s default URL address bar is hidden from view and requires a bottom edge gesture to reveal it. Years of expectations have conditioned people to expect command bars at the top of a window. Every UI must balance discoverability with it’s display features.

Ubuntu Touch isn’t self-documenting yet and is still a technology preview. The Touch UI is breaking new ground, providing a genuinely new interface that takes advantage of improvements in touch screens, processing power and battery life and moves beyond our customary window, icon, menu and pointer (aka. WIMP) metaphors. Innovation in HCI is much more risky than other technological improvements. I applaud Canonical for providing a Free Software user experience that has a competitive chance in the evolving post-WIMP consumer computing landscape.


4 responses to “Touch Demo Preparation

  1. The image was modified. openssh-server is installed by default now but needs a sudo dpkg-reconfigure openssh-server then sudo start ssh.

  2. Thanks to for the instructions on how to use phablet-flash cdimage-touch -b -d grouper which got me out of a seemingly frozen boot loop showing the Google ROM screen.

    Now if the keyboard were to just stay active long enough to type something with the trusty image I could use it. Even the USB keyboard is having trouble keeping the focus to type anything.

    This command is useful too. sudo mv /etc/init/ssh.override /etc/init/

  3. OK, so things go smoothly now though the on screen keyboard still isn’t working, darn it.

    I use adb shell to get a terminal I can use then run two scripts. The demo one above still works, thankfully though not being able to use the on-screen keyboard really sucks. Here’s the other one I use since typing on this tablet is so darn difficult due to the regressions from previous functionality.


    sudo dpkg-reconfigure openssh-server
    sudo start ssh
    sudo mv /etc/init/ssh.override /etc/init/
    echo 'America/Los_Angeles' | sudo tee /etc/timezone
    sudo dpkg-reconfigure --frontend noninteractive tzdata