Running Android 4.0 (ICS) on Virtualbox

Debugging things on the Android Emulator (incluced in the SDK) can be a very slow and cumbersome process. Thanks to the Android-x86 Project it’s quite easy to run Android in VirtualBox. This is highly useful when you need to test mobile apps and websites from the Android Browser (as well as Chrome Mobile).

  1. Download an Ethernet enabled ISO from Tablets x86

    wget http://dl.dropbox.com/u/75945873/android-x86-4.0-eth0-generic_x86-20120426.iso.torrent
    transmission android-x86-4.0-eth0-generic_x86-20120426.iso.torrent

  2. Create new ViratualBox VM
    VM Settings 1
    VM Settings 2
    VM Settings 3
    Important Settings (see screenshots)

    • OS: Linux, Version: Linux 2.6
    • Enable VTx/AMD-V
    • Use Bridged Network Adapter (if you want to allow direct Internet Access)
  3. Mount the ISO file downloaded previosly and start the VM
    Install dialog
  4. Create the Root Filesystem (ext3) on the VBox .vdi created with the new VM, mark as bootable
  5. Write the Filesystem changes to disk (VDI) and format the disk
  6. Install GRUB Boatloader
  7. Copy files from ISO to VDI
  8. Unmount the ISO image and reboot
  9. Note: You need to disable the mouse pointer integration (if you have installed VirtualBox Client Add-ons) in the menu of Virtualbox (‘Machine’ –> ‘Disable Mouse Integration’) when you start the VM (see screenshot). I have not found a way to disable this by default on Virtualbox on Ubuntu (If anybody has managed this I would love to know how !)

    Disable Mouse Integration

  10. Start the Android Setup Wizard to set locale and you should be up and running (network should already function to test external sites from Android browser) !

Intel Ultrabook tweaks on Ubuntu 12.04

After upgrading my Toshiba Z830 Ultrabook to 12.04 (Precise Pangolin) I noticed that the ability to control the screen back-light was not working using the Toshiba Fn F6/F7 keys.

Thanks to http://www.linlap.com/wiki/acer+aspire+s3 the solution was found quite quickly.

sudo vim /etc/default/grub

This will open the grub configuration file. (Grub is the initial boot selection software)
To be able to dim the screen brightness, You’ve got to modify the line:

GRUB_CMDLINE_LINUX=""

to these two lines:

pcie_aspm=force
GRUB_CMDLINE_LINUX="quiet splash pcie_aspm=force acpi_osi=Linux acpi_backlight=vendor elevator=noop"

Another neat tip: intel-gpu-tools can be used to control brightness from the commandline.

# will set brightness at 50%
intel_backlight 50

Accessing Samsung Galaxy Nexus as USB Media Device Ubuntu 12.04

To use a Samsung Galaxy Nexus as a media device (MTP) there is a utility called gMTP.

sudo apt-get install gmtp mtpfs mtp-tools

NOTE: Unfortunately there is a bug in the 64-bit version at the moment (https://bugs.launchpad.net/ubuntu/+source/mtpfs/+bug/936165) – which means it’s not all that useful to me at the moment.

Disable the Guest account from Ubuntu Login Screen

Having a guest account might be useful on a home computer, but it’s generally not what I want enabled on a notebook.

To disable the default Guest account you need to edit lightdm.conf and add a line (allow-guest=false).

sudo vim /etc/lightdm/lightdm.conf

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
allow-guest=false

Tested in Ubuntu 12.04 LTS Precise Pangolin & Ubuntu 11.10 Oneiric Ocelot

Ideal OS for EEE PC – REVISITED

As a follow-up on a very old post I thought it’s worth providing an update. Despite it’s age (& only costing $350 at the time) my little Asus EEE PC 900 it is still a useful device. It has turned out as one of the better IT investments in my lifetime. However it’s not (and was never) the fastest kid on the block and recent OS upgrades have become increasingly resource hungry.

With the recent Ubuntu 12.04 LTS upgrade I was in the process of upgrading a few other notebooks and noticed that the release schedule for some of the Ubuntu variants (Kubuntu, Xubuntu & Lubuntu) has been brought in line with the main OS branch. So while waiting for the installs on the other machines to finish I thought about updating the EEEPC as well. I tried Xubuntu at first, but did not like the interface (and the default apps pre-installed) and there were hardly any performance gains.

But installing Lubuntu was a different story. I am very impressed by the LXDE desktop environment and the UI performance. The responsiveness of the UI is remarkably better than other desktop managers on a small netbook. And you still get the underlying strengths of the Ubuntu (Debian) based package management in it’s latest revision. That means most applications come packaged and there’s PPA’s for the rest.

Looks Lubuntu’s the new favourite. Hat tip to the Lubuntu maintainers and LXDE developers – excellent work in producing a no-frills but very functional, decent looking & usable desktop environment for devices that are getting a bit older … !

 

Jitsi Ubuntu VoIP SIP Client

The latest instalment in my never-ending quest to find a decent SIP client (see Ubuntu SIP I & Ubuntu SIP II) I came across JITSI (http://jitsi.org/). Since the website looked very interesting and the project seems very well maintained (http://jitsi.org/index.php/Main/Screenshots) I decided to give it a go.

The installation is a breeze with a Ubuntu/Debian package available and the installation also adds the repository to keep the package up to date.

http://download.jitsi.org/jitsi/debian/

After a few test calls it seems to work very well. The UI is much more intuitive than comparable Ubuntu clients. Looks I found my new default client – nice job Jitsi Team.

 

Turning the Toshiba Z830 into a Ubuntu Ultrabook

ultrabook

EDIT: Here are some tweaks if you install 12.04 (Precise Pangolin).

Since I will have to do a fair amount of traveling in the next year I was in need of upgrading my trusted workhorse of Toshiba Qosmio F60 to a more portable option that will be easier on the shoulders during long travels. After doing some research into which of the major manufacturers offer the best support for a Linux based Operating System it came down to a final two: the Intel i7 variants of Samsung Series 9 and the Toshiba Z830.

Thanks to these sites for some useful content:

In the end it came down to Toshiba having full-size VGA, HDMI and Ethernet connectors at the rear of the unit (no need for carrying adapters) and getting a very decent price rebate for the Toshiba.

The first and only task in the included Windows 7 OS was to create a recovery USB drive using the Toshiba included utility (on the desktop). You need a 12GB USB stick (found out the hard way after buying an 8GB version with the unit on advice of the sales guy).

After booting from a USB stick created from the Ubuntu 11.10 ISO (http://www.ubuntu.com/download/ubuntu/download) with Ubuntu Bootdisk Creator (or alternatively UnetBootin) I opted to wipe the whole SSD drive. If you are not sure that you want to stick with Ubuntu it might be safer to try running from USB or dual-boot.

Note: you need to use the USB3 connector on the right-hand side of the machine to boot (not the rear USB2 connectors). Press the F-12 Function key when turning the unit off and choose the USB Boot option.

It always gives me strange pleasure to wipe a pristine new machine from all the rubbish that manufacturers pre-install and start with a clean system that I can customise to my needs (without having redundant stuff cluttering the system and waste valuable resources).  So enjoy that part ;-)

toshy ultrabook

The Oneiric Ocelot (11.10) installation was extremely smooth. As predicted by the previous research all the hardware was detected automatically. Even Bluetooth and Toshiba Function keys (screen brightness and display switching) work without any tweaking.

I am currently looking into some SSD specific tweaks thanks to this article on ZDNET. I will post future updates on further experiences when it comes to battery-life and other day-2-day issues.

Update: I have made a tweak to improve disk I/O parameters to improve SSD performance

Disable the ‘elevator’ I/O scheduler in the kernel by editing the default Grub config (/etc/default/grub)

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

Looks like this unit is definitely a good option for people looking for Ubuntu Notebook / Ultrabook hardware. Well done Toshiba ! Now I just want a refund for the wasted Windows license….

Enjoy your OPEN Ultrabook !

Mobile Browser Testing on the Desktop

If you need to check websites for mobile compliance on a regular basis you know that having a device to constantly check is painful and slows down your work during debugging and phases of constant change.

Surrounding myself with screens by adactio, on Flickr
Creative Commons Attribution 2.0 Generic License  by  adactio 

There are a few tools that will make this work a lot easier:

Google Chrome

Chrome does have some nice dedicated plug-ins to help with this task

Firefox

I am not aware of any plug-ins like Chrome, but as a hack I have found it useful to employ a user-agent switching plugin to trick the browser

User Agent Switcher (http://chrispederick.com/work/user-agent-switcher/) works well for this.

  1. Download the User Agent Switcher Add-on for Firefox
  2. Restart Firefox for the add-on change to take place.
  3. To start a new browsing session using an emulated browser, go to Tools > User Agent Switcher and select the appropriate mobile web browser you want to emulate
  4. To switch back to normal browsing, just select the default option from the above menu.

If you need more specific UA Strings check here: http://www.zytrax.com/tech/web/mobile_ids.html

For more serious work there are obviously dedicated emulators from the major Mobile OS vendors (but they need to be installed and configured for each platform):

 

PS: Nothing substitutes final QA testing on actual devices …

 

Using Google Goggles in mobile learning projects

One of the lesser known free Google services in our experience is Google Goggles. Specially in it’s lastest release (Version 1.7) it has received a few enhancements that make it very useful for some mobile learning applications

Scanning of barcodes

Google Googles will scan most standard barcodes and provide information on the product scanned.

Here is an example from the Google Mobile Blog:

Let’s say you’re reading a magazine article you really like and want to share it with your friends. Just point Goggles at a part of the page, and instantly find a link to an online version to share immediately or read again later. You won’t even need the entire article in the frame. Goggles will also pull up more information from pages around the web where that text is mentioned, so its easier to learn about what you’re seeing.

Text recognition

You can use Google Googles to take images of printed text and have the result converted to text using OCR (Optical Character Recognition). Whil the results may vary our own test have shown good results on newspaper and magazines.

To download Google Goggles you can scan the QR code below

Google Goggles are currently available for both Android and iOS phones (just install via Android Market or Apple App Store. See http://www.google.com/mobile/goggles/ for further details.