Kagii

Its pronounced "Kay-Gee"

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

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

Android Stuff

I’m going to start a new little category for my Android thoughts.  I got started pretty early on with Android, and wound up on the back of a book for it, so maybe I know something? (hint: not that much, but some).

I start with something light.  I need a new weather app.  I’ve been using the weather channel’s, and its been steadily getting on my nerves.  today was the final straw.

First off, it takes over 2 megs.  2 megs?  For what?  It has to re-load the data when you turn it on.  Graphics?  Come on, chubby!  We have a fixed memory on the G1!  2 megs is HUGE.

It does a crappy job with locations.  It used to be terrible.  You’d turn it on, and it would occasionally forget where you were.  It would pick on of your other locations, seemingly at random.  To pick one, you had to click “Add New”, then it would list the ones you’ve already set up.  Terrible UI design.  The “Add New” part is still true.  The recent change, though?  You can select a home location.  Great!  One problem.  It will keep a little notification icon up at all times once you’ve done that.  Fail.

However, that’s all secondary.  This morning it said something about sporadic showers, but had a sun with clouds icon.  No rain.  Just random showers.  So, I didn’t bring my umbrella.  Surprise.  It poured all day.  All day.  Weather channel, you need to do one thing right.  you can mess up the UI, or the location saving, and be huge and fat, but you NEED to get the weather right.  Granted, the text mentioned something about sporadic rain, but it was seriously raining all day.

Trying accuweather.com again.  Maybe some luck there…

*Update* Installed accuweather.  Good news?  Says rain, and its raining.  Bad news?  2.6 megs.  what’s up with the fat apps?

*Update 2* Weather bug.  Its got the data right, and its under 1 meg.  However, one of the ads looks like it was for porn (which I’m OK with, but that seems a little odd).  I think weather bug wins!

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

Leave a Comment

Mature Babes At Work

Its been a while since I’ve posted.  I get all busy with what’s going on, then don’t post, then its been too long, etc.  I’ll post a wee one today, though.

First off, I’ve been working like crazy to get the fancy app attached to the mapping thing I blogged about out the door.  We have some clients signed up, and things are moving along.  More tech blogging soon.

However, I wanted to mention something about having your own blog verses one hosted at the “big sites”.  I wanted my own blog so I could customize the look and do special things one couldn’t do on the large blogging sites.  However, there are downsides.  The most immediate is that your posts aren’t sent out on their network.  You don’t realy get much random traffic as a result.  When I was posting on blogger, I would get odd traffic that was actually relevant to my posts.  Not so much now.

What do I get?  Well, that’s the other interesting thing.  Tons of spam comments.  I don’t get it.  Like I’m going to approve the random comments from Russian sites that have nothing to do with my post.  Today, though, I got some good, old fashioned, American porm spam.  “Mature Babes At Work”.  I’m tempted to approve it.  Nostolgia.

Cheers.

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

Leave a Comment