I can tell already that this is going to be a multi-post rant, because I’m burning up. I’m working to configure an application for our Alumni Web Community (a “portal,” if you’ll excuse the buzzword). The fine folks at BSR Advance, who are now no longer on my Christmas card list, have made a classic programming error when they built the product: they mixed form with function.
See, in dynamic Web pages, there’s function: what you can do, see, get access to, etc. Typically, that means calling programmed functions to do stuff, like access a database and update records or sort and display a list. Then there’s form: the graphics, layout, and flow of a Web page, which (ideally) ties it visually to an entire Web site, gives the user a sense of direction, and maybe even creates an impression of the organization. Ideally, one keeps these separate, for a variety of worthy reasons.
You can do this in a bunch of ways: using linked stylesheets for formatting, organizing programmed functions all in one area to be called when needed, using page templates for the “chrome.” There have been volumes written on this topic by people better qualified than I.
So what’s got me so peeved with the aforementioned Alumni Web Community?
The app includes a linked stylesheet, which is good. Never mind the duplicated entries and that some classes are apparently missing; it’s still a universal stylesheet, and I applaud the attempt. But then the fine folks at BSR mixed inline styles into their code (which all override the linked styles). So now I have to dig through the code and strip styles just to get a clean base that I can customize from.
Worse, they decided that the code should be managed through a proprietary front end to the database — a mid-80s-looking jumble of windows inside of windows, so that I’m digging through snippets of HTML code in a fixed space about 200 pixels wide. Even short URLs wrap, and most code requires scrolling just to get to the end of the line.
Usability? Hah! The “Forms Manager” (they’re not forms in the HTML sense, they’re snippets of page code that will be built into a page) is about the most non-intuitive window possible. And now that I’ve gotten it figured out, it started crashing on me. And it won’t save changes. And when it does, I’ve got to restart the Web server just to test the changes.
Oh yeah, and some of the page elements cannot be changed at all. Why? Got me. There’s a header and footer on each page, but I can’t change them. There’s a text-based nav bar on the left, but I can’t replace the text with images, and my linking options are limited.
Dear programmers of the world: y’all are great. You work magic with applications. But please, please, please: don’t reinvent Web publishing. Let the GUI for your apps be controlled with real-world tools, such as Dreamweaver, or even mighty Notepad. That way, when a schmo like me comes along to make it look pretty, I can use my tools to work on the form, and not have to worry about screwing up the function.