Quick hack: making Journalist slightly more responsive

I’ve been using the Journalist WordPress theme ever since I migrated to my self-hosted wordpress.org instance, away from wordpress.com back in 2007. The Journalist is a pretty basic theme, 2 columns and fixed width. The last version on wordpress.org dates from mid 2008, but the developer did work on support for threaded comments and sent me a beta-version (1.9.1) in January 2009 which I currently use. A couple of months later, after having been stalked by yours truly for info on further development, Lucian replied he was busy with other projects and that he could not do too much “free” work any more (which is completely understandable). Ever since, I’ve been making small changes left and right, fixing minor bugs and making small improvements.
But the problem with fixed width themes such as Journalist; they’re not responsive. Although responsive design is great and all, I didn’t really bother with it until I needed some responsiveness to be able to test upcoming changes to my own WordPress plugin. And that’s why I added the following in /wp-content/themes/journalist/style.css:

@media only screen and (max-width: 880px), only screen and (max-device-width: 880px) {
  #container, #content { width: 98%; }
  #sidebar { display: none; }
  #bubble { background: none; height: 32px; margin-top: -24px; position: static; }
  #bubble p { background: none; color: #000000; font-size: 14px; }
}

This is just a quick hack, making the main content div variable in width, hiding the sidebar and moving the tagline from the bubble on the right to the left, underneath the site title for all screens with a width of 880px or less.
Feel free to use and to provide improvements in the comments or via the contact-form! And Lucian, if you happen to read this: any chance anyone could resume work on the Journalist?

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!