The Dude Does Not Abide (Long-standing Bugs)

We're all people. I acknowledge that. Nobody likes getting yelled at. So I apologize in advance for what I'm about to do. I don't mean to hurt anyone's feelings, but if nobody speaks up, we can never expect change.

I used to think that my personal Hell was getting stuck head-first in a small space and not being able to squeeze back out (claustrophobia like woah)... Today I'm officially changing my personal Hell to long-standing bugs that affect a significant number of people and get little-to-no response, resolution, or worst of all, communication on what's taking so long.

I'm looking at you, Phonegap Build.

I would rather get stuck in a tiny space than continue to put up with your bugs and lack of communication on their resolution status.

The worst part is that I fucking LOVE Phonegap Build. Independent manual builds for multiple platforms suuuuuuuuuuucks, so this service was begging to be built from day 1. The often-buggy or for-some-reason-offline debugger (weinre) is pretty sweet, too... when it works. If you were to start charging for the service, my company would be first in line with our checkbook open, fervently clicking our pen over and over until you named a price and told us to whom we should make the check payable.

But for fuck's sake, it's been nearly a year since it was reported that you're building android apps with the wrong icon in place for XHDPI (highest-resolution, aka best-screen) devices, and it's just a matter of copying the correct file into a folder before you compile the damn APK. It's so rudimentary that I've managed to write a tool that completely automates the fix including repackaging, re-signing, and re-zipaligning. If it's just a matter of copying the correct file into a folder, why hasn't it been fixed? And if the issue is not that simple, why aren't you communicating that to us? The icon is a pretty damn important part of an app, Android has the highest market share, and XHDPI devices are getting more and more popular every day.

It was 9 months ago (August 2012) the last time Adobe commented at all on the issue, and that comment claimed that the bug should be fixed. The slew of comments since then says otherwise. What... the... actual... fuck?

Moving on...

I've reported over and over that linking to external sites in a way that opens the device's native browser, rather than taking over the Phonegap Webview, does not work as documented, or at all, for that matter. I first reported the issue on April 5th, 2012 -- more than a year ago.

I've got an app that I just upgraded from Phonegap version 1.5 to version 2.5, recompiled by Phonegap Build, and here's how external links work:

  • iOS
    • do abso-fucking-lutely nothing
  • Android
    • open the link in the Phonegap Webview

And yes, I've tried every possible permutation of white-listing the domains (search for "<access", since they don't expose any deep-linkable ID's... fail, fail, fail, fail...). There's also this user-proposed "navigator.app.loadURL" solution, but for some god-forsaken reason, Phonegap doesn't support the "navigator.app" object (at all!) on iOS -- it's Android only, by design. (Way to provide a consistent API across devices there, guys...)

Considering the number of links that modern apps generally want to open, this is a big fucking deal.

There's good news for this issue, too, though. According to the Phonegap 2.7 documentation (note that at the time of writing, the latest Phonegap version supported by Phonegap Build is 2.5.0), a new syntax will be available for opening links using the ChildBrowser plugin and the device-native browser:

window.open('http://google.com', '_blank'); //childBrowser plugin
window.open('http://google.com', '_system'); //device-native browser

That's great and all, but we don't have 2.7 support on Build yet. On a whim, I tried both syntaxes on my Phonegap 2.5-based app built with Phonegap Build -- and it works... mostly.

window.open('http://google.com', '_blank'); //childBrowser

This syntax should open the childBrowser plugin, and as far as I can tell it seems like that might be what it's doing, but the top of it is getting cut off -- I can only see a few pixels along the bottom of the url bar and buttons, so it's kind of a guess. Whether or not it's trying to load the childBrowser plugin for this, it's not working properly.

window.open('http://google.com', '_system'); //device-native browser

Almost as if by magic, this seems to work. I couldn't believe my eyes. I took a closer look at the Phonegap 2.5 documentation and wouldn't you know it? It's documented.

Why haven't they been communicating this to us in the bug reports? I never saw it before today because I had been trying to avoid the ChildBrowser if possible. Only by giving up did I find the answer. Fail, fail, fail, fail, fail.

I can live with bugs. I have plenty in my own projects. I do not accept bugs + a year without resolution + no communication. This is stupid, and not in a good way.

Again, I don't want to hurt anyone's feelings. I'm not trying to get anyone fired. What I am trying to do is get you (Adobe) to communicate more effectively. Reply on bug reports (more than once a year, please), and if fixes are not what we expect then let us know it's going to take some time. When you shrink away into the shadows, it makes us feel neglected and abandoned, and that does nobody any good.

Published 2013-05-09 @ 10:14 in No Responses Yet

Extracurricular Baseball BOF at cf.Objective() 2013

Hat tip to Jim Fasoline for the idea!

I'm going to be staying an extra night after cf.Objective() this year (Saturday night, the 18th), and thought it would be fun to get a group together to go to the Twins vs. Red Sox game. I picked Saturday because I don't want to miss the BOF night or the Lightning Talks -- and I would recommend you not skip them either. They're always a good time!

Since the game is at 6:10 on Saturday night, we'll meet up immediately following the conference closing remarks, and head straight over to the stadium.

If you want to go, I suggest you buy tickets now! Yesterday the cheapest available tickets were $18, and today it looks like they're $22 and up. Don't really sweat where your seat is; I think the plan is to spend the majority of our time in Standing Room areas, and walking around to check out the stadium and the selection of local craft beers.

I have it on good authority from a local that we can expect basically door-to-door service from the light rail, and the ride should take just under an hour (which is why we'll meet immediately following the closing remarks).

So again, if you're interested, buy your tickets now and leave a comment here so we can stay in touch to keep organized. So far we have myself and my fellow speaker Carol Hamilton as confirmed going... who else is going to join us?

Published 2013-04-26 @ 02:34 in 12 Responses cf.Objective()

cf.Objective() Lightning Talks are in danger!

This morning Tim Cunningham, this year's overlord of all things cf.Objective(), tweeted that we're far short of the minimum number of Lightning Talk proposals to make them worth hosting. As I write this, there are only 3 proposals. I'll be submitting one myself after I publish this post, but that doesn't even get us to the half-way point.

Personally I think that the Lightning Talks are one of the most fun events at cf.Objective(). Short, usually funny and/or interesting presentations, and everyone has already gone out for dinner (and usually a few drinks) so everyone's in a great mood. The atmosphere in the room is electric.

Some of the more memorable topics from the last few years have ranged from Beer (homebrewing), to Adoption, to Ben Nadel's epic Love Story, to what amounted to a job posting (showing off some of the fun stuff that the position offered). So clearly you don't have to talk about anything technical -- but you can. That's the beauty of it. You talk about whatever you're passionate about -- it's totally open ended.

But if we don't get at least 6 more proposals this year -- by tomorrow, Tuesday the 16th -- they won't happen at all this year. Do you want that to happen? You don't want that to happen.

So propose something. Or if you've got nothing to talk about, prod your favorite presenter or interesting person to get them to submit something!

Published 2013-04-15 @ 09:46 in 3 Responses cf.Objective()

Can you draw in a Dr. Seuss style? I need your help!

I have a Lightning Talk concept that I'd like to do at this year's cf.Objective(), but in order to really pull it off I'm going to need someone with a modicum of drawing skills (of which I have none) who would be willing to draw up a few illustrations for my slides -- in the art style of Dr. Seuss.

If you're not familiar with Lightning Talks, they are based on the popular but copyrighted "Pecha Kucha" (pronounced "pi-chach-ka") presentation style, where you get 20 slides each automatically advanced after 20 seconds, for a total presentation time of almost 7 minutes. So at most I'll need 20 drawings, but possibly less. Also, they need not be highly refined or even in color. I'd be thrilled just to get some sketches in pen that have been scanned.

Considering it's a 7 minute presentation that I might be lucky to give twice, I don't have a lot of money to spend on it... but I would be willing to barter for some of my time programming, if that's something you'd be interested in.

Please get in touch via my contact form if you're interested!

Published 2013-04-12 @ 11:45 in No Responses Yet Off Topic




Playing Games to Save Kids Lives
+