I found a bug in the multi-part tagging. This isn't all that surprising, as multi-tags are just a big old ulgy hack. I should've incorporated native support for them to begin with and not just hack them together. These kinds of stupid mistakes make me always so deflated in this project. Would another remotely competent developer have taken a smallest peek at the code I wrote for the if-clause, they would've seen the problem.
But the problem isn't in the fact that I found a bug. Finding bugs are good (when the alternative would be to leave the bugs unnoticed. Not having bugs in the first place would be even better, of course). The bigger problem here is that I'm trying to get LF into a decent shape, so that I can show it to others. Naturally, I want it to be as good as I envision it to be and the only way I can be certain of how it really ends up feeling like, is by eating my own dog food. And, boy, have I been crunching that dog food, and, to be honest, LightFrame doesn't taste as yummy as I'd like it to. And this is what bothers me:
Since I've been working on this project for... I honestly don't know for how long. It's probably over half a year. So, I've worked on this for over six months, and I've seen the project mature and come this far. It has come so far, that it's beginning to become actually usable for something real. It's not quite there yet, but once it's there, I'm able to showcase it to people. The day I'm able to do so is drawing so near, so that I can see it. But setbacks like these - finding a bug that affects the overall usability, just push that date back by about a week. I'm only being realistic here, as I am able to work only a handful of hours a week on this project.
It would be so nice if I could just shove my fingers in my ears, shout "la la la" as hard as I can, continue to finish the rest of the tickets I have planned for the current milestone, put everything in a neat little package, and offer it to everyone I can find and urge them to test it out. But I can't do that. I can't do that, because the framework would be crap, nobody would use it, and the possible wow-factor is lost.
I see that LightFrame has only one chance to make a good first impression. The first impression needs to show clearly what it will be able to do. This absolutely does not mean that it can do everything then and now, from day one, but it has to be able to give a clear image of the future. Whatever the framework can do on day one, it needs to be spotless and damn nearly perfect. If it can't handle a many-to-many relationship between two models, it's fine. It will eventually be included. As LF already supports Models, it's not hard to imagine how it would feel like to use new relationships. But if a nesting error in tags occurs - well, that's just unforgivable. It's a half-assed job.
So, to draw the full circle here: I don't want to do a half-assed job with LightFrame. Half assing would basically mean leaving stupid bugs in the code. I am in the process of eliminating such bugs by using LightFrame myself for some of LightFrame's internal stuff, and this is probably the best way of finding the usability bugs - to use the product as it would normally be used. Each time I find a bug, I need to fix it. Fixing it, depending on how rooted in the system it is, takes a good amount of time. Fixing bugs is time off from finishing the current milestone, which, in turn, means more postponing. Postponing is something I can't bear to see happen, when the project is SO close to being worthy of showcasing.
Update 9.6.08: ok, so the problem isn't with the multipart tags, but with nesting any two kinds of a kind. It's kind of a relief - maybe.
Sunday, June 8, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment