January 18, 2008

Insurance Companies Have Bad Web Applications

Filed under: Uncategorized — Tags: , , , , — Jackson @ 8:20 am

How much more blunt could I be about it? Nothing shakes a person’s confidence like being on the seventieth screen of a web application where some of your most sensitive personal information has been entered and seeing that you can’t agree to the terms and conditions because the classic ASP application crapped out and couldn’t generate a submit button for you.

I actually thought this was a probably held exclusively by BlueCross/BlueShield–whose websites by the way are absolutely mare’s nests–but I’m dismayed to find that Humana, who I’ve chosen as my carrier suffers from the same woes. As I’m writing these lines I’m waiting for the “My Messages” screen to load. A whopping 24 second load time for a screen that looks a lot like this:

My Humana’s Breath-Taking Message Screen

(click to view larger)

If you do click the link, make sure you check out the sweet 1px horizontal scrollbar, which sticks around even when the window is stretched out to 1680×1050.

The bank I prefer has amazing web applications, great security, and has never once thrown an exception generating basic UI elements. They also take a lot less of my money than my insurance company. Humana, you lured me in with cross-browser support on your main site (they really did, that is the actual reason I chose them over BlueCross/BlueShield), but you have since shaken my confidence with your ASP errors and User Interface neglect. Shame on you and the precedent you maintain with such a crumby application.

January 15, 2008

At The Post Office: The Equalizing Nature of Parcel Expedition

Filed under: Where's Jackson — Jackson @ 2:34 pm

When I stepped up to the door to my place today on my way back in from Echo I was greeted by a package slip from the United States Postal Service letting me know that while I had missed the postal worker, I could pick up the package or have my agent pick up the package. Seeing as how I didn’t have any sentient agents handy (though I do keep a selection of cleaning agents), I decided to make the trip to the post office immediately. After all, the package they held for me was a very important one.

Before I go on, I’d like for you as the reader to evaluate the use of the word “agent” as they have it. I mean, sure, in grandiose speeches and literature someone might be the agent of peace or an agent of evil, but an agent of a previously absent package recipient? Why not, “You or someone you choose may pick up your package?” Not that I would made employing someone as an agent of my will, retrieving for me those things which my burdensome life prevents me from retrieving for myself. Maybe the technical writer who wrote that blurb knew that someone somewhere would see the literary genius behind its use.

Back on the topic however, I left my place again and drove the short way to the post office. To my interest, I parked between a beaten up Mustang and a newer model Porsche Carrera 4S. The rest of the parking lot filled the gaps between the $2,000 Mustang and the $80,000 Porsche, but I found it odd to note that all the cars were in the same place at the same time. Where else but the post office would you find such a mix of people brought together to take part in the same kind of business?

As I entered the clerked area inside, I found myself in line with a guy in his late teens sporting dyed black hair, very tight pants, and a large box to be sent. In front of him a massive woman was waiting with her child, assumably to pick up a package. At the front of the line a handsome (if balding) late-40-something guy stood wearing pressed slacks and a sport jacket. I can only assume that he was the Porsche driver–he had the right air of money, frustrated vanity, and middle-crisis eligibility.

The clerks were equally heterogeneous. The man who took my card and got my package for me was in his early forties at least and was built like a weight lifter, but seemed to me obviously gay. To his left, a female clerk was speaking very green English riddled with slang and subject-verb mashups that only sound natural when spoken by a true Southerner. Her hair was long, wavy, and generally unkempt. To my eye, she had the ring of one who found her identity in the 80s and never reevaluated. At the last counter, I spied a tall, dark-skinned man in a nice suit passing envelopes back with a woman wearing a well-puffed Victoria Beckham do (I’m sad to report she lacked VB’s fie-on-gravity breasts).

I have, since I left there, been trying to come up with a scenario in which that same group of people might find themselves together for a common set of services. Grocery shopping? Maybe half the people, but I can’t recall the last time I saw a Porsche parked in front of Kroger or Wal-Mart. A funeral? Seems unlikely that the listed people would share a common enough social circle for that. Perhaps a sporting event might bring them together, though I doubt that the young guy would make it out to something like that. So, as the title mentions, I think the USPS has a unique ability to bring members of disparate groups under one roof. I can’t say I felt energized by the exposure or that I gained some broadened world view from it, but it was at least interesting to see that people, when their differences are inconsequential to the task at hand, can peacefully co-wait in line and serve or be served.

January 14, 2008

Learning ActionScript 3.0: E4X Rules!

Filed under: Flash — Jackson @ 7:35 pm

Like a lot of Flash developers who don’t always get to work on the big-budget projects, I’ve been pretty slow to get my feet wet in ActionScript 3.0–Flash’s newest supported scripting language. Over the last few weeks, I’ve been knee deep in Packages, new native types, display lists, and to my greatest enjoyment, the ActionScript implementation of E4X.

For those who don’t know, E4X stands for EcmaScript for XML. EcmaScript as I’m sure everyone reading this already knows, is a root language that both JavaScript and ActionScript are based on. Unlike C++ or Java, Ecmascript lets you do a lot of magic with data-typing, passing functions as data, and much, much more. XML is a set of rules that governs how to mark up data in a way that describes it.

Within the scope of this post though, XML is just a way to get data into a Flash movie (and often get it back out of the Movie as well). So, let’s look at a little snippet in AS2.0.

Let’s say this is our XML:

<book>
     <chapter>Cotton Ball Joint Compound</chapter>
     <chapter>Rust Protector of Liberty</chapter>
     <chapter>Key Board of Trustees</chapter>
</book>

In ActionScript 2.0, if we wanted to access the name of the first chapter, we’d have to write some ActionScript like this:

//Assuming we already successfully loaded the XML
var chapterName = xmlObj.firstChild.childNodes[0].firstChild.nodeValue;

While it get’s the job done, it’s certainly not the most efficient or the most intuitive bit of code.

Compare that with the AS3.0 E4X version though:

var chapterName =  xmlObj.chapter[0];

Ahhh, now that is a beautiful thing, isn’t it? Not only do we get to use the XML node name as a variable-style accessor, we don’t have to fumble with all the firstChildren issues of yesteryore. E4X assumes for us that we’re after the nodeValue rather than the node itself.

Whoever concepted E4X is my personal hero of the day. Whoever decided to implement it as part of AS3.0 is my personal hero of tomorrow.

Now, back to O’Reilly and the world of Essential ActionScript 3.0. Stay tuned for more code snippety goodness!

 Nashville Web Design, Jackson Gabbard

Me and websites? We been knowing eachother since gradeschool.