Avoiding That Screen Flicker

I went to the Richmond.NET User Group meeting tonight. The main topic was AJAX and how Microsoft is implementing it in ASP.NET 2.0 with Callbacks and Atlas and whatnot.

It struck me during the presentation that we as programmers are still, in the late stages of the year 2005, solving the same problems that I and countless others faced all the time way back during my days of developing Amiga user interfaces.

The problem was and is this: Screen flicker. It’s unpleasant to look at, and makes your application appear unprofressional, sluggish, and unresponsive. The essential purpose of this “revolutionary” AJAX is to reduce or eliminate full page reloads in your browser (aka. screen flicker). AJAX does this by only refreshing a little piece of the screen at a time.

I can remember using this exact same technique as far back as 1988-89 when drawing text on an Amiga screen. If you wanted to eliminate unpleasant flickering, you only updated the portion of the screen you needed to change. You never, ever, for example, cleared an area before drawing text. You drew the text and then filled tiny rectangles on either side of it to clear out any leftover pieces of the previous text.

It’s somewhat interesting and scary to think that 15 years later, we still haven’t solved the screen flicker problem.

Also, call me silly, but why are we using Javascript for this stuff instead of, oh, say, Java? Especially if we’re interested in protecting our precious source code. It seems to me that, rather than building on this rapidly aging Javascript model, we should be building a new model that runs off of bytecode VM. Imagine if you could download .NET assemblies alongside your HTML and write your fancy page rendering in C#? Maybe you can already do that somehow. I dunno.

Productivity Going Down

I learned today that network security at work is scheduled to take a big left turn into absurdity next week. They are attempting to keep the developers completely off the network, because for some reason the higher-ups think they represent the largest security risk. We won’t be able to directly access the Internet, the database servers, or the production servers. All we’ll be able to connect with is a Citrix server. It’s silly. For those keeping score, yes, that means we will be effectively blocked from being able to do any meaningfully productive work. Anyway, I may have to start developing some new and inventive ways to update my site. I was pondering a web-based IRC client today, in fact. Let’s see if you can block THAT, ya bastards!

Failed The id Software Test

Well I installed Quake 4 tonight and found that, not surprisingly, my computer is obsolete.

Through the years, all id software games have been extremely reliable benchmarks of a computer’s horsepower, or lack thereof. Every single new id software game that has ever been released, starting way back with Doom, has required some kind of computer upgrade in order to run it smoothly. It’s almost as if there is some evil conspiracy between id software and the computer hardware manufacturers.

My motherboard is over 2 years old anyway, so it’s clearly outlived its usefulness. (Strange, though, how Half-Life 2, a similarly intensive game, runs fairly decent on my system.)

In other news, I’ve written a “mission statement” for my portal. This will guide me in future development. It has guided me in past development too, but now that it is recorded for all the world to see, I won’t be tempted by any of that nasty “scope creep.” To see the mission statement and be amazed at how boring a mission statement can be, scroll down to the bottom of this page and click the tiny “uvPortal-PHP” link.

Name Games

I suppose it’s time to update the old web page. Let’s see if I can think of something interesting that’s happened lately.

I registered the crayolaclan.com domain name this past week. This is the same domain name that got us a cease and desist letter from Binney & Smith (of Crayola Crayons fame) for violating their trademark. By us, I mean the Crayola Clan, a fun-tastic Quake clan I belonged to. I guess technically I still belong to it, though it has been inactive as far as I know since around 2002, having played its last match in Return to Castle Wolfenstein, a game whose artwork was partially rendered by one of our own clan members. Anyway, after we gave up the crayolaclan.com name and switched to waxlub.com, some time later, another clan calling themselves the Crayola Clan or the Crayon Clan or some weird name like that came along and took over crayolaclan.com for their own use! It was an outrage! It’s almost as much of an outrage as the guy/people/corporation that is holding onto uvtek.com for no apparent reason. So anyway I took it upon myself to grab crayolaclan.com for old times’s sake.

Quake 3: Arena??

In complete desperation, I pulled out Q3A this weekend because I felt the need to frag something. I was amazed.

Let me give you some background first: When Q3A first came out, c. 1999, I hated it. I had a crappy computer that was good enough for Q2, but Q3A required a supercomputer to run. I played the single-player arenas, which were sort of fun, and then I tried to play multiplayer Capture The Flag with my clanmates. Sheesh was that ever a mistake. Coming out of Q2 CTF, where the pace of gameplay was fairly slow, into Q3A CTF, where the pace was ratcheted up somewhere around lightspeed, was quite a rude (and frustrating) awakening. The game was so clearly unbalanced in favor of high bandwidth connections that it was just silly. And then, rampant bot cheats plagued the game. So, I didn’t play too much Q3A.

Now, I have a computer that in 1999 would have been considered a supercomputer. So I load up Q3A and it screams. I’m playing the bots in the single-player arenas and it’s actually fun. I can’t believe I ever would have said a shooter was fun again. Now, granted, I think it would only be fun in multiplayer on a LAN, but still, just the possibility that a computer game could be fun again in this era of every-new-game-is-just-a-clone-of-the-last-game is rather startling.

So in short, I think I really shortchanged Q3A when it came out. Sorry, id Software.

So now I see that Quake 4 is due out in October. Undoubtedly, my computer won’t run it worth crap, but I still want to see it.