Vladimir Vukićević — Words
 

Archive Page 5



I just checked in a patch from Mark that renames WebGL’s Canvas*Array objects to be WebGL*Array, to match the current state of the spec.  The APIs remain the same, so it should be a matter of search-and-replace to update.  Should show up in tomorrow’s nightly builds of Firefox.

WebGL Goes Mobile

One of the goals of WebGL was always to enable the functionality on both desktop and mobile devices.  This is one of the reasons why OpenGL ES 2.0 was chosen as a starting point for the capabilities exposed by the spec.

We’ve had support for WebGL in Firefox desktop nightlies for a few weeks now, but soon I hope to have it enabled on Firefox for mobile devices (code name Fennec) as well.  Jay demonstrated some simple demos working on Nokia’s N900 at the ARM techcon3 today a few weeks ago (took a while to get the video done!), and I’ve grabbed a quick video showing things in action.

This should be showing up in Firefox for mobile devices nightly builds, so we’ll see some more interesting things running on phones soon!

More Android Hackery

Just a heads up; I’ve started a wiki page on the Android port.  Day-to-day details can still be found on the status board, but the wiki page should remain a current landing spot.  Sadly, we’re not yet at a point where there are neat screenshots to show, but soon!

Today’s Android hacking notes

Bionic doesn’t support dlopen(NULL, …) to get access to a handle to the currently running program.  In fact, it really doesn’t support it, and crashes should you try to do that perfectly normal thing.  Should you really need that, though, you can potentially hack it as seen here.  I ended up not needing to do this, but it’s there should we need it in the future.

Also, to get all the happy debugging symbols, you can set gdb’s solib-search-path to the symbol-rich versions of the binaries built as part of an android build, at source/out/target/product/generic/symbols/system/lib:source/out/target/product/generic/symbols/system/bin .. this will let you debug all the way from initial program entry in the linker down into whatever libraries you call.  If you don’t have symbols, gdb will often lie about $pc when using gdbservers.

Following Firefox Android Work

Just a heads up — I’ll be using bsmedberg’s Status Board to push updates about the Android porting work; as other people get involved, you should see their updates there as well.

Droid Almost Does

I purchased a Droid when they came out.  It’s my first Android device, and it’s been an interesting experience.  I am not a fan of the iPhone, and I’ve been using a Blackberry for the past few years (an 8700 first, then the original Curve, then the updated 8900).   The Droid is a great looking device; I like the industrial look, with my only complaint being that the big gold-coloured area on the D-pad is way too garish; it would also have been nice had that area been a trackpad-like virtual trackball.  The keyboard leaves a lot to be desired, though.  It’s a physical keyboard, which is nice, but it’s no match for a Blackberry keyboard.  Typing on it is slow and cumbersome, given the very wide layout, and some keys are very oddly placed.  (I found it amusing that while the Blackberry has a dedicated unshifted key for “$”, the Droid has a dedicated key for “?”…)

The feel of the OS is pretty nice, although some things are more sluggish than they really should be on an OMAP3 device.  Stuart keeps telling me that Fennec has smoother panning in the browser, and I think he’s right.  It’s not a deal breaker though; I find myself using the browser a lot to do all sorts of things that I never would have considered on my Blackberry (because, wow, the web browser situation there is awful), but that was a frustrating experience on my iPod Touch as well.  I’ve spent a while “browsing the web” on my phone, which I’ve never been able to say I’ve done before.

But, it’s still a phone, and while the voice portion isn’t all that important to me, the overall communication package is.  Coming from a Blackberry, the overall messaging situation on the Droid is simply horrible.  Email, whether Exchange or IMAP, is a disaster.  The email client seems designed for simple “lol r u there” type of messages, and even the message lists don’t seem intended for people who get more than 5 messages a day — turning a message list into landscape mode is worthless as you only get to see about 3-4 messages in the list (same view as in portrait mode, just along the much smaller axis of the display), no IMAP IDLE support etc. are all very strange on a top-end phone.  Exchange support works ok for Calendar sync, but for email sync it would only download the first 1000 bytes or so of a message, including headers; this meant that I often only got to see the first sentence or two of an email.  I don’t know whether this is a problem with the Droid or our Zimbra Exchange connector, but switching to IMAP for work mail fixed that problem.

An recently-released version of the open-source K9 Email Client that works on the Droid resolves many of these issues, though it needs some polish.  I might write some code there, since it’s close to becoming a pretty good email solution.

The Gtalk client is probably in worse shape than email.  It’s almost as if Google entirely ignored Gtalk on this device (and I can’t believe that would be Verizon’s fault, since things like Google Voice work just fine).  First, it’s in general buggy — it’s crashed on me multiple times, often freezes when returning to it from another app (after clicking a link to the browser, for example), and often shows contacts as offline with a big red message despite the contact clearly having a green dot next to their name and responding to my messages.

In the browser and in other apps, you can share a web page with someone using a “Share with” button.  The list you’re presented is conspicuously missing Gtalk, despite having Facebook, Email, Messaging (SMS) and a random Twitter client I installed on there.  What gives?  All of these features are available on the Blackberry; I’m not sure if it was RIM that did the Gtalk app there, but can we get whoever it was to rewrite the Android one?

One of the best things about the Blackberry is the unified messaging; there’s a single view where I can go to see all my emails, my gtalk conversations, my SMS messages, app updates, and whatever else.  No such thing exists on Android.  The closest thing is the notification bar, which requires a swipe down to use, and then only shows things that have come in since the last time you looked.  I’d prefer a more time-based list that contains both old and unread items.  Sounds like the Sony-Ericsson X10 might be doing some interesting things there, and I hope that someone figures out how to create an app like this.  What it comes down to is that anything to do with communication is faster and simpler on my Blackberry, which is really strange; you’d think Google would have spent some time working this out, as everything else about the device is far superior to my 8900.  I understand that more “enterprise oriented” customers (which apparently means those that like to use email a lot?) aren’t necessarily the target market here, but they could’ve really attacked that market with some simple work that wouldn’t have affected anything else.

The good news is that all of these are fairly straightforward software issues.  The hardware is solid, and Google has shown that they’ll do frequent upgrades of the OS.  Given that the Droid is a “Google Experience” device, those updates should find their way to the device quickly.  Some fixes, combined with getting Firefox Mobile on the Droid and other Android devices, will make this a great phone.