Avoiding That Screen Flicker

305 words.

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.

Related

This page is a static archival copy of what was originally a WordPress post. It was converted from HTML to Markdown format before being built by Hugo. There may be formatting problems that I haven't addressed yet. There may be problems with missing or mangled images that I haven't fixed yet. There may have been comments on the original post, which I have archived, but I haven't quite worked out how to show them on the new site.

Sorry, new comments are disabled on older posts. This helps reduce spam. Active commenting almost always occurs within a day or two of new posts.