Web Framework Evaluation

March 11th, 2008

At work, sometime towards the end of this year, we’ll be moving our primary application to a different web framework. There are a number of reasons for doing this, some I’ll talk about here, others I won’t. Obviously in order to properly evaluate some of the tools we need to develop some basic criteria for the evaluation. None of this is set in stone, but here is my first cut (these are in no particular order):

  • 10 Minute Rule (ok, maybe 30) - Given the current state of most modern web frameworks it seems to me that you should be able to do something of value quickly. While I understand that you probably won’t finish your application in an afternoon, you should be able to accomplish something measurable. If it takes you all day just to setup your environment, you fail. How long does it take you to write “Hello World”? This will provide a good idea of how quickly you’ll be able to iterate on things when you’re doing real work.
  • Convention over Configuration - This concept has been popularized as of late by Ruby on Rails. The core idea here is that if you name things certain ways, put things in certain places, and in general, follow understood methods then you shouldn’t have to spend a bunch of time “telling” the framework where things are. If you have spent much time maintaining a large enterprise web application then you understand why this is important (if not important, then definitely desirable). Most of my recent experience has been with Struts 1, which has lots of “configuration” bloat. Define your actions in this xml file, put your reusable views over here in this xml file, map your domain objects in these xml files, prick your finger and put a drop of blood over here, blah, blah, blah. Not that I’m knocking Struts 1, because we have built some great stuff with it, but these days I think we can do better.
  • Tool Support - We’re an all Java shop and all of our engineers have become pretty dependent on a good IDE. Whatever framework we decide to use needs to play nicely with our current development environment. Things like code completion are critical. Can you start, stop, and reload from within your development environment? How long does that take? Telling all of our developers to go back to using vi or emacs just ain’t going to cut it.
  • Developer Resources - I want to make sure that whatever framework we choose has lots of resources available for our developers to consume. What is the documentation like? Are there books that you can buy from Amazon? Are there active mailing lists? Are there conferences that you can attend? Is there a local user’s group?
  • RESTful - It’s my hope that whatever framework we choose will easily facilitate (if not mandate) RESTful development. I want a framework that will take out some of the guesswork that can be involved here.
  • Access to Java - Seeing as all of our core technology is built using Java this is pretty important. We need the ability to reach back and execute Java code in our existing stack. This doesn’t have to rule out frameworks that are built using other languages, but it does mean that if we do look at other languages they’ll have to run in the JVM.

Upcoming Reading

February 28th, 2008

Reading Materials

Shows Around Town

February 27th, 2008

I’m not sure where I’ve been (actualy, I’ve been at work), but all of a sudden there’s a flurry of great bands coming to play in the Triangle. I wish I had learned of these a little sooner, so that I could have gotten tickets (well I guess there’s only one that is sold out). Here’s a list of shows you might consider checking out:

  • Iron & Wine - Apr 15th
    Memorial Hall
    This show is sold out. I’m pretty bummed. Me… want… to go!
  • Son Volt - Apr 24th
    Lincoln Theatre
    I missed them the last time they were in town. Hopefully I can catch them this time around. If you’re into the whole Uncle Tupelo, Wilco, and Son Volt scene then obviously you have to check them out.
  • The Swell Season - May 15th
    Meymandi Concert Hall
    This is the crew from the movie Once. I’m so pumped about this show. I would guess this show has the potential to sellout. So, make sure you jump on Ticketmaster fast. I believe tickets go on sale February 29th.
  • Josh Ritter - Apr 30th
    Cat’s Cradle
    If you missed him the last time around, you’ve GOT to go see him. Simply a fantastic performer. You’ll love it… I promise.

Top Ten Albums of 2007

January 3rd, 2008

Ok here are my top ten albums of 2007. I listened to a lot of music this year (that was one of last year’s resolutions). Some from artists I’ve loved for a long time, and many others were totally new to me. All in all is was a decent year for tunes.

  1. The Historical Conquest of Josh Ritter - Josh Ritter
    It’s hard to find a bad song on this album. The tunes are singable and I’ve had this on the playlist since it came out. I had a chance to see him in concert at The Cat’s Cradle back in November and it was one of the greatest live shows I’ve seen in a long time.
  2. Challengers - The New Pornographers
    This was the first Pornographers (interesting name) album for me, and it didn’t disappoint. Most of the tunes are great, but I really like “All the Old Showstoppers”, and “Myriad Harbour”.
  3. Traffic and Weather - Fountains of Wayne
    This album is just plain fun. These guys are real story tellers. Often I don’t know whether to sing along or laugh out loud, but mostly I just smile. This album is really good. “Someone to Love” and “‘92 Subaru” are my faves.
  4. Asleep at Heaven’s Gate - Rogue Wave
    Rogue Wave was a new find for me this year. Really soothing and interesting sounds. I’ve played this one a lot.
  5. In Rainbows - Radiohead
    It’s Radiohead, what can you say? I’ve actually had a hard time with some of their stuff in the recent past, but this album is great. I also love the distribution method. These guys always seem to be shaking things up.
  6. The Stage Names - Okkervil River
    Another really fun album. I saw them at The Cat’s Cradle back in October. It was a very lively show and great fun.
  7. The Shepherd’s Dog - Iron & Wine
    It took a few plays before I really got into this one, but when I did I listened nonstop. Thanks to Mr. Murphy for this one.
  8. Sky Blue Sky - Wilco
    It’s Wilco, BUY IT!
  9. The Ringing Bell - Derek Webb
    Another great album from Webb. I really like “I Wanna Marry You All Over Again”, and “This Too Shall Be Made Right”. I had the chance to see Derek at The Lincoln Theatre in 07 and he was great.
  10. Wincing the Night Away - The Shins
    First Shins album for me. It’s good, check it out.

Garmin Forerunner 305

December 21st, 2007

For my birthday back in October I received a Garmin Forerunner 305. The Forerunner is a GPS training device. It’s targeted at runners, cyclists, and other outdoor enthusiasts. It allows me to continually monitor distance, pace, elevation, and heart-rate information all “at a glance”. It’s really awesome, and pretty geeky.

I’ve found the Forerunner to be extremely freeing. It allows me to try new routes without having to worry about exactly how far I have been or when I might need to think about turning around. No more sweaty trips in my car attempting to figure out how far I’ve been. The pace information also helps keep me honest when it comes to training. I have a tendency to relax a bit too much.

Garmin ships an application called the “Training Center” along with the Forerunner which serves as a management console of sorts, and training log. The “Training Center” is not nearly as cool as the device itself; in fact it’s a bit underwhelming. However, it does support OS X, which is cool.

If the “Training Center” does not meet your needs then you can also make use of Garmin’s online tool Motion Based (for a small fee of course). I’ve played with Motion Based a bit, but have not yet found it compelling enough to actually pay for. It seems to me that Motion Based could be so much better than it is. Hopefully Garmin is looking at significantly retooling it.

Garmin is also making some strides related to development tool support for their products. Thus making it easier for 3rd party application developers to access device data and get it into other tools. Tonight I spent some time playing around with the Garmin Communicator Plugin, which allows you to interact with a Garmin device via javascript in your browser. It’s freakin’ awesome. I wish I had more time to play ;)

Blue Beanie Day

November 26th, 2007

Today was Blue Beanie Day on the web. I hope that you all donned your beanies, I know I did.

Micro-apps

November 26th, 2007

Adam Keys’ recent post on micro-apps is a great read. It’s inevitable that we’ll continue to see a rise in the number of “micro-apps” as developers leverage rich API functionality in mashups.

Discussing Web Design

November 23rd, 2007

Over the last several weeks there has been an interesting debate/discussion/conversation brewing related to the current state of web design. Some lament the absence of truly great work on the web. Some seem to agree with these conclusions, and a number of others do not. As a developer, and not a designer, I tend to agree more with the second set of folks. Either way though, I would highly recommend reading all of these posts to anyone who is involved in web design/development or interested at all in the subject.

Inspiring Design

November 16th, 2007

I have been trying to get a little more disciplined about keeping track of web sites that I find inspiring. I spend so much time building web applications that I often find it necessary to step back and refresh myself a bit with others work. I’m NOT a designer, but I appreciate great design. I’m more of a nuts and bolts guy that spends a lot of time working on the plumbing of highly interactive and dynamic web applications. Anyway, here are some sites that I stumbled across this week that I think look fabulous (you can also find these in my delicious bookmarks).

Lokesh Dhakar’s new blog is beautiful. I love the simple elegance. I also really love that the navigation on the right remains in place as you scroll the page.
(via SimpleBits)

The following two links are evidently some mockups that were done for The Internet Movie Database. It is always refreshing to see such great layout when there is actually a lot of stuff to put on a page. I also really like the contrast between rounded and non-rounded corners. (via thebignoob)

http://justwatchthesky.com/imdb/

http://justwatchthesky.com/imdb/profile.html

OBX 1/2 Marathon

November 12th, 2007

This past Sunday, for the second year in a row now, I ran the OBX (that means Outer Banks) 1/2 marathon. The major treat this year was that my wife ran it with me. She was awesome. She trained for the last year and ran the entire race without stopping. The weather was much nicer this year than last year (when it rained). It was a little cold at the start, but turned out very nice a few miles in. If you are looking for a great race in an awesome location, check out http://www.obxmarathon.org.