Kagii

Its pronounced "Kay-Gee"

Verizon and my usb card

I was going to have a big dramatic moment at the Verizon store, where I basically say “fix my problem or close my account”.  However, life is too short, and I have a lot of other stuff to do.  And I think Verizon knows that.  The summary is I think its terrible business practice to bank on people being too busy to notice that you treat them pretty badly, and I think Verizon has built their whole customer service model on attrition. Their network quality is inversely proportional to their customer service quality.

Briefly, here’s my story.  7 years ago, I lived on 23rd st.  I moved, and moved my verizon (I’m not wasting the shift key on you people) account address.  Then, 2-3 years ago, I switched to T-Mobile.  A couple months ago, I got a USB card from verizon at the local store.  Paid with my business card, and I imagine 90% of the people buying this thing are business people.  Anyway, didn’t get a bill for a while.  I have somebody come in and do my bills periodically because I’m not good at organizing them, and I have to keep personal and business stuff separate.  Plus, she’s great and regularly finds enough savings to pay for her visit, and then some.

Anyway, I have a process.  It involves paper.

1-2 weeks ago I started getting “automated calls”.  We all know when a call is a person and when its not.  Also, I don’t pick up “Unknown” numbers.  I just don’t.  So, I didn’t know there was a billing problem till late last week.  Its verizon.  Threatening to ding my credit if I don’t pay my late bill (I think “severely overdue” was the terminology).  I call, wade through the mess of automated systems, and get a person.  They set up their customer service on the assumption that you’re a deadbeat, and pretty much the only options are “pay now” and “talk to financial services to pay now”.

So, I get a person.  Here’s the conversation, paraphrased (and “severely” shortened):

Me: I haven’t gotten a bill, I assumed you were automatically billing me, and I’d prefer a paper bill.

v: You’re not on auto bill.  Can you pay me now?

Me:  What address you sending bills to.

v: 23rd st.  Can you pay me now?

Me: Oh, OK.  Wrong address.  Please send the bill to my current address.

v: OK, can you pay me now, over the phone?

Me: Yes, I can, but I won’t.  Send me the bill.  I have a process.  It was obviously your mistake, so, you know.  Back off.  Send me the bill and turn my service back on.

v: Oh, OK.  We can’t turn your service back on until you pay.  Also, if you don’t pay before 90 days, and you’re already past 60, this will go to collection and hurt your credit. Can you pay me now?

Me:  What are you talking about?  Its your fault.  You didn’t send me a bill.  Send me a bill, turn the service back on, and take a hike.  DO NOT charge me a late fee, DO NOT touch my credit, and stop calling me.

v: Well, I can transfer you to financial services.

Me: I’m a normal person with “stuff” to do.  This is, again, your fault.  Please fix.  I have to go.

Then there was an attempt to convince me that it was really my fault, etc.

Look, verizon.  I don’t want anything free.  Just send me a bill.  Don’t try to convince me that I did something wrong.  The account was “severely” old, and I had updated the address on it anyway.  Your employee did something stupid, or your system is crap.  Its one thing to just say “Oh, well, we screwed up, but we’re a big company and we want your money, so pay”.  Its a whole different thing to try to convince me I did something wrong.  Its not going to work.  It will, however, make me say really frustrating things to your employees.

So, yesterday, I got another automated call telling me if i didn’t pay in 2 days, I’d be in collection and have credit problems.  I spent a good 30 minutes trying to get a person, who I basically told would either help me fast or experience the negative side of a customer service career.  He was understanding, but completely unhelpful.  He transferred me to financial services.  It got cut off.  I did the whole thing again, and got to a customer service person, who transferred me (successfully) to a financial services person. (By the way, verizon, you’re a phone company.  You’re “the” phone company.  I do not believe you can’t transfer people successfully.  That’s another corporate decision).

That conversation was “funny” as well.  I’d write it all out, but I have other stuff to do.  The short version is, I apparently will not go into collection, but it was my fault for not figuring this out, or responding to texts they sent (uh, presumably to the USB modem, which has no screen or buttons).  Not only will my service not be turned on, but in order to avoid a reconnection fee, I had to pay her right then on the phone.  I didn’t say “f__ off” literally, but I did.  I probably would have, but we were both recording the conversation, so I figured in retrospect I’d regret the actual f-bomb.

So, ehh.  I want to drop the account, but I want a USB card.  I hate verizon.

Psst! Hey you! Pass it on ...
  • Print this article!
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Twitter
  • Facebook

Leave a Comment

Seam 2.2

Just upgraded to Seam 2.2.  The initial impression is very positive, with a few old gripes tossed in.

Ajax

I use a mix of ajax4jsf and Seam Remoting for my apps.  I have a pretty good handle on the internals of A4J, and I’d guess there are at most 5 people in the world who know more about Remoting than I do (except for maybe the concurrency with A4J.  See below), so I have sort of a feel for Seam and Ajax.

Right off the bat, A4J performance is significantly increased.  The pages come up quick and there’s not as much churning going on.  With Firebug on, it was pretty obvious that the size of data downloaded, and the number of downloads, was significantly smaller.  I had been starting to look around for another Ajax toolkit, as I felt that A4J was too sluggish for serious sites.  The jury is still out somewhat, but its MUCH better now.

The more subtle issue that I’ll be playing with is concurrent requests to a long-running conversation.  Conversations are Seam’s way of handling state in a web application.  They’re like “super sessions”.  I can’t really explain it better than that, but maybe this can.  I haven’t worked with another framework in a while, so I’m not sure I’d know how to build a web application without a similar conversation model.  However, one thing we found out pretty quickly is that you can’t have two requests hit the conversation at the same time.  This happens quite a bit if you’re doing a lot of Ajax calls.

Preventing that with either A4J or Remoting, on its own, was pretty simple.  Just force them to serialize their calls.  However, if a remoting call and an A4J call went at the same time, Blamo.  Same issue if you had a standard page command button or link that was called while either of the Ajax processors were working.  Kablooe.

There is a way to serialize those calls, described in the seam docs.  Looking at the 2.0 seam docs for the same feature, and from general experience, I don’t think Remoting was involved with the same timeout.  That, or we were just not aware of it.  In any case, I think you’d want to bump that number up from 500.  While that’s an eternity in web time, still, in almost any case where the conversational call fails, you’d wish you’d bumped it up.

So, anyway, assuming the concurrent-request-timeout works as advertised, there’s a lot of paranoid code that I have to go back and strip out to make the whole thing simpler.  For example, I changed the navigation to use A4J buttons, because other parts of the page used A4J, and I needed a simple way to serialize everything.  Now, not so much.

That will probably wait for a month or two, as it may cause unanticipated issues.  However, glad its there.

Great job Seam people.

The gripe was the build differences and merging them into my build customizations.  Not sure how this would be done, but there should be a way to extend the build without requiring a full merge and debug on every upgrade.  It wasn’t pretty.  Without some good tools available, it wouldn’t have happened.

I dig the groovy support.  I vote for adding liquibase into the package.

Happy Holidays.

Psst! Hey you! Pass it on ...
  • Print this article!
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Twitter
  • Facebook

Leave a Comment

Droid

Tried the Droid today.  Briefly.  First impression?  A lot of people are curious.  You can tell from the layer of grimy prints on the thing.  Blah.  Swine flu, here I come.

However, as far as the phone is concerned, its pretty sweet.  I didn’t get the “tada” moment.  I’m not in love.  It just feels like what I expected when I first picked up the G1.  Specifically, the G1 is cool, but the second wave of phones will be the real phones.  The slide out is nice and solid.  The keyboard could be better, but its nice.  However, the feel of the apps is what you really notice.  Having had a G1 since they came out, I have an intuitive feel for its performance.  Its like a civic.  It works fine.  I had a civic.  It was a great car.  But then somebody lets you drive their BMW.  It just feels different.  Much tighter and faster.  The G1 does feel occasionally sluggish between apps.  Not so with the Droid.

The bigger screen is pretty sweet too.

I tried the software keyboard, and that’s improved.  I saw a video panning it because its not multi-touch.  Whatever.  It works fine.  I also don’t see why people get really upset about the lack of pinch zooming with the multi-touch.  Pinching a 2-3 inch screen seems like more of a gimmick than a feature.

But I digress.

Nice phone.  Have to wait for a while to switch, but then again, my G1 is fine.  If I suddenly come into a pile of cash, I may splurge.  However, I just ordered one of the fat-guy batteries for the G1 that doubles the charge, so I think I’m in for the long haul with my current phone.  Long haul being at least another 6 months ;)

Psst! Hey you! Pass it on ...
  • Print this article!
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Twitter
  • Facebook

Leave a Comment

YouTrack

Bug trackers are a little like bands.  People tend to love or hate certain ones, and at times it seems almost arbitrary.  In my long years of software development, I’ve come into contact with a few bug trackers.  Off hand, Bugzilla (several versions), Trac, some crazy Java one that was trying to be an “everything” tool, some other one that escapes me now that had a web and installed client (the QA people LOVED that one.  It sucked).  We even had a crazy scheme where the one the QA people loved would get copied into/out of Bugzilla.  Oh, and Jira.

Anyway, from the various implementations you can glean some common patterns.  I think its because most bug trackers were for obvious reasons developed primarily by software developers, that some tools try to do too much, or are too “generic”.  Hey, why limit yourself to just bug tracking?  What about general task tracking?  Yeah!  Score!  Hmm, once you get that, though, maybe you want to add an API and build a general collaboration suite.  Sweet!  Suite!  Yes, Trac, I’m talking about you.

And SCARAB!!!  That’s the crazy Java one I was talking about above.  Yeah, Scarab!  Oh man, I got sucked into that vortex.  “Yes, it’ll be this awesome new bug tracker, and you can add all sorts of plugins and do cool things with it!”  Its like a commercial for transformers.  Magic robot software that you can give all sorts of weapons and cool packs.  I just looked at the site.  Its like the Duke Nukem Forever of bug trackers.  the first beta for version 1 was in 2002, and the 20th beta (yeah, 20th) was in 2005!!!  (insert nelson laugh).  The last deployment was in 2007.  That’s a lonely ship to be on.

Anyway, the other side of the fence were the very specific bug trackers.  Essentially, take the shortest route to release.  Just duck tape whatever leak you have and move on.  I think Bugzilla is the best example of that.   I have a soft spot in my heart for Bugz.  I ran him through many versions.  I relearned Perl over and over to tweak stuff.  The interface was basically static, and you couldn’t get too crazy with the customization, but it did its job, and you could hack the code and data base.  And hey!  Free!

Jira was like a breath of fresh air.  The interface is clean.  It feels “competent”.  We use it at the “day job”, and I’m a fan.  I will gripe, though, abuot a few things.  There are many times when I want to essentially click on something and change it in place.  Ajax style.  Its almost maddening that you can’t sometimes, made much worse by the fact that we’re building ajax software and I am, to toot my own horn, the primary ajax guy.  In my mind I imagine if I click hard enough, concentrate, and maybe click my heels a few times, that static version number will turn into a dropdown and let me change it.

Also, searching for stuff in Jira, just like every other bug tracker I’ve used, feels clunky.  Not that Jira isn’t better than most.  It is, but still.  I want to google my bugs, baby.

I just cracked open YouTrack.  I’ll finish this later.  I wanted to get some of my first thoughts down.  As an ajax guy, I will say I really, really like the interface.  Its beyond clean.  I’d call it spartan.  You want rounded borders?  Shading?  Go home, sissy!  Mostly, anyway.  There’s a little of that on the top, but that’s not the high traffic area.  Where the interface has to change a lot, they’ve uncluttered it.  no doubt both for performance and ease of coding, which are both perfectly valid reasons.  Suits most likely do not make the design decisions at this company.

I think almost everything, on every page, that you have the rights to change, is changable in place.  I really, really like that.  I know how difficult it is to keep this stuff working righ, and I think the sparseness of interface makes that a lot easier to handle.

However, comment #1.  The “Hint” overlay is cool, but the “More help” is a regular link that takes your current page away to somewhere else.  the first time I clicked that I was mid-edit.  When I clicked back, the edit panel was gone.  As mentioned, I know what I’m doing, so I got it back, but I imagine most people wouldn’t, and if they *just* started trying the tool out, might be very turned off.

Anyway, the other thing that is supurb is the focus on key navigation.  Love it.  Absolutely love it.

Anyway, its late.  More later, cheese.

Psst! Hey you! Pass it on ...
  • Print this article!
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Twitter
  • Facebook

Leave a Comment

Communism and Ubuntu

Thought I’d be funny and post my new desktop background to the universe.  The resolution is a little small because its on my netbook, but I might post a bigger one later.  You’ll have to right-click and save the link location, or copy/paste the link location.  My fancy javascript thing just blows it up a bit when you click on it.

Anyway, happy Friday!

ubuntucccp

Psst! Hey you! Pass it on ...
  • Print this article!
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Twitter
  • Facebook

Leave a Comment