For those of you who will be coming to our group outing to the Twins vs. Red Sox baseball game on Saturday evening, here's what you need to know logistically.
We'll congregate on the 2nd floor near the bridge into the mall, after the conference closing remarks, and plan to catch the 5:12 train -- that should leave plenty of time to use the restroom and drop things (e.g. your laptop) off back in your hotel room before we leave. You won't be able to bring any food or drinks into the ballpark, so don't plan on bringing them with you. Please try to meet at the rally point by 5:00. Don't forget your ticket!
The train station is just a short walk across the sky-bridge and through the mall:

You should probably also plan to eat dinner at the ballpark -- game duration can be a bit unpredictable but you should expect at least 3 hours (plus a ~45 minute ride back).
The forecast is currently calling for (potentially) some light rain, and temperatures in the upper 70's & low 80's (that's F... 24-27 C for you Brits). Personally I'll probably just plan on getting a little bit wet. A little water never hurt anyone! If you didn't pack any rain gear and you're so inclined, I'm sure there are places in the mall that would be happy to sell you a poncho or rain coat. The stadium should also be selling ponchos, but supply may be limited and you can expect them to overcharge.
In order to streamline the train-catching process, please try to take a few minutes to run down to the train station tonight or tomorrow and purchase your light rail tickets. We're going from Mall of America Station to Target Field Station (and back again), and each leg of the trip should cost USD $1.75.
Enjoy the rest of the conference, and if I don't bump into you before Saturday afternoon, I'll see you then!
Published 2013-05-17 @ 05:23 PM in
No Responses Yet
cf.Objective()
One of the most common complaints I hear about Taffy is that it requires that you extend its base class in your Application.cfc...
component extends="taffy.core.api" {}
Sometimes you don't want to do this. Maybe you have another base class you're using, or you just don't want to. Whatever your reasons, it's a dealbreaker.
Talking with Chris Phillips at cf.Objective() today, I had an epiphany that it should be possible to get Taffy running without extending taffy.core.api from your Application.cfc. The only reason it's been a requirement thus far was to automatically bootstrap in Taffy's handling of the onApplicationStart, onRequestStart, and onRequest events.
But if you're willing to wire those up manually, you can write your Application.cfc any way you like as long as -- at some point -- you hand off the request to the appropriate Taffy method. Here's an Application.cfc that uses Taffy as an internal object without using extends in Application.cfc:
component {
function onApplicationStart(){
application.taffy = createObject('taffy.core.api');
application.taffy.onApplicationStart();
}
function onRequestStart(thePage){
application.taffy.onRequestStart( arguments.thePage );
}
function onRequest(thePage){
application.taffy.onRequest( arguments.thePage );
}
}
You can put whatever you want before and after those calls that defer to Taffy's internal implementations (e.g. the rest of your application), and it should still work exactly as described in the documentation -- variables.framework would still be used, etc -- but I haven't tested this extensively yet.
Just a little tidbit that I thought some of you may be interested to hear.
Published 2013-05-17 @ 04:06 PM in
No Responses Yet
Taffy
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 AM in
No Responses Yet
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 PM in
12 Responses
cf.Objective()