My failed Firefox Mobile Private Browsing AddOn experiment

Nope, there’s no Private Browsing in my favourite mobile browser (yet). But as I have Firefox Sync activated between my 3 Firefox instances (winXP@work, Ubuntu-netbook@home and on my SGS2), I very much want to avoid syncing some of my browsing history over to my work-laptop. Developing addons for Firefox has become very easy and the JavaScript API does include access to the Private Browsing features, I quickly wrote this little addon to switch between Private and Non-Private browsing via the context menu using the online addon-builder:

var pb = require("private-browsing");
var myItem = require("context-menu").Item({
label: "Start Private Browsing",
contentScript: 'self.on("click", self.postMessage);',
onMessage: function () {
 if (pb.isActive) {
  pb.deactivate();
  this.label = "Start Private Browsing";
 } else {
  pb.activate();
  this.label = "Exit Private Browsing";
 }
}
});

All seemed great on my desktop Firefox, but it doesn’t work on Firefox Mobile. I could have known, if only I had read the documentation a bit more carefully: the context-menu and private-browsing modules aren’t functional on Firefox Mobile yet. Guess we’ll have to be good boys (and girls) while browsing on synced Firefox Mobile. But instead we can play around with the online Firefox addon-builder, that’s (another kind of) fun as well!

WP YouTube Lyte on Android: native or in-browser playback?

With the latest release of WP YouTube Lyte I fixed a problem where iOS users had to click twice to view a LYTE-embedded video; once to activate the iOS YouTube player and once to start the actual playing. On Android that problem does not exist, as LYTE embeds can be played inline in the browser.
Based on my own tests however, performance and quality aren’t always optimal when compared to the experience the native YouTube app provides. So now I’m wondering; wouldn’t it be better to not only detect iOS, but also Android and have both of them play in their respective a native players, even if on Android this isn’t an absolute requirement?
Advantages:

  1. better video playback performance/ quality
  2. somehow feels more professional (it’s the way the YouTube mobile site seems to work as well for example)

Disadvantages:

  1. you force visitors out of the context of your webpage
  2. a small percentage of Android visitors will get an ugly error message as they do not have a native YouTube player
  3. only works for single video’s, not for playlists (or at least so it seems) and the audio-only trick obviously won’t work either

What do you think? Speak now or be silent forever!
And let me throw in a vid (Spiritualized with “Hey Jane” live) just for the heck of it;

Spiritualized - Hey Jane (live @ Maida Vale for BBC 6 Music)

And if you’re on Android you can click here to trigger the YouTube app to see the exact same thing.

Workaround for Mobile Safari quirk in WP YouTube Lyte

Yesterday I released WP YouTube Lyte 1.1.5, which amongst other things has a workaround for the bug that required 2 clicks to play an Lyte-embedded Youtube on an iOS-device. The reason for the bug: WP YouTube Lyte replaces the “lyte player” with an autoplaying YouTube embed upon the first click, but Mobile Safari does not allow any media to autoplay. 1.1.5 now checks for the useragent (yeah, I know) and immediately adds a normal YouTube embed instead of the Lyte one if that useragent contains the strings iPhone, iPad or iPod.
So there you have it, only one click to hear and see this great “Here we go Magic“-clip  on your iPad.

Here We Go Magic - "How Do I Know"

Neat huh? 😉

Extreme battery drain on Galaxy SII

[Update: Firefox Sync does not drain my battery any more, but I’ve had similar experiences with Exchange Sync and Soundcloud. My latest discovery is Juice Defender, my battery now lasts between 36 and 48 hours!]
From May 29th until yesterday I was experiencing unacceptable high battery drain on my Samsung Galaxy S II with Ice Cream Samsung. Instead of the normal 24-36 hours, my phone only lasted for 5-7 hours. According to the battery stats, “Android OS” was responsible for up to 80% of total power consumption, where one normally would expect the “Screen” to be the biggest consumer. CPUSpy showed that my phone only rarely entered “Deep Sleep”. The problem only disappeared when I disabled “Data” entirely, not when just disabling “Synchronization”.
Based on information in this issue on the Android-bugtracker, I wasn’t the only one to experience this problem. There seemed to be multiple solutions which worked for some but not for others. Apparently “Android OS” was just the poor sucker to get the blame, while in fact other applications can keep your phone awake.
If you ever experience a similar problem, here’s how I finally stopped the battery drain: I uninstalled a number of applications and checked battery usage. If the discharging continued at the same rate, I re-installed the application and went for the next bunch. And just before uninstalling my beloved Firefox Mobile, I deactivated Firefox Sync, which I (only then) noticed was trying to sync continuously. Ouch! I removed Firefox Sync from the Synchronization services and battery life is back to normal since. One of these days I’ll re-enable Firefox Sync to see if the problem returns. If it does, I guess I’ll have to dive into ADB for debugging info and report back to Bugzilla? Good times!

Firefox Mobile Beta: native UI at last!

The wait is finally over, no need to go through the daily Aurora upgrade process any more; Firefox Mobile 14 beta (available in the Google Play store) is out with all the improvements that were in the Aurora builds.
The main differences with the previous (non-Aurora) versions: Firefox on Android doesn’t use XUL (the Mozilla cross platform UI toolkit) any more, but switched to native Android UI elements. This (and other less visible changes) results in faster startup time, lower memory usage and better overall performance. There’s Flash in it as well, but with ‘tap to play’ option so the impact, I’m happy to report, is pretty limited. And the start-page is pretty nifty, with “Top Sites”, “Tabs from last time” and “Tabs on other computers” on one nice screen.
I must admit I was slightly worried at first, as I couldn’t get Sync to work at all (“could not connect to server” and similar error messages), but after uninstalling Aurora, Firefox Mobile Beta can sync just fine. All in all Firefox Mobile is an even greater browser than it was before.

Making do with Windows Phone, loving Metro

Every now and again you should go out of your comfort zone to get a new perspective on things. Or so they say. I love my comfort zone, it took me 43 years to build the damned thing after all, so please leave me be, will you?
But things break and in this particular case the screen of my trusty old Samsung Galaxy S2 went dark, literally. I brought the phone in for repairs and grabbed the only test-device left at work as a temporary replacement. It was a Samsung Omnia 7 with Windows Phone 7. Now look at this little droid-boy getting pushed out of his comfort zone!
I’ve been using it for 5 days now, so why not make a small list of what sucks and what’s great? Here goes:
What sucks:

  • The browser. It’s not I can’t live without Firefox Mobile, but boy does Mobile IE7 suck.
  • No Internet connection sharing (not over USB, not over Bluetooth, not over WiFi)
  • The fact that the phone doesn’t present itself as a USB storage device when I connect it over USB with my Ubuntu netbook
  • The lack of an SD card slot
  • I can’t login with my Live ID (my ancient Hotmail address) on my phone (but it does work in Zune), which means I can’t install applications from the Marketplace (I’m asked to call support! Seriously?)
  • The fact that after installing Zune on my work PC and then waiting until I got home because Zune doesn’t do proxies, I still wasn’t able to upgrade to Windows Phone 7.5 (which does have Internet connection sharing and a more decent browser)
  • There’s no way to reliably fetch information from the Exchange servers at work. Every once in a while mail gets downloaded, but in general there’s error code 8501001D ruining my Exchange experience

What’s great? Just one bullet point actually;

  • The UI!

Really, despite my grievances about how poorly the device integrates with the outside world, my general feeling about Windows Phone is positive, and that is because Metro really is that great! The screens are sober, with lots of space and a prominent place for content (text & typography). Applications scroll horizontally to display different views and it’s the typography that makes this pretty discoverable. The graphics effects and sound add to the great responsive “feel” of the UI. And tiles are a radical break form the icon-based approach that is typical of iOS (and Android, classic Mac OS, Windows 3.11 and …), you could compare them to widgets (as seen on Android), but without the anarchy and clutter.
So yeah, really, I Metro! I hope Google (Android), Mozilla (b2g) and Ubuntu (Unity) take clues from what is, in my view, a pretty radical break in graphical user interface design, because I would love the computing environments in my comfort zone to be more about content and less about chrome as well!

Mobile browsers: Opera Mobile 12 shines in html5test

Look at Opera Mobile 12 stealing Chrome Mobile’s & Firefox Mobile’s thunder:

And while there’s more to browsers then just HTML5-support, Opera Mobile 12 also seems to offer greater support for modern web technology features than IE9.

To be honest, Opera Mobile 12 doesn’t shine in the JavaScript performance benchmarks (2843,6ms for Sunspider, 463 on the Google V8 test, both of  which at least Firefox Mobile does a better job at), but with the upcoming Firefox Mobile 12 and the (Android 4-only) Chrome Mobile beta the mobile browser “wars” have certainly shifted into a -much- higher gear. Let’s hope Microsoft (and Apple, but Safari Mobile isn’t too far behind yet) follows suit.

While waiting for Firefox Mobile 11

I’m on the beta-release channel for both my desktop and mobile Firefox and my desktop has been running version 11 (with SPDY) for over a week now, but there hasn’t been an update for Firefox Mobile Beta in the Android Market yet. Apparently the Mozillians are working hard to finish the complete overhaul of the front-end, which integrates with Android UI (instead of using Mozilla’s own XUL) and services (synchronization in particular).
As I’m an impatient guy, I installed the Aurora version of Firefox Mobile, which is already at version 12 and that runs surprisingly well. Firefox Mobile already had the best HTML5-support and superior JavaScript-performance, but the new version (be it 11 or 12) adds a lower memory footprint and (much) faster start-up-time to that (and it has Flash, which I don’t care for really).
Mozilla is doing a great job in the mobile space, with the browser, but also with WebAPI and B2G. No, I don’t think I’ll switch to Chrome Mobile any time soon.

Chrome for Android finally arrives

Just in from Google Mobile Blog: Chrome for Android is out in beta for ICS (Android 4) devices. I won’t bore you with the marketing video, but this “Under the hood” video is a lot more interesting:

Chrome for Android Beta: Under the Hood

Looks like the superb Firefox for Android is (finally) getting some competition. I guess it really is time to upgrade my Galaxy SII to the recently leaked ICS rom!

Firefox Mobile: the best mobile browser no-one uses

I’ve always enjoyed riding the Firefox-bandwagon and that hasn’t changed, even though Google Chrome seems to be the browser of choice amongst the cool kids nowadays. And if only because I’m a faithful guy, I’ve been running Firefox Mobile ever since I bought a Samsung Galaxy SII as well. Sure it doesn’t do Flash, but I’m not that Flash-inclined anyway.
Now, I haven’t met too many people that use Firefox Mobile and indeed when reading about mobile browsers, Firefox is rarely if ever mentioned. But what if I told you that Firefox Mobile is by far the best browser on mobile when taking performance, features and security into consideration?
I won’t beat around the bush, here’s the pretty objective data.

browserhardwareSunspiderv8 benchm.html5test score
Firefox Mobile 9bSamsung Galaxy SII1421.9ms832314
Android 2.3 browserSamsung Galaxy SII3454.4ms369177
Android 4 browserGoogle Galaxy Nexus1983ms1387230
Mobile SafariiPhone 4s2260.9ms368296
Opera Mobile 11.5Samsung Galaxy SII1699.9ms461285
Dolphin HD 7.2Samsung Galaxy sII3593.4ms318177

Some remarks:

  • the hardware is pretty comparable; all dual-core CPU’s and plenty of RAM.
  • higher is better, except for Sunspider which measures time (in microseconds).
  • I’ve got no screenshot or URL of the google v8 test results on my phone, but I’ll be glad to reproduce.
  • sunspider and v8 are javascript performance benchmarks.
  • html5test is an indication for support of “modern” browser features (html5, css3 and much more).
  • the features of the browser GUI arent’t measured byhtml5test, but I’m pretty pleased with Firefox Mobile in that respect as well; great tabbed browsing, plugins (including noscript!), sync-ing of all relevant data between desktops & mobile, …
  • I added Opera Mobile and Dolphin HD to the list. Opera’s not too shabby but not a winner either?

And last but not least; as Firefox Mobile isn’t native and since it’s on the same (crazy) rapid release cycle as the desktop-version, I consider it to be a lot more secure when compared to the slow evolving, rarely updated native browsers in Android and iOS.
My advice; if you’re an Android-user and you’ve got a recent handset or tablet, you really should consider switching to Firefox Mobile. It’s the best mobile browser no-one is using! Except for you?