As a junior-level programmer in a non-major metropolitan area, Jim knew he wouldn't land the most glamorous programming job. Needless to say, he didn't quite expect having to work with The Tool ...

I work for a mid-sized software company that developers web sites and web applications for different clients. Nothing too fancy, just the standard "UI layer to business layer to database layer" applications. Before getting hired, I never thought to ask what type of technology they use to develop their web applications. I've used several different platforms and was open to using whatever they used. At least, I thought I would be.

Did they use ASP.NET to deveop web sites? No.

JSP? No.

Servlets? No.

PHP? No.

... Perl? No.

They invented their own platform called The Tool. It is a web-based web-development system that stores content, business logic, and other application information in a database. At least, that's what I've heard. We've only had one client that needed "web application" stuff, so all that I've ever seen The Tool used for is simple, content-only web sites. And that's my job -- to build and maintain simple, content-only web sites with The Tool.

I suppose one thing that's nice about The Tool is that no knowledge of HTML is required. In fact, The Tool doesn't even let you use HTML when designing a web page. Instead, text content must be displayed using a Label. Labels must be placed in Containers, which can contain other Containers, Labels, Images, and Hyperlinks. Seems pretty logical, I suppose.

However, the problem with Labels is that they do not support line breaks or, from the general restriction, HTML BR tags. Couple that with the fact that Labels support only 128 characters and you're left with blocks of text that must must be broken out, line by line, into a pair of separate Labels with each pair contained in a Container, and each Container contained in another Container. All this using a slow, quirky, unstable, custom-built web interface.

Note that this shot of The Tool represents only the controls needed for four lines of text.

In case it isn't clear from the shot about, The Tool is not a WYSIWYG editor. Nor does it have a preview function. In order to view the page in progress, the CachedPages table must be truncated and the web server worker process must be restarted. And since The Tool can be run only on a server, the cache flushes need to done at scheduled times throughout the day.

In an effort to make life easier, I asked if I could tweak The Tool's interface. I offered to do it in my spare time and, since it was used only internally by us web developers, I didn't think it'd be a problem. To my surprise, I was hastily turned down. As it turns out, The Tool is proprietary and a highly-guarded trade secret. Because of such a high turnaround, they can't let just anyone see the source code. Only developers with tenure of at least two years get that pleasure.

Thankfully, I start a new job next Monday. And this time, I found out what technology they used first.