See ya later, LATER

There was a question on wikitech-l about bugs resolved LATER and what to do with them. As part of my review time today I went through a bunch of them to see if that was further action; a number of other folks participated via IRC.

Between things that could be reopened cleanly (sometimes with new dependencies) or closed out as already-fixed, WONTFIX, or INVALID, we took it down at least from 324 LATERs to about 250. Nice!

Also poked some miscellaneous bugs and a couple code review bits.

Gave some internal feedback on a test fundraising banner.

Hopefully helped some guy in Spanish on IRC with his group permission question, but might have just confused him further. We’ll see. :)


Spare time spent tonight on further work on BugTender:

  • basic cleanup to search screen
  • ability to select a set of resolutions (‘open’, ‘fixed’, or ‘other’ pseudo-states covering several resos each)
  • can sort bug list by id, creation date, last mod date, prio, resolution. prio & reso are alpha order. Dates may not work in some browsers.
  • URL and bug links in comment text — bug links open the bug in the app, URLs open in separate window/tab

Yay productivity


  • review & feedback for MaxSem’s API Sandbox extension
  • a few misc bits of review & bug trackery
  • did some more research & testing on high-density displays (iPod Touch w/ Retina Display, fake HiDPI mode on my Mac)
  • Gave Patrick some feedback on finding some login-related stuff
  • Finally got rid of the horrid extra math rendering options (for 1.19 track)
  • Found out how Blahtex gets its baseline information from dvipng, planning adding that to texvc / Math extension
  • Looked into doing double-density math renderings for high-res displays, was diverted back to more future-friendly MathJax for density-independent client-side rendering \o/
  • Prepping some notes for RFC page & bug updates about MathJax
  • Hoping to get more feedback from folks with experience with this tool

If daily updates like this are super uninteresting to people, or vice-versa, let me know as well. :)

Introducing BugTender: mobile Bugzilla frontend

I’ve been looking for a good solution to catching up on bug reports on my morning commute. The regular Bugzilla user interface doesn’t scale down well to mobile, and using the regular web interface is too flaky when connectivity goes in and out.

Enter BugTender: a preliminary HTML web app with a mobile-friendly interface to browse (and later, comment on & triage) your bugs.

Using HTML and jQuery Mobile lets the app run on multiple platforms and browsers — it won’t be tied to just WebKit, and works in a regular desktop browser as well. Wrapping that in PhoneGap for a ‘native app’ will allow further integration, such as access to the camera and photo gallery on iOS and older versions of Android — think uploading screenshots straight from your phone about problems in the browser!

Anyway, that’s how I spent chunks of my Thanksgiving weekend… more to come. :)


Amazon Kindle Fire notes

Driven by curiosity, I went ahead and preordered an Amazon Kindle Fire tablet, which I’ve been using off and on for the last week.

Wiki-specific notes:

  • Wikipedia (regular site) is on the default bookmarks, and displays nicely in the Silk browser (though the fundraising banners don’t quite fit in portrait layout!)
  • Our in-progress Android app mostly runs fine, though the small-screen layout feels slightly wrong on this 7″ screen. Will benefit from a more tab-oriented interface that can use sidebars or such. ‘Near me’ geo search doesn’t work, as it relies on Google Maps APIs that aren’t present on this device.

I’ll leave super review details for dedicated reviewers, but here’s a few notes from me:

  • customized UI mostly looks fairly polished, but has a few rough edges
  • performance is middling. reading, web, video playback are acceptable enough. Some audio skipping when playing & downloading music simultaneously (boo!).
  • battery life seems acceptable enough (not thoroughly tested, just using it intermittently)
  • A few parts of the UI are actually very smoothly animated, such as the ‘cover flow’-like bookshelf on the home screen — however it’s not synchronized to vertical refresh, and there’s visible tearing. Points for near-60fps animation, but points off for the tearing.
  • Silk browser seems pretty much like the stock Android browser with tabs. Disabling the server-assisted acceleration is easy in prefs.
  • Kindle book reader looks and behaves pretty much like the stock Android Kindle app but with some customized menus. It also can view comics/graphic novels which don’t appear to be available on Android/iPhone/Cloud Reader yet. :(
  • Built-in store stuff looks & works well; nicely designed to funnel all your money into Amazon. ;) They gave me a “free month” of Amazon Prime subscription, designed to get me used to streaming video, but I’ve already got Netflix, Apple, Comcast, and who knows what else available so who cares.
  • Since the Fire lacks hardware back/home/menu buttons, it has a software toolbar which displays these, similar to the software buttons in Android 3 & 4. Unfortunately it’s poorly laid out, centering most of the buttons so they’re hard to reach with your thumbs while holding the device.
  • Firefox runs, but isn’t yet available in the Amazon app store and the main download links herd you to the Android Market which isn’t there. There are manual download links which work though.
  • the onscreen keyboard is very comfortable in portrait mode when holding the tablet with two hands; I can type with the thumbs, and it’s easier than on a tiny phone. In landscape mode however the keys are too widely stretched to reach the middle comfortably.

On the software freedom front: the Fire actually fares better than I expected. Like most Android devices it defaults to allowing only apps from ‘known sources’ to install (in this case, the Amazon App Store) but this can be flipped easily in preferences, and you can install .apk packages from direct download or USB transfer.

Hooking up to a computer for debugging over USB works but requires some tweaks to get the Android SDK to recognize it. This is the only way to do screenshots, since self-hosted screenshots weren’t added until Android 4.0 (grrrr! my fave little feature from iOS since the 2007 iPhone release).

As a practical matter, lack of access to Google’s Android Market is inconvenient; even many free apps haven’t set themselves up on the Amazon store and don’t offer direct downloads. Additional alternate app installers can be used as well though, such as F-Droid or the various custom markets folks have been using in some areas.


Canvas game tweaks

A few weeks ago I threw together a quick demo HTML canvas game ‘FlatRoller’; I’ve updated it this weekend to add a few things:

  • touch controls now work on IE 10 in Windows 8 Developer Preview on a multitouch device. Microsoft is adding yet another touch event model alongside the classic mouse & iOS-style touch events. Urgh!
  • full window is now used for the canvas; the directions and touch controls overlay it
  • visual feedback on the touch controls
  • the directions switch from showing ‘left/right’ to showing ‘jump’ as appropriate when another touch would trigger jump

It’s a little sluggish on my first-gen iPad, but runs very nice in Metro IE 10 on my Dell Inspiron Duo tablet/notebook convertible. Yay!


I’ve also tried it out on my Android phone (Nexus One) and tablet (Kindle Fire), both running Android 2.3. Unfortunately both run pretty slow in both the stock browsers and Firefox, and only appear to pick up a single finger’s worth of touch events so the jump control doesn’t work.

Find source on github or play the game in browser.


Android USB debugging and screenshots on Amazon Kindle Fire

Got your shiny new Amazon Kindle Fire tablet in the mail today? Desperate to check out rendering & app compatibility issues but taking “screen shots” with your cameraphone is getting old?

  1. Enable third-party app installation in settings
  2. Tweak your ~/.android/adb_usb.ini to include an entry for Labs 126’s USB ID (0x1949)
  3. If necessary (eg on Linux) tweak permissions for the device again using the hex ID 1949
  4. adb kill-server

Plug the Kindle Fire in to your computer with any micro-USB cable, and ‘adb’ and ‘ddms’ etc will work. Yay!

Note that screenshots taken from ddms appear to come out in landscape orientation, regardless of the actual orientation of the device.

Already noticed some layout issues with some of Wikimedia’s fundraising banners in the browser. :)

Ubuntu 11.10 and GNOME Shell, sitting in a tree

Since updating to Ubuntu 11.10 I’ve been using the GNOME Shell environment on my primary dev workstation. Its dual-monitor behavior seems odd at first — the second screen is sort of like an “extra” workspace that doesn’t switch with your virtual desktops.

But I’m making it work for me by keeping common apps like chat & terminal on the second screen and using the first as a switchable virtual workspace, which tends to jump around between:

  • NetBeans for PHP & JavaScript development
  • Eclipse for Android development
  • VirtualBox for testing things on Windows or IE
  • Gimp for image editing
  • whatever else

If Ubuntu’s Unity is driving you nuts with its funky hidden menu bar and stuff but you kinda like the magic ‘type something and it starts’, give GNOME Shell a try for a few days. You might actually like it!

apt-get install gnome-shell

then log out, and pick GNOME from the desktop options when logging back in.