iBrasten

My methods of calculating time are far superior to yours, in every way.

 

This is the blog of Brasten Sager, a freelance software developer, Mariners fan, guitarist, haphazard philosopher.

Simplifying Web Interfaces

August 19, 2005 @ 04:58 AM

Company B Update Got feedback on the “test”, or mini programming project, that I did for Company B. The wording that was used was “extremely well done.” The next step is to meet their VP next week, at which point it sounds like they’ll make an offer. I’m still contemplating my acceptance parameters (pay, do I like the company, do I believe in the product, etc…). It’s sounding like I have to come up with a decision soon.

Web Interfaces If you’re a developer, you’ve likely heard of AJAX. I don’t have anything drastic to add on the matter here, but I think it’s got some great potential for simplifying the way web sites work. It can also add complexity for programmers (which in turn can add stability issues for users), but all-in-all I think it’ll become a great way to build intuitive web-based user interfaces that don’t require constant page refreshing. For an example, here’s a little thing I came up with sitting at a coffee shop for a few hours, Web IM. (To use, enter a username and start chatting away. You’ll have to use Firefox, Safari and IE are not supported at the moment. Also, it’s kind of boring unless a few of your friends join you!)

I’m not the first person to some up with web-based instant messaging using this idea, of course, but the fact that it can be done is quite amazing. I DID have an idea that I think would be unique to my particular project, though the coffee shop closed before I could implement it. Instead of pinging the server every second – which works but can suck server resources – why not allow the client to “listen” for incoming messages? This can be accomplished pretty easily, it turns out. Instead of pinging for data then closing the request, simply have the server hold the connection open if there isn’t any data to send. As soon as data is available, send it down the wire and terminate the connection. The client simply has to respond to two possible results: The connection returned data, or the connection timed out. Both results require immediately opening another connection to the server and starting the process over again.

Very easy, actually.

0 Responses to “Simplifying Web Interfaces”