Tuesday, December 18, 2012

Using development builds of Firefox Nightly

Using Firefox Nightly as my default web browser lets me test the Firefox development changes every day. Firefox Nightly is built from the latest code changes in mozilla-central repository every night. You can learn more about Mozilla Firefox development builds here.

If you are interested to participate in Firefox development, it is good start to use Firefox Nightly or building Firefox from the sources. You can report new bugs you spot in development builds of Firefox Nightly. You can find simple bugs to fix and test new patches.

In this blog post, I'll explain how to install Firefox Nightly and run multiple version of Firefox on gnu/Linux computer. These instructions will also apply to other operating systems. You might need to substitute the paths to Firefox program to match your operating system.

If you are using Mozilla Ubuntu Daily PPA, You can remove those PPA packages safely with 'ppa-purge' command.

 $ sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa

Firefox Nightly on gnu/Linux

Download the Firefox Nightly for gnu/Linux from nightly.mozilla.org. Uncompress the tar.bz2 archive to a directory on your computer. I usually place my programs in /opt/ partition, but you can choose any different directory.

Here is the Firefox Nightly program path /opt/Firefox-Nightly/firefox on my computer. Make sure you have write permission to your Firefox Nightly directory, otherwise you'll have problems while installing the nightly updates.

You can now launch Firefox Nightly using following command /opt/firefox-nightly/firefox -P --no-remote . The -P option starts the Mozilla Profile Manager and --no-remote starts a new instance of Firefox.

Next lets set Firefox Nightly as the default browser with update-alternatives program, this program makes changes to symlinks on Debian/Ubuntu operating systems.

sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /opt/firefox-nightly/firefox 10


$ sudo update-alternatives --config gnome-www-browser 
There are 5 choices for the alternative gnome-www-browser (providing /usr/bin/gnome-www-browser).

  Selection    Path                          Priority   Status
------------------------------------------------------------
  0            /usr/bin/google-chrome         200       auto mode
  1            /opt/firefox-nightly/firefox   10        manual mode
  2            /usr/bin/chromium-browser      40        manual mode
  3            /usr/bin/epiphany-browser      85        manual mode
* 4            /usr/bin/firefox               40        manual mode
  5            /usr/bin/google-chrome         200       manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/firefox-nightly/firefox to provide /usr/bin/gnome-www-browser (gnome-www-browser) in manual mode.

# Launch Firefox Nightly and choose your default profile.
$ /opt/firefox-nightly/firefox -P --no-remote 

For other operating system, read How to make Firefox default on support.mozilla.org website.


How to run multiple Firefox Browsers

If you want to use multiple versions of Firefox at the same time. For example, You want to use Firefox Nightly along side the Firefox Stable version or test a localized version of Firefox for your language.

Open your system terminal and launch Firefox with following command firefox -P --no-remote and choose a different profile for this instance of Firefox.

You can learn more about Firefox Profiles here on Multiple Firefox Profiles page on Mozilla Developer Network (MDN).

Have fun testing Mozilla Firefox Nightly! Don't forget to report bugs and send patches!


Sunday, December 16, 2012

Barcamp Phnom Penh 5

Last year we kick-started Mozilla Firefox Aurora Khmer localization effort at Barcamp Phnom Penh 4. Now a year later, Thanks to efforts of Mozilla Khmer L10N team and invaluable support of several people from various organizations. We have a successful release of Firefox Khmer.

Barcamp Phnom Penh is community organized two day un-conference held in the capital city of Cambodia. Walking around Barcamp Phnom Penh at University of Puthisastra in central Phnom Penh, you'll encounter young Cambodian's engaging in social media on latest smart phones and tablets everywhere. There are numerous booths advertising smart phones, right next English language schools, Media and NGO organizations.

At Barcamp Phnom Penh 5 this year there was marked improvement in quality of talks. The technology related talks were really in-depth and encouraged participation from audience. Cambodia has good English language penetration, learning English ensures better livelihood. In country where 50% of population live below the poverty line, the Cambodian youth have an insatiable thirst for learning and making a better life. This spirit attracts me to Cambodia time and again.

Firefox Khmer, FirefoxOS and Web API

On the first day of Barcamp Phnom Penh, I talked Mozilla mission and future of Web, As a platform. The demo of development version of FirefoxOS phone was well received.

The next day Vannak ENG talked about the about Mozilla localization and walked the audience through various steps of translating Firefox. It was great to see people hanging out after the talk to interact with Vannak. Such interactions help us build a good contributor community and help keep the Firefox translations update-to-date every 6 weeks

Mozilla Khmer L10N demo

At the end of Barcamp Phnom Penh, I gave lightening talk titled '6 kick-ass things you can do with your browser'. The talk provided a whirlwind tour of Mozilla Web API and their status.

Khmer Language support in Firefox Mobile on Android 4.1 (Jelly Bean)

I met Danh Hong, the creator Khmer Web Fonts and we talked about the font rendering issues in Firefox Mobile(Bug 793474) running on Android Jelly Bean (4.x). These issues are now resolved in new HarfBuzz update (Bug 780409)

Mozilla Firefox Mobile showing Khmer page

Few other issues in Khmer language support remain. Android Jelly Bean (4.1) supports Khmer rendering well, but Khmer fonts are not shipped with Android. You need to use third party app to install them.

On Desktop computers, though high quality Khmer fonts are available for various operating systems. There is lack of proper documentation about the installation process and the license are not very clear.


Upcoming Barcamps in Cambodia

The barcamp camp team deserves a pat on the back for organizing yet another fantastic event. Next year they are organizing five Barcamps all over Cambodia.

Perhaps I'll try organize a hands-on workshop on web technologies at Hacker Space Phnom Penh or Small World Phnom Penh. If you are interested, get in touch with me.



Saturday, December 1, 2012

CyanogenMod 10 Installation on Google Nexus 7

You got a Nexus 7 tablet. Are you ready to unlock the devices true potential. In this post you'll learn how to update the Nexus 7 tablet to latest Android Jelly Bean (Android 4.1/4.2) firmware from CyanogenMod project.

These instructions are from Truong Anh Tuan and team's CyanogemMod 10 installation on Google Nexus 7 running Jelly Bean 4.2 stock firmware at recent CyanogenMod Bootcamp in Hanoi. Thank you for sharing your notes.

‏Before you get started consider backing up your tablet data using Android apps such as Titanium Backup. Alternatively you can copy the data manually by connecting the tablet to your computer with an USB cable.

Disclaimer: Installing third-party firmware will void your device warranty and if something goes wrong it could make your device unusable. The installation process will wipe data/apps, Please backup everything. You have been warned!

Prerequisites: What do you need?

Installing CyanogenMod 10 on Nexus 7 tablet

  1. Enable USB debugging mode: Go to System Settings > About tablet. Tap “Build number” seven times until you get a 'You are a developer!' dialog.
  2. Connect your device to the computer with an USB cable and copy the previously downloaded files to devices sdcard using the 'adb' program.
    
    sudo adb push recovery-clockwork-6.0.1.9-grouper.img /sdcard
    sudo adb push cm-10-20121123-NIGHTLY-grouper.zip /sdcard
    sudo adb push Google Apps.zip /sdcard
    

  3. Unlock the Nexus 7 bootloader:

    Reboot to bootloader:

    sudo adb reboot bootloader

    Unlock the bootloader:

    sudo fastboot oem unlock

  4. Install ClockWorkMod(CWM) Recovery:
     sudo fastboot flash recovery recovery-clockwork-6.0.1.9-grouper.img
  5. Install CyanogenMod 10 Nightly Build and Google apps
    1. Select wipe data/factory reset.
    2. Select Install zip from sdcard and choose Cyanogenmod 10 Nightlies.zip file
    3. Select Install zip from sdcard and choose Google Apps.zip file

That's all folks!. Reboot your tablet and if everything goes well, the Nexus 7 will boot into CM10. Don't forget you can automatically download and install nightly builds via CyanogenMod OTA update feature.

For more information, Please read the original blog post and Unlock, Root & Install Cyanogenmod 10 Nightlies guide.

Popular Posts