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.
Sounds to me like you where more interested in learning cool open source tools than finishing the task at hand.
10: Hades.
20: GOTO 10
Is that supposed to be Basic? Myabe that’s more your speed.
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.
That from the man who blogs “web frameworks are better than putting the code in your JSPs”
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).
…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?”
Wait…. Jason (who has NOT updated his blog since Feb 23) is calling someone elses blog Poop?
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!)
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.
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?
So you’re looking at the job boards then, Eric? 😉
Which OS are You?
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.
Clearly, there is a bug in the “Which OS are You?” quiz.