Bitscape's Lounge

Powered by:

Thoughts on web design, etc

Started: Monday, February 28, 2000 19:04

Finished: Monday, February 28, 2000 19:56

Status of Bitscape's Lounge, version 2.0: Well, I spent some time on it over the weekend, and... well, hitting a rut, really. I don't know. It's frustrating because the whole thing is so damn close to being "ready to ship", so to speak (Uh oh. You know I'm working for a commercial software company when terms like that start to work their way into my vernacular). That last inch seems to be taking far more time than it should. Maybe I'm just too much of a perfectionist for my own good.

So I spent the better portion of yesterday afternoon designing, or rather, re-desgining, the general page border decoration layout which will appear in every lounge page ever loaded. Every one. So you know it's gotta be good.

I draw the general design out on paper, and it looks good. So I start writing it into my loungepage content module. Then I decide the main content would look better if put it a colspan=3 area to fill up the empty space near the side borders. (Ok, without seeing my scribbly little drawings, it's impossible for anyone reading this to have any clue as to what any of this was supposed to look like, much less what it actually ended up looking like. Oh well.)

Well, anyway, my htmlobj::Table module wasn't quite built with colspan=3 cells in mind, so I had to do a little inelegant kludging to get that to work. Then the browser just wouldn't render things the way I wanted them to, so I decided to redo it with hand coded html. Still didn't quite work right. Tried rearranging, combining some of the images, other strange tricks. Grrrr. Strange gaps appearing in the wrong places, cell widths acting funny, blah blah blah.

There are those who say html was never meant to be a layout/formatting design language. That it should never be used to try to control page presentation, specific positioning, font size, and other visual elements. Just different elements of the document. (/me recalls a few rather intense debates that have raged in fests of caffeine past) These people are right, of course. But sometimes, we so much want it to be.

Well, I am confident that I will find a way to make this work. And it will look the way my drawing looks. And scale fine from a 640x480 window up to 1600x1200 and bigger, without looking stupid on either. I have a few more tricks up my sleeve.

The other thing that seems to be hindering development is my ever-increasing urge to modularize and object-orientate everything to the point of what is quickly becoming insanity. If this continues, it will (and is already starting to) approach the point where the entire interface (froms, article display, comments, and all) will run from one 3-line .pl file. Heck, the form stuff is already practically there. form.pl?object=blahblah dynamically gets the appropriate module, displays the form, and puts the right parsing code in place to handle input submitted (the fact that only a fraction of the necessary objects have been written at this point is immaterial. The engine is what counts.) Pretty cool, if I do say so myself, even if does follow in the object-oriented fascist tradition, albeit with a twist.

So that's looking so cool that now I've gotten this idea into my head that everything, including output, should work the same way. And if we do that, why not unify the whole thing into one big massive blob, so you have the article module, with its form routines, its form submission handling routines, its output-leadin routines, its output-full routines, and whatever else is necessary. Ditto for comments, user prefs, whatever.

Then there's this little voice that says, "If you keep implementing every wonderful idea that pops into your head, it'll never, ever be finished. This code will never see the light of day, nor will the content it's here to present. Ever. So just write a bunch of pl files to do what needs to be done, use the already written htmlobj modules to help you along, be done with it, and publish!"

But where's the fun in that? Getting things done is what my day job is for. Going off on wild, idiotic tangents is what this page is all about. However, I do want to actually get this stuff out and into use. So, I'll probably hold off on releasing for a little while longer, and inevitably end up with a working hybrid that falls somewhere in between these philosophies.

Besides, now that I know the identity of the mystery reader, I can rest easy at night. ;)

Well, now that we've had our non-sequitur for the day, I think I'll go grab some grub and prepare to watch Ally McBeal.