I think Open Source is good, and technology helps makes life easier.
July 17, 2005 on 9:14 pm | In Technical stuff |If your interested, no, I could not think of a better title.
Since the late summer of 2003, I’ve been working on a side project. It wasn’t much, simply an apartment rental application. The main features were:
- Allow a renter/seeker to search for apartments.
- Allow a manager of a complex to update apartment postings.
- Allow an administrator to update apartment postings, and update users of the system.
Well, it seemed simple enough, so I thought “why would this take more than couple of months?†Well, I was cocky, overconfident, shortsighted and most importantly, wrong.
I initially projected a demoable version of the application in six months. Yeah, that’s nice. So a year passes, and in comparison to what I had projected, I had actually only completed a fraction. Almost two years later, and I’m just finishing up. Oh yeah, and when I say finishing up, I mean finishing a drastically reduced in scope version. How reduced in scope? Very. For example, there’s no more renter/seeker version of the application. Yeah, and I also removed the manager section. I mean, who needs managers. In the end, I have a really robust Admin section.
Ok, now for something positive: I learned a ton. I started out using JBoss, and Jason C. suggests I try Resin. Not sure if it’s because of some bias, but Resin turned out to be much faster, and easier to deploy using Ant. For the persistence layer, I was using hand written JDBC DAOs to talk to my MySQL database. Jason suggested Hibernate; it was a great move. For the presentation layer, I was using Webwork/XWork, Sitemesh and DisplayTag. Since Jason is a leading member of WebWork, I didn’t hear much about “try this†or “try that†other web framework. Actually, I’ve been a WebWork user for a while, so I was pretty aware of what it could do. I was putting most of my business logic in the Actions, yeah I know: bad idea. So I decided to add a service layer, but I didn’t want to add EJBs to the mix; Jason suggests Spring. Being new to the concepts of AOP, IOC and dependency injection, the learning curve was much higher than expected. Either way, it worked out fine: I didn’t have to add EJBs, and it made deciding to add Acegi (to handle security) much easier.
In the end, the real reasons for me not completing the application include:
- Concentrating too hard on things like UI aesthetics. e.g., getting the color and size of table headers just right.
- Not having as much energy as I thought I’d have after a 40+ hr work week.
- Being one person and not being able to split my self like superman did in that one episode. This was the real killer; damn you reality!
But I’d like to ignore those, and instead blame the open-source community for making great software. Oh yeah, and Jason for suggesting I try these technologies. Damn you all to Hades. If you want see what I spent my free time on for the past 2 years, the code’s available here.
15 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^


Sounds to me like you where more interested in learning cool open source tools than finishing the task at hand.
Comment by Brian Vaughn — July 18, 2005 #
10: Hades.
20: GOTO 10
Comment by jay — July 18, 2005 #
Is that supposed to be Basic? Myabe that’s more your speed.
Comment by Brian — July 18, 2005 #
It depends on what the purpose of the exercise was… If it was to build a commercially viable product, then yeah, just get it done and don’t worry about learning everything. If it was supposed to be a learning exercise, then it was a big success.
Comment by Jason Carreira — July 18, 2005 #
That from the man who blogs “web frameworks are better than putting the code in your JSPs”
Comment by Jason Carreira — July 18, 2005 #
Jason you’re right. Brian’s blog is poop.
And sadly, it WAS supposed to be a commercial prj, which had other issues, aside from a horrible development team (of one).
Comment by jay — July 18, 2005 #
…and this from the man who blogs “I wonder if the Treo 650 will fit in my pocket? Would it fit better if I were taller? Perhaps on a boat? Perhaps in a tree?”
Comment by Jason Carreira — July 18, 2005 #
Wait…. Jason (who has NOT updated his blog since Feb 23) is calling someone elses blog Poop?
Comment by Eric — July 18, 2005 #
Hey, I only blog when I’ve got something interesting to say, at least… and when it doesn’t violate IP we’re developing at work (a bigger issue… I’ve got lots of interesting stuff to say, really!)
Comment by Jason Carreira — July 18, 2005 #
I never challenged the use of open source frameworks, just the way Jay let down his busines partner.
Maybe I’d challenge his use of Webwork2. Probably shouldn’t waste his time learning a boutique framework.
Should have told him about Struts w/Tiles or something else with a user base.
Comment by Brian — July 18, 2005 #
Brian — there is a userbase for WebWork2. First there is use, and I’ve seen one job posting asking for WebWork2 experience, I think it was Red Prairie?
Comment by Eric — July 18, 2005 #
So you’re looking at the job boards then, Eric?
Comment by Jason Carreira — July 18, 2005 #
Which OS are You?
Comment by Brian — July 19, 2005 #
You are HP-UX. You’re still strong despite the passage of time. Though few understand you, those who do love you deeply and appreciate you.
Comment by Brian — July 19, 2005 #
Clearly, there is a bug in the “Which OS are You?” quiz.
Comment by jay — July 20, 2005 #